From f14fcfe20b63361c4c37c9e7a39bd3f513cbb73c Mon Sep 17 00:00:00 2001 From: Muhammad Adil Date: Sun, 7 Jun 2026 03:19:01 +0000 Subject: [PATCH] Add 7 ocr java tutorials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Categories: advanced-ocr-techniques, ocr-basics, ocr-operations Source: AI Search API Tutorials: - How to enable GPU in Java OCR – Complete Step‑by‑Step Guide - Extract Text from Scanned Image in Java – Complete Aspose OCR Guide - How to Perform OCR in Java – Complete Guide to Extract Text from Images - Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, and Process OCR - Improve OCR Accuracy in Java – Complete Guide - Apply Aspose OCR License in Java – Remove OCR Watermark - Create Searchable PDF in Java – Full Aspose OCR Guide Auto-generated by Professionalize.Tutorials Agent --- .../java/advanced-ocr-techniques/_index.md | 9 +- .../_index.md | 192 +++++++++++ .../_index.md | 273 +++++++++++++++ .../_index.md | 272 +++++++++++++++ .../_index.md | 254 ++++++++++++++ .../_index.md | 265 +++++++++++++++ ocr/arabic/java/ocr-basics/_index.md | 5 +- .../_index.md | 244 ++++++++++++++ ocr/arabic/java/ocr-operations/_index.md | 2 + .../_index.md | 265 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 13 +- .../_index.md | 189 +++++++++++ .../_index.md | 276 +++++++++++++++ .../_index.md | 270 +++++++++++++++ .../_index.md | 254 ++++++++++++++ .../_index.md | 262 +++++++++++++++ ocr/chinese/java/ocr-basics/_index.md | 4 +- .../_index.md | 244 ++++++++++++++ ocr/chinese/java/ocr-operations/_index.md | 1 + .../_index.md | 264 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 15 +- .../_index.md | 192 +++++++++++ .../_index.md | 278 +++++++++++++++ .../_index.md | 270 +++++++++++++++ .../_index.md | 250 ++++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/czech/java/ocr-basics/_index.md | 3 +- .../_index.md | 246 ++++++++++++++ ocr/czech/java/ocr-operations/_index.md | 1 + .../_index.md | 265 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 13 +- .../_index.md | 194 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 270 +++++++++++++++ .../_index.md | 253 ++++++++++++++ .../_index.md | 250 ++++++++++++++ ocr/dutch/java/ocr-basics/_index.md | 4 +- .../_index.md | 246 ++++++++++++++ ocr/dutch/java/ocr-operations/_index.md | 2 + .../_index.md | 263 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 12 +- .../_index.md | 194 +++++++++++ .../_index.md | 280 ++++++++++++++++ .../_index.md | 274 +++++++++++++++ .../_index.md | 256 ++++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/english/java/ocr-basics/_index.md | 4 +- .../_index.md | 248 ++++++++++++++ ocr/english/java/ocr-operations/_index.md | 2 + .../_index.md | 267 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 19 +- .../_index.md | 194 +++++++++++ .../_index.md | 277 +++++++++++++++ .../_index.md | 272 +++++++++++++++ .../_index.md | 255 ++++++++++++++ .../_index.md | 264 +++++++++++++++ ocr/french/java/ocr-basics/_index.md | 7 +- .../_index.md | 249 ++++++++++++++ ocr/french/java/ocr-operations/_index.md | 2 + .../_index.md | 266 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 13 +- .../_index.md | 194 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 272 +++++++++++++++ .../_index.md | 254 ++++++++++++++ .../_index.md | 267 +++++++++++++++ ocr/german/java/ocr-basics/_index.md | 5 +- .../_index.md | 248 ++++++++++++++ ocr/german/java/ocr-operations/_index.md | 4 +- .../_index.md | 263 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 37 +- .../_index.md | 194 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 273 +++++++++++++++ .../_index.md | 255 ++++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/greek/java/ocr-basics/_index.md | 4 +- .../_index.md | 247 ++++++++++++++ ocr/greek/java/ocr-operations/_index.md | 4 +- .../_index.md | 263 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 14 +- .../_index.md | 192 +++++++++++ .../_index.md | 278 +++++++++++++++ .../_index.md | 270 +++++++++++++++ .../_index.md | 253 ++++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/hindi/java/ocr-basics/_index.md | 5 +- .../_index.md | 246 ++++++++++++++ ocr/hindi/java/ocr-operations/_index.md | 2 + .../_index.md | 261 ++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 13 +- .../_index.md | 189 +++++++++++ .../_index.md | 276 +++++++++++++++ .../_index.md | 268 +++++++++++++++ .../_index.md | 251 ++++++++++++++ .../_index.md | 262 +++++++++++++++ ocr/hongkong/java/ocr-basics/_index.md | 5 +- .../_index.md | 244 ++++++++++++++ ocr/hongkong/java/ocr-operations/_index.md | 1 + .../_index.md | 263 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 24 +- .../_index.md | 177 ++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 272 +++++++++++++++ .../_index.md | 255 ++++++++++++++ .../_index.md | 264 +++++++++++++++ ocr/hungarian/java/ocr-basics/_index.md | 4 +- .../_index.md | 248 ++++++++++++++ ocr/hungarian/java/ocr-operations/_index.md | 2 + .../_index.md | 263 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 36 +- .../_index.md | 193 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 266 +++++++++++++++ .../_index.md | 256 ++++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/indonesian/java/ocr-basics/_index.md | 7 +- .../_index.md | 247 ++++++++++++++ ocr/indonesian/java/ocr-operations/_index.md | 2 + .../_index.md | 266 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 35 +- .../_index.md | 195 +++++++++++ .../_index.md | 278 +++++++++++++++ .../_index.md | 273 +++++++++++++++ .../_index.md | 254 ++++++++++++++ .../_index.md | 252 ++++++++++++++ ocr/italian/java/ocr-basics/_index.md | 5 +- .../_index.md | 246 ++++++++++++++ ocr/italian/java/ocr-operations/_index.md | 2 + .../_index.md | 266 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 17 +- .../_index.md | 190 +++++++++++ .../_index.md | 277 +++++++++++++++ .../_index.md | 268 +++++++++++++++ .../_index.md | 254 ++++++++++++++ .../_index.md | 262 +++++++++++++++ ocr/japanese/java/ocr-basics/_index.md | 5 +- .../_index.md | 244 ++++++++++++++ ocr/japanese/java/ocr-operations/_index.md | 2 + .../_index.md | 261 ++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 13 +- .../_index.md | 191 +++++++++++ .../_index.md | 271 +++++++++++++++ .../_index.md | 270 +++++++++++++++ .../_index.md | 317 ++++++++++++++++++ .../_index.md | 264 +++++++++++++++ ocr/korean/java/ocr-basics/_index.md | 6 +- .../_index.md | 244 ++++++++++++++ ocr/korean/java/ocr-operations/_index.md | 2 + .../_index.md | 263 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 14 +- .../_index.md | 193 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 270 +++++++++++++++ .../_index.md | 255 ++++++++++++++ .../_index.md | 252 ++++++++++++++ ocr/polish/java/ocr-basics/_index.md | 5 +- .../_index.md | 246 ++++++++++++++ ocr/polish/java/ocr-operations/_index.md | 2 + .../_index.md | 267 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 13 +- .../_index.md | 194 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 270 +++++++++++++++ .../_index.md | 253 ++++++++++++++ .../_index.md | 248 ++++++++++++++ ocr/portuguese/java/ocr-basics/_index.md | 7 +- .../_index.md | 248 ++++++++++++++ ocr/portuguese/java/ocr-operations/_index.md | 2 + .../_index.md | 265 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 12 +- .../_index.md | 192 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 274 +++++++++++++++ .../_index.md | 254 ++++++++++++++ .../_index.md | 248 ++++++++++++++ ocr/russian/java/ocr-basics/_index.md | 5 +- .../_index.md | 246 ++++++++++++++ ocr/russian/java/ocr-operations/_index.md | 2 + .../_index.md | 263 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 13 +- .../_index.md | 195 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 272 +++++++++++++++ .../_index.md | 255 ++++++++++++++ .../_index.md | 268 +++++++++++++++ ocr/spanish/java/ocr-basics/_index.md | 4 +- .../_index.md | 246 ++++++++++++++ ocr/spanish/java/ocr-operations/_index.md | 2 + .../_index.md | 265 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 13 +- .../_index.md | 192 +++++++++++ .../_index.md | 277 +++++++++++++++ .../_index.md | 272 +++++++++++++++ .../_index.md | 253 ++++++++++++++ .../_index.md | 248 ++++++++++++++ ocr/swedish/java/ocr-basics/_index.md | 4 +- .../_index.md | 244 ++++++++++++++ ocr/swedish/java/ocr-operations/_index.md | 2 + .../_index.md | 265 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 36 +- .../_index.md | 192 +++++++++++ .../_index.md | 269 +++++++++++++++ .../_index.md | 268 +++++++++++++++ .../_index.md | 254 ++++++++++++++ .../_index.md | 264 +++++++++++++++ ocr/thai/java/ocr-basics/_index.md | 4 +- .../_index.md | 246 ++++++++++++++ ocr/thai/java/ocr-operations/_index.md | 2 + .../_index.md | 261 ++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 14 +- .../_index.md | 177 ++++++++++ .../_index.md | 273 +++++++++++++++ .../_index.md | 264 +++++++++++++++ .../_index.md | 253 ++++++++++++++ .../_index.md | 248 ++++++++++++++ ocr/turkish/java/ocr-basics/_index.md | 4 +- .../_index.md | 247 ++++++++++++++ ocr/turkish/java/ocr-operations/_index.md | 2 + .../_index.md | 265 +++++++++++++++ .../java/advanced-ocr-techniques/_index.md | 12 +- .../_index.md | 192 +++++++++++ .../_index.md | 279 +++++++++++++++ .../_index.md | 273 +++++++++++++++ .../_index.md | 256 ++++++++++++++ .../_index.md | 265 +++++++++++++++ ocr/vietnamese/java/ocr-basics/_index.md | 4 +- .../_index.md | 249 ++++++++++++++ ocr/vietnamese/java/ocr-operations/_index.md | 2 + .../_index.md | 267 +++++++++++++++ 230 files changed, 41055 insertions(+), 132 deletions(-) create mode 100644 ocr/arabic/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/arabic/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/arabic/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/arabic/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/arabic/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/arabic/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/arabic/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/chinese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/chinese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/chinese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/chinese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/chinese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/chinese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/chinese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/czech/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/czech/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/czech/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/czech/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/czech/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/czech/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/czech/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/dutch/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/dutch/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/dutch/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/dutch/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/dutch/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/dutch/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/dutch/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/english/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/english/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/english/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/english/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/english/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/english/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/english/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/french/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/french/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/french/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/french/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/french/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/french/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/french/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/german/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/german/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/german/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/german/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/german/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/german/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/german/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/greek/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/greek/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/greek/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/greek/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/greek/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/greek/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/greek/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/hindi/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/hindi/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/hindi/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/hindi/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/hindi/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/hindi/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/hindi/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/hongkong/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/hongkong/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/hongkong/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/hongkong/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/hongkong/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/hongkong/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/hongkong/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/hungarian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/hungarian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/hungarian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/hungarian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/hungarian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/hungarian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/hungarian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/indonesian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/indonesian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/indonesian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/indonesian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/indonesian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/indonesian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/indonesian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/italian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/italian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/italian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/italian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/italian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/italian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/italian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/japanese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/japanese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/japanese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/japanese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/japanese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/japanese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/japanese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/korean/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/korean/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/korean/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/korean/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/korean/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/korean/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/korean/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/polish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/polish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/polish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/polish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/polish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/polish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/polish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/portuguese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/portuguese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/portuguese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/portuguese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/portuguese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/portuguese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/portuguese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/russian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/russian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/russian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/russian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/russian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/russian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/russian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/spanish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/spanish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/spanish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/spanish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/spanish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/spanish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/spanish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/swedish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/swedish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/swedish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/swedish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/swedish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/swedish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/swedish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/thai/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/thai/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/thai/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/thai/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/thai/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/thai/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/thai/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/turkish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/turkish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/turkish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/turkish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/turkish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/turkish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/turkish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md create mode 100644 ocr/vietnamese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md create mode 100644 ocr/vietnamese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md create mode 100644 ocr/vietnamese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md create mode 100644 ocr/vietnamese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md create mode 100644 ocr/vietnamese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md create mode 100644 ocr/vietnamese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md create mode 100644 ocr/vietnamese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md diff --git a/ocr/arabic/java/advanced-ocr-techniques/_index.md b/ocr/arabic/java/advanced-ocr-techniques/_index.md index 826cbb80a..83ef97de3 100644 --- a/ocr/arabic/java/advanced-ocr-techniques/_index.md +++ b/ocr/arabic/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,16 @@ url: /ar/java/advanced-ocr-techniques/ قم بتمكين تطبيقات Java الخاصة بك باستخدام Aspose.OCR للتعرف الدقيق على النص. سهولة التكامل، ودقة عالية. ### [تحديد الأحرف المسموح بها في Aspose.OCR](./specify-allowed-characters/) أطلق العنان لاستخراج النص من الصور بسلاسة باستخدام Aspose.OCR لـ Java. اتبع دليلنا خطوة بخطوة للتكامل الفعال. +### [كيفية تمكين وحدة معالجة الرسومات (GPU) في OCR لجافا – دليل شامل خطوة بخطوة](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +تعلم كيفية تفعيل تسريع GPU في Aspose.OCR لجافا للحصول على أداء أعلى في التعرف الضوئي على الحروف. +### [استخراج النص من صورة ممسوحة ضوئيًا في جافا – دليل Aspose OCR كامل](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +### [مثال Aspose OCR لجافا – دليل كامل لتحميل الصورة، تصحيح الإملاء، ومعالجة OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +### [تحسين دقة OCR في جافا – دليل كامل](./improve-ocr-accuracy-in-java-complete-guide/) +### [إنشاء ملف PDF قابل للبحث في جافا – دليل كامل لـ Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/arabic/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..1f416b5a6 --- /dev/null +++ b/ocr/arabic/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-06-06 +description: مثال Aspose OCR للغة Java يوضح كيفية تحميل صورة OCR، تصحيح أخطاء OCR، + تعيين قاموس مخصص، ومعالجة OCR للصورة في بضع خطوات فقط. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: ar +og_description: مثال Aspose OCR بلغة Java يقوم بتحميل صورة، وتصحيح أخطاء OCR، وتعيين + قاموس مخصص، ومعالجة OCR للصورة بكفاءة. +og_title: مثال Aspose OCR Java – تحميل الصورة، تصحيح الإملاء ومعالجة OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: مثال Aspose OCR بلغة Java – دليل شامل لتحميل الصورة، تصحيح الإملاء، ومعالجة + OCR +url: /ar/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# مثال Aspose OCR Java – دليل شامل لتحميل الصورة، تصحيح الإملاء، ومعالجة OCR + +هل احتجت إلى **مثال Aspose OCR Java** يعمل مباشرةً دون تعديل؟ لست وحدك—غالبًا ما ينظر المطورون إلى لقطة شاشة غير واضحة ويتساءلون لماذا النص المستخرج فوضوي. الخبر السار هو أن محرك OCR من Aspose يأتي مدمجًا مع تصحيح إملائي، ويمكنك حتى توصيل قائمة كلماتك الخاصة. في هذا الدرس سنستعرض كيفية تحميل صورة OCR، تفعيل ميزة التصحيح، اختيارياً ضبط قاموس مخصص، وأخيرًا معالجة صورة OCR للحصول على نص نظيف وقابل للقراءة. + +سنغطي أيضًا لماذا قد ترغب في **تصحيح أخطاء OCR**، كيفية **تحميل صورة OCR** بكفاءة، فوائد استدعاء **set custom dictionary**، وما يبدو عليه تدفق **process image OCR** من البداية إلى النهاية. في النهاية ستحصل على برنامج Java جاهز للتنفيذ يمكنك إدراجه في أي مشروع Maven أو Gradle. + +--- + +## ما ستحتاجه + +- Java 8 أو أحدث (تعمل الواجهة البرمجية مع Java 11+ أيضًا) +- مكتبة Aspose.OCR for Java (حمّل أحدث ملف JAR من موقع Aspose أو أضف الاعتماد في Maven) +- ملف صورة يحتوي على نص (يفضل أن يكون مستندًا ممسوحًا أو لقطة شاشة بها بعض الضوضاء) +- اختياريًا: ملف قاموس نصي عادي إذا أردت **set custom dictionary** للمصطلحات المتخصصة + +هذا كل ما تحتاجه—لا محركات OCR ثقيلة، لا تبعيات أصلية، مجرد JAR واحد وبضع أسطر من الكود. + +--- + +## الخطوة 1: مثال Aspose OCR Java – تحميل صورة OCR + +أول شيء عليك فعله هو إنشاء مثيل `OcrEngine` وتوجيهه إلى الملف الذي تريد تحليله. فكر في ذلك كفتح كتاب قبل البدء بالقراءة. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **لماذا هذا مهم:** استدعاء `setImage` هو جوهر **load image OCR**. بدون صورة صالحة، لا يملك المحرك ما يتعرف عليه، وستحصل على سلسلة فارغة أو استثناء. + +![aspose ocr java example loading image](image.png){alt="مثال Aspose OCR Java لتحميل الصورة"} + +--- + +## الخطوة 2: تفعيل تصحيح الإملاء لتصحيح أخطاء OCR + +يأتي Aspose OCR مع تصحيح إملائي مفعَّل افتراضيًا، لكن لا ضرر من أن تكون صريحًا—خاصةً عندما تعرض **aspose ocr java example**. تفعيل هذه الميزة يقلل بشكل كبير من النصوص العشوائية مثل “t1e” أو “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **نصيحة احترافية:** إذا لاحظت أن المحرك لا يزال يخطئ في التعرف على بعض الكلمات، تحقق من إعدادات اللغة أو أضف قاموسًا مخصصًا (الخطوة التالية). + +تفعيل تصحيح الإملاء هو أسرع طريقة لـ **correct OCR errors** دون كتابة أي كود إضافي. + +--- + +## الخطوة 3: ضبط قاموس مخصص لتحسين الدقة + +أحيانًا لا يعرف القاموس الافتراضي المصطلحات المتخصصة في صناعتك—مثل المصطلحات الطبية، رموز المنتجات، أو أسماء العلامات التجارية. هنا يأتي دور **set custom dictionary**. قدّم ملف نصي عادي، كلمة واحدة في كل سطر، وسيتعامل محرك OCR مع هذه الإدخالات كصحيحة أثناء التصحيح. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **متى تستخدمه:** إذا كنت تعالج فواتير وتستمر أسماء الشركات في التشويه، فإن القاموس المخصص الذي يحتوي على تلك الأسماء سيجعل مرحلة **process image OCR** أكثر موثوقية. + +--- + +## الخطوة 4: معالجة صورة OCR واسترجاع النص + +الآن بعد أن تم ضبط المحرك، حان الوقت لتشغيل التعرف فعليًا. طريقة `process` تقوم بكل العمل الشاق—تحديد كتل النص، تطبيق تصحيح الإملاء، وإرجاع كائن `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **ما ستراه:** يطبع الطرفية سلسلة نظيفة قابلة للقراءة. إذا أغفلت تصحيح الإملاء، من المحتمل أن ترى أحرفًا غريبة، وهذا هو السبب في أن تفعيلها مبكرًا أمر حاسم لـ **correct OCR errors**. + +--- + +## الخطوة 5: تشغيل المثال والتحقق من النتيجة + +قم بترجمة وتشغيل الفئة باستخدام IDE المفضلة لديك أو من سطر الأوامر: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +يجب أن ترى شيئًا مشابهًا لـ: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +إذا لا يزال الناتج يحتوي على أخطاء إملائية، حاول إضافة تلك الكلمات إلى القاموس المخصص وأعد تشغيل خطوة **process image OCR**. + +--- + +## الأخطاء الشائعة وكيفية تجنبها + +| المشكلة | سبب حدوثها | الحل | +|---------|------------|------| +| **ناتج فارغ** | مسار الصورة غير صحيح أو صيغة غير مدعومة | تحقق من المسار، استخدم PNG/JPEG، وتأكد من إمكانية قراءة الملف | +| **أحرف غير مفهومة** | تصحيح الإملاء معطل أو صورة ذات جودة منخفضة | فعّل `setEnableSpellCorrection(true)` وفكّر في معالجة مسبقة للصورة (زيادة التباين) | +| **الكلمات المتخصصة لا تزال خاطئة** | لا يوجد قاموس مخصص | استخدم `setCustomDictionary` مع ملف يحتوي على مصطلحاتك | +| **خطأ نفاد الذاكرة** | تحميل صور كبيرة جدًا دون تصغير | قلّص حجم الصورة قبل تمريرها إلى `OcrEngine` | + +--- + +## توسيع المثال + +الآن بعد أن لديك **aspose ocr java example** قويًا، قد ترغب في: + +- **معالجة دفعات** من الصور داخل مجلد عبر حلقة تمر على أسماء الملفات وإعادة استخدام نفس مثيل `OcrEngine`. +- **استخراج معلومات التخطيط** (جداول، أعمدة) باستخدام `ocrResult.getPages()` لتحليل مستندات أكثر تعقيدًا. +- **دمج مع Apache PDFBox** لإدراج النص المستخرج مرة أخرى في ملف PDF. + +جميع هذه الامتدادات تبني على الخطوات الأساسية التي غطيناها: تحميل صورة OCR، تفعيل التصحيح، اختيارياً ضبط قاموس مخصص، ومعالجة صورة OCR. + +--- + +## الخلاصة + +لقد أنشأت الآن مثالًا كاملًا **aspose ocr java example** يقوم بتحميل صورة، تفعيل تصحيح الإملاء لتصحيح **OCR errors**، اختيارياً **set custom dictionary**، وأخيرًا **process image OCR** لاسترجاع نص نظيف. الشيفرة قصيرة، المفاهيم واضحة، ولديك الآن أساس يمكنك توسيعه للمهام الدفعة، دمج الواجهات، أو حتى الخدمات السحابية المصغرة. + +ما الخطوة التالية؟ جرّب تمرير صورة منخفضة الدقة، أضف قائمة بمنتجات SKU إلى القاموس المخصص، ولاحظ كيف تتحسن الدقة. كلما جربت أكثر، كلما فهمت أفضل التوازنات بين جودة الصورة، حجم القاموس، وسرعة المعالجة. + +لا تتردد في ترك تعليق إذا واجهت أي صعوبات أو كان لديك أفكار لتحسينات إضافية. برمجة سعيدة! + +## ما الذي يجب أن تتعلمه بعد ذلك؟ + +الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات التي تم توضيحها في هذا الدليل. كل مورد يتضمن أمثلة شيفرة كاملة مع شروحات خطوة بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف أساليب تنفيذ بديلة في مشاريعك. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/arabic/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..0d4e2c7b2 --- /dev/null +++ b/ocr/arabic/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,273 @@ +--- +category: general +date: 2026-06-06 +description: إنشاء ملف PDF قابل للبحث باستخدام Java و Aspose OCR. تعلم استخراج النص + من ملفات PDF، تحسين دقة OCR، ومعالجة ملفات PDF متعددة الصفحات بكفاءة. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: ar +og_description: إنشاء ملف PDF قابل للبحث باستخدام Java و Aspose OCR. يشرح هذا الدليل + كيفية استخراج النص من ملف PDF، وزيادة دقة OCR، ومعالجة ملفات PDF متعددة الصفحات. +og_title: إنشاء ملف PDF قابل للبحث في جافا – دليل Aspose OCR الكامل +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: إنشاء ملف PDF قابل للبحث في جافا – دليل Aspose OCR الكامل +url: /ar/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# إنشاء PDF قابل للبحث في Java – دليل Aspose OCR الكامل + +هل تساءلت يومًا كيف تنشئ ملفات **PDF قابلة للبحث** مباشرةً من Java دون التعامل مع العشرات من أدوات سطر الأوامر؟ لست وحدك. يواجه العديد من المطورين صعوبة عندما يحتاجون إلى تحويل ملفات PDF الممسوحة ضوئيًا إلى مستندات يمكن البحث فيها نصيًا، خاصةً عندما تمتد ملفات PDF المصدر على عدة صفحات. + +في هذا الدرس سنستعرض مثالًا كاملاً وقابلًا للتنفيذ لا يقتصر فقط على **إنشاء ملفات PDF قابلة للبحث** بل يوضح لك أيضًا كيفية **استخراج النص من PDF**، **زيادة دقة OCR**، ومعالجة سير عمل **OCR لملف PDF متعدد الصفحات** باستخدام مكتبة Aspose OCR. في النهاية ستحصل على مقتطف قوي جاهز للإنتاج يمكنك إدراجه في أي مشروع Java. + +## ما ستحتاجه + +- Java 17 أو أحدث (الكود يُترجم مع الإصدارات الأقدم، لكن JDK 17 هو الخيار المثالي) +- Maven أو Gradle لجلب تبعية `aspose-ocr` +- ملف PDF متعدد الصفحات تجريبي (سنسميه `sample_multi_page.pdf`) +- وحدة معالجة رسومية (GPU) متوسطة أو على الأقل معالج متعدد النوى إذا رغبت في تمكين المعالجة المتوازية + +لا توجد مكتبات أصلية إضافية مطلوبة—Aspose OCR يجمع كل ما تحتاجه. + +--- + +## إنشاء PDF قابل للبحث – تنفيذ خطوة بخطوة + +فيما يلي نقسم العملية إلى أجزاء منطقية. كل قسم له عنوان H2 الخاص به حتى تتمكن من الانتقال مباشرة إلى الجزء الذي يهمك، والكلمة المفتاحية الرئيسية تظهر هنا في العنوان. + +### الخطوة 1: إعداد المشروع واستيراد Aspose OCR + +أولاً، أضف قطعة Maven الخاصة بـ Aspose OCR إلى ملف `pom.xml` الخاص بك. إذا كنت تفضل Gradle، فإن المقتطف المكافئ موضح في التعليقات. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **نصيحة احترافية:** حافظ على تحديث تبعياتك؛ الإصدارات الأحدث غالبًا ما تجلب تحسينات في الدقة تساعدك مباشرةً على **زيادة دقة OCR**. + +### الخطوة 2: تحميل ملف PDF متعدد الصفحات إلى محرك OCR + +الآن نقوم بإنشاء كائن `OcrEngine` ونمرره ملف PDF الذي نريد معالجته. يتعامل المحرك مع كل صفحة كصورة داخليًا، وهذا هو السبب في أن هذا النهج يعمل في سيناريو **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**لماذا هذا مهم:** تحميل ملف PDF مرة واحدة والسماح للمحرك بالتعامل مع التقسيم إلى صفحات يتجنب عبء استخراج كل صفحة يدويًا، مما يوفر الوقت والذاكرة. + +### الخطوة 3: تمكين الميزات المتقدمة لـ **زيادة دقة OCR** + +توفر Aspose OCR عدة إعدادات يمكنك تعديلها. تمكين تسريع GPU، زيادة عدد الخيوط، وتحديد لغات متعددة كلها تساهم في تحسين معدلات التعرف، خاصةً على المسحات الضوضائية. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **ماذا لو لم يكن لديك GPU؟** ببساطة عيّن `setUseGpu(false)`؛ سيعود المحرك إلى وضع CPU‑only مع الاستفادة من المعالجة المتعددة الخيوط. + +### الخطوة 4: ما قبل معالجة الصور للحصول على نتائج أفضل + +خطوات ما قبل المعالجة مثل تصحيح الميل، إزالة الضوضاء، وتعزيز التباين تزيد بشكل كبير **دقة OCR** على المستندات الممسوحة ضوئيًا. فكر فيها كصقل حجر خشن قبل النحت. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**لماذا هذه الإعدادات؟** مستوى إزالة الضوضاء `2` يعمل جيدًا لمعظم ملفات PDF الممسوحة، بينما تعزيز التباين المعتدل (1.3×) يرفع الحبر الخفيف دون إبهار الخلفية. + +### الخطوة 5: تكوين الإخراج لإنشاء PDF قابل للبحث + +يمكن لـ Aspose OCR تضمين طبقة النص المعترف به مباشرةً في ملف PDF، مما يحول ملف الصورة المسطحة إلى **PDF قابل للبحث**. هذا هو جوهر سؤال “كيفية جعل PDF قابل للبحث” الذي يطرحه العديد من المطورين. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +عند تمكين `setGenerateSearchablePdf(true)`، تقوم المكتبة بإنشاء طبقة نصية غير مرئية تعكس المحتوى البصري، مما يجعل المستند النهائي قابلًا للبحث في أي عارض PDF. + +### الخطوة 6: تشغيل OCR وحفظ النتيجة + +الآن نقوم فعليًا بمعالجة المستند وكتابة ملف الإخراج. تُعيد طريقة `process` كائن `OcrResult` يحتوي على كل من PDF القابل للبحث والنص العادي المستخرج. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### الخطوة 7: (اختياري) **استخراج النص من PDF** للاستخدام الفوري + +إذا كنت تحتاج أيضًا إلى النص الخام—للفهرسة، التحليل، أو مجرد عرضه على صفحة ويب—يمكنك سحبها مباشرةً من `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**ما ستراه:** سيطبع الطرفية النص المتسلسل لجميع الصفحات، مع الحفاظ على فواصل الأسطر حيثما أمكن. هذا يلبي متطلبات **extract text from pdf** دون الحاجة إلى تمريرة ثانية. + +--- + +## نظرة بصرية عامة + +فيما يلي مخطط تدفق بسيط يربط كل خطوة بالكتلة البرمجية المقابلة. يساعدك على تصور كيفية مرور ملف PDF المدخل عبر ما قبل المعالجة، OCR، وأخيرًا يتحول إلى مستند قابل للبحث. + +![مخطط تدفق إنشاء PDF قابل للبحث](https://example.com/flow-diagram.png "مخطط تدفق إنشاء PDF قابل للبحث") + +*نص البديل يحتوي على الكلمة المفتاحية الرئيسية لتلبية تحسين محركات البحث للصور.* + +--- + +## الأسئلة الشائعة والحالات الخاصة + +| السؤال | الإجابة | +|----------|--------| +| **هل يمكنني معالجة ملفات PDF أكبر من 100 ميغابايت؟** | نعم، لكن يُفضَّل بث الصفحات بدلاً من تحميل الملف بالكامل في الذاكرة. تدير Aspose OCR التقسيم إلى صفحات داخليًا، لكن قد تحتاج إلى زيادة حجم كومة JVM (`-Xmx4g`) للملفات الكبيرة جدًا. | +| **ماذا لو كان ملف PDF يحتوي على ملاحظات مكتوبة بخط اليد؟** | التعرف على الخط اليدوي غير مفعَّل افتراضيًا. يمكنك التبديل إلى `setLanguage("eng,mon,handwritten")` إذا كانت نسخة المكتبة تدعم ذلك، رغم أن الدقة قد تختلف. | +| **هل أحتاج إلى ترخيص لـ Aspose OCR؟** | ترخيص تقييم مؤقت يعمل للاختبار. للإنتاج، احصل على ترخيص تجاري لإزالة العلامات المائية وتمكين الأداء الكامل. | +| **كيف يمكنني تعطيل تصحيح الإملاء؟** | استدعِ `ocr.getSettings().setEnableSpellCorrection(false);` – مفيد عندما تحتاج إلى مخرجات OCR الخام لأغراض التحليل الجنائي. | +| **هل دعم GPU إلزامي؟** | لا. المكتبة تعود بسلاسة إلى CPU. ومع ذلك، يمكن لـ GPU تقليل وقت المعالجة حتى 60 % في المستندات الكبيرة متعددة الصفحات. | + +## مثال كامل جاهز للتنفيذ (انسخه‑الصق) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**المخرجات المتوقعة** + +- `output_searchable.pdf` – PDF يمكنك فيه كتابة Ctrl + F والعثور على أي كلمة ظهرت في الصور الممسوحة. +- سجل وحدة التحكم – المحتوى النصي الكامل للملف PDF الأصلي، مثالي للفهرسة أو التحليل الإضافي. + +## الخلاصة + +لقد عرضنا للتو كيفية **إنشاء ملفات PDF قابلة للبحث** في Java باستخدام Aspose OCR، مع إظهار كيفية **استخراج النص من PDF**، **زيادة دقة OCR**، ومعالجة سير عمل **OCR لملف PDF متعدد الصفحات** بكفاءة. المقتطف البرمجي الكامل أعلاه جاهز للإدراج في مشروعك، وتوفر الشروحات الثقة لتعديل الإعدادات وفقًا لحالتك الخاصة. + +ما الخطوة التالية؟ جرّب تجربة تضمين خطوط مخصصة، إضافة إشارات مرجعية مولدة بواسطة OCR، أو دمج الناتج مع محرك بحث مثل Elasticsearch. كل من هذه المواضيع يرتبط بكلماتنا المفتاحية الثانوية—*how to make searchable pdf* و *increase OCR accuracy*—لتوفر لك مسارًا واضحًا للمزيد من الاستكشاف. + +لا تتردد في مشاركة تجاربك أو طرح أسئلة متابعة في التعليقات. برمجة سعيدة، واستمتع بتحويل تلك المسحات الثابتة إلى ملفات PDF قابلة للبحث بالكامل وغنية بالنص! + +## ما الذي يجب أن تتعلمه بعد ذلك؟ + +الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات التي تم توضيحها في هذا الدليل. كل مورد يتضمن أمثلة برمجية كاملة مع شروحات خطوة بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف نهج تنفيذ بديلة في مشاريعك. + +- [التعرف على نص PDF – عمليات OCR باستخدام Aspose.OCR لـ Java](/ocr/english/java/ocr-operations/) +- [التعرف على مستندات PDF باستخدام OCR في Aspose.OCR لـ Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/arabic/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..8124f7416 --- /dev/null +++ b/ocr/arabic/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,272 @@ +--- +category: general +date: 2026-06-06 +description: استخراج النص من الصورة الممسوحة ضوئياً باستخدام Aspose OCR للغة جافا. + تعلم كيفية التعرف على النص من ملفات TIFF باستخدام المعالجة المتوازية. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: ar +og_description: استخراج النص من صورة ممسوحة ضوئياً باستخدام Aspose OCR. يوضح هذا الدليل + كيفية التعرف على النص من ملفات TIFF بكفاءة باستخدام Java. +og_title: استخراج النص من صورة ممسوحة ضوئياً – دليل Aspose OCR للغة Java +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: استخراج النص من صورة ممسوحة ضوئياً في جافا – دليل Aspose OCR الكامل +url: /ar/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# استخراج النص من صورة ممسوحة ضوئياً – دليل Aspose OCR الكامل + +هل احتجت يوماً إلى **استخراج النص من صورة ممسوحة ضوئياً** لكنك توقفت عند سؤال “كيف؟”؟ لست وحدك. سواء كنت تقوم برقمنة أرشيفات قديمة، أو استخراج بيانات من الفواتير، أو بناء مكتبة PDF قابلة للبحث، فإن الحصول على نص موثوق من مسح TIFF يمكن أن يكون نقطة ألم. + +خبر سار: باستخدام Aspose OCR for Java يمكنك **التعرف على النص من ملفات tiff** ببضع أسطر فقط، وحتى زيادة السرعة بتحديد عدد الأنوية التي يستخدمها المحرك. في هذا الدرس سنستعرض العملية بالكامل—من إعداد المكتبة إلى معالجة النتيجة—حتى تتمكن من نسخ مثال يعمل مباشرة. + +## ما يغطيه هذا الدرس + +- تثبيت Aspose OCR for Java (Maven أو JAR يدوي) +- تحميل صورة TIFF ممسوحة ضوئياً كبيرة +- ضبط المحرك لاستخدام ما يصل إلى 4 خيوط (OCR متوازي) +- تشغيل عملية OCR وطباعة النص المستخرج +- المشكلات الشائعة (الذاكرة، TIFF متعدد الصفحات) وكيفية تجنبها +- نصيحة سريعة للأداء: متى تضبط `setMaxThreads` + +بنهاية الدرس ستتمكن من **استخراج النص من ملفات الصور الممسوحة ضوئياً** بثقة، وستفهم لماذا تعديل عدد الخيوط مهم عند *التعرف على النص من tiff* في خط إنتاج. + +--- + +![استخراج النص من مثال صورة ممسوحة ضوئياً](example.png "لقطة شاشة تُظهر النص المستخرج من صورة TIFF ممسوحة") + +## المتطلبات المسبقة + +قبل أن نبدأ، تأكد من وجود ما يلي: + +1. **مجموعة تطوير جافا (JDK) 8+** – أي نسخة حديثة تعمل. +2. **Maven** (أو القدرة على إضافة JARs يدوياً) – سنستخدم Maven للسهولة. +3. رخصة **Aspose OCR for Java** (التقييم المجاني يعمل، لكنه يضيف علامة مائية). +4. **مسح TIFF كبير** (مثال: `large_scan.tif`) تريد معالجته. + +إذا كان أي من هذه غير مألوف لك، لا تقلق—كل خطوة مشروحة أدناه. + +## الخطوة 1: إضافة Aspose OCR إلى مشروعك + +### مستخدمي Maven + +أضف الاعتماد التالي إلى ملف `pom.xml` الخاص بك: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### إعداد JAR يدويًا + +حمّل أحدث `aspose-ocr-xx.jar` من موقع Aspose وضعه في مسار الـ classpath. + +> **نصيحة محترف:** احفظ الـ JAR في مجلد `libs/` وأشر إليه في إعدادات مشروع IDE الخاص بك. هذا يجنبك مفاجآت “class not found” لاحقًا. + +## الخطوة 2: إنشاء فئة Java بسيطة + +أنشئ ملفًا باسم `ParallelOcrDemo.java` في مجلد المصدر الخاص بك (`src/main/java`). ستحمل هذه الفئة سير عمل OCR بالكامل. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **لماذا نقيد عدد الخيوط:** بشكل افتراضي سيحاول Aspose OCR استخدام كل النوى، مما قد يحرم الخدمات الأخرى على جهاز مشترك من الموارد. ضبط `setMaxThreads(4)` يخبر المحرك بالعمل بأربعة عمال متوازيين—كافٍ لتحقيق تسريع ملحوظ على معظم المعالجات الحديثة دون استحواذ كامل على الموارد. + +## الخطوة 3: التجميع والتشغيل + +افتح طرفية في جذر المشروع ونفّذ: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +إذا لم تكن تستخدم Maven، قم بالتجميع باستخدام `javac` ثم تشغيل: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### النتيجة المتوقعة + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +ستظهر في وحدة التحكم النسخة النصية البسيطة لما كان موجودًا في الصفحة الممسوحة. إذا احتوت الصورة على صفحات متعددة، سيقوم Aspose OCR بدمجها بالترتيب. + +## الخطوة 4: معالجة TIFF متعدد الصفحات (حالة حافة) + +سيناريو شائع هو **TIFF متعدد الصفحات**—مثل كتاب ممسوح. بشكل افتراضي يقرأ `OcrInputImage` الإطار الأول فقط. لمعالجة جميع الصفحات، استخدم `OcrInputImage` مع `FileInputStream` وفعل دعم الصفحات المتعددة: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +الآن سيعيد `ocrEngine.process()` كائن `OcrResult` واحد يحتوي على النص المدمج من كل صفحة. + +## الخطوة 5: تحسين دقة التعرف + +إذا لاحظت **حروفًا مشوشة** أو كلمات مفقودة، جرّب هذه التعديلات: + +| الإعداد | ما يفعله | متى تستخدمه | +|---------|----------|--------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | يفرض نموذج اللغة الإنجليزية (أسرع وأكثر دقة للمستندات الإنجليزية) | مستندك أحادي اللغة الإنجليزية | +| `ocrEngine.getSettings().setResolution(300)` | يرفع دقة الصور منخفضة الدقة قبل التعرف | مسحات أقل من 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | يحاول تنظيف البقع والضوضاء | مسحات ذات ضوضاء عالية | + +مقتطف مثال: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## الخطوة 6: تصدير النتائج إلى ملف + +الطباعة إلى وحدة التحكم مناسبة للعرض، لكن الكود الإنتاجي عادةً يكتب النتيجة إلى مكان مفيد: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +الآن لديك ملف نصي بسيط يمكنك إرساله إلى فهرس بحث، قاعدة بيانات، أو خط أنابيب تحليلي لاحق. + +--- + +## الأسئلة المتكررة (FAQ) + +**س: هل يعمل هذا مع ملفات PNG أو JPEG؟** +ج: بالتأكيد. `OcrInputImage` يقبل أي صيغة يمكن لـ Java ImageIO قراءتها. فقط استبدل امتداد الملف في المسار. + +**س: خادمي يحتوي على 8 نوى—هل يجب أن أضع `setMaxThreads(8)`؟** +ج: يمكنك ذلك، لكن تذكّر أن الخدمات الأخرى قد تحتاج إلى دورات CPU. القاعدة العامة “عدد النوى الكلي – 1” للعمال المخصصين لـ OCR. + +**س: ماذا لو كانت نتيجة OCR فارغة؟** +ج: تأكد أن الصورة ليست بيضاء بالكامل، وأنك ضبطت اللغة الصحيحة، وأن الدقة لا تقل عن 200 DPI. المسحات منخفضة الجودة غالبًا ما تحتاج إلى معالجة مسبقة (تصحيح الميل، تعزيز التباين) قبل تمريرها إلى Aspose OCR. + +--- + +## الخلاصة + +لقد **استخدمنا Aspose OCR for Java لاستخراج النص من ملفات الصور الممسوحة ضوئياً**، وتعلمت الآن كيف **تتعرف على النص من tiff** بفعالية باستخدام المعالجة المتوازية. الكود الكامل موجود في المقتطفات أعلاه، ويمكنك نسخه ولصقه في مشروعك فورًا. + +### ما التالي؟ + +- **معالجة دفعات**: حلق عبر مجلد من ملفات TIFF، واحفظ كل نتيجة في ملف منفصل. +- **التكامل مع Elasticsearch**: فهرس النص المستخرج للبحث السريع. +- **إضافة كشف اللغة**: استخدم `OcrLanguage.AutoDetect` للمستندات متعددة اللغات. + +جرّب هذه الأفكار، وستحوّل جبلًا من الأوراق الممسوحة إلى بيانات قابلة للبحث والعمل. + +برمجة سعيدة، ولا تتردد في ترك تعليق إذا واجهت أي مشكلة! + +## ما الذي يجب أن تتعلمه بعد ذلك؟ + +الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات التي تم توضيحها في هذا الدليل. كل مورد يتضمن أمثلة شاملة مع شروحات خطوة بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف أساليب تنفيذ بديلة في مشاريعك. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/arabic/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..785d29f1b --- /dev/null +++ b/ocr/arabic/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-06-06 +description: كيفية تمكين وحدة معالجة الرسومات (GPU) في OCR باستخدام جافا واستخراج + النص من ملفات JPEG. اتبع مثال OCR بجافا لتحويل الصورة إلى نص مع تسريع GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: ar +og_description: كيفية تمكين وحدة معالجة الرسومات في OCR جافا واستخراج النص فورًا من + صور JPEG. يوضح هذا الدليل مثالًا كاملاً لـ OCR جافا مع تسريع GPU. +og_title: كيفية تمكين وحدة معالجة الرسومات في OCR باستخدام جافا – دليل برمجي كامل +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: كيفية تمكين وحدة معالجة الرسومات في OCR بجافا – دليل شامل خطوة بخطوة +url: /ar/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية تمكين GPU في OCR للغة Java – دليل كامل خطوة‑بخطوة + +هل تساءلت يومًا **كيف يمكنك تمكين GPU** للتعرف الضوئي على الأحرف في Java؟ لست وحدك—المطورون يسألون باستمرار: “هل يمكنني جعل OCR أسرع دون إعادة كتابة كل شيء؟” الجواب المختصر هو نعم، والجواب المفصل موجود هنا. في هذا الدرس سنستعرض **مثال java ocr** ي **يستخرج النص من ملفات JPEG**، **يحول الصورة إلى نص**، ويستفيد من **GPU accelerated OCR** للحصول على نتائج سريعة للغاية. + +سنبدأ بإعداد مكتبة Aspose OCR، تحميل صورة JPEG تجريبية، تشغيل دعم GPU، تشغيل المحرك، وأخيرًا طباعة النص المتعرف عليه. في النهاية ستحصل على مقطع شفرة قابل لإعادة الاستخدام يمكنك إدراجه في أي مشروع Java، بالإضافة إلى مجموعة من النصائح التي تحميك من الأخطاء الشائعة. لا إطالة، فقط التفاصيل العملية التي تحتاجها للانطلاق. + +## المتطلبات المسبقة + +قبل أن نغوص، تأكد من أن لديك: + +* Java 8 أو أحدث مثبتة (الكود يستخدم واجهات برمجة التطبيقات القياسية، لذا أي JDK حديث يعمل). +* GPU متوافق مع برامج تشغيل محدثة – معظم بطاقات NVIDIA/AMD الحديثة تفي بالمتطلبات. +* مكتبة Aspose.OCR للغة Java (يمكنك الحصول عليها من Maven Central أو موقع Aspose). +* صورة JPEG تريد تشغيل OCR عليها – سنسميها `sample.jpg`. + +هذا كل شيء. إذا كان أي من هذه غير مألوف لك، توقف وقم بتثبيت ما ينقصك؛ باقي الدليل يفترض أن هذه المتطلبات موجودة بالفعل. + +## كيفية تمكين GPU في OCR للغة Java – نظرة عامة + +فيما يلي لمحة سريعة عما سنحققه: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +فكّر في GPU كمعزز توربو لمحرك OCR الخاص بك—بدلاً من أن يقوم الـ CPU بتحليل كل بكسل على حدة، تتولى بطاقة الرسومات الأعمال الثقيلة بشكل متوازي. النتيجة؟ أوقات معالجة أسرع، خاصةً مع المسحات عالية الدقة. + +## الخطوة 1: إعداد المشروع واستيراد Aspose OCR + +أولاً، أنشئ مشروع Maven جديد (أو Gradle إذا تفضّل). أضف تبعية Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +إذا لم تكن تستخدم Maven، حمّل ملف JAR من Aspose وأضفه إلى مسار الـ classpath. هذه الخطوة هي أساس أي **java ocr example** ستكتبه، لذا تأكد من أن المكتبة تم حلّها بشكل صحيح. + +## الخطوة 2: تحميل صورة JPEG (استخراج النص من JPEG) + +الآن سنكتب كودًا لقراءة ملف JPEG. تقبل الفئة `OcrInputImage` مسارًا، وسنمرره إلى `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **لماذا هذا مهم:** تحميل الصورة بشكل صحيح هو الخطوة الأولى في أي سير عمل **convert image to text**. إذا كان المسار خاطئًا، سيطرح المحرك استثناءً قبل أن يصل إلى مرحلة GPU. + +## الخطوة 3: تمكين تسريع GPU (How to Enable GPU) + +هذا هو جوهر الدرس—تشغيل دعم GPU. تعرض كائن `OcrSettings` علم `setUseGpu`. ما عليك سوى ضبطه على `true` وستكون جاهزًا. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **نصيحة احترافية:** تأكد من أن برنامج تشغيل GPU محدث. برامج التشغيل القديمة غالبًا ما تتسبب في فشل استدعاء `setUseGpu(true)` بصمت، مما يبقيك على أداء الـ CPU فقط. + +## الخطوة 4: تشغيل محرك OCR (Java OCR Example) + +مع تحميل الصورة وتمكين GPU، شغّل عملية OCR. يُعيد المحرك كائن `OcrResult` يحتوي على النص المتعرف عليه. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +خلف الكواليس، تقوم Aspose بتقسيم الصورة إلى مربعات، وترسلها إلى GPU للمعالجة المتوازية، ثم تُعيد تجميع النتائج. هذا ما يجعل تجربة **gpu accelerated ocr** أسرع بوضوح مقارنةً بمسار الـ CPU الافتراضي. + +## الخطوة 5: إخراج النص المتعرف عليه (Convert Image to Text) + +أخيرًا، اطبع النتيجة على وحدة التحكم. في تطبيق حقيقي ربما تكتبها إلى ملف أو قاعدة بيانات، لكن للتوضيح يكفي `System.out.println` بسيط. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### النتيجة المتوقعة + +بافتراض أن `sample.jpg` يحتوي على العبارة “Hello, World!”، يجب أن ترى: + +``` +Recognized text: +Hello, World! +``` + +إذا كانت الصورة أكثر تعقيدًا (عدة أسطر، جداول، إلخ)، سيحتوي الإخراج على فواصل أسطر وتنسيق يعكس التخطيط الأصلي. هذه هي ميزة محرك OCR من Aspose—يحافظ على البنية أثناء تحويل الصورة إلى نص. + +## مثال كامل يعمل + +نجمع كل ما سبق في برنامج جاهز للتنفيذ: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +احفظه باسم `GpuOcrDemo.java`، ثم قم بالترجمة باستخدام `javac` وتشغيله بـ `java`. إذا تم توصيل كل شيء بشكل صحيح، ستظهر النصوص المستخرجة على الشاشة فورًا. + +## أسئلة شائعة وحالات خاصة + +### 1. لا يتم استخدام GPU – ما السبب؟ + +* **تحقق من نسخة برنامج التشغيل** – قد لا تُظهر الإصدارات القديمة القدرات الحوسبية المطلوبة. +* **تحقق من دعم GPU** – تتطلب Aspose بطاقة NVIDIA متوافقة مع CUDA أو بطاقة AMD متوافقة مع OpenCL. إذا كنت على لابتوب به GPU منفصل معطل، فعّله من BIOS أو لوحة التحكم الرسومية. +* **افحص السجلات** – تكتب Aspose سطرًا تصحيحيًا عندما يكون وضع GPU نشطًا. فعّل التسجيل عبر `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. نتيجة OCR مشوشة على صورة منخفضة الدقة. + +* **معالجة مسبقة للـ JPEG** – عدّل الحجم إلى ما لا يقل عن 300 dpi، حسّن التباين، أو حوّله إلى تدرج رمادي قبل إرساله إلى المحرك. +* **ضبط الإعدادات** – يمكنك تعديل `ocr.getSettings().setLanguage(OcrLanguage.English)` أو تفعيل `setUseLanguageDetection(true)` لتحسين الدقة. + +### 3. هل يمكن معالجة صور متعددة دفعة واحدة؟ + +بالتأكيد. ضع كتل التحميل والمعالجة داخل حلقة، وأعد استخدام نفس كائن `OcrEngine`. فقط تذكر استدعاء `ocr.reset()` بين كل تكرار لتفريغ الصورة السابقة. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. هل يعمل تسريع GPU على الخوادم بدون واجهة رسومية؟ + +نعم، طالما أن الخادم يحتوي على GPU مدعوم وبرامج تشغيل مناسبة. على Linux قد تحتاج لتثبيت حزمة `nvidia‑utils` والتأكد من أن أدوات `CUDA` موجودة في المتغير `PATH`. + +## نصائح احترافية لـ OCR مع GPU جاهز للإنتاج + +* **حجم الدفعة مهم** – الصور الكبيرة تستفيد أكثر من التوازي على GPU. إذا كنت تعالج أيقونات صغيرة، قد يتجاوز عبء نقل البيانات إلى GPU الفوائد. +* **إدارة الذاكرة** – للـ GPU ذاكرة VRAM محدودة. بالنسبة لملفات PDF ضخمة أو مسحات متعددة الميجابكسل، قسّم الصورة إلى مربعات أصغر يدويًا. +* **معالجة الأخطاء** – غلف استدعاء OCR بكتلة try‑catch وارجع إلى وضع CPU (`setUseGpu(false)`) إذا تم رمي `UnsupportedOperationException`. + +## الخلاصة + +لقد غطينا **كيفية تمكين GPU** في **مثال java ocr**، وأظهرنا لك كيفية **استخراج النص من JPEG**، ووضحنا طريقة **تحويل الصورة إلى نص** باستخدام محرك **gpu accelerated OCR** من Aspose. المقتطف الكامل أعلاه جاهز للإدراج في أي مشروع Java، والنصائح المرفقة ستحافظ عليك من المشكلات الشائعة. + +ما الخطوة التالية؟ جرّب إضافة حزم لغات، جرب صيغ صور مختلفة (PNG, TIFF)، أو دمج الناتج في فهرس بحث. السماء هي الحد عندما تجمع بين OCR وقوة GPU. + +هل لديك أسئلة إضافية حول OCR المدعوم بـ GPU أو تحتاج مساعدة في ضبط الإعدادات؟ اترك تعليقًا، وتمنياتنا لك ببرمجة سعيدة! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## ماذا يجب أن تتعلم بعد ذلك؟ + +الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات التي تم توضيحها في هذا الدليل. كل مورد يتضمن أمثلة شيفرة كاملة مع شروحات خطوة‑بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف نهج تنفيذ بديلة في مشاريعك. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/arabic/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..693b0b37b --- /dev/null +++ b/ocr/arabic/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-06-06 +description: حسّن دقة التعرف الضوئي على الأحرف في جافا من خلال دليل خطوة بخطوة يوضح + كيفية تحميل صورة OCR، ومعالجة صورة OCR، واستخراج النص من الصفحة الممسوحة بكفاءة. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: ar +og_description: حسّن دقة OCR في جافا من خلال مثال عملي. تعلّم كيفية تحميل صورة للتعرف + الضوئي على الأحرف، ومعالجتها مسبقًا، وإجراء OCR على الصورة لاستخراج النص من الصفحة + الممسوحة. +og_title: تحسين دقة OCR في Java – الدرس الكامل +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: تحسين دقة OCR في جافا – دليل شامل +url: /ar/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# تحسين دقة OCR في جافا – دليل شامل + +هل تساءلت يومًا كيف **تحسين دقة OCR** عندما تتعامل مع مسحات لكتب قديمة أو إيصالات غير واضحة؟ لست وحدك. في العديد من المشاريع الواقعية يكون الإخراج الخام من محرك OCR عبارة عن فوضى غامضة، وهذا عادةً لأن الصورة لم تُعالج مسبقًا بشكل صحيح قبل **perform OCR image**. + +في هذا الدرس سنستعرض مثالًا عمليًا بلغة جافا يوضح بالضبط كيفية **load image OCR**، تطبيق بعض خطوات المعالجة المسبقة الذكية، **process image OCR**، وأخيرًا **extract text scanned page** للحصول على نتيجة نظيفة. في النهاية ستفهم ليس فقط *ما* يجب برمجته، بل *لماذا* كل سطر مهم لتعزيز جودة التعرف. + +## ما ستتعلمه + +- كيفية إنشاء محرك OCR في جافا +- الطريقة الصحيحة لـ **load image OCR** من القرص +- لماذا تُعد عملية تصحيح الميل، إزالة الضوضاء، وتعزيز التباين أساسية لـ **تحسين دقة OCR** +- كيفية **perform OCR image** واسترجاع النص المُعترف به +- نصائح للتعامل مع صيغ الصور المختلفة والحالات الخاصة + +لا تحتاج إلى أي وثائق خارجية – كل ما تحتاجه موجود هنا، والكود القابل للتنفيذ مضمّن في الأسفل. + +## المتطلبات المسبقة + +- Java 17 (أو أي JDK حديث) مثبت على جهازك +- مكتبة OCR توفر الفئات `OcrEngine`، `OcrInputImage`، و `OcrResult` (العينة تستخدم API عامة؛ استبدلها بملف jar الخاص بموردك إذا لزم الأمر) +- صورة ممسوحة (PNG، JPEG، أو TIFF) تريد تشغيل OCR عليها – للعرض سنستخدم `old_book_page.png` الموجود في مجلد يسمى `YOUR_DIRECTORY` + +إذا كان ملف jar الخاص بـ OCR غير موجود، فقط ضعّه في مجلد `libs` الخاص بالمشروع وأضفه إلى classpath. هذا كل شيء. + +--- + +## الخطوة 1 – تحسين دقة OCR: إعداد المحرك + +قبل أن نتمكن من **process image OCR**، نحتاج إلى نسخة جديدة من المحرك. إنشاء كائن `OcrEngine` جديد يمنحنا لوحة نظيفة، مما يضمن عدم وجود إعدادات متبقية من تشغيلات سابقة. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*لماذا هذا مهم*: يبدأ المحرك المُنشأ حديثًا بإعدادات المعالجة المسبقة الافتراضية معطلة. هذا مقصود – نريد تمكين فقط الخطوات التي تساعد صورتنا المحددة، وهو الأساس لـ **تحسين دقة OCR**. + +--- + +## الخطوة 2 – Load Image OCR – إعداد المسح الخاص بك + +الآن نقوم فعليًا بـ **load image OCR**. طريقة `setImage` تتوقع كائن `OcrInputImage` يشير إلى الملف على القرص. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +بعض الملاحظات: + +1. **الصيغ المدعومة** – معظم المكتبات تقبل PNG، JPEG، BMP، و TIFF. إذا كان لديك PDF، حوّل الصفحة الأولى إلى صورة أولاً. +2. **معالجة المسار** – استخدام مسار مطلق يجنبك مشكلة “الملف غير موجود” عندما يتغيّر دليل العمل. + +--- + +## الخطوة 3 – تصحيح الميل: تعديل الصفحات المائلة + +العديد من الصفحات الممسوحة ليست أفقية تمامًا. يمكن أن يعيق دوران طفيف عملية التعرف لأن محرك OCR يتوقع خطوط نصية مستوية. تمكين تصحيح الميل يكتشف هذا الدوران تلقائيًا ويصححه. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**نصيحة احترافية**: إذا كنت تعرف زاوية الدوران مسبقًا (مثلاً 90°)، يمكنك تدوير الصورة يدويًا قبل تمريرها إلى المحرك – غالبًا ما يكون أسرع للمهام الدفعية. + +--- + +## الخطوة 4 – إزالة الضوضاء: تقليل حبيبة الخلفية + +الوثائق القديمة غالبًا ما تحتوي على نسيج ورق، غبار، أو تشويش نتيجة الضغط. طريقة `setDenoiseLevel` تطبق مرشحًا ينعّم هذه الضوضاء. المستوى 2 يُعد بداية جيدة لمعظم الصفحات الممسوحة. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**لماذا يساعد**: الضوضاء تُنشئ حواف زائفة قد يفسّرها محرك OCR كحروف. بتنظيف الصورة، نحن **تحسين دقة OCR** دون التضحية بأشكال الحروف الفعلية. + +--- + +## الخطوة 5 – تعزيز التباين: إظهار النص بوضوح + +إذا كان المسح باهتًا، يكون التباين بين الحبر والورق منخفضًا، ويكافح المحرك للتمييز بين المقدمة والخلفية. زيادة معتدلة في التباين بقيمة `1.4f` (زيادة 40 ٪) عادةً ما تُحدث الفرق. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*حالة خاصة*: للصور الداكنة جدًا، يمكن أن يكون العامل الأعلى (حتى 2.0) مفيدًا، لكن احذر من القص – قد تتحول المناطق الساطعة جدًا إلى أبيض نقي، مما يمحو التفاصيل الدقيقة. + +--- + +## الخطوة 6 – Perform OCR Image – خطوة المعالجة الأساسية + +كل التحضيرات تؤدي إلى هذا السطر: تشغيل محرك OCR فعليًا على الصورة المُعالجة مسبقًا. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +تحت الغطاء، يقوم المحرك بعمليات التقسيم، التعرف على الأحرف، ومراحل نموذج اللغة. إذا كنت تحتاج إلى عدة لغات، عيّنها على المحرك **before** استدعاء `process()`. + +--- + +## الخطوة 7 – Extract Text Scanned Page – الحصول على النتيجة + +أخيرًا، نستخرج السلسلة المعترف بها من `OcrResult`. طباعتها على وحدة التحكم كافية لعرض سريع، لكن يمكنك أيضًا كتابتها إلى ملف، قاعدة بيانات، أو تمريرها إلى خط أنابيب NLP لاحق. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**الناتج المتوقع** (مقتطع للت brevity): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +إذا ما زال الناتج غير واضح، أعد مراجعة معلمات المعالجة المسبقة – أحيانًا مستوى إزالة الضوضاء الأعلى أو عامل تباين مختلف يُحدث فرقًا ملحوظًا. + +--- + +## مثال كامل يعمل + +فيما يلي البرنامج الكامل بلغة جافا، يمكنك نسخه، لصقه، وتشغيله. يتضمن الاستيرادات اللازمة، طريقة `main`، وتعليقات داخلية توضح كل خطوة. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +احفظه باسم `OcrAccuracyDemo.java`، ثم قم بتجميعه باستخدام `javac`، وشغّله بـ `java`. إذا تم إعداد كل شيء بشكل صحيح، سترى النص المنقّح يُطبع في الطرفية. + +--- + +## أسئلة شائعة وحالات خاصة + +**س: صفحتي الممسوحة ملونة – هل يجب تحويلها إلى تدرج رمادي أولًا؟** +ج: معظم محركات OCR تحول داخليًا إلى تدرج رمادي، لكن القيام بذلك بنفسك (مثلاً باستخدام `BufferedImage` و `ColorConvertOp`) يمنحك تحكمًا أدق في خوارزمية التحويل، خاصةً عندما لا يكون الخلفية موحدة. + +**س: لا يزال الناتج يحتوي على رموز عشوائية. ماذا أفعل الآن؟** +ج: جرّب رفع `setDenoiseLevel` إلى 3 أو تعديل `setContrastBoost` إلى 1.6f. إذا استمرت المشكلة، فكر في تطبيق **binary threshold** (تثبيت ثنائي) قبل OCR – العديد من المكتبات توفر خيار `setBinarization(true)`. + +**س: كيف أتعامل مع ملفات PDF متعددة الصفحات؟** +ج: حوّل كل صفحة إلى صورة (باستخدام Apache PDFBox، على سبيل المثال) ثم كرّر العملية على الصفحات، مع إعادة استخدام نفس كائن `OcrEngine` لكن مع إعادة تعيين الصورة في كل دورة. + +--- + +## الخلاصة + +لقد تعلمت الآن **تحسين دقة OCR** في جافا عبر **load image OCR** الصحيح، تطبيق تصحيح الميل، إزالة الضوضاء، وتعزيز التباين، ثم **perform OCR image** وأخيرًا **extract text scanned page**. الفكرة الأساسية هي أن المعالجة المسبقة غالبًا ما تكون الرافعة الأكثر فعالية لتحسين جودة التعرف – صورة مُعالجة جيدًا يمكن أن تضاعف أو حتى تُضاعف معدل الحروف الصحيحة. + +هل أنت مستعد للخطوة التالية؟ جرّب التجربة مع: + +- مستويات إزالة ضوضاء مختلفة للماسحات ذات الحبيبة الكثيفة +- تعزيز تباين تكيفي بناءً على تحليل هيستوجرام الصورة +- دمج نموذج لغة (مثل التدقيق الإملائي) بعد الاستخراج لتنظيف الأخطاء المتبقية + +هذه الإضافات ستعمّق خط أنابيب OCR الخاص بك وتجعله قويًا بما يكفي للبيئات الإنتاجية. + +إذا واجهت أي صعوبة أو لديك حيلة ذكية تريد مشاركتها، اترك تعليقًا أدناه. برمجة سعيدة، ولتكن نصوصك دائمًا قابلة للقراءة! + +## ما الذي يجب أن تتعلمه بعد ذلك؟ + +الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات الموضحة في هذا الدليل. كل مصدر يتضمن أمثلة كود كاملة مع شروحات خطوة بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف نهج تنفيذ بديلة في مشاريعك الخاصة. + +- [كيفية استخراج نص صورة باستخدام اللغة مع Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [استخراج نص من صورة جافا باستخدام وضع اكتشاف المناطق في Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [التعرف على نص الصورة باستخدام Aspose OCR – دليل OCR كامل لجافا](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/java/ocr-basics/_index.md b/ocr/arabic/java/ocr-basics/_index.md index 6248b9d8b..6d198ff4f 100644 --- a/ocr/arabic/java/ocr-basics/_index.md +++ b/ocr/arabic/java/ocr-basics/_index.md @@ -17,7 +17,7 @@ weight: 20 ## المقدمة -في هذا الدليل الشامل، ستتعلم **كيفية استخراج النص من الصور** باستخدام Aspose.OCR for Java، وتحويل الصور الممسوحة ضوئياً إلى محتوى قابل للبحث والتحرير. سنرشدك عبر كل شيء من الترخيص إلى تصحيح الميل، حتى تتمكن من **تحسين دقة OCR** وبناء خطوط معالجة مستندات موثوقة. سواءً كنت تبني تطبيق ماسح ضوئي بسيط أو حلاً على مستوى المؤسسة، ستمنحك هذه الخطوات الثقة للتعامل مع تحديات OCR مباشرة. +في هذا الدليل الشامل، ستتعلم **كيفية استخراج النص من الصور** باستخدام Aspose.OCR for Java، وتحويل الصور الممسوحة ضوئياً إلى محتوى قابل للبحث والتحرير. سنرشدك عبر كل شيء من الترخيص إلى تصحيح الميل، حتى تتمكن من **تحسين دقة OCR** وبناء خطوط معالجة مستندات موثوقة. سواءً كنت تبني تطبيق ماسح ضوئي بسيطًا أو حلاً على مستوى المؤسسة، ستمنحك هذه الخطوات الثقة للتعامل مع تحديات OCR مباشرة. ## إجابات سريعة - **ماذا يعني “استخراج النص من الصور”؟** يشير إلى قراءة الأحرف من ملفات الصور (PNG، JPEG، TIFF، إلخ) وتحويلها إلى نص عادي. @@ -100,6 +100,7 @@ weight: 20 حسّن دقة OCR باستخدام Aspose.OCR for Java. تعلم كيفية حساب زوايا الميل خطوة بخطوة. حسّن معالجة المستندات بسهولة. ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) اكتشف قوة Aspose.OCR for Java. تعلم كيفية استخراج النص من الصور بسلاسة في هذا الدليل خطوة بخطوة. حمّل الآن لتعرف على التعرف الفعال على النص. +### [كيفية تنفيذ OCR في Java – دليل شامل لاستخراج النص من الصور](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) --- @@ -112,4 +113,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/arabic/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..03579d39b --- /dev/null +++ b/ocr/arabic/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-06-06 +description: كيفية تنفيذ OCR في جافا – استخراج النص بسرعة من الصورة، تحويل الصورة + إلى نص، وقراءة النص من ملف JPG باستخدام مثال شفرة بسيط. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: ar +og_description: كيفية تنفيذ OCR في جافا – تعلم كيفية استخراج النص من الصورة، تحويل + الصورة إلى نص، وقراءة النص من ملف JPG مع مثال جاهز للتنفيذ. +og_title: كيفية تنفيذ التعرف الضوئي على الحروف في جافا – دليل خطوة بخطوة +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: كيفية تنفيذ OCR في جافا – دليل كامل لاستخراج النص من الصور +url: /ar/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية تنفيذ OCR في جافا – دليل كامل لاستخراج النص من الصور + +هل تساءلت يومًا **how to perform OCR** على صورة التقطتها بهاتفك؟ لست وحدك. سواء كنت تبني تطبيقًا لمسح الفواتير أو تحتاج فقط لاستخراج النص من ملف PDF ممسوح، فإن **how to perform OCR** في Java هي مهارة تُجني ثمارها بسرعة. في هذا الدرس سنستعرض مثالًا عمليًا **extracts text from image**، **converts image to text**، وحتى نوضح لك كيفية **read text from jpg** ببضع أسطر من الشيفرة. + +> *نصيحة احترافية:* نفس النهج يعمل مع PNG، BMP، أو أي صيغة يدعمها محرك OCR—فقط استبدل اسم الملف. + +## كيفية تنفيذ OCR في جافا – نظرة عامة + +التعرف الضوئي على الحروف (OCR) هو التقنية التي تحول صور الحروف إلى نص فعلي قابل للبحث. في بيئة Java توجد عدة مكتبات—Tesseract، Asprise، وSDKs تجارية—تقدم جميعها سير عمل مشابه: تحميل صورة، إخبار المحرك باللغة المتوقعة، تشغيل التعرف، والحصول على النتيجة. أدناه سنستخدم فئة `OcrEngine` عامة لتبسيط المثال، لكن يمكنك استبدالها بأي تنفيذ ملموس يتبع نفس النمط. + +### ما ستتعلمه + +- تثبيت مكتبة OCR (نعم، **ocr in java** أسهل مما تتصور). +- إنشاء وتكوين مثيل محرك OCR. +- تحميل JPG (أو أي صورة) وتحديد اللغة. +- معالجة الصورة و**extract text from image**. +- طباعة السلسلة المعترف بها إلى وحدة التحكم. + +بنهاية الدرس ستحصل على برنامج Java مستقل يمكنك إدراجه في أي مشروع وتشغيله فورًا. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## الخطوة 1 – تثبيت واستيراد مكتبة OCR (ocr in java) + +قبل كتابة أي سطر من Java، تحتاج إلى مكتبة تقوم بالعمل الشاق. إذا كنت تستخدم Maven، أضف الاعتماد التالي (استبدل `com.example.ocr` بمعرف المجموعة الحقيقي لـ SDK الذي اخترته): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +إذا كنت تفضل Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +بمجرد أن يكون ملف JAR على مسار الفئة الخاص بك، استورد الفئات التي تحتاجها: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **لماذا هذا مهم:** استيراد الفئات الصحيحة يمنع أخطاء “cannot find symbol” ويجعل IDE سعيدًا—لا شيء أكثر إزعاجًا من استيراد مفقود عندما تحاول **convert image to text**. + +## الخطوة 2 – إنشاء مثيل محرك OCR (how to perform OCR) + +الآن بعد أن أصبحت المكتبة جاهزة، شغّل المحرك. فكر في المحرك كالعقل الذي سينظر إلى البكسلات ويخمن الحروف. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +إنشاء المحرك عادةً ما يكون منخفض التكلفة؛ معظم SDKs تخصّص المخازن الداخلية بشكل كسول، لذا يمكنك إعادة استخدام نفس المثيل عبر العديد من الصور إذا كنت تعالج دفعة. + +## الخطوة 3 – تحميل الصورة وتحديد اللغة (extract text from image) + +الخطوة التالية هي إعطاء المحرك ما يقرأه. هنا نقوم بتحميل ملف JPEG من القرص ونخبر محرك OCR أن النص باللغة المنغولية (رمز ISO 639‑2 “mon”). يمكنك تغيير المسار أو رمز اللغة ليتناسب مع حالتك. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **ملاحظة جانبية:** إذا لم تحدد لغة، فإن المحرك يستخدم الإنجليزية افتراضيًا، مما قد يقلل الدقة بشكل كبير عندما يكون النص فعليًا سيريليًا أو بأي كتابة أخرى. دائمًا حدد اللغة الصحيحة عندما تستطيع. + +## الخطوة 4 – معالجة الصورة والحصول على النتيجة (convert image to text) + +مع وجود الصورة واللغة، اطلب من المحرك تنفيذ سحره. استدعاء `process()` ينفّذ خوارزمية OCR ويعيد كائن `OcrResult` يحتوي على السلسلة المعترف بها ودرجات الثقة. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +خلف الكواليس، قد يقوم المحرك بعمليات ما قبل المعالجة—إزالة الميل، التحويل إلى ثنائي، تقليل الضوضاء—حتى لا تحتاج لكتابة هذه الخطوات بنفسك. لهذا السبب معظم مكتبات OCR الحديثة ممتعة للاستخدام في مهام **convert image to text**. + +## الخطوة 5 – إخراج النص المستخرج (read text from jpg) + +أخيرًا، استخرج النص العادي من النتيجة واستخدمه بطريقة مفيدة. في هذا العرض نطبع النص إلى وحدة التحكم فقط، لكن يمكنك كتابته إلى ملف، أو إرساله إلى فهرس بحث، أو تمريره إلى خدمة أخرى. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +تثبت هذه السطر وحده أنك نجحت في **read text from jpg** (أو أي صيغة مدعومة). إذا كان الإخراج مشوشًا، تحقق مرة أخرى من رمز اللغة وجودة الصورة. + +## مثال كامل يعمل (جميع الخطوات مجمعة) + +فيما يلي فئة Java كاملة جاهزة للتنفيذ تربط جميع الأجزاء معًا. انسخها إلى ملف باسم `OcrDemo.java`، عدّل مسار الصورة واللغة، ثم شغّل `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### النتيجة المتوقعة + +إذا كان `input.jpg` يحتوي على العبارة المنغولية “Сайн байна уу?” ستظهر وحدة التحكم: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +إذا كانت الصورة غير واضحة أو كان رمز اللغة خاطئًا، سترى أحرفًا مشوشة أو سلسلة فارغة—وهي مشاكل شائعة سنناقشها لاحقًا. + +## المشكلات الشائعة وكيفية إصلاحها + +| العَرَض | السبب المحتمل | الحل | +|---------|--------------|-----| +| أحرف سيريالية مشوشة | رمز لغة خاطئ (الافتراضي إلى الإنجليزية) | استخدم `ocrEngine.getSettings().setLanguage("mon")` أو الرمز المناسب. | +| لا يوجد أي إخراج | مسار الصورة غير صحيح أو الملف غير قابل للقراءة | تحقق من المسار، تأكد من وجود الملف، وأن العملية لديها صلاحيات القراءة. | +| دقة منخفضة (<70 %) | الصورة منخفضة التباين أو مائلة | قم بمعالجة مسبقة للصورة: زيادة التباين، تصحيح الميل، أو تحويلها إلى تدرج الرمادي قبل تمريرها إلى المحرك. | +| `OutOfMemoryError` على ملفات PDF الكبيرة | تحميل العديد من الصفحات عالية الدقة دفعة واحدة | عالج الصفحات واحدةً تلو الأخرى، أو قلل أبعاد الصور قبل OCR. | + +### نصيحة احترافية: المعالجة الدفعية + +إذا كنت بحاجة إلى **extract text from image** ملفات بشكل جماعي، غلف المنطق الأساسي داخل حلقة: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +## المضي قدمًا – ما الذي تستكشفه لاحقًا؟ + +- **Language Packs:** معظم SDKs الخاصة بـ OCR تسمح لك بتحميل ملفات بيانات لغات إضافية. إضافة حزمة جديدة تمكنك من **convert image to text** للغات غير الإنجليزية والمنغولية. +- **PDF OCR:** دمج هذا الكود مع Apache PDFBox لـ + +## ماذا يجب أن تتعلم بعد ذلك؟ + +الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات الموضحة في هذا الدليل. كل مصدر يتضمن أمثلة شيفرة كاملة مع شروحات خطوة بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف أساليب تنفيذ بديلة في مشاريعك. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..d6e0fff73 100644 --- a/ocr/arabic/java/ocr-operations/_index.md +++ b/ocr/arabic/java/ocr-operations/_index.md @@ -80,6 +80,8 @@ weight: 21 افتح إمكانات التعرف القوية على النص في Java مع Aspose.OCR. تعرف على النص في صور TIFF بسهولة. حمّل الآن لتجربة OCR سلسة. ### [التعرف على نص الصورة باستخدام Aspose OCR – دليل OCR كامل للـ Java](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) دليل شامل يشرح كيفية التعرف على النص في الصور باستخدام Aspose OCR مع Java خطوة بخطوة. +### [تطبيق ترخيص Aspose OCR في Java – إزالة العلامة المائية للـ OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +دليل خطوة بخطوة لتطبيق ترخيص Aspose OCR في Java وإزالة العلامة المائية من النص المستخرج. ## الأسئلة المتكررة diff --git a/ocr/arabic/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/arabic/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..968d52926 --- /dev/null +++ b/ocr/arabic/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-06-06 +description: قم بتطبيق ترخيص Aspose OCR في جافا لفتح جميع الميزات وإزالة علامة OCR + المائية فورًا. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: ar +og_description: قم بتطبيق ترخيص Aspose OCR في Java لإزالة حدود التقييم وإزالة علامة + OCR المائية من مسحاتك. +og_title: تطبيق ترخيص Aspose OCR في جافا – إزالة علامة OCR المائية +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: تطبيق ترخيص Aspose OCR في جافا – إزالة العلامة المائية لـ OCR +url: /ar/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# تطبيق ترخيص Aspose OCR في Java – إزالة علامة مائية OCR + +هل تساءلت يومًا كيف **تطبيق ترخيص Aspose OCR** في مشروع Java دون مواجهة علامة التقييم المزعجة؟ لست وحدك. في اللحظة التي تجرب فيها النسخة التجريبية المجانية، يتم وضع طابع على كل صورة ممسوحة بالمسح الضوئي بطبقة رمادية “Aspose Evaluation”، ويمكن أن تجعل حتى أنقى المستند يبدو غير مهني. + +في هذا الدليل سنستعرض الخطوات الدقيقة **لتطبيق ترخيص Aspose OCR**، والتحقق من أن المكتبة قد تم إلغاء قفلها بالكامل، وإظهار كيفية اختفاء العلامة المائية تلقائيًا. بنهاية الدليل، ستتمكن من تشغيل OCR على أي صورة—سواء كانت إيصالًا، أو مسحًا ضوئيًا لجواز سفر، أو ملاحظة مكتوبة بخط اليد—بدون الطبقة القبيحة. + +## المتطلبات المسبقة + +قبل أن نبدأ، تأكد من وجود ما يلي: + +- **Java Development Kit (JDK) 8** أو أحدث مثبت. +- **Aspose OCR for Java** ملف JAR (قم بتنزيله من بوابة Aspose). +- ملف ترخيص **Aspose OCR** الخاص بك (`Aspose.OCR.Java.lic`). +- بيئة تطوير متكاملة أو محرر نصوص بسيط (IntelliJ، Eclipse، VS Code—اختيارك). + +هذا كل شيء. لا تحتاج إلى إضافات Maven إضافية أو حيل Gradle، رغم أنه يمكنك إضافتها لاحقًا إذا رغبت. + +## إعداد المشروع (نظرة سريعة) + +1. أنشئ مجلدًا جديدًا باسم `AsposeOCRDemo`. +2. ضع ملف `aspose-ocr-*.jar` داخل مجلد فرعي `lib`. +3. ضع ملف `Aspose.OCR.Java.lic` في مكان يمكن الوصول إليه، مثل مجلد `resources/`. +4. اكتب ملف `Main.java` صغير—هنا يحدث السحر. + +إذا كنت تستخدم بيئة تطوير متكاملة، ما عليك سوى إضافة الـ JAR إلى classpath للمشروع وتعليم مجلد `resources` كجذر للموارد. إذا كنت تُجَمِّع من سطر الأوامر، سيبدو classpath شيئًا مثل: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +الآن بعد أن تم إعداد الهيكل، لننتقل إلى صلب الموضوع. + +## الخطوة 1: **تطبيق ترخيص Aspose OCR** – الكود الأساسي + +أول شيء يجب عليك فعله هو إخبار محرك Aspose OCR بالثقة بملف الترخيص الخاص بك. بدون هذا الاستدعاء، تبقى المكتبة في وضع التقييم وستستمر في إضافة تلك العلامة المائية إلى كل مخرجات. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **لماذا هذا مهم:** فئة `License` هي الحارس. بمجرد نجاح `setLicense`، يتحول محرك OCR من وضع *التقييم* إلى وضع *الكامل*. جميع الفحوصات الداخلية التي تضيف منطق **إزالة علامة مائية OCR** تُعطَّل، لذا لن ترى الطبقة الرمادية مرة أخرى. + +> **نصيحة احترافية:** احتفظ بملف الترخيص خارج نظام التحكم في الإصدارات (مثلاً في مجلد خاص بالبيئة) لتجنب الالتزام العرضي. + +## الخطوة 2: التحقق من اختفاء العلامة المائية + +بعد أن استدعيت `applyAsposeOcrLicense`، من الجيد تشغيل اختبار سريع. المقتطف التالي يحمل صورة، ينفذ OCR، ويطبع النص المستخرج. إذا لم يكن الترخيص نشطًا، سيُطلق Aspose استثناءً أو يدمج علامة مائية في صورة الإخراج (إذا كنت تحفظ نتيجة بصرية). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**الناتج المتوقع (مقتطف):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +لاحظ أنه لا يوجد أي إشارة إلى علامة مائية للتقييم في أي مكان. هذا هو تأثير **إزالة علامة مائية OCR** في العمل. + +## الخطوة 3: المشكلات الشائعة وحالات الحافة + +### 1. مسار الترخيص غير صحيح +إذا مررت مسارًا غير صحيح إلى `setLicense`، فإن الطريقة تفشل بصمت وتبقى المكتبة في وضع التقييم. تحقق دائمًا من قيمة الإرجاع أو امسك الاستثناء، كما هو موضح في `LicenseUtil`. + +### 2. استخدام مسار نسبي في نشر مبني على JAR +عند حزم تطبيقك كملف JAR قابل للتنفيذ، قد تتعطل المسارات النسبية لنظام الملفات. نهج أكثر أمانًا هو تحميل الترخيص كتيار مورد: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +ضع ملف `.lic` في `src/main/resources` بحيث ينتهي به المطاف على classpath. + +### 3. سيناريوهات متعددة الخيوط +إذا كان تطبيقك يعالج العديد من الصور بشكل متزامن، تحتاج إلى تطبيق الترخيص **مرة واحدة** لكل JVM. إعادة استدعاء `setLicense` من خيوط متعددة قد يسبب انخفاضًا طفيفًا في الأداء، لكنه لن يسبب أي عطل. + +### 4. انتهاء صلاحية الترخيص +عادةً ما تكون تراخيص Aspose دائمة، لكن بعض التراخيص التجريبية أو ذات المدة المحدودة قد تنتهي. عندما يحدث ذلك، يعود المحرك إلى وضع التقييم وتختفي سلوك **إزالة علامة مائية OCR**. راقب تاريخ انتهاء صلاحية الترخيص في بوابة Aspose. + +## الخطوة 4: أتمتة تطبيق الترخيص في مشاريع العالم الحقيقي + +في ميكروسيرفيس إنتاجي، ربما لا تريد توزيع `LicenseUtil.applyAsposeOcrLicense` في جميع أنحاء قاعدة الشيفرة. بدلاً من ذلك، قم بتهيئته مرة واحدة أثناء بدء تشغيل التطبيق—فكر في طريقة `@PostConstruct` في Spring Boot أو كتلة مبدئية ثابتة. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +الآن يمكن لكل مكوّن يستخدم `OcrEngine` أن يفترض بأمان أن الترخيص نشط بالفعل، مما يضمن **إزالة علامة مائية OCR** عبر الخدمة بأكملها. + +## الخطوة 5: اختبار دمج الترخيص + +يمكن للاختبارات الآلية أن تؤكد أن العلامة المائية اختفت فعلاً. قد يبدو اختبار JUnit بسيط هكذا: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +تشغيل هذا الاختبار يمنحك الثقة بأن خط أنابيب النشر الخاص بك لن يرسل بناءً غير مرخص عن طريق الخطأ. + +## نظرة بصرية (اختياري) + +إذا كنت تفضّل رؤية الأمور بصورة رسومية، إليك مخطط سريع لتدفق العملية: + +![تطبيق ترخيص Aspose OCR في Java](apply-aspose-ocr-license.png "تطبيق ترخيص Aspose OCR في Java") + +*نص بديل: تطبيق ترخيص Aspose OCR في Java – مخطط يوضح تحميل الترخيص ثم معالجة OCR بدون علامة مائية.* + +## الخلاصة + +لقد غطينا كل ما تحتاجه **لتطبيق ترخيص Aspose OCR** في بيئة Java، وكأثر مباشر، **إزالة علامة مائية OCR** من جميع الصور المعالجة. من إنشاء كائن `License`، ومعالجة مشاكل المسار، والتحقق من النتيجة، إلى ربطه بتطبيق أكبر—تم شرح كل خطوة مع توضيح “السبب” وراءها، وليس مجرد “كيفية”. + +الآن يمكنك دمج Aspose OCR في أي مشروع Java، بثقة أن مستخدميك لن يروا مرة أخرى تلك العلامة المزعجة للتقييم. + +### ما التالي؟ + +- **استكشاف حزم اللغات:** يدعم Aspose OCR أكثر من 70 لغة؛ ما عليك سوى ضبط الخاصية المناسبة في `OcrEngine`. +- **دمج مع Aspose PDF:** حوّل الصور الممسوحة مباشرة إلى ملفات PDF قابلة للبحث دون علامة مائية. +- **تحسين الأداء** + +## ماذا يجب أن تتعلم بعد ذلك؟ + +الدروس التالية تغطي مواضيع ذات صلة وثيقة تبني على التقنيات التي تم توضيحها في هذا الدليل. كل مورد يتضمن أمثلة شاملة مع شروحات خطوة بخطوة لمساعدتك على إتقان ميزات API إضافية واستكشاف نهج تنفيذ بديلة في مشاريعك الخاصة. + +- [كيفية تعيين الترخيص والتحقق من ترخيص Aspose.OCR في Java](/ocr/english/java/ocr-basics/set-license/) +- [التعرف على نص الصورة باستخدام Aspose OCR – دليل Java OCR كامل](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [حساب زاوية الانحراف باستخدام Aspose OCR Java – دليل كامل](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..7a426a1f2 100644 --- a/ocr/chinese/java/advanced-ocr-techniques/_index.md +++ b/ocr/chinese/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,20 @@ Aspose.OCR for Java 是光学字符识别 (OCR) 方面的游戏规则改变者 使用 Aspose.OCR 为您的 Java 应用程序提供精确的文本识别能力。集成方便,精度高。 ### [在 Aspose.OCR 中指定允许的字符](./specify-allowed-characters/) 使用 Aspose.OCR for Java 无缝解锁图像中的文本提取。请遵循我们的分步指南以实现高效集成。 +### [Aspose OCR Java 示例 – 完整指南:加载图像、拼写校正与 OCR 处理](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +本完整指南演示如何在 Java 中使用 Aspose OCR 加载图像、进行拼写校正并执行 OCR,帮助您轻松实现高精度文本提取。 +### [在 Aspose.OCR for Java 中启用 GPU – 完整分步指南](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +通过本指南,逐步了解如何在 Aspose.OCR for Java 中启用 GPU 加速,实现高效 OCR 处理。 +### [在 Aspose.OCR for Java 中从扫描图像提取文本 – 完整指南](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +通过本完整指南,学习如何使用 Aspose.OCR for Java 从扫描图像中高精度提取文本,轻松集成到您的项目中。 +### [在 Java 中提升 OCR 准确率 – 完整指南](./improve-ocr-accuracy-in-java-complete-guide/) +本完整指南展示如何在 Java 中使用 Aspose.OCR 提升 OCR 准确率,提供实用技巧与最佳实践。 +### [在 Java 中创建可搜索 PDF – 完整 Aspose OCR 指南](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +本完整指南展示如何使用 Aspose OCR for Java 将图像或文档转换为可搜索的 PDF,提升文档检索效率。 + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/chinese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..302a5c3aa --- /dev/null +++ b/ocr/chinese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,189 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java 示例展示如何加载图像 OCR、纠正 OCR 错误、设置自定义词典,并仅用几步处理图像 OCR。 +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: zh +og_description: Aspose OCR Java 示例,加载图像,纠正 OCR 错误,设置自定义词典,高效处理图像 OCR。 +og_title: Aspose OCR Java 示例 – 加载图像、拼写校正并处理 OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java 示例 – 加载图像、拼写校正和处理 OCR 的完整指南 +url: /zh/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java 示例 – 完整指南:加载图像、拼写校正与 OCR 处理 + +是否曾需要一个 **Aspose OCR Java 示例** 能够开箱即用?你并不孤单——开发者常常盯着模糊的截图,苦恼提取的文本一团糟。好消息是 Aspose 的 OCR 引擎已经内置拼写校正,甚至可以自行加载词典。在本教程中,我们将演示如何加载图像 OCR、启用校正功能、可选地设置自定义词典,最后处理图像 OCR 以获得干净、可读的文本。 + +我们还会讨论为何需要 **纠正 OCR 错误**、如何高效 **加载图像 OCR**、**设置自定义词典** 的好处,以及端到端 **处理图像 OCR** 流程的整体样貌。完成后,你将拥有一个可直接在任何 Maven 或 Gradle 项目中运行的完整 Java 程序。 + +--- + +## 需要的环境 + +- Java 8 或更高(API 也兼容 Java 11+) +- Aspose.OCR for Java 库(从 Aspose 官网下载最新 JAR,或添加 Maven 依赖) +- 包含文字的图像文件(最好是扫描文档或带有噪点的截图) +- 可选:如果想 **设置自定义词典** 用于特定领域术语,需要一个纯文本词典文件 + +就这些——无需庞大的 OCR 引擎、无需本地依赖,只要一个 JAR 和几行代码。 + +--- + +## 第一步:Aspose OCR Java 示例 – 加载图像 OCR + +首先需要创建 `OcrEngine` 实例并指向待分析的文件。把它想象成在阅读前先打开一本书。 + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **为什么重要:** `setImage` 调用是 **加载图像 OCR** 的核心。没有有效的图像,引擎无从识别,只会返回空字符串或抛出异常。 + +![aspose ocr java example loading image](image.png){alt="aspose ocr java example loading image"} + +--- + +## 第二步:启用拼写校正以纠正 OCR 错误 + +Aspose OCR 默认已开启拼写校正,但显式设置总是更保险——尤其在演示 **aspose ocr java 示例** 时。启用此功能可以显著减少 “t1e” 或 “rec0gn1tion” 之类的乱码。 + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **小技巧:** 如果仍发现引擎误识别某些词,请检查语言设置或添加自定义词典(下一步)。 + +启用拼写校正是 **纠正 OCR 错误** 的最快方式,无需额外代码。 + +--- + +## 第三步:设置自定义词典以提升准确率 + +默认词典可能不包含你的行业专有术语——比如医学名词、产品代码或品牌名称。这时 **设置自定义词典** 就派上用场。提供一个纯文本文件,每行一个词,OCR 引擎在校正时会将这些词视为有效。 + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **使用场景:** 处理发票时公司名称经常被破坏,使用包含这些名称的自定义词典可以让 **处理图像 OCR** 步骤更加可靠。 + +--- + +## 第四步:处理图像 OCR 并获取文本 + +引擎配置完成后,就可以真正运行识别了。`process` 方法负责所有重活——检测文本块、应用拼写校正,并返回 `OcrResult` 对象。 + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **运行结果:** 控制台会打印出干净、可读的字符串。如果未启用拼写校正,你可能会看到奇怪的字符,这正说明在 **纠正 OCR 错误** 时提前开启校正的重要性。 + +--- + +## 第五步:运行示例并验证输出 + +使用你喜欢的 IDE 或命令行编译并执行该类: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +你应当看到类似如下的输出: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +如果输出仍包含拼写错误,请将这些词加入自定义词典后重新运行 **处理图像 OCR** 步骤。 + +--- + +## 常见陷阱及规避方法 + +| 问题 | 产生原因 | 解决方案 | +|------|----------|----------| +| **输出为空** | 图像路径错误或不支持的格式 | 检查路径,使用 PNG/JPEG,并确保文件可读 | +| **出现乱码** | 拼写校正未开启或图像质量低 | 调用 `setEnableSpellCorrection(true)`,并考虑对图像进行预处理(提升对比度) | +| **行业词汇仍错误** | 未使用自定义词典 | 使用 `setCustomDictionary` 并提供包含专业术语的文件 | +| **内存溢出** | 直接加载超大图像未做缩放 | 在传入 `OcrEngine` 前先对图像进行尺寸调整 | + +--- + +## 扩展示例 + +拥有了可靠的 **aspose ocr java 示例** 后,你可能想进一步: + +- **批量处理** 文件夹中的图像,遍历文件名并复用同一个 `OcrEngine` 实例。 +- 使用 `ocrResult.getPages()` **提取布局信息**(表格、列),进行更高级的文档分析。 +- **结合 Apache PDFBox** 将识别的文本嵌入回 PDF 中。 + +所有这些扩展都基于我们已讲解的核心步骤:加载图像 OCR、启用校正、可选设置自定义词典、以及处理图像 OCR。 + +--- + +## 结论 + +你已经完成了一个完整的 **aspose ocr java 示例**:加载图像、启用拼写校正以 **纠正 OCR 错误**、可选 **设置自定义词典**,最终 **处理图像 OCR** 并获取干净文本。代码简洁、概念清晰,且已为批量作业、UI 集成或云微服务等场景奠定基础。 + +接下来可以尝试使用低分辨率照片、将产品 SKU 列表加入自定义词典,观察准确率的提升。实验越多,你对图像质量、词典规模与处理速度之间的权衡就越了解。 + +如有任何问题或改进想法,欢迎留言交流。祝编码愉快! + +## 接下来该学习什么? + +以下教程涵盖与本指南紧密相关的主题,帮助你进一步掌握 API 功能并探索不同实现方式: + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/chinese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..ebc7a48ff --- /dev/null +++ b/ocr/chinese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,276 @@ +--- +category: general +date: 2026-06-06 +description: 使用 Aspose OCR 在 Java 中创建可搜索的 PDF。学习从 PDF 中提取文本,提高 OCR 准确率,并高效处理多页 PDF。 +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: zh +og_description: 使用 Aspose OCR 在 Java 中创建可搜索的 PDF。本指南将带您了解如何从 PDF 中提取文本、提升 OCR 准确率以及处理多页 + PDF。 +og_title: 在 Java 中创建可搜索 PDF – 完整的 Aspose OCR 教程 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: 在 Java 中创建可搜索 PDF – 完整的 Aspose OCR 指南 +url: /zh/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 Java 中创建可搜索 PDF – 完整 Aspose OCR 指南 + +是否曾想过 **直接在 Java 中创建可搜索 PDF**,而不需要使用数十个命令行工具?你并不孤单。许多开发者在需要将扫描的 PDF 转换为可文本搜索的文档时会卡住,尤其是当源 PDF 跨越多页时。 + +在本教程中,我们将逐步演示一个完整、可运行的示例,不仅 **创建可搜索 PDF**,还会展示如何 **从 PDF 中提取文本**、**提升 OCR 准确率**,以及使用 Aspose OCR 库处理 **OCR 多页 PDF** 工作流。完成后,你将拥有一段可直接放入任何 Java 项目的生产级代码片段。 + +## 你需要准备的环境 + +- Java 17 或更高(代码在旧版本也能编译,但 JDK 17 是最佳选择) +- Maven 或 Gradle 用于引入 `aspose-ocr` 依赖 +- 一个示例多页 PDF(我们称之为 `sample_multi_page.pdf`) +- 一块适度的 GPU,或至少一颗多核 CPU(如果想启用并行处理) + +无需额外的本地库——Aspose OCR 已将所有必需组件打包。 + +--- + +## 创建可搜索 PDF – 步骤实现 + +下面我们将过程拆分为若干逻辑块。每个部分都有自己的 H2 标题,方便你直接跳转到感兴趣的章节,关键词也已体现在标题中。 + +### 步骤 1:设置项目并导入 Aspose OCR + +首先,在 `pom.xml` 中添加 Aspose OCR Maven 依赖。如果你更喜欢 Gradle,等价的代码片段已在注释中提供。 + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **专业提示:** 保持依赖最新;新版本通常会带来准确率提升,直接帮助你 **提升 OCR 准确率**。 + +### 步骤 2:将多页 PDF 加载到 OCR 引擎 + +现在我们创建 `OcrEngine` 实例并将待处理的 PDF 传入。引擎会在内部将每页视为图像,这正是 **ocr 多页 pdf** 场景能够顺利运行的原因。 + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**为何重要:** 只加载一次 PDF 并让引擎自行处理分页,可避免手动提取每页的开销,从而节省时间和内存。 + +### 步骤 3:启用高级功能以 **提升 OCR 准确率** + +Aspose OCR 提供了多个可调参数。开启 GPU 加速、增加线程数、指定多语言,都能显著提升识别率,尤其是在噪声较大的扫描件上。 + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **如果没有 GPU 怎么办?** 只需将 `setUseGpu(false)`,引擎会回退到仅 CPU 模式,同时仍受益于多线程。 + +### 步骤 4:对图像进行预处理以获得更好结果 + +去倾斜、去噪、增强对比度等预处理步骤,可大幅 **提升 OCR 准确率**。把它想象成在雕刻前先抛光原石。 + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**为何采用这些设置?** `2` 级去噪在大多数扫描 PDF 中表现良好,而适度的对比度提升(1.3×)能在不导致背景过曝的情况下强化淡墨。 + +### 步骤 5:配置输出以生成可搜索 PDF + +Aspose OCR 能直接在 PDF 中嵌入识别的文字层,将平面图像文件转换为 **可搜索 PDF**。这正是许多开发者询问的 “如何制作可搜索 pdf” 的核心。 + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +当 `setGenerateSearchablePdf(true)` 被启用时,库会创建一个不可见的文字层,映射视觉内容,使最终文档在任何 PDF 阅读器中都可搜索。 + +### 步骤 6:运行 OCR 并持久化结果 + +现在正式处理文档并写出输出文件。`process` 方法返回一个 `OcrResult` 对象,内含可搜索 PDF 与提取的纯文本。 + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### 步骤 7: (可选)**从 PDF 中提取文本** 以便立即使用 + +如果你还需要原始文本——用于索引、分析或在网页上展示——可以直接从 `OcrResult` 中获取。 + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**你将看到:** 控制台会输出所有页的合并文本,尽可能保留换行。这满足了 **从 pdf 中提取文本** 的需求,无需二次遍历。 + +--- + +## 可视化概览 + +下面是一张简易流程图,映射每一步与对应的代码块,帮助你直观看到输入 PDF 如何经过预处理、OCR,最终成为可搜索文档。 + +![创建可搜索 PDF 流程图](https://example.com/flow-diagram.png "创建可搜索 PDF 流程图") + +*Alt 文本包含主要关键词,以满足图片 SEO 要求。* + +--- + +## 常见问题与边缘情况 + +| 问题 | 回答 | +|----------|--------| +| **我可以处理大于 100 MB 的 PDF 吗?** | 可以,但建议改为流式读取页面,而不是一次性将整个文件加载到内存。Aspose OCR 在内部已管理分页,但对于超大文件,你可能需要增大 JVM 堆内存(如 `-Xmx4g`)。 | +| **如果我的 PDF 包含手写笔记怎么办?** | 手写识别默认未启用。如果库版本支持,可使用 `setLanguage("eng,mon,handwritten")`,但准确率会有所波动。 | +| **使用 Aspose OCR 是否需要许可证?** | 临时评估许可证可用于测试。生产环境请购买商业许可证,以去除水印并解锁全部性能。 | +| **如何关闭拼写纠正?** | 调用 `ocr.getSettings().setEnableSpellCorrection(false);` —— 在需要原始 OCR 输出进行取证时非常有用。 | +| **GPU 支持是必须的吗?** | 不是。库会优雅地回退到 CPU。不过,在大型多页文档上,GPU 可将处理时间缩短最多约 60 %。 | + +--- + +## 完整可运行示例(复制粘贴即用) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**预期输出** + +- `output_searchable.pdf` – 一个可以使用 Ctrl + F 搜索扫描图像中出现的任意单词的 PDF。 +- 控制台日志 – 原始 PDF 的完整文本内容,适合用于索引或进一步分析。 + +--- + +## 结论 + +我们已经演示了如何使用 Aspose OCR 在 Java 中 **创建可搜索 PDF**,并展示了 **从 PDF 中提取文本**、**提升 OCR 准确率**,以及高效处理 **OCR 多页 PDF** 工作流的完整代码。上述代码片段已准备好直接嵌入你的项目,配套的说明也让你有信心针对具体需求进行调优。 + +接下来可以尝试自定义字体嵌入、添加 OCR 生成的书签,或将输出与 Elasticsearch 等搜索引擎集成。这些主题都与我们的次要关键词——*如何制作可搜索 pdf* 与 *提升 OCR 准确率*——息息相关,为你提供了进一步探索的明确路径。 + +欢迎在评论区分享你的经验或提出后续问题。祝编码愉快,享受将静态扫描件转化为全文可搜索、富文本 PDF 的过程! + +## 接下来你可以学习什么? + +以下教程涵盖了与本指南技术紧密相关的主题,帮助你在自己的项目中进一步掌握 API 功能并探索替代实现方案,每篇资源均提供完整可运行的代码示例和逐步解释。 + +- [识别 PDF 文本 – Aspose.OCR for Java 的 OCR 操作](/ocr/english/java/ocr-operations/) +- [在 Aspose.OCR for Java 中进行 PDF 文档的 OCR 识别](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/chinese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..c4ebeecfc --- /dev/null +++ b/ocr/chinese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,270 @@ +--- +category: general +date: 2026-06-06 +description: 使用 Aspose OCR for Java 从扫描图像中提取文本。了解如何使用并行处理识别 TIFF 文件中的文本。 +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: zh +og_description: 使用 Aspose OCR 从扫描图像中提取文本。本指南展示了如何使用 Java 高效地识别 TIFF 文件中的文本。 +og_title: 从扫描图像中提取文本 – Aspose OCR Java 教程 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: 在 Java 中从扫描图像提取文本 – 完整的 Aspose OCR 指南 +url: /zh/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从扫描图像中提取文本 – 完整 Aspose OCR 指南 + +是否曾经需要**从扫描图像中提取文本**却不知道该怎么做?你并不孤单。无论是数字化旧档案、从发票中提取数据,还是构建可搜索的 PDF 库,从 TIFF 扫描件中获取可靠的文本都是一个痛点。 + +好消息:使用 Aspose OCR for Java,你可以仅用几行代码**从 tiff 识别文本**,甚至通过将引擎限制在少数 CPU 核心上来提升速度。在本教程中,我们将完整演示整个过程——从库的安装到结果处理——让你可以直接复制粘贴一个可运行的示例。 + +## 本教程涵盖内容 + +- 安装 Aspose OCR for Java(Maven 或手动 JAR) +- 加载大型扫描 TIFF 图像 +- 将引擎配置为最多使用 4 条线程(并行 OCR) +- 运行 OCR 过程并打印提取的文本 +- 常见陷阱(内存、多页 TIFF)及规避方法 +- 性能小技巧:何时调优 `setMaxThreads` + +完成后,你将能够**可靠地从扫描图像文件中提取文本**,并且了解在生产流水线中*从 tiff 识别文本*时为何需要调整线程数。 + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## 前置条件 + +在开始之前,请确保你具备以下条件: + +1. **Java Development Kit (JDK) 8+** – 任意近期版本均可。 +2. **Maven**(或手动添加 JAR 的能力)– 为了简便我们使用 Maven。 +3. **Aspose OCR for Java** 许可证(免费评估版可用,但会添加水印)。 +4. 一个**大型 TIFF 扫描件**(例如 `large_scan.tif`),用于处理。 + +如果上述任意项你不熟悉,也无需担心——下面的每一步都会详细说明。 + +## 步骤 1:将 Aspose OCR 添加到项目 + +### Maven 用户 + +在 `pom.xml` 中加入以下依赖: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### 手动 JAR 设置 + +从 Aspose 官网下载最新的 `aspose-ocr-xx.jar` 并放入类路径中。 + +> **专业提示:** 将 JAR 放在 `libs/` 文件夹,并在 IDE 的项目设置中引用它。这样可以避免后期出现 “class not found” 的意外。 + +## 步骤 2:创建一个简单的 Java 类 + +在源码文件夹(`src/main/java`)下新建 `ParallelOcrDemo.java`。该类将包含完整的 OCR 工作流。 + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **为何限制线程数:** 默认情况下 Aspose OCR 会尝试使用所有核心,这可能会在共享机器上抢占其他服务的资源。将 `setMaxThreads(4)` 设置为最多四个并行工作者——在大多数现代 CPU 上即可获得显著加速,同时不会独占资源。 + +## 步骤 3:编译并运行 + +在项目根目录打开终端,执行: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +如果不使用 Maven,可使用 `javac` 编译并运行: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### 预期输出 + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +控制台将显示扫描页上的纯文本内容。如果图像包含多页,Aspose OCR 会按顺序将它们拼接。 + +## 步骤 4:处理多页 TIFF(边缘情况) + +常见场景是**多页 TIFF**——比如扫描的书籍。默认 `OcrInputImage` 只读取第一帧。若要处理所有页面,需要使用 `FileInputStream` 创建 `OcrInputImage` 并启用多页支持: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +此时 `ocrEngine.process()` 将返回一个包含所有页面拼接文本的单一 `OcrResult`。 + +## 步骤 5:微调识别准确度 + +如果出现**字符乱码**或缺失单词,可尝试以下调整: + +| 设置 | 功能说明 | 适用场景 | +|------|----------|----------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | 强制使用英文语言模型(对英文扫描更快、更准) | 文档为单语英文 | +| `ocrEngine.getSettings().setResolution(300)` | 在识别前将低分辨率图像放大 | DPI 低于 200 的扫描件 | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | 尝试清除噪点和伪影 | 噪声较重的扫描件 | + +示例代码片段: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## 步骤 6:将结果导出到文件 + +在演示时将结果打印到控制台已经足够,但生产代码通常会把输出写入有用的位置: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +现在你拥有了一个纯文本文件,可将其导入搜索索引、数据库或下游分析流水线。 + +--- + +## 常见问题 (FAQ) + +**问:这能用于 PNG 或 JPEG 文件吗?** +答:完全可以。`OcrInputImage` 接受任何 Java ImageIO 能读取的格式。只需将路径中的文件扩展名替换即可。 + +**问:我的服务器有 8 核心——应该设置 `setMaxThreads(8)` 吗?** +答:可以,但请记住其他服务也可能需要 CPU。一个经验法则是“总核心数 – 1”,用于专用 OCR 工作器。 + +**问:如果 OCR 结果为空怎么办?** +答:检查图像是否全白、语言设置是否正确,以及分辨率是否至少为 200 DPI。低质量扫描通常需要在送入 Aspose OCR 前进行预处理(去倾斜、提升对比度)。 + +--- + +## 小结 + +我们已经使用 Aspose OCR for Java **从扫描图像文件中提取文本**,并了解了如何通过并行处理**从 tiff 识别文本**以获得高效性能。完整代码已在上面的代码块中提供,直接复制粘贴即可在自己的项目中使用。 + +### 接下来可以做什么? + +- **批量处理**:遍历 TIFF 目录,为每个文件生成单独的结果文件。 +- **集成 Elasticsearch**:将提取的文本索引,以实现快速全文搜索。 +- **添加语言检测**:使用 `OcrLanguage.AutoDetect` 处理多语言文档。 + +尝试这些思路,你将很快把大量扫描的纸质文件转化为可搜索、可操作的数据。 + +祝编码愉快,遇到问题欢迎留言交流! + +## 接下来该学习什么? + +以下教程与本指南所示技术紧密相关,帮助你进一步掌握 API 功能并探索在项目中的其他实现方式,每篇都包含完整可运行的代码示例和逐步说明。 + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/chinese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..a2a8d8ea2 --- /dev/null +++ b/ocr/chinese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-06-06 +description: 如何在 Java OCR 中启用 GPU 并从 JPEG 文件中提取文本。遵循此 Java OCR 示例,使用 GPU 加速将图像转换为文本。 +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: zh +og_description: 如何在 Java OCR 中启用 GPU 并即时从 JPEG 图像中提取文本。本指南展示了一个完整的 Java OCR 示例,使用 + GPU 加速 OCR。 +og_title: 如何在 Java OCR 中启用 GPU – 完整编程演练 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: 如何在 Java OCR 中启用 GPU——完整的逐步指南 +url: /zh/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Java OCR 中启用 GPU – 完整分步指南 + +是否曾好奇 **如何在 Java 中为光学字符识别启用 GPU**?你并不是唯一的提问者——开发者们经常问:“能否在不重写代码的情况下让 OCR 更快?”简短的答案是可以,详细的答案就在这里。在本教程中,我们将演示一个 **java ocr example**,它 **从 JPEG 文件中提取文本**,**将图像转换为文本**,并利用 **GPU 加速 OCR** 实现闪电般的速度。 + +我们将从设置 Aspose OCR 库、加载示例 JPEG、开启 GPU 支持、运行引擎,最后打印识别结果开始。完成后,你将拥有一个可在任何 Java 项目中直接使用的代码片段,以及一些避免常见陷阱的技巧。没有废话,只有你上手所需的关键细节。 + +## 前置条件 + +在开始之前,请确保你已经具备: + +* 已安装 Java 8 或更高版本(代码使用标准 API,任何近期的 JDK 都可)。 +* 一块兼容的 GPU 并且驱动为最新 – 大多数现代 NVIDIA/AMD 显卡均符合要求。 +* Aspose.OCR for Java 库(可从 Maven Central 或 Aspose 官网获取)。 +* 一张你想要进行 OCR 的 JPEG 图片 – 我们将其命名为 `sample.jpg`。 + +就这些。如果有任何不熟悉的环节,请先暂停并安装缺失的组件;后续内容默认这些条件已经就绪。 + +## 如何在 Java OCR 中启用 GPU – 概览 + +下面是我们将要实现的快速概览: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +可以把 GPU 看作是 OCR 引擎的增压器——CPU 不再逐像素进行分析,繁重的计算交由显卡并行处理。结果是?在高分辨率扫描时处理时间大幅缩短。 + +## 步骤 1:搭建项目并导入 Aspose OCR + +首先,创建一个新的 Maven 项目(如果你更喜欢 Gradle 也可以)。在 `pom.xml` 中加入 Aspose OCR 依赖: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +如果不使用 Maven,直接从 Aspose 下载 JAR 并加入到类路径中。此步骤是任何 **java ocr example** 的基础,请务必确认库能够正确解析。 + +## 步骤 2:加载 JPEG 图像(从 JPEG 中提取文本) + +接下来编写代码读取 JPEG 文件。`OcrInputImage` 类接受文件路径,我们将其传递给 `OcrEngine`。 + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **为什么重要:** 正确加载图像是任何 **convert image to text** 工作流的第一步。如果路径错误,引擎会在进入 GPU 阶段前抛出异常。 + +## 步骤 3:启用 GPU 加速(如何启用 GPU) + +下面是本教程的核心——打开 GPU 支持。`OcrSettings` 对象提供 `setUseGpu` 标志。将其设为 `true` 即可。 + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **专业提示:** 确认你的 GPU 驱动是最新的。过时的驱动常导致 `setUseGpu(true)` 调用静默失效,只得到 CPU 模式的性能。 + +## 步骤 4:运行 OCR 引擎(Java OCR 示例) + +图像已加载且 GPU 已启用,启动 OCR 过程。引擎返回一个包含识别文本的 `OcrResult` 对象。 + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +在内部,Aspose 会将图像切分为多个块,发送到 GPU 进行并行推断,然后再把结果拼接回来。这正是 **gpu accelerated ocr** 相比默认 CPU 路径更快的关键所在。 + +## 步骤 5:输出识别文本(将图像转换为文本) + +最后,将结果打印到控制台。在实际项目中,你可能会把它写入文件或数据库,但这里用一个简单的 `System.out.println` 即可演示。 + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### 预期输出 + +假设 `sample.jpg` 包含短语 “Hello, World!”,你应当看到: + +``` +Recognized text: +Hello, World! +``` + +如果图像更复杂(多行、表格等),输出会包含换行和空格,基本保持原始布局。这正是 Aspose OCR 引擎的优势——在将图像转换为文本的同时保留结构。 + +## 完整可运行示例 + +将上述所有代码整合,得到如下完整、可直接运行的程序: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +将其保存为 `GpuOcrDemo.java`,使用 `javac` 编译,随后用 `java` 运行。只要配置正确,控制台会瞬间显示提取的文本。 + +## 常见问题与边缘情况 + +### 1. 我的 GPU 没有被使用——怎么回事? + +* **检查驱动版本** – 旧版驱动可能不提供所需的计算能力。 +* **验证 GPU 支持** – Aspose 需要 CUDA 兼容的 NVIDIA 卡或 OpenCL 兼容的 AMD 卡。如果是笔记本电脑且离散 GPU 被禁用,请在 BIOS 或显卡控制面板中启用。 +* **查看日志** – 当 GPU 模式激活时,Aspose 会写入调试日志。可通过 `ocr.getSettings().setLogLevel(LogLevel.Debug)` 开启日志。 + +### 2. 在低分辨率图像上 OCR 结果乱码。 + +* **预处理 JPEG** – 将分辨率提升至至少 300 dpi,进行对比度增强,或先转换为灰度图再送入引擎。 +* **调整设置** – 可通过 `ocr.getSettings().setLanguage(OcrLanguage.English)` 或开启 `setUseLanguageDetection(true)` 提升准确率。 + +### 3. 能否批量处理多张图片? + +完全可以。将加载和处理代码放入循环,复用同一个 `OcrEngine` 实例。记得在每次迭代后调用 `ocr.reset()` 清除前一张图片的状态。 + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. GPU 加速能在无头服务器上运行吗? + +可以,只要服务器配备受支持的 GPU 并安装了相应驱动。在 Linux 上,可能需要安装 `nvidia‑utils` 包,并确保 `CUDA` 工具链已加入 `PATH`。 + +## 生产级 GPU OCR 的专业技巧 + +* **批处理大小很关键** – 大图像更能受益于 GPU 并行。如果处理的是微小图标,GPU 数据传输的开销可能抵消收益。 +* **内存管理** – GPU 的显存有限。对于超大 PDF 或多兆像素扫描,建议手动将图像切分为更小的块。 +* **错误处理** – 将 OCR 调用包装在 try‑catch 中,若捕获到 `UnsupportedOperationException`,可回退到 CPU 模式 (`setUseGpu(false)`)。 + +## 结论 + +我们已经完整演示了 **如何在 Java OCR 中启用 GPU**,展示了 **从 JPEG 提取文本** 的完整 **java ocr example**,并通过 Aspose 的 **gpu accelerated OCR** 引擎实现了 **将图像转换为文本** 的高效流程。上面的代码片段可直接嵌入任何 Java 项目,配套的技巧也能帮助你规避常见坑。 + +接下来可以尝试添加语言包,实验不同的图像格式(PNG、TIFF),或将输出集成到搜索索引中。将 OCR 与 GPU 能力结合,几乎没有上限。 + +如果对 GPU 加速 OCR 还有其他疑问或需要调参帮助,欢迎留言,祝编码愉快! + +![在 Java OCR 示例中启用 GPU](https://example.com/images/gpu-ocr-java.png "在 Java OCR 示例中启用 GPU") + + +## 接下来该学习什么? + +以下教程与本指南紧密相关,帮助你进一步掌握 API 功能并探索其他实现思路: + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/chinese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..86cc0fcfb --- /dev/null +++ b/ocr/chinese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,262 @@ +--- +category: general +date: 2026-06-06 +description: 通过一步步指南提升 Java 中的 OCR 准确率,展示如何加载图像 OCR、处理图像 OCR 并高效提取扫描页面的文本。 +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: zh +og_description: 通过动手示例提升 Java 中的 OCR 准确率。学习加载图像进行 OCR、预处理,并执行 OCR 以提取扫描页面的文本。 +og_title: 在Java中提升OCR准确率 – 完整教程 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: 在 Java 中提升 OCR 准确率 – 完整指南 +url: /zh/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 Java 中提升 OCR 准确率 – 完整指南 + +是否曾经想过在处理旧书扫描件或模糊收据时,**提升 OCR 准确率**?你并不孤单。在许多真实项目中,OCR 引擎的原始输出往往是一团乱码,这通常是因为在 **perform OCR image** 之前没有对图像进行正确的预处理。 + +在本教程中,我们将通过一个实用的 Java 示例,完整演示如何 **load image OCR**、应用几步智能预处理、**process image OCR**,以及最终 **extract text scanned page**,得到干净的结果。阅读完本教程后,你不仅会了解 *该写什么代码*,还会明白 *每行代码为何重要*,从而提升识别质量。 + +## 你将学到 + +- 如何在 Java 中实例化 OCR 引擎 +- 正确的 **load image OCR** 方法(从磁盘读取) +- 为什么去倾斜、去噪和增强对比度是 **improve OCR accuracy** 的关键 +- 如何 **perform OCR image** 并获取识别后的文本 +- 处理不同图像格式和边缘情况的技巧 + +无需外部文档——所有内容都在这里,完整可运行的代码位于文末。 + +## 前置条件 + +- 已在机器上安装 Java 17(或任意近期 JDK) +- 提供 `OcrEngine`、`OcrInputImage` 与 `OcrResult` 类的 OCR 库(示例使用通用 API;如有需要请替换为供应商的 jar) +- 一张待 OCR 的扫描图像(PNG、JPEG 或 TIFF),本示例使用位于 `YOUR_DIRECTORY` 文件夹下的 `old_book_page.png` + +如果缺少 OCR jar,只需将其放入项目的 `libs` 文件夹并加入 classpath。就这么简单。 + +--- + +## 第一步 – 提升 OCR 准确率:设置引擎 + +在我们能够 **process image OCR** 之前,需要先创建一个全新的引擎实例。实例化 `OcrEngine` 能让我们拥有一个干净的起点,避免继承上一次运行的残余设置。 + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*为什么重要*:新创建的引擎默认关闭所有预处理步骤。这是有意为之——我们只会启用真正对当前图像有帮助的步骤,这是 **improve OCR accuracy** 的基石。 + +--- + +## 第二步 – Load Image OCR – 准备你的扫描件 + +现在正式 **load image OCR**。`setImage` 方法需要一个指向磁盘文件的 `OcrInputImage`。 + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +需要注意的几点: + +1. **支持的格式** – 大多数库接受 PNG、JPEG、BMP 与 TIFF。如果手头是 PDF,请先将首页转换为图像。 +2. **路径处理** – 使用绝对路径可以避免工作目录变化时出现 “file not found” 的坑。 + +--- + +## 第三步 – Deskew:校正倾斜页面 + +很多扫描页并非完全水平。轻微的旋转会严重影响识别,因为 OCR 引擎期望文本行是水平的。启用 deskew 能自动检测并纠正这种旋转。 + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**小技巧**:如果你事先知道旋转角度(例如 90°),可以在送入引擎前手动旋转图像——对批处理任务来说通常更快。 + +--- + +## 第四步 – Denoise:降低背景噪点 + +旧文档常伴随纸张纹理、灰尘或压缩伪影。`setDenoiseLevel` 方法会应用滤波器平滑这些噪声。对大多数扫描页而言,Level 2 是一个不错的起点。 + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**为何有效**:噪声会产生错误的边缘,导致 OCR 引擎误判为字符。通过清理图像,我们 **improve OCR accuracy**,而不会损失真实的字形。 + +--- + +## 第五步 – Boost Contrast:增强对比度 + +如果扫描件颜色暗淡,墨水与纸张之间的对比度低,引擎就难以区分前景与背景。将对比度提升至 `1.4f`(提升 40%)通常能解决问题。 + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*边缘情况*:对于非常暗的图像,可以使用更高的系数(最高 2.0),但要注意 clipping——过亮的区域可能会变成纯白,导致细节丢失。 + +--- + +## 第六步 – Perform OCR Image – 核心处理步骤 + +所有准备工作最终汇聚到这一行:在预处理后的图像上实际运行 OCR 引擎。 + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +在内部,引擎会执行分割、字符识别以及语言模型等阶段。如果需要多语言支持,请在调用 `process()` 之前先在引擎上设置语言。 + +--- + +## 第七步 – Extract Text Scanned Page – 获取输出 + +最后,从 `OcrResult` 中提取识别得到的字符串。将其打印到控制台足以演示,当然你也可以写入文件、数据库,或喂给下游的 NLP 流程。 + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**预期输出**(为简洁起见已截断): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +如果输出仍然乱码,请回头检查预处理参数——有时提升去噪等级或调整对比度因子会带来明显改善。 + +--- + +## 完整可运行示例 + +下面是完整的、可直接复制、粘贴并运行的 Java 程序。它包含必要的 import、`main` 方法以及解释每一步的内联注释。 + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +将其保存为 `OcrAccuracyDemo.java`,使用 `javac` 编译,随后用 `java` 运行。若环境配置正确,你将在终端看到已清理的文本输出。 + +--- + +## 常见问题与边缘案例 + +**Q: 我的扫描页是彩色的——是否需要先转为灰度?** +A: 大多数 OCR 引擎会内部转为灰度,但自行使用 `BufferedImage` 与 `ColorConvertOp` 转换可以让你更精细地控制转换算法,尤其在背景不均匀时。 + +**Q: 输出仍然包含杂乱符号,怎么办?** +A: 尝试将 `setDenoiseLevel` 提升到 3,或将 `setContrastBoost` 调整为 1.6f。如果问题仍在,考虑在 OCR 前应用 **binary threshold**(二值化)——许多库提供 `setBinarization(true)` 选项。 + +**Q: 如何处理多页 PDF?** +A: 使用 Apache PDFBox 等工具将每页转换为图像,然后遍历页面,复用同一个 `OcrEngine` 实例,但每次循环前重新设置图像。 + +--- + +## 结论 + +你已经学会了在 Java 中通过正确的 **load image OCR**、倾斜校正、去噪与对比度提升,来 **improve OCR accuracy**,随后 **perform OCR image** 并 **extract text scanned page**。关键在于:预处理往往是提升识别质量的最有效杠杆——一张处理得当的图像可以让正确字符率提升一倍甚至三倍。 + +准备好继续深入了吗?可以尝试以下方向: + +- 针对高度颗粒化的扫描件实验不同的去噪等级 +- 基于图像直方图实现自适应对比度提升 +- 在提取后集成语言模型(如拼写检查)以进一步清理残余错误 + +这些扩展将让你的 OCR 流程更加强大,足以支撑生产环境的工作负载。 + +如果遇到问题或有自己的技巧,欢迎在下方留言。祝编码愉快,愿你的文本永远清晰可读! + +## 接下来你应该学习什么? + +以下教程与本指南所示技术密切相关,帮助你进一步掌握 API 功能并探索替代实现方式。 + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/java/ocr-basics/_index.md b/ocr/chinese/java/ocr-basics/_index.md index 316febf1c..4005155a2 100644 --- a/ocr/chinese/java/ocr-basics/_index.md +++ b/ocr/chinese/java/ocr-basics/_index.md @@ -99,6 +99,8 @@ 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 中执行 OCR – 完整指南,提取图像文本](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +通过本完整指南学习在 Java 中使用 Aspose.OCR 提取图像中的文本,实现高效 OCR 处理。 --- @@ -111,4 +113,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/chinese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..abf356117 --- /dev/null +++ b/ocr/chinese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-06-06 +description: 如何在 Java 中实现 OCR —— 使用简易代码示例快速从图像提取文本、将图像转换为文字,并读取 JPG 中的文本。 +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: zh +og_description: 如何在 Java 中执行 OCR —— 学习如何从图像中提取文本,将图像转换为文本,并使用可直接运行的示例读取 JPG 中的文本。 +og_title: 如何在 Java 中进行 OCR – 步骤指南 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: 如何在 Java 中进行 OCR – 提取图像文字的完整指南 +url: /zh/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Java 中执行 OCR – 提取图像文本的完整指南 + +是否曾好奇 **如何在手机拍摄的图片上执行 OCR**?你并不孤单。无论是构建收据扫描应用,还是仅仅需要从扫描的 PDF 中提取文本,**如何在 Java 中执行 OCR** 都是一项回报快速的技能。在本教程中,我们将通过一个实用示例,演示 **从图像文件中提取文本**、**将图像转换为文本**,甚至展示如何仅用几行代码 **从 jpg 中读取文本**。 + +> *Pro tip:* 同样的方法适用于 PNG、BMP 或 OCR 引擎支持的任何格式——只需更换文件名即可。 + +## 如何在 Java 中执行 OCR – 概览 + +光学字符识别(OCR)是一种将字母图片转换为实际、可搜索文本的技术。在 Java 生态系统中,有多个库——Tesseract、Asprise 以及商业 SDK——都提供了类似的工作流:加载图像、指定语言、运行识别、获取结果。下面我们使用一个通用的 `OcrEngine` 类来保持示例简洁,但你可以用任何遵循相同模式的具体实现来替换它。 + +### 你将学到的内容 + +- 安装 OCR 库(是的,**ocr in java** 比想象中更简单)。 +- 创建并配置 OCR 引擎实例。 +- 加载 JPG(或任意图像)并设置语言。 +- 处理图像并 **从图像文件中提取文本**。 +- 将识别出的字符串打印到控制台。 + +完成后,你将拥有一个可直接放入任何项目并立即运行的独立 Java 程序。 + +![how to perform OCR example](ocr-example.png "Java 中执行 OCR 的示意图") + +## 第一步 – 安装并导入 OCR 库(ocr in java) + +在编写任何 Java 代码之前,你需要一个真正负责重活的库。如果使用 Maven,请添加如下依赖(将 `com.example.ocr` 替换为所选 SDK 的真实 group ID): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +如果更喜欢 Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +将 JAR 放入 classpath 后,导入所需的类: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **为什么这很重要:** 导入正确的类可以避免 “cannot find symbol” 错误,让你的 IDE 高兴——在尝试 **convert image to text** 时,最让人沮丧的莫过于缺少导入。 + +## 第二步 – 创建 OCR 引擎实例(how to perform OCR) + +库准备就绪后,启动引擎。可以把引擎想象成会观察像素并猜测字母的大脑。 + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +创建引擎的成本通常很低;大多数 SDK 会惰性分配内部缓冲区,因此在处理批量图像时可以安全地复用同一个实例。 + +## 第三步 – 加载图像并设置语言(extract text from image) + +接下来要给引擎提供读取的对象。这里我们从磁盘加载 JPEG,并告诉 OCR 引擎文本使用蒙古语(ISO 639‑2 代码 “mon”)。你可以根据实际需求更改路径或语言代码。 + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **旁注:** 如果不设置语言,引擎默认使用英语,这在文本实际为西里尔字母或其他脚本时会大幅降低准确率。能够时请始终指定正确的语言。 + +## 第四步 – 处理图像并获取结果(convert image to text) + +在图像和语言准备好后,调用引擎执行魔法。`process()` 方法运行 OCR 算法并返回一个 `OcrResult` 对象,包含识别的字符串和置信度分数。 + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +在幕后,引擎可能会进行预处理——去倾斜、二值化、降噪——因此你无需自行编写这些步骤。这也是大多数现代 OCR 库在 **convert image to text** 任务中如此受欢迎的原因。 + +## 第五步 – 输出提取的文本(read text from jpg) + +最后,从结果中取出纯文本并进行有用的处理。演示中我们仅将其打印到控制台,但你也可以写入文件、写入搜索索引,或传递给其他服务。 + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +仅此一行就证明你已经成功 **read text from jpg**(或任何受支持的格式)。如果输出出现乱码,请再次检查语言代码和图像质量。 + +## 完整可运行示例(所有步骤合并) + +下面是一段完整、可直接运行的 Java 类,整合了所有步骤。将其复制到名为 `OcrDemo.java` 的文件中,调整图像路径和语言后,执行 `javac OcrDemo.java && java OcrDemo`。 + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### 预期输出 + +如果 `input.jpg` 包含蒙古语短句 “Сайн байна уу?”,控制台将显示: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +如果图像模糊或语言代码错误,你会看到乱码或空字符串——这些常见陷阱将在下文中讨论。 + +## 常见陷阱及解决方案 + +| 症状 | 可能原因 | 解决方案 | +|------|----------|----------| +| 西里尔字符乱码 | 语言代码错误(默认使用英语) | 设置 `ocrEngine.getSettings().setLanguage("mon")` 或相应的代码。 | +| 完全没有输出 | 图像路径错误或文件不可读 | 核实路径,确保文件存在且进程拥有读取权限。 | +| 准确率低于 70 % | 图像对比度低或旋转 | 预处理图像:提升对比度、去倾斜或转换为灰度后再送入引擎。 | +| 大型 PDF 导致 `OutOfMemoryError` | 一次加载过多高分辨率页面 | 按页逐个处理,或在 OCR 前对图像进行降采样。 | + +### Pro Tip: 批量处理 + +如果需要 **extract text from image** 文件的批量操作,可将核心逻辑包装在循环中: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +该代码片段演示了如何轻松从单个 JPG 扩展到整个文件夹的扫描。 + +## 进一步探索 – 接下来可以做什么? + +- **语言包:** 大多数 OCR SDK 允许下载额外的语言数据文件。添加新语言包后,你可以 **convert image to text** 任意语言的文本,而不仅限于英语和蒙古语。 +- **PDF OCR:** 将本代码与 Apache PDFBox 结合使用,可对 PDF 文档进行全文检索。 + +## 接下来该学习什么? + +以下教程涵盖与本指南紧密相关的主题,帮助你在已有技术基础上进一步提升。每篇资源都提供完整可运行的代码示例和逐步解释,帮助你掌握更多 API 功能并在项目中探索替代实现方案。 + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..625a367df 100644 --- a/ocr/chinese/java/ocr-operations/_index.md +++ b/ocr/chinese/java/ocr-operations/_index.md @@ -80,6 +80,7 @@ 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 许可证在 Java 中 – 移除 OCR 水印](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) ## 常见问题 diff --git a/ocr/chinese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/chinese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..e557071c3 --- /dev/null +++ b/ocr/chinese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-06-06 +description: 在 Java 中应用 Aspose OCR 许可证,即可立即解锁全部功能并去除 OCR 水印。 +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: zh +og_description: 在 Java 中应用 Aspose OCR 许可证,以消除评估限制并去除扫描中的 OCR 水印。 +og_title: 在 Java 中应用 Aspose OCR 许可证 – 去除 OCR 水印 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: 在 Java 中应用 Aspose OCR 许可证 – 去除 OCR 水印 +url: /zh/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 Java 中应用 Aspose OCR 许可证 – 移除 OCR 水印 + +是否曾想过如何在 Java 项目中 **apply Aspose OCR license** 而不出现令人头疼的评估水印?你并不是唯一遇到这种情况的人。一旦尝试免费试用,每张扫描的图像都会被灰色的 “Aspose Evaluation” 覆盖标记,这甚至会让最干净的文档看起来不专业。 + +在本指南中,我们将逐步演示 **apply Aspose OCR license** 的确切步骤,验证库已完全解锁,并展示水印如何自动消失。完成后,您将能够对任何图像进行 OCR——无论是收据、护照扫描件还是手写笔记——而不会出现丑陋的覆盖。 + +## 前提条件 + +- **Java Development Kit (JDK) 8** 或更高版本已安装。 +- **Aspose OCR for Java** JAR 文件(从 Aspose 门户下载)。 +- 您的 **Aspose OCR license file** (`Aspose.OCR.Java.lic`)。 +- 任意 IDE 或简单的文本编辑器(IntelliJ、Eclipse、VS Code——自行选择)。 + +就是这样。无需额外的 Maven 插件或 Gradle 技巧,当然如果需要,您可以稍后自行添加。 + +## 项目设置(快速概览) + +1. 创建一个名为 `AsposeOCRDemo` 的新文件夹。 +2. 将 `aspose-ocr-*.jar` 文件放入 `lib` 子文件夹中。 +3. 将您的 `Aspose.OCR.Java.lic` 文件放在可访问的位置,例如 `resources/` 文件夹。 +4. 编写一个小的 `Main.java` 文件——这里将实现核心功能。 + +如果您使用 IDE,只需将 JAR 添加到项目的类路径,并将 `resources` 文件夹标记为资源根目录。如果您从命令行编译,类路径大致如下: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +现在脚手架已经就绪,让我们进入核心内容。 + +## 步骤 1:**Apply Aspose OCR License** – 核心代码 + +首先,您必须让 Aspose OCR 引擎信任您的许可证文件。若未调用此方法,库将保持在评估模式,并在每个输出中持续添加水印。 + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **为何重要:** `License` 类是守门人。只要 `setLicense` 成功,OCR 引擎就会从 *evaluation* 模式切换到 *full* 模式。所有通常会添加 **remove OCR watermark** 逻辑的内部检查都会被禁用,因此您再也不会看到灰色覆盖。 +> **专业提示:** 将许可证文件放在源码控制之外(例如放在环境特定的文件夹中),以避免意外提交。 + +## 步骤 2:验证水印已消失 + +在调用 `applyAsposeOcrLicense` 后,最好进行一次快速测试。以下代码片段加载图像,执行 OCR,并打印提取的文本。如果许可证未激活,Aspose 将抛出异常或在输出图像中嵌入水印(如果您保存可视化结果)。 + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**预期输出(摘录):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +请注意,输出中没有任何评估水印的痕迹。这正是 **remove OCR watermark** 效果的体现。 + +## 步骤 3:常见陷阱与边缘情况 + +### 1. 错误的许可证路径 + +如果向 `setLicense` 传递了错误的路径,方法会静默失败,库仍保持在评估模式。请始终检查返回值或捕获异常,如 `LicenseUtil` 中所示。 + +### 2. 在基于 JAR 的部署中使用相对路径 + +当您将应用打包为可执行 JAR 时,相对文件系统路径可能失效。更安全的做法是将许可证作为资源流加载: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +将 `.lic` 文件放置在 `src/main/resources` 中,使其位于类路径上。 + +### 3. 多线程场景 + +如果您的应用并发处理大量图像,只需在每个 JVM 中 **一次** 应用许可证。从多个线程重复调用 `setLicense` 可能会带来轻微的性能损失,但不会导致错误。 + +### 4. 许可证过期 + +Aspose 许可证通常是永久的,但某些试用或限时许可证可能会过期。过期后,引擎会恢复为评估模式,**remove OCR watermark** 行为随之消失。请在 Aspose 门户中关注许可证的到期日期。 + +## 步骤 4:在实际项目中自动化许可证应用 + +在生产微服务中,您可能不想在代码库中到处散布 `LicenseUtil.applyAsposeOcrLicense`。相反,应该在应用启动时初始化一次——比如在 Spring Boot 的 `@PostConstruct` 方法或静态初始化块中。 + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +现在,所有使用 `OcrEngine` 的组件都可以安全地假设许可证已激活,从而在整个服务中保证 **remove OCR watermark** 的效果。 + +## 步骤 5:测试许可证集成 + +自动化测试可以确认水印已被移除。一个简单的 JUnit 测试可能如下所示: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +运行此测试可以让您确信部署流水线不会意外发布未授权的构建。 + +## 可视化概览(可选) + +如果您喜欢图形化的展示,这里有一个流程的快速示意图: + +![在 Java 中应用 Aspose OCR 许可证](apply-aspose-ocr-license.png "在 Java 中应用 Aspose OCR 许可证") + +*Alt text: 在 Java 中应用 Aspose OCR 许可证 – 示意图展示许可证加载后进行 OCR 处理且没有水印。* + +## 结论 + +我们已经介绍了在 Java 环境中 **apply Aspose OCR license** 所需的全部内容,并且作为直接副作用,**remove OCR watermark** 已从所有处理的图像中移除。从创建 `License` 对象、处理路径细节、验证结果,到将其集成到更大的应用程序——每一步都解释了背后的“为什么”,而不仅仅是“如何”。 + +现在,您可以将 Aspose OCR 集成到任何 Java 项目中,确信用户再也不会看到那令人分心的评估标签。 + +### 接下来? + +- **Explore language packs:** Aspose OCR 支持超过 70 种语言;只需设置相应的 `OcrEngine` 属性。 +- **Combine with Aspose PDF:** 将扫描图像直接转换为可搜索的 PDF,且不带水印。 +- **Performance tuning** + +## 接下来应该学习什么? + +以下教程涵盖与本指南紧密相关的主题,基于所示技术进行扩展。每个资源都包含完整的可运行代码示例和逐步说明,帮助您掌握更多 API 功能并在自己的项目中探索替代实现方案。 + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..b809bbfdd 100644 --- a/ocr/czech/java/advanced-ocr-techniques/_index.md +++ b/ocr/czech/java/advanced-ocr-techniques/_index.md @@ -23,7 +23,7 @@ Aspose.OCR for Java mění hru, pokud jde o optické rozpoznávání znaků (OCR ## [Provádění OCR na BufferedImage v Aspose.OCR pro Java](./perform-ocr-buffered-image/) -tomto tutoriálu vás provedeme procesem provádění OCR na BufferedImage pomocí Aspose.OCR for Java. Naučte se, jak bez námahy extrahovat text z obrázků, a zajistit tak všestranné rozpoznávání textu. Stáhněte si nyní a vylepšete své Java aplikace. +tomuto tutoriálu vás provedeme procesem provádění OCR na BufferedImage pomocí Aspose.OCR for Java. Naučte se, jak bez námahy extrahovat text z obrázků, a zajistit tak všestranné rozpoznávání textu. Stáhněte si nyní a vylepšete své Java aplikace. ## [Provádění OCR na obrázku z URL v Aspose.OCR pro Java](./perform-ocr-image-from-url/) @@ -61,9 +61,20 @@ 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 v Java OCR – Kompletní krok‑za‑krokem průvodce](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Naučte se, jak v Aspose.OCR pro Java aktivovat GPU pro rychlejší rozpoznávání textu s podrobným návodem. +### [Extrahování textu ze skenovaného obrázku v Javě – Kompletní průvodce Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Naučte se extrahovat text ze skenovaných obrázků v Javě pomocí Aspose.OCR s podrobným krok‑za‑krokem návodem. +### [Aspose OCR Java příklad – Kompletní průvodce načtením obrázku, opravením pravopisu a zpracováním OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Kompletní návod, jak načíst obrázek, opravit pravopis a provést OCR pomocí Aspose OCR v Javě. +### [Zlepšení přesnosti OCR v Javě – Kompletní průvodce](./improve-ocr-accuracy-in-java-complete-guide/) +Naučte se, jak zvýšit přesnost OCR v Javě pomocí Aspose.OCR s podrobným krok‑za‑krokem návodem. +### [Vytvoření prohledávatelného PDF v Javě – Kompletní průvodce Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Naučte se, jak v Javě vytvořit prohledávatelné PDF pomocí Aspose OCR s podrobným krok‑za‑krokem návodem. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/czech/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..619938781 --- /dev/null +++ b/ocr/czech/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-06-06 +description: Příklad Aspose OCR v Javě ukazuje, jak načíst OCR obrázku, opravit chyby + OCR, nastavit vlastní slovník a zpracovat OCR obrázku během několika kroků. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: cs +og_description: Příklad Aspose OCR v Javě, který načte obrázek, opraví chyby OCR, + nastaví vlastní slovník a efektivně zpracuje OCR obrázku. +og_title: Aspose OCR Java příklad – Načíst obrázek, opravit pravopis a zpracovat OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Příklad Aspose OCR v Javě – Kompletní průvodce načtením obrázku, opravením + pravopisu a zpracováním OCR +url: /cs/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java příklad – Kompletní průvodce načtením obrázku, opravením pravopisu a zpracováním OCR + +Už jste někdy potřebovali **Aspose OCR Java example**, který skutečně funguje hned po vybalení? Nejste sami — vývojáři často zírají na rozmazaný snímek obrazovky a přemýšlejí, proč je extrahovaný text takový nepořádek. Dobrou zprávou je, že OCR engine od Aspose už obsahuje vestavěnou opravu pravopisu a můžete k němu připojit i vlastní seznam slov. V tomto tutoriálu vás provedeme načtením obrázku pro OCR, zapnutím funkce korekce, volitelným nastavením vlastního slovníku a nakonec zpracováním OCR obrázku, abyste získali čistý, čitelný text. + +Také si vysvětlíme, proč můžete chtít **correct OCR errors**, jak efektivně **load image OCR**, výhody volání **set custom dictionary** a jak vypadá kompletní tok **process image OCR**. Na konci budete mít plně spustitelný Java program, který můžete vložit do libovolného Maven nebo Gradle projektu. + +--- + +## Co budete potřebovat + +- Java 8 nebo novější (API funguje také s Java 11+) +- Aspose.OCR pro Java knihovna (stáhněte nejnovější JAR z webu Aspose nebo přidejte Maven závislost) +- Obrázkový soubor obsahující text (ideálně naskenovaný dokument nebo snímek obrazovky s trochou šumu) +- Volitelně: soubor slovníku v prostém textu, pokud chcete **set custom dictionary** pro doménově specifické termíny + +To je vše — žádné těžké OCR enginy, žádné nativní závislosti, jen jediný JAR a pár řádků kódu. + +--- + +## Krok 1: Aspose OCR Java Example – Load Image OCR + +Prvním krokem je vytvořit instanci `OcrEngine` a nasměrovat ji na soubor, který chcete analyzovat. Představte si to jako otevření knihy před čtením. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Why this matters:** Volání `setImage` je jádrem **load image OCR**. Bez platného obrázku nemá engine co rozpoznávat a skončíte s prázdným řetězcem nebo výjimkou. + +![aspose ocr java example načítání obrázku](image.png){alt="aspose ocr java example loading image"} + +--- + +## Krok 2: Enable Spell‑Correction pro opravu OCR chyb + +Aspose OCR je standardně dodáván s povolenou opravou pravopisu, ale nikdy neškodí být explicitní — zejména když předvádíte **aspose ocr java example**. Zapnutí této funkce dramaticky snižuje nesmysly jako „t1e“ nebo „rec0gn1tion“. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** Pokud si všimnete, že engine stále špatně rozpoznává některá slova, zkontrolujte nastavení jazyka nebo přidejte vlastní slovník (další krok). + +Zapnutí opravy pravopisu je nejrychlejší cesta, jak **correct OCR errors** bez psaní dalšího kódu. + +--- + +## Krok 3: Set Custom Dictionary pro vyšší přesnost + +Někdy výchozí slovník nezná váš oborový žargon — například lékařské termíny, kódy produktů nebo značky. Právě zde **set custom dictionary** zazáří. Poskytněte soubor prostého textu, jeden slovo na řádek, a OCR engine bude tyto položky považovat za platné během korekce. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **When to use it:** Pokud zpracováváte faktury a názvy firem se stále rozpadají, vlastní slovník obsahující tyto názvy učiní fázi **process image OCR** mnohem spolehlivější. + +--- + +## Krok 4: Process Image OCR a získat text + +Nyní, když je engine nastaven, je čas spustit rozpoznávání. Metoda `process` udělá veškerou těžkou práci — detekci textových bloků, aplikaci opravy pravopisu a vrácení objektu `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **What you’ll see:** Konzole vypíše čistý, lidsky čitelný řetězec. Kdybyste vynechali opravu pravopisu, pravděpodobně byste viděli podivné znaky, což je důvod, proč je zapnutí dříve klíčové pro **correct OCR errors**. + +--- + +## Krok 5: Spustit příklad a ověřit výstup + +Zkompilujte a spusťte třídu ve svém oblíbeném IDE nebo z příkazové řádky: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Měli byste vidět něco jako: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Pokud výstup stále obsahuje překlepy, zkuste přidat tato slova do svého vlastního slovníku a znovu spustit krok **process image OCR**. + +--- + +## Běžné úskalí a jak se jim vyhnout + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank output** | Špatná cesta k obrázku nebo nepodporovaný formát | Ověřte cestu, použijte PNG/JPEG a ujistěte se, že soubor je čitelný | +| **Garbage characters** | Oprava pravopisu vypnutá nebo nízká kvalita obrázku | Zapněte `setEnableSpellCorrection(true)` a zvažte předzpracování obrázku (zvýšení kontrastu) | +| **Domain‑specific words still wrong** | Chybí vlastní slovník | Použijte `setCustomDictionary` se souborem obsahujícím vaše termíny | +| **Out‑of‑memory errors** | Velmi velké obrázky načtené bez škálování | Zmenšete velikost obrázku před předáním do `OcrEngine` | + +--- + +## Rozšíření příkladu + +Nyní, když máte solidní **aspose ocr java example**, můžete chtít: + +- **Batch process** složku obrázků iterací přes názvy souborů a opětovným použitím stejné instance `OcrEngine`. +- **Extract layout information** (tabulky, sloupce) pomocí `ocrResult.getPages()` pro pokročilejší analýzu dokumentu. +- **Integrate with Apache PDFBox** pro vložení rozpoznaného textu zpět do PDF. + +Všechny tyto rozšíření staví na stejných základních krocích, které jsme probírali: load image OCR, enable correction, optionally set a custom dictionary, and process image OCR. + +--- + +## Závěr + +Právě jste vytvořili kompletní **aspose ocr java example**, který načte obrázek, zapne opravu pravopisu pro **correct OCR errors**, volitelně **set custom dictionary** a nakonec **process image OCR** pro získání čistého textu. Kód je stručný, koncepty jsou jasné a nyní máte základ, který můžete rozšířit pro dávkové úlohy, UI integrace nebo dokonce cloudové mikro‑služby. + +Co dál? Zkuste engine napájet nízkokvalitní fotografií, přidejte seznam produktových SKU do vlastního slovníku a sledujte, jak se přesnost zvyšuje. Čím více experimentujete, tím lépe pochopíte kompromisy mezi kvalitou obrázku, velikostí slovníku a rychlostí zpracování. + +Neváhejte zanechat komentář, pokud narazíte na problémy nebo máte nápady na další vylepšení. Šťastné programování! + +## Co byste se měli naučit dál? + +Následující tutoriály pokrývají úzce související témata, která staví na technikách předvedených v tomto průvodci. Každý zdroj obsahuje kompletní funkční ukázky kódu s podrobnými vysvětleními, aby vám pomohl zvládnout další funkce API a prozkoumat alternativní implementační přístupy ve vlastních projektech. + +- [Jak nastavit licenci a ověřit licenci Aspose.OCR v Javě](/ocr/english/java/ocr-basics/set-license/) +- [Jak provést OCR textu na obrázku s jazykem pomocí Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java příklad – Rozpoznávání řádků na obrázcích](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/czech/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..53a604889 --- /dev/null +++ b/ocr/czech/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,278 @@ +--- +category: general +date: 2026-06-06 +description: Vytvořte prohledávatelný PDF pomocí Javy a Aspose OCR. Naučte se extrahovat + text z PDF, zvýšit přesnost OCR a efektivně zpracovávat vícestránkové PDF. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: cs +og_description: Vytvořte prohledávatelný PDF pomocí Javy a Aspose OCR. Tento průvodce + vás provede extrakcí textu z PDF, zvýšením přesnosti OCR a zpracováním vícestránkových + PDF. +og_title: Vytvořte prohledávatelný PDF v Javě – kompletní tutoriál Aspose OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Vytvořte prohledávatelný PDF v Javě – Kompletní průvodce Aspose OCR +url: /cs/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Vytvoření prohledávatelného PDF v Javě – Kompletní průvodce Aspose OCR + +Už jste se někdy zamýšleli, jak **vytvořit prohledávatelné PDF** soubory přímo v Javě bez manipulace s desítkami nástrojů příkazové řádky? Nejste v tom sami. Mnoho vývojářů narazí na problém, když potřebují převést naskenovaná PDF na dokumenty s textovým vyhledáváním, zejména když zdrojová PDF mají několik stránek. + +V tomto tutoriálu projdeme kompletním, spustitelným příkladem, který nejen **vytváří prohledávatelná PDF** soubory, ale také vám ukáže, jak **extrahovat text z PDF**, **zvýšit přesnost OCR** a zvládnout workflow **OCR multi page PDF** pomocí knihovny Aspose OCR. Na konci budete mít solidní, připravený k nasazení úryvek kódu, který můžete vložit do jakéhokoli Java projektu. + +## Co budete potřebovat + +- Java 17 nebo novější (kód se kompiluje i se staršími verzemi, ale JDK 17 je optimální) +- Maven nebo Gradle pro stažení závislosti `aspose-ocr` +- Ukázkový více‑stránkový PDF (nazveme jej `sample_multi_page.pdf`) +- Mírná GPU nebo alespoň vícejádrový CPU, pokud chcete povolit paralelní zpracování + +Žádné další nativní knihovny nejsou potřeba — Aspose OCR obsahuje vše, co potřebujete. + +--- + +## Vytvoření prohledávatelného PDF – Krok za krokem implementace + +Níže rozdělujeme proces do logických částí. Každá sekce má vlastní nadpis H2, takže můžete přejít přímo na část, která vás zajímá, a hlavní klíčové slovo se nachází přímo v nadpisu. + +### Krok 1: Nastavení projektu a import Aspose OCR + +Nejprve přidejte Maven artefakt Aspose OCR do vašeho `pom.xml`. Pokud dáváte přednost Gradle, ekvivalentní úryvek je uveden v komentářích. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Tip:** Udržujte své závislosti aktuální; novější verze často přinášejí vylepšení přesnosti, která vám přímo pomáhají **zvýšit přesnost OCR**. + +### Krok 2: Načtení více‑stránkového PDF do OCR enginu + +Nyní vytvoříme instanci `OcrEngine` a předáme jí PDF, které chceme zpracovat. Engine interně zachází s každou stránkou jako s obrázkem, což je důvod, proč tento přístup funguje pro scénář **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Proč je to důležité:** Načtení PDF jednou a nechat engine zvládat stránkování eliminuje režii ručního extrahování každé stránky, čímž šetří čas i paměť. + +### Krok 3: Povolení pokročilých funkcí pro **zvýšení přesnosti OCR** + +Aspose OCR nabízí několik nastavení, která můžete upravit. Povolení akcelerace GPU, zvýšení počtu vláken a specifikace více jazyků přispívají k lepšímu rozpoznávání, zejména u špinavých skenů. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Co když nemáte GPU?** Jednoduše nastavte `setUseGpu(false)`; engine přejde do režimu pouze CPU, přičemž stále využívá multithreading. + +### Krok 4: Předzpracování obrázků pro lepší výsledky + +Předzpracovací kroky jako vyrovnání, odšumění a zvýšení kontrastu dramaticky **zvyšují přesnost OCR** u naskenovaných dokumentů. Představte si to jako leštění hrubého kamene před řezbářstvím. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Proč tato nastavení?** Úroveň odšumění `2` funguje dobře pro většinu naskenovaných PDF, zatímco mírné zvýšení kontrastu (1,3×) zesílí slabý inkoust, aniž by přepálilo pozadí. + +### Krok 5: Konfigurace výstupu pro generování prohledávatelného PDF + +Aspose OCR může vložit rozpoznanou textovou vrstvu přímo do PDF, čímž promění plochý obrázek na **prohledávatelné PDF**. To je jádro otázky „jak vytvořit prohledávatelné pdf“, kterou mnoho vývojářů klade. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Když je povoleno `setGenerateSearchablePdf(true)`, knihovna vytvoří neviditelnou textovou vrstvu, která odráží vizuální obsah, což umožní vyhledávání v konečném dokumentu v jakémkoli PDF prohlížeči. + +### Krok 6: Spuštění OCR a uložení výsledku + +Nyní skutečně zpracujeme dokument a zapíšeme výstupní soubor. Metoda `process` vrací objekt `OcrResult`, který obsahuje jak prohledávatelné PDF, tak extrahovaný čistý text. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Krok 7: (Volitelné) **Extrahovat text z PDF** pro okamžité použití + +Pokud potřebujete také surový text – pro indexování, analytiku nebo jen pro zobrazení na webové stránce – můžete jej získat přímo z `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Co uvidíte:** Konzole vypíše spojený text všech stránek, zachovávajíc řádkové zlomy, kde je to možné. Tím se splňuje požadavek **extrahovat text z pdf** bez druhého průchodu. + +--- + +## Vizualizace + +Níže je jednoduchý diagram toku, který mapuje každý krok na odpovídající úryvek kódu. Pomáhá vám vizualizovat, jak vstupní PDF prochází předzpracováním, OCR a nakonec se stane prohledávatelným dokumentem. + +![Diagram toku vytvoření prohledávatelného PDF](https://example.com/flow-diagram.png "Diagram toku vytvoření prohledávatelného PDF") + +*Alt text obsahuje hlavní klíčové slovo pro SEO obrázku.* + +--- + +## Časté otázky a okrajové případy + +| Otázka | Odpověď | +|----------|--------| +| **Mohu zpracovávat PDF větší než 100 MB?** | Ano, ale zvažte streamování stránek místo načítání celého souboru do paměti. Aspose OCR interně spravuje stránkování, ale pro velmi velké soubory můžete chtít zvýšit heap JVM (`-Xmx4g`). | +| **Co když moje PDF obsahuje ručně psané poznámky?** | Rozpoznávání rukopisu není ve výchozím nastavení povoleno. Můžete přepnout na `setLanguage("eng,mon,handwritten")`, pokud verze knihovny podporuje tuto funkci, ačkoliv přesnost se může lišit. | +| **Potřebuji licenci pro Aspose OCR?** | Dočasná evaluační licence funguje pro testování. Pro produkci si pořiďte komerční licenci, která odstraní vodoznaky a odemkne plný výkon. | +| **Jak vypnout korekci pravopisu?** | Zavolejte `ocr.getSettings().setEnableSpellCorrection(false);` – užitečné, když potřebujete surový výstup OCR pro forenzní účely. | +| **Je podpora GPU povinná?** | Ne. Knihovna se elegantně vrátí na CPU. Nicméně GPU může zkrátit dobu zpracování až o 60 % u velkých více‑stránkových dokumentů. | + +--- + +## Kompletní funkční příklad (připravený ke kopírování a vložení) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Očekávaný výstup** + +- `output_searchable.pdf` – PDF, ve kterém můžete stisknout Ctrl + F a najít jakékoli slovo, které se objevilo na naskenovaných obrázcích. +- Console log – celý textový obsah původního PDF, ideální pro indexování nebo další analýzu. + +--- + +## Závěr + +Právě jsme ukázali, jak **vytvořit prohledávatelná PDF** soubory v Javě pomocí Aspose OCR, a zároveň vám ukázali, jak **extrahovat text z PDF**, **zvýšit přesnost OCR** a efektivně zvládnout workflow **OCR multi page PDF**. Kompletní úryvek kódu výše je připraven k vložení do vašeho projektu a vysvětlení vám dávají jistotu, jak nastavení přizpůsobit vašemu konkrétnímu případu. + +Co dál? Zkuste experimentovat s vlastním vložením fontů, přidat OCR‑generované záložky nebo integrovat výstup s vyhledávačem jako Elasticsearch. Každé z těchto témat se vztahuje k našim sekundárním klíčovým slovům – *jak vytvořit prohledávatelné pdf* a *zvýšit přesnost OCR* – takže máte jasnou cestu pro další prohloubení. + +Klidně sdílejte své zkušenosti nebo položte doplňující otázky v komentářích. Šťastné programování a užívejte si převod statických skenů na plně prohledávatelná, textově bohatá PDF! + +## Co byste se měli naučit dál? + +Následující tutoriály pokrývají úzce související témata, která staví na technikách předvedených v tomto průvodci. Každý zdroj obsahuje kompletní funkční příklady kódu s podrobnými vysvětleními, které vám pomohou zvládnout další funkce API a prozkoumat alternativní přístupy k implementaci ve vašich projektech. + +- [Rozpoznat text PDF – OCR operace s Aspose.OCR pro Java](/ocr/english/java/ocr-operations/) +- [OCR rozpoznávání PDF dokumentů v Aspose.OCR pro Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [OCR rozpoznání PDF dokumentů v Aspose.OCR pro Java (španělsky)](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/czech/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..f330eb9d5 --- /dev/null +++ b/ocr/czech/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,270 @@ +--- +category: general +date: 2026-06-06 +description: Extrahujte text ze skenovaného obrázku pomocí Aspose OCR pro Javu. Naučte + se, jak rozpoznávat text z TIFF souborů pomocí paralelního zpracování. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: cs +og_description: Extrahujte text ze skenovaného obrázku pomocí Aspose OCR. Tento průvodce + ukazuje, jak efektivně rozpoznat text z TIFF souborů pomocí Javy. +og_title: Extrahovat text ze skenovaného obrázku – Aspose OCR Java tutoriál +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Extrahovat text ze skenovaného obrázku v Javě – Kompletní průvodce Aspose OCR +url: /cs/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahovat text ze skenovaného obrázku – Kompletní průvodce Aspose OCR + +Už jste někdy potřebovali **extrahovat text ze skenovaného obrázku**, ale nevěděli, jak na to? Nejste v tom sami. Ať už digitalizujete staré archivy, získáváte data z faktur nebo budujete prohledávatelnou knihovnu PDF, získání spolehlivého textu z TIFF skenu může být obtížné. + +Dobrá zpráva: s Aspose OCR pro Java můžete **rozpoznat text z tiff** souborů během několika řádků a dokonce získat extra rychlost omezením enginu na několik CPU jader. V tomto tutoriálu projdeme celý proces – od nastavení knihovny po zpracování výsledku – takže můžete okamžitě zkopírovat a vložit fungující příklad. + +## Co tento tutoriál pokrývá + +- Instalace Aspose OCR pro Java (Maven nebo ruční JAR) +- Načtení velkého skenovaného TIFF obrázku +- Konfigurace enginu pro použití až 4 vláken (paralelní OCR) +- Spuštění OCR procesu a výpis extrahovaného textu +- Běžné úskalí (paměť, multi‑page TIFF) a jak se jim vyhnout +- Rychlá tip na výkon: kdy ladit `setMaxThreads` + +Na konci budete schopni spolehlivě **extrahovat text ze skenovaného obrázku** a pochopíte, proč úprava počtu vláken má význam, když *rozpoznáváte text z tiff* v produkčním pipeline. + +![příklad extrahování textu ze skenovaného obrázku](example.png "Snímek obrazovky zobrazující extrahovaný text ze skenovaného TIFF obrázku") + +## Požadavky + +Before we dive in, make sure you have: + +1. **Java Development Kit (JDK) 8+** – jakákoli recentní verze funguje. +2. **Maven** (nebo možnost přidat JARy ručně) – pro jednoduchost použijeme Maven. +3. Licence **Aspose OCR for Java** (bezplatná zkušební verze funguje, ale přidává vodoznak). +4. **Velký TIFF sken** (např. `large_scan.tif`), který chcete zpracovat. + +Pokud vám některý z těchto bodů není znám, nebojte se – každý krok je vysvětlen níže. + +## Krok 1: Přidat Aspose OCR do vašeho projektu + +### Uživatelé Maven + +Add the following dependency to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Ruční nastavení JAR + +Download the latest `aspose-ocr-xx.jar` from the Aspose website and place it on your classpath. + +> **Tip:** Uchovávejte JAR ve složce `libs/` a odkazujte na něj v nastavení projektu vašeho IDE. Tím se později vyhnete překvapení typu „class not found“. + +## Krok 2: Vytvořit jednoduchou Java třídu + +Vytvořte soubor s názvem `ParallelOcrDemo.java` ve vašem zdrojovém adresáři (`src/main/java`). Tato třída bude obsahovat celý OCR workflow. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Proč omezujeme vlákna:** Ve výchozím nastavení Aspose OCR se pokusí použít všechna jádra, což může připravit ostatní služby na sdíleném stroji. Nastavení `setMaxThreads(4)` říká enginu, aby spustil až čtyři paralelní pracovníky – dostatečné pro znatelný nárůst rychlosti na většině moderních CPU, aniž by monopolizoval zdroje. + +## Krok 3: Kompilovat a spustit + +Open a terminal at the project root and execute: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +If you’re not using Maven, compile with `javac` and run: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Očekávaný výstup + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Konzole zobrazí verzi prostého textu toho, co bylo na skenované stránce. Pokud obrázek obsahuje více stránek, Aspose OCR je spojí v pořadí. + +## Krok 4: Zpracování multi‑page TIFF (okrajový případ) + +A common scenario is a **multi‑page TIFF**—think of a scanned book. By default `OcrInputImage` reads the first frame only. To process all pages, use `OcrInputImage` with a `FileInputStream` and enable multi‑page support: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Nyní `ocrEngine.process()` vrátí jediný `OcrResult`, který obsahuje spojený text ze všech stránek. + +## Krok 5: Jemné ladění přesnosti rozpoznávání + +If you notice **garbled characters** or missing words, try these adjustments: + +| Nastavení | Co dělá | Kdy použít | +|-----------|----------|------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Vynutí anglický jazykový model (rychlejší, přesnější pro anglické skeny) | Váš dokument je jednolingvální angličtina | +| `ocrEngine.getSettings().setResolution(300)` | Zvětší nízké rozlišení obrázků před rozpoznáním | Skeny pod 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Pokusí se vyčistit šmouhy a artefakty | Skeny s velkým šumem | + +Example snippet: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Krok 6: Export výsledků do souboru + +Printing to the console is fine for demos, but production code usually writes the output somewhere useful: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Nyní máte soubor s prostým textem, který můžete vložit do vyhledávacího indexu, databáze nebo do downstream analytického pipeline. + +--- + +## Často kladené otázky (FAQ) + +**Q: Funguje to i s PNG nebo JPEG soubory?** +A: Rozhodně. `OcrInputImage` přijímá jakýkoli formát, který Java ImageIO dokáže načíst. Stačí změnit příponu souboru v cestě. + +**Q: Můj server má 8 jader – měl bych nastavit `setMaxThreads(8)`?** +A: Můžete, ale pamatujte, že ostatní služby mohou potřebovat CPU cykly. Dobré pravidlo je “celkový počet jader – 1” pro dedikované OCR pracovníky. + +**Q: Co když je výsledek OCR prázdný?** +A: Zkontrolujte, že obrázek není úplně bílý, že jste nastavili správný jazyk, a že rozlišení je alespoň 200 DPI. Nízkokvalitní skeny často vyžadují předzpracování (odstranění šikmosti, zvýšení kontrastu) před předáním Aspose OCR. + +--- + +## Závěr + +Právě jsme **extrahovali text ze skenovaného obrázku** pomocí Aspose OCR pro Java a nyní víte, jak **rozpoznat text z tiff** efektivně s paralelním zpracováním. Kompletní kód je v úryvcích výše a můžete jej okamžitě zkopírovat a vložit do svého projektu. + +### Co dál? + +- **Dávkové zpracování**: Procházet adresář s TIFFy, uložit každý výsledek do vlastního souboru. +- **Integrace s Elasticsearch**: Indexovat extrahovaný text pro rychlé full‑textové vyhledávání. +- **Přidat detekci jazyka**: Použít `OcrLanguage.AutoDetect` pro vícejazykové dokumenty. + +Vyzkoušejte tyto nápady a rychle proměníte horu skenovaných papírů na prohledávatelná, použitelná data. + +Šťastné kódování a neváhejte zanechat komentář, pokud narazíte na problém! + +## Co byste se měli naučit dál? + +Následující tutoriály pokrývají úzce související témata, která staví na technikách předvedených v tomto průvodci. Každý zdroj obsahuje kompletní funkční příklady kódu s podrobnými vysvětleními, které vám pomohou zvládnout další funkce API a prozkoumat alternativní implementační přístupy ve vašich projektech. + +- [Jak rozpoznat tiff pomocí Aspose.OCR pro Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extrahovat text z obrázků – Základy OCR s Aspose.OCR pro Java](/ocr/english/java/ocr-basics/) +- [Extrahovat text z obrázku v Javě s Aspose.OCR Detekční režim oblastí](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/czech/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..daa72e28f --- /dev/null +++ b/ocr/czech/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,250 @@ +--- +category: general +date: 2026-06-06 +description: Jak povolit GPU v Java OCR a extrahovat text z JPEG souborů. Postupujte + podle tohoto příkladu Java OCR pro převod obrázku na text s akcelerací GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: cs +og_description: Jak povolit GPU v Java OCR a okamžitě extrahovat text z JPEG obrázků. + Tento průvodce ukazuje kompletní příklad Java OCR s GPU akcelerovaným OCR. +og_title: Jak povolit GPU v Java OCR – Kompletní programovací průvodce +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Jak povolit GPU v Java OCR – kompletní průvodce krok za krokem +url: /cs/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak povolit GPU v Java OCR – Kompletní krok‑za‑krokem průvodce + +Už jste se někdy zamysleli, **jak povolit GPU** pro optické rozpoznávání znaků v Javě? Nejste jediní – vývojáři se neustále ptají: „Mohu urychlit OCR, aniž bych přepisoval vše?“ Krátká odpověď je ano a dlouhá odpověď je zde. V tomto tutoriálu projdeme **java ocr example**, který **extrahuje text z JPEG** souborů, **převádí obrázek na text** a využívá **GPU accelerated OCR** pro bleskově rychlé výsledky. + +Začneme nastavením knihovny Aspose OCR, načtením ukázkového JPEG, zapnutím podpory GPU, spuštěním enginu a nakonec vytisknutím rozpoznaného textu. Na konci budete mít znovupoužitelný úryvek, který můžete vložit do libovolného Java projektu, plus několik tipů, které vás ochrání před běžnými úskalími. Žádné zbytečnosti, jen to podstatné, co potřebujete k zahájení. + +## Požadavky + +* Java 8 nebo novější nainstalovaný (kód používá standardní API, takže funguje jakýkoli recentní JDK). +* Kompatibilní GPU s aktuálními ovladači – většina moderních karet NVIDIA/AMD splňuje požadavky. +* Knihovna Aspose.OCR pro Java (můžete ji získat z Maven Central nebo webu Aspose). +* JPEG obrázek, na kterém chcete spustit OCR – nazveme jej `sample.jpg`. + +To je vše. Pokud vám něco z toho není známé, pozastavte se a nainstalujte chybějící komponentu; zbytek průvodce předpokládá, že jsou již připraveny. + +## Jak povolit GPU v Java OCR – Přehled + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Představte si GPU jako turbo‑charger pro váš OCR engine – místo toho, aby CPU prováděl každou pixel‑po‑pixel analýzu, grafická karta zvládá těžkou práci paralelně. Výsledek? Rychlejší zpracování, zejména u vysoce rozlišených skenů. + +## Krok 1: Nastavení projektu a import Aspose OCR + +Nejprve vytvořte nový Maven projekt (nebo Gradle, pokud dáváte přednost). Přidejte závislost Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Pokud Maven nepoužíváte, stáhněte JAR z Aspose a přidejte jej do classpath. Tento krok je základem každého **java ocr example**, který kdy napíšete, takže si dvakrát ověřte, že se knihovna správně načte. + +## Krok 2: Načtení JPEG obrázku (Extrahování textu z JPEG) + +Nyní napíšeme kód pro načtení JPEG souboru. Třída `OcrInputImage` přijímá cestu a my ji předáme do `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Why this matters:** Načtení obrázku správně je první krok v jakémkoli **convert image to text** workflow. Pokud je cesta špatná, engine vyhodí výjimku ještě před tím, než se dostane k GPU fázi. + +## Krok 3: Povolení GPU akcelerace (Jak povolit GPU) + +Zde je jádro tutoriálu – zapnutí podpory GPU. Objekt `OcrSettings` nabízí příznak `setUseGpu`. Stačí jej nastavit na `true` a jste připraveni. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** Ověřte, že jsou vaše GPU ovladače aktuální. Zastaralé ovladače často způsobí, že volání `setUseGpu(true)` selže tiše, což vás nechá s výkonem jen na CPU. + +## Krok 4: Spuštění OCR enginu (Java OCR příklad) + +S načteným obrázkem a zapnutým GPU spusťte OCR proces. Engine vrátí objekt `OcrResult`, který obsahuje rozpoznaný text. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Za scénou Aspose rozděluje obrázek na dlaždice, posílá je na GPU pro paralelní inferenci a výsledky zase spojí. To je to, co dělá **gpu accelerated ocr** zkušenost výrazně rychlejší než výchozí CPU cesta. + +## Krok 5: Výstup rozpoznaného textu (Převod obrázku na text) + +Nakonec výsledek vytiskněte do konzole. Ve skutečné aplikaci byste jej pravděpodobně zapsali do souboru nebo databáze, ale pro ilustraci stačí jednoduché `System.out.println`. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Očekávaný výstup + +Předpokládejme, že `sample.jpg` obsahuje frázi „Hello, World!“, měli byste vidět: + +``` +Recognized text: +Hello, World! +``` + +Pokud je obrázek složitější (více řádků, tabulky atd.), výstup bude obsahovat zalomení řádků a mezery, které odrážejí původní rozložení. To je krása OCR enginu od Aspose – zachovává strukturu při převodu obrázku na text. + +## Kompletní funkční příklad + +Sestavíme vše dohromady, zde je kompletní, připravený k spuštění program: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Uložte jej jako `GpuOcrDemo.java`, zkompilujte pomocí `javac` a spusťte pomocí `java`. Pokud je vše správně propojeno, konzole během okamžiku zobrazí extrahovaný text. + +## Časté otázky a okrajové případy + +### 1. Moje GPU se nepoužívá – co se děje? + +* **Zkontrolujte verzi ovladače** – starší ovladače nemusí poskytovat požadované výpočetní schopnosti. +* **Ověřte podporu GPU** – Aspose vyžaduje CUDA‑kompatibilní NVIDIA kartu nebo OpenCL‑kompatibilní AMD kartu. Pokud máte notebook s vypnutým diskrétním GPU, povolte jej v BIOSu nebo v ovládacím panelu grafiky. +* **Prohlédněte logy** – Aspose zapisuje ladící řádek, když je aktivní režim GPU. Aktivujte logování pomocí `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. Výsledek OCR je poškozený u nízkokvalitního obrázku. + +* **Předzpracujte JPEG** – změňte velikost na alespoň 300 dpi, aplikujte zvýšení kontrastu nebo převod na odstíny šedi před předáním do enginu. +* **Upravte nastavení** – můžete vyladit `ocr.getSettings().setLanguage(OcrLanguage.English)` nebo povolit `setUseLanguageDetection(true)` pro vyšší přesnost. + +### 3. Mohu zpracovávat více obrázků najednou? + +Určitě. Zabalte bloky načítání a zpracování do smyčky, přičemž znovu použijete stejnou instanci `OcrEngine`. Jen nezapomeňte mezi iteracemi zavolat `ocr.reset()`, aby se vyčistil předchozí obrázek. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Funguje GPU akcelerace na serverech bez grafického rozhraní? + +Ano, pokud server má podporovaný GPU a správné ovladače. Na Linuxu možná budete muset nainstalovat balíček `nvidia‑utils` a zajistit, aby byl `CUDA` toolkit v `PATH`. + +## Pro tipy pro produkčně připravené GPU OCR + +* **Velikost batchi má význam** – větší obrázky více těží z GPU paralelismu. Pokud zpracováváte malé ikony, režie přenosu na GPU může převážit výhody. +* **Správa paměti** – GPU mají omezenou VRAM. Pro velmi velké PDF nebo skeny s více megapixely rozdělte obrázek ručně na menší dlaždice. +* **Zpracování chyb** – obalte volání OCR do try‑catch bloku a v případě výjimky `UnsupportedOperationException` přepněte zpět na CPU režim (`setUseGpu(false)`). + +## Závěr + +Právě jsme pokryli **jak povolit GPU** v **java ocr example**, ukázali vám, jak **extrahovat text z JPEG** souborů, a demonstrovali čistý způsob **převodu obrázku na text** pomocí Aspose **gpu accelerated OCR** enginu. Kompletní úryvek výše je připraven vložit do libovolného Java projektu a přiložené tipy by vás měly ochránit před běžnými problémy. + +Co dál? Zkuste přidat jazykové balíčky, experimentujte s různými formáty obrázků (PNG, TIFF) nebo integrujte výstup do vyhledávacího indexu. Obloha je limit, když spojíte OCR s výkonem GPU. + +Máte další otázky ohledně GPU‑akcelerovaného OCR nebo potřebujete pomoc s laděním nastavení? Zanechte komentář a šťastné programování! + +![Jak povolit GPU v Java OCR příklad](https://example.com/images/gpu-ocr-java.png "Jak povolit GPU v Java OCR") + +## Co byste se měli naučit dál? + +Následující tutoriály pokrývají úzce související témata, která staví na technikách předvedených v tomto průvodci. Každý zdroj obsahuje kompletní funkční ukázky kódu s krok‑za‑krokem vysvětlením, aby vám pomohl zvládnout další funkce API a prozkoumat alternativní implementační přístupy ve vašich projektech. + +- [Extrahování textu z obrázků – Základy OCR s Aspose.OCR pro Java](/ocr/english/java/ocr-basics/) +- [Převod obrázku na text v Javě pomocí Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Jak OCR obrázkový text s jazykem pomocí Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/czech/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..6f8671b02 --- /dev/null +++ b/ocr/czech/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: Zlepšete přesnost OCR v Javě pomocí krok‑za‑krokem průvodce, který ukazuje, + jak načíst obrázek pro OCR, zpracovat OCR obrázku a efektivně extrahovat text ze + skenované stránky. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: cs +og_description: Zlepšete přesnost OCR v Javě pomocí praktického příkladu. Naučte se + načíst obrázek pro OCR, předzpracovat jej a provést OCR obrázku k extrahování textu + ze skenované stránky. +og_title: Zlepšete přesnost OCR v Javě – kompletní tutoriál +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Zlepšete přesnost OCR v Javě – kompletní průvodce +url: /cs/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Zlepšení přesnosti OCR v Javě – Kompletní průvodce + +Už jste se někdy zamýšleli, jak **zlepšit přesnost OCR**, když pracujete se skeny starých knih nebo rozmazanými účtenkami? Nejste v tom sami. V mnoha reálných projektech vypadá surový výstup z OCR enginu jako kryptický nepořádek, a to je obvykle proto, že obrázek nebyl před **provedením OCR obrázku** správně předzpracován. + +V tomto tutoriálu projdeme praktickým příkladem v Javě, který přesně ukazuje, jak **načíst obrázek OCR**, aplikovat několik chytrých předzpracovacích kroků, **zpracovat obrázek OCR** a nakonec **extrahovat text naskenované stránky** s čistým výsledkem. Na konci pochopíte nejen *co* kódovat, ale i *proč* každá řádka má význam pro zvýšení kvality rozpoznání. + +## Co se naučíte + +- Jak v Javě vytvořit instanci OCR enginu +- Správný způsob **načtení obrázku OCR** z disku +- Proč jsou deskew, denoise a zvýšení kontrastu nezbytné pro **zlepšení přesnosti OCR** +- Jak **provést OCR obrázek** a získat rozpoznaný text +- Tipy pro práci s různými formáty obrázků a okrajovými případy + +Žádná externí dokumentace není potřeba – vše, co potřebujete, je zde, a kompletní spustitelný kód je uveden na konci. + +## Předpoklady + +- Java 17 (nebo jakýkoli aktuální JDK) nainstalovaný na vašem počítači +- OCR knihovna, která poskytuje třídy `OcrEngine`, `OcrInputImage` a `OcrResult` (ukázka používá obecné API; v případě potřeby nahraďte jar vašeho dodavatele) +- Naskenovaný obrázek (PNG, JPEG nebo TIFF), na který chcete spustit OCR – pro demo použijeme `old_book_page.png` umístěný ve složce `YOUR_DIRECTORY` + +Pokud vám chybí OCR jar, stačí jej vložit do složky `libs` vašeho projektu a přidat do classpath. To je vše. + +--- + +## Krok 1 – Zlepšení přesnosti OCR: Nastavení enginu + +Než budeme moci **zpracovat obrázek OCR**, potřebujeme čerstvou instanci enginu. Vytvoření nového `OcrEngine` nám dává čistý štít, zajišťuje, že nebudou přítomny žádná zbylá nastavení z předchozích běhů. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Proč je to důležité*: Čerstvě vytvořený engine spouští s výchozím vypnutým předzpracováním. To je úmyslné – chceme povolit jen kroky, které skutečně pomáhají našemu konkrétnímu obrázku, což je základ **zlepšení přesnosti OCR**. + +--- + +## Krok 2 – Načtení obrázku OCR – Příprava skenu + +Nyní skutečně **načteme obrázek OCR**. Metoda `setImage` očekává `OcrInputImage`, který ukazuje na soubor na disku. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Pár poznámek: + +1. **Podporované formáty** – většina knihoven akceptuje PNG, JPEG, BMP a TIFF. Pokud máte PDF, nejprve převedete první stránku na obrázek. +2. **Zpracování cesty** – použití absolutní cesty zabraňuje problému „soubor nenalezen“, který se může objevit při změně pracovního adresáře. + +--- + +## Krok 3 – Deskew: Vyrovnání natočených stránek + +Mnoho naskenovaných stránek není dokonale vodorovných. Mírná rotace může rozbít rozpoznávání, protože OCR engine očekává, že řádky textu budou vodorovné. Povolení deskew automaticky detekuje a opraví tuto rotaci. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Tip**: Pokud znáte úhel rotace předem (např. 90°), můžete obrázek před předáním enginu ručně otočit – často je to rychlejší pro dávkové úlohy. + +--- + +## Krok 4 – Denoise: Redukce šumu pozadí + +Staré dokumenty často obsahují strukturu papíru, prach nebo artefakty komprese. Metoda `setDenoiseLevel` aplikuje filtr, který tento šum vyhladí. Úroveň 2 je dobrým výchozím bodem pro většinu naskenovaných stránek. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Proč pomáhá**: Šum vytváří falešné hrany, které OCR engine může interpretovat jako znaky. Vyčištěním obrázku **zlepšíme přesnost OCR** aniž bychom poškozovali skutečné tvary glyfů. + +--- + +## Krok 5 – Zvýšení kontrastu: Zvýraznění textu + +Pokud je sken vybledlý, kontrast mezi inkoustem a papírem je nízký a engine má problém rozlišit popředí od pozadí. Mírné zvýšení kontrastu na `1.4f` (40 % nárůst) obvykle stačí. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Okrajový případ*: U velmi tmavých obrázků může být užitečný vyšší faktor (až 2.0), ale dejte pozor na přetékání – příliš jasné oblasti se mohou stát čistě bílými a vymazat jemné detaily. + +--- + +## Krok 6 – Provedení OCR obrázku – Hlavní zpracovatelský krok + +Všechny přípravy vedou k této řádce: skutečnému spuštění OCR enginu na předzpracovaném obrázku. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Pod kapotou engine provádí segmentaci, rozpoznávání znaků a fáze jazykového modelu. Pokud potřebujete více jazyků, nastavte je na engine **před** voláním `process()`. + +--- + +## Krok 7 – Extrahování textu naskenované stránky – Získání výstupu + +Nakonec vytáhneme rozpoznaný řetězec z `OcrResult`. Vypsání do konzole stačí pro rychlou ukázku, ale můžete jej také zapsat do souboru, databáze nebo předat do následného NLP pipeline. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Očekávaný výstup** (zkrácený pro stručnost): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Pokud výstup stále vypadá poškozeně, vraťte se k parametrům předzpracování – někdy vyšší úroveň denoise nebo jiný faktor kontrastu udělá znatelný rozdíl. + +--- + +## Kompletní funkční příklad + +Níže je kompletní, samostatný Java program, který můžete zkopírovat, vložit a spustit. Obsahuje potřebné importy, metodu `main` a inline komentáře, které objasňují každý krok. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Uložte tento soubor jako `OcrAccuracyDemo.java`, zkompilujte pomocí `javac` a spusťte pomocí `java`. Pokud je vše nastaveno správně, uvidíte vyčištěný text vytištěný v terminálu. + +--- + +## Často kladené otázky a okrajové případy + +**Q: Moje naskenovaná stránka je barevná – měl bych ji nejprve převést na odstíny šedi?** +A: Většina OCR engine interně převádí na šedou, ale provedení převodu sami (např. pomocí `BufferedImage` a `ColorConvertOp`) vám může poskytnout jemnější kontrolu nad algoritmem převodu, zejména když není pozadí jednotné. + +**Q: Výstup stále obsahuje podivné symboly. Co dál?** +A: Zkuste zvýšit `setDenoiseLevel` na 3 nebo upravit `setContrastBoost` na 1.6f. Pokud problém přetrvává, zvažte aplikaci **binárního prahu** (binarizace) před OCR – mnoho knihoven nabízí volbu `setBinarization(true)`. + +**Q: Jak zacházet s více‑stránkovými PDF?** +A: Převádějte každou stránku na obrázek (např. pomocí Apache PDFBox) a iterujte přes stránky, přičemž znovu používáte stejnou instanci `OcrEngine`, ale pro každou iteraci resetujete obrázek. + +--- + +## Závěr + +Právě jste se naučili, jak **zlepšit přesnost OCR** v Javě správným **načtením obrázku OCR**, aplikací deskew, denoise a zvýšení kontrastu, následně **provedením OCR obrázku** a nakonec **extrahováním textu naskenované stránky**. Hlavní ponaučení je, že předzpracování je často nejúčinnější pákou pro zvýšení kvality rozpoznání – dobře připravený obrázek může zdvojnásobit nebo dokonce ztrojnásobit míru správných znaků. + +Připravený na další krok? Vyzkoušejte: + +- Různé úrovně denoise pro silně zrnitý materiál +- Adaptivní zvýšení kontrastu na základě analýzy histogramu obrázku +- Integraci jazykového modelu (např. kontrola pravopisu) po extrakci pro vyčištění zbylých chyb + +Tyto rozšíření prohloubí váš OCR pipeline a učiní jej dostatečně robustním pro produkční nasazení. + +Pokud narazíte na problém nebo máte vlastní tip, zanechte komentář níže. Šťastné kódování a ať je váš text vždy čitelný! + +## Co byste se měli naučit dál? + +Následující tutoriály pokrývají úzce související témata, která staví na technikách předvedených v tomto průvodci. Každý zdroj obsahuje kompletní funkční ukázky kódu s podrobným krok‑za‑krokem vysvětlením, aby vám pomohly zvládnout další funkce API a prozkoumat alternativní implementační přístupy ve vašich projektech. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/java/ocr-basics/_index.md b/ocr/czech/java/ocr-basics/_index.md index 9cdb842f6..92d2f0945 100644 --- a/ocr/czech/java/ocr-basics/_index.md +++ b/ocr/czech/java/ocr-basics/_index.md @@ -101,6 +101,7 @@ Odemkněte potenciál Aspose.OCR pro Java pomocí tohoto krok‑za‑krokem prů 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. +### [Jak provést OCR v Javě – Kompletní průvodce extrakcí textu z obrázků](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) --- @@ -113,4 +114,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/czech/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..37d1ed696 --- /dev/null +++ b/ocr/czech/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-06-06 +description: Jak provést OCR v Javě – rychle extrahovat text z obrázku, převést obrázek + na text a číst text z jpg pomocí jednoduchého příkladu kódu. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: cs +og_description: jak provést OCR v Javě – naučte se, jak extrahovat text z obrázku, + převést obrázek na text a číst text z jpg s připraveným příkladem k okamžitému spuštění. +og_title: Jak provést OCR v Javě – krok za krokem průvodce +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Jak provést OCR v Javě – Kompletní průvodce extrakcí textu z obrázků +url: /cs/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak provádět OCR v Javě – Kompletní průvodce extrahováním textu z obrázků + +Už jste se někdy zamysleli nad tím, **jak provádět OCR** na obrázku, který jste pořízili telefonem? Nejste v tom sami. Ať už vytváříte aplikaci pro skenování účtenek, nebo jen potřebujete získat text ze skenovaného PDF, **jak provádět OCR** v Javě je dovednost, která se rychle vyplatí. V tomto tutoriálu projdeme praktickým příkladem, který **extrahuje text z obrázku** souborů, **převádí obrázek na text**, a dokonce vám ukáže, jak **číst text z jpg** pomocí několika řádků kódu. + +> *Tip:* Stejný přístup funguje pro PNG, BMP nebo jakýkoli formát, který OCR engine podporuje—stačí vyměnit název souboru. + +## Jak provádět OCR v Javě – Přehled + +Optické rozpoznávání znaků (OCR) je technologie, která převádí obrázky písmen na skutečný, prohledávatelný text. V ekosystému Java existuje několik knihoven – Tesseract, Asprise a komerční SDK – všechny poskytují podobný workflow: načíst obrázek, říct enginu, jaký jazyk očekává, spustit rozpoznávání a získat výsledek. Níže použijeme generickou třídu `OcrEngine`, aby byl příklad přehledný, ale můžete ji nahradit libovolnou konkrétní implementací, která následuje stejný vzor. + +### Co se naučíte + +- Nainstalujte OCR knihovnu (ano, **ocr in java** je jednodušší, než si myslíte). +- Vytvořte a nakonfigurujte instanci OCR engine. +- Načtěte JPG (nebo jakýkoli obrázek) a nastavte jazyk. +- Zpracujte obrázek a **extrahujte text z obrázku** souborů. +- Vytiskněte rozpoznaný řetězec do konzole. + +Na konci budete mít samostatný Java program, který můžete vložit do libovolného projektu a spustit okamžitě. + +![příklad provádění OCR](ocr-example.png "ilustrace jak provádět OCR v Javě") + +## Krok 1 – Instalace a import OCR knihovny (ocr in java) + +Než napíšete jediný řádek Java, potřebujete knihovnu, která skutečně provede těžkou práci. Pokud používáte Maven, přidejte závislost takto (nahraďte `com.example.ocr` skutečným group ID vašeho zvoleného SDK): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Pokud dáváte přednost Gradlu: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Jakmile je JAR na vašem classpath, importujte třídy, které budete potřebovat: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Proč je to důležité:** Importování správných tříd zabraňuje chybám „cannot find symbol“ a dělá vaše IDE spokojeným – nic není frustrujícíji než chybějící import, když se snažíte **převést obrázek na text**. + +## Krok 2 – Vytvoření instance OCR engine (jak provádět OCR) + +Nyní, když je knihovna připravena, spusťte engine. Představte si engine jako mozek, který se podívá na pixely a odhadne písmena. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Vytvoření engine je obvykle levné; většina SDK alokuje interní buffery líně, takže můžete bezpečně znovu použít stejnou instanci napříč mnoha obrázky, pokud zpracováváte dávku. + +## Krok 3 – Načtení obrázku a nastavení jazyka (extrahovat text z obrázku) + +Dalším krokem je poskytnout engine něco ke čtení. Zde načteme JPEG z disku a řekneme OCR engine, že text je v mongolštině (kód ISO 639‑2 „mon“). Můžete změnit cestu nebo kód jazyka podle vašeho použití. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Poznámka:** Pokud nenastavíte jazyk, engine výchozí na angličtinu, což může výrazně snížit přesnost, když je text ve skutečnosti cyrilice nebo jiném skriptu. Vždy, když můžete, specifikujte správný jazyk. + +## Krok 4 – Zpracování obrázku a získání výsledku (převést obrázek na text) + +S obrázkem a jazykem na místě požádejte engine, aby udělal své kouzlo. Volání `process()` spustí OCR algoritmus a vrátí objekt `OcrResult` obsahující rozpoznaný řetězec a skóre důvěry. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Za scénou může engine provádět předzpracování – vyrovnání, binarizaci, redukci šumu – takže tyto kroky nemusíte psát sami. Proto jsou většina moderních OCR knihoven radostí pro úkoly **převést obrázek na text**. + +## Krok 5 – Výstup extrahovaného textu (číst text z jpg) + +Nakonec vytáhněte čistý text z výsledku a udělejte s ním něco užitečného. Pro tuto ukázku jej jednoduše vytiskneme do konzole, ale můžete jej zapsat do souboru, vložit do vyhledávacího indexu nebo předat jiné službě. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Tento řádek sám dokazuje, že jste úspěšně **četli text z jpg** (nebo jakéhokoli podporovaného formátu). Pokud výstup vypadá poškozeně, zkontrolujte kód jazyka a kvalitu obrázku. + +## Kompletní funkční příklad (všechny kroky dohromady) + +Níže je kompletní, připravená ke spuštění Java třída, která spojuje všechny části. Zkopírujte ji do souboru pojmenovaného `OcrDemo.java`, upravte cestu k obrázku a jazyk, poté spusťte `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Očekávaný výstup + +Pokud `input.jpg` obsahuje mongolskou frázi „Сайн байна уу?“, konzole zobrazí: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Pokud je obrázek rozmazaný nebo je špatně nastaven kód jazyka, uvidíte poškozené znaky nebo prázdný řetězec – běžné úskalí, která probereme dále. + +## Běžné úskalí a jak je opravit + +| Příznak | Pravděpodobná příčina | Řešení | +|---------|-----------------------|--------| +| Poškozené cyrilické znaky | Špatný kód jazyka (výchozí na angličtinu) | Nastavte `ocrEngine.getSettings().setLanguage("mon")` nebo příslušný kód. | +| Žádný výstup | Cesta k obrázku nesprávná nebo soubor nečitelný | Ověřte cestu, ujistěte se, že soubor existuje a proces má oprávnění ke čtení. | +| Nízká přesnost (<70 %) | Obrázek má nízký kontrast nebo je otočený | Předzpracujte obrázek: zvýšte kontrast, vyrovnejte, nebo převést na odstíny šedi před předáním engine. | +| `OutOfMemoryError` při velkých PDF | Načítání mnoha vysokorozlišovacích stránek najednou | Zpracovávejte stránky po jedné, nebo před OCR zmenšete rozlišení obrázků. | + +### Tip: Dávkové zpracování + +Pokud potřebujete **extrahovat text z obrázku** souborů hromadně, zabalte hlavní logiku do smyčky: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Tento úryvek ukazuje, jak snadné je škálovat od jednoho JPG k celé složce skenů. + +## Dál – Co prozkoumat dál? + +- **Language Packs:** Většina OCR SDK umožňuje stáhnout další soubory jazykových dat. Přidání nového balíčku vám umožní **převést obrázek na text** pro jazyky mimo angličtinu a mongolštinu. +- **PDF OCR:** Kombinujte tento kód s Apache PDFBox pro + +## Co byste se měli naučit dál? + +Následující tutoriály pokrývají úzce související témata, která staví na technikách předvedených v tomto průvodci. Každý zdroj obsahuje kompletní funkční ukázky kódu s podrobnými vysvětleními, aby vám pomohly zvládnout další funkce API a prozkoumat alternativní přístupy k implementaci ve vašich projektech. + +- [Extrahovat text z obrázků – Základy OCR s Aspose.OCR pro Java](/ocr/english/java/ocr-basics/) +- [Převést obrázek na text v Javě pomocí Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Jak provádět OCR textu obrázku s jazykem pomocí Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..862d1e27b 100644 --- a/ocr/czech/java/ocr-operations/_index.md +++ b/ocr/czech/java/ocr-operations/_index.md @@ -76,6 +76,7 @@ Uvolněte sílu OCR v Javě s Aspose.OCR. Bez námahy rozpoznávejte text v PDF ### [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. ### [Rozpoznání textu z obrázku pomocí Aspose OCR – Kompletní Java OCR tutoriál](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +### [Aplikace licence Aspose OCR v Javě – odebrání vodoznaku OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) ## Často kladené otázky diff --git a/ocr/czech/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/czech/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..00cee79a2 --- /dev/null +++ b/ocr/czech/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-06-06 +description: Použijte licenci Aspose OCR v Javě k odemčení všech funkcí a okamžitému + odstranění vodoznaku OCR. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: cs +og_description: Aplikujte licenci Aspose OCR v Javě, abyste odstranili omezení hodnocení + a vodoznak OCR z vašich skenů. +og_title: Použít licenci Aspose OCR v Javě – Odstranit vodoznak OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Použití licence Aspose OCR v Javě – Odstranění vodoznaku OCR +url: /cs/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Použití licence Aspose OCR v Javě – Odstranění vodoznaku OCR + +Už jste se někdy zamýšleli, jak **použít licenci Aspose OCR** v Java projektu, aniž byste narazili na otravný zkušební vodoznak? Nejste v tom sami. Jakmile vyzkoušíte bezplatnou verzi, každá naskenovaná obrázek je opatřen šedým překryvem „Aspose Evaluation“, který může i nejčistší dokument vypadat neprofesionálně. + +V tomto průvodci projdeme přesně kroky, jak **použít licenci Aspose OCR**, ověřit, že knihovna je plně odemčena, a ukázat, jak vodoznak zmizí automaticky. Na konci budete schopni spustit OCR na jakémkoli obrázku — ať už jde o účtenku, sken pasu nebo ručně psanou poznámku — bez ošklivého překryvu. + +## Prerequisites + +Než začneme, ujistěte se, že máte: + +- **Java Development Kit (JDK) 8** nebo novější nainstalovaný. +- **Aspose OCR for Java** soubor JAR (stáhněte z portálu Aspose). +- Váš **soubor licence Aspose OCR** (`Aspose.OCR.Java.lic`). +- IDE nebo jednoduchý textový editor (IntelliJ, Eclipse, VS Code — podle vás). + +To je vše. Nepotřebujete žádné extra Maven pluginy ani Gradle triky, i když je můžete později přidat, pokud chcete. + +## Project Setup (Quick Overview) + +1. Vytvořte novou složku s názvem `AsposeOCRDemo`. +2. Umístěte soubor `aspose-ocr-*.jar` do podsložky `lib`. +3. Umístěte svůj soubor `Aspose.OCR.Java.lic` na přístupné místo, např. do složky `resources/`. +4. Napište malý soubor `Main.java` — zde se děje kouzlo. + +Pokud používáte IDE, stačí přidat JAR do classpath projektu a označit složku `resources` jako kořen zdrojů. Pokud kompilujete z příkazové řádky, classpath bude vypadat například takto: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Nyní, když je struktura připravena, pojďme k podstatě věci. + +## Krok 1: **Použití licence Aspose OCR** – Hlavní kód + +První věc, kterou musíte udělat, je říct motoru Aspose OCR, aby důvěřoval vašemu licenčnímu souboru. Bez tohoto volání knihovna zůstane v režimu hodnocení a bude i nadále přidávat vodoznak ke každému výstupu. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Why this matters:** Třída `License` je strážcem. Jakmile `setLicense` uspěje, OCR engine přepne z *evaluation* do *full* režimu. Všechny interní kontroly, které normálně přidávají logiku **remove OCR watermark**, jsou deaktivovány, takže už nikdy neuvidíte šedý překryv. +> +> **Pro tip:** Uchovávejte licenční soubor mimo zdrojový kontrolní systém (např. ve složce specifické pro prostředí), abyste předešli nechtěným commitům. + +## Krok 2: Ověření, že vodoznak zmizel + +Po zavolání `applyAsposeOcrLicense` je dobré spustit rychlý test. Následující úryvek načte obrázek, provede OCR a vytiskne extrahovaný text. Pokud licence není aktivní, Aspose vyhodí výjimku nebo vloží vodoznak do výstupního obrázku (pokud ukládáte vizuální výsledek). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Očekávaný výstup (úryvek):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Všimněte si, že se nikde neobjevuje zmínka o evaluačním vodoznaku. To je efekt **remove OCR watermark** v akci. + +## Krok 3: Časté úskalí a okrajové případy + +### 1. Nesprávná cesta k licenci +Pokud předáte `setLicense` nesprávnou cestu, metoda tiše selže a knihovna zůstane v režimu hodnocení. Vždy kontrolujte návratovou hodnotu nebo zachyťte výjimku, jak je ukázáno v `LicenseUtil`. + +### 2. Použití relativní cesty při nasazení jako JAR +Když balíte aplikaci jako spustitelný JAR, relativní cesty v souborovém systému mohou selhat. Bezpečnější přístup je načíst licenci jako stream zdroje: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Umístěte soubor `.lic` do `src/main/resources`, aby se dostal na classpath. + +### 3. Vícevláknové scénáře +Pokud vaše aplikace zpracovává mnoho obrázků současně, stačí licenci **jednou** aplikovat na JVM. Opakované volání `setLicense` z více vláken může způsobit mírný výkonový dopad, ale nic neporuší. + +### 4. Vypršení licence +Licence Aspose jsou obvykle trvalé, ale některé zkušební nebo časově omezené licence mohou vypršet. Když k tomu dojde, engine se vrátí do režimu hodnocení a chování **remove OCR watermark** zmizí. Sledujte datum vypršení licence v portálu Aspose. + +## Krok 4: Automatizace aplikace licence v reálných projektech + +V produkční mikroservise pravděpodobně nechcete rozsévat `LicenseUtil.applyAsposeOcrLicense` po celém kódu. Místo toho ji inicializujte jednou při startu aplikace — např. v metodě `@PostConstruct` Spring Bootu nebo ve statickém inicializačním bloku. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Nyní může každý komponent, který používá `OcrEngine`, bezpečně předpokládat, že licence je již aktivní, což zaručuje **remove OCR watermark** napříč celou službou. + +## Krok 5: Testování integrace licence + +Automatizované testy mohou potvrdit, že vodoznak skutečně zmizel. Jednoduchý JUnit test může vypadat takto: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Spuštěním tohoto testu získáte jistotu, že váš nasazovací pipeline neodešle omylem nelicencovanou verzi. + +## Vizualní přehled (volitelné) + +Pokud rádi vidíte věci graficky, zde je rychlé schéma toku: + +![Použití licence Aspose OCR v Javě](apply-aspose-ocr-license.png "Použití licence Aspose OCR v Javě") + +*Alt text: Použití licence Aspose OCR v Javě – diagram ukazující načtení licence a následné zpracování OCR bez vodoznaku.* + +## Závěr + +Probrali jsme vše, co potřebujete k **použití licence Aspose OCR** v Java prostředí a jako přímý vedlejší efekt **odstranit vodoznak OCR** ze všech zpracovaných obrázků. Od vytvoření objektu `License`, přes řešení problémů s cestami, ověření výsledku, až po zapojení do větší aplikace — každý krok byl vysvětlen s „proč“ i „jak“. + +Nyní můžete integrovat Aspose OCR do jakéhokoli Java projektu s jistotou, že vaši uživatelé už nikdy neuvidí rušivý evaluační štítek. + +### Co dál? + +- **Explore language packs:** Aspose OCR podporuje více než 70 jazyků; stačí nastavit odpovídající vlastnost `OcrEngine`. +- **Combine with Aspose PDF:** Převádějte naskenované obrázky přímo do prohledávatelných PDF bez vodoznaku. +- **Performance tuning** + +## Co byste se měli naučit dál? + +Následující tutoriály pokrývají úzce související témata, která staví na technikách předvedených v tomto průvodci. Každý zdroj obsahuje kompletní funkční ukázky kódu s krok‑za‑krokem vysvětleními, aby vám pomohly zvládnout další funkce API a prozkoumat alternativní implementační přístupy ve vlastních projektech. + +- [Jak nastavit licenci a ověřit licenci Aspose.OCR v Javě](/ocr/english/java/ocr-basics/set-license/) +- [Rozpoznání textu na obrázku pomocí Aspose OCR – Kompletní Java OCR tutoriál](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Výpočet úhlu sklonu s Aspose OCR Java – Kompletní průvodce](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..4678fc38a 100644 --- a/ocr/dutch/java/advanced-ocr-techniques/_index.md +++ b/ocr/dutch/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,20 @@ 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. +### [Hoe GPU in Java OCR in te schakelen – Complete stap‑voor‑stap‑gids](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Leer hoe u GPU-ondersteuning inschakelt voor Aspose.OCR in Java voor snellere en nauwkeurigere tekstherkenning. +### [Tekst extraheren uit gescande afbeelding in Java – Complete Aspose OCR-gids](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Leer hoe u met Aspose.OCR in Java tekst uit gescande afbeeldingen haalt met volledige stapsgewijze instructies. +### [Aspose OCR Java‑voorbeeld – Complete gids voor het laden van een afbeelding, spellingscorrectie en OCR verwerken](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Leer hoe u een afbeelding laadt, spellingscorrectie toepast en OCR verwerkt met Aspose OCR voor Java. +### [Verbeter OCR-nauwkeurigheid in Java – Complete gids](./improve-ocr-accuracy-in-java-complete-guide/) +Leer hoe u de OCR-nauwkeurigheid in Java verbetert met Aspose.OCR. Volg onze stapsgewijze gids voor optimale resultaten. +### [Zoekbare PDF maken in Java – Complete Aspose OCR-gids](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Leer hoe u met Aspose.OCR in Java een doorzoekbare PDF maakt met volledige stapsgewijze instructies. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/dutch/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..a6b61e2ee --- /dev/null +++ b/ocr/dutch/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java-voorbeeld dat laat zien hoe je afbeelding‑OCR laadt, + OCR‑fouten corrigeert, een aangepast woordenboek instelt en afbeelding‑OCR verwerkt + in slechts een paar stappen. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: nl +og_description: Aspose OCR Java‑voorbeeld dat een afbeelding laadt, OCR‑fouten corrigeert, + een aangepast woordenboek instelt en afbeeldings‑OCR efficiënt verwerkt. +og_title: Aspose OCR Java-voorbeeld – Afbeelding laden, spelling corrigeren & OCR + verwerken +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java-voorbeeld – Complete gids voor het laden van een afbeelding, + spellingscorrectie en OCR verwerken +url: /nl/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java‑voorbeeld – Complete gids voor het laden van een afbeelding, spell‑correctie en OCR verwerken + +Heb je ooit een **Aspose OCR Java example** nodig gehad die direct uit de doos werkt? Je bent niet de enige—ontwikkelaars staren vaak naar een wazige screenshot en vragen zich af waarom de geëxtraheerde tekst een rommel is. Het goede nieuws is dat de OCR‑engine van Aspose al ingebouwde spell‑correctie bevat, en je kunt zelfs je eigen woordenlijst aansluiten. In deze tutorial lopen we door het laden van een afbeelding‑OCR, het inschakelen van de correctiefunctie, eventueel een aangepast woordenboek instellen, en tenslotte het verwerken van afbeelding‑OCR om schone, leesbare tekst te krijgen. + +We behandelen ook waarom je **OCR‑fouten wilt corrigeren**, hoe je **afbeelding‑OCR efficiënt laadt**, de voordelen van een **set custom dictionary**‑aanroep, en hoe de end‑to‑end **process image OCR**‑stroom eruitziet. Aan het einde heb je een volledig uitvoerbaar Java‑programma dat je in elk Maven‑ of Gradle‑project kunt plaatsen. + +--- + +## Wat je nodig hebt + +- Java 8 of nieuwer (de API werkt ook met Java 11+) +- Aspose.OCR for Java‑bibliotheek (download de nieuwste JAR van de Aspose‑website of voeg de Maven‑dependency toe) +- Een afbeeldingsbestand met tekst (bij voorkeur een gescand document of een screenshot met wat ruis) +- Optioneel: een platte‑tekst woordenboekbestand als je een **set custom dictionary** wilt gebruiken voor branchespecifieke termen + +Dat is alles—geen zware OCR‑engines, geen native afhankelijkheden, alleen één JAR en een paar regels code. + +--- + +## Stap 1: Aspose OCR Java Example – Load Image OCR + +Het eerste wat je moet doen is een `OcrEngine`‑instantie maken en deze wijzen naar het bestand dat je wilt analyseren. Beschouw dit als het openen van een boek voordat je begint te lezen. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Waarom dit belangrijk is:** De `setImage`‑aanroep is het hart van **load image OCR**. Zonder een geldig beeld heeft de engine niets om te herkennen, en krijg je een lege string of een uitzondering. + +![aspose ocr java example loading image](image.png){alt="aspose ocr java example loading image"} + +--- + +## Stap 2: Spell‑correctie inschakelen om OCR‑fouten te corrigeren + +Aspose OCR wordt standaard geleverd met spell‑correctie ingeschakeld, maar het kan geen kwaad om dit expliciet te doen—vooral wanneer je een **aspose ocr java example** demonstreert. Het inschakelen van deze functie vermindert onzin zoals “t1e” of “rec0gn1tion” drastisch. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** Als je merkt dat de engine nog steeds bepaalde woorden verkeerd herkent, controleer dan de taalinstellingen of voeg een aangepast woordenboek toe (volgende stap). + +Spell‑correctie inschakelen is de snelste manier om **correct OCR errors** te bereiken zonder extra code te schrijven. + +--- + +## Stap 3: Aangepast woordenboek instellen voor betere nauwkeurigheid + +Soms kent het standaard woordenboek je branchespecifieke jargon niet—denk aan medische termen, productcodes of merknamen. Daar komt **set custom dictionary** van pas. Lever een platte‑tekst bestand, één woord per regel, en de OCR‑engine zal die items tijdens correctie als geldig beschouwen. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Wanneer te gebruiken:** Als je facturen verwerkt en de bedrijfsnamen steeds verkeerd worden weergegeven, zorgt een aangepast woordenboek met die namen ervoor dat de **process image OCR**‑fase veel betrouwbaarder wordt. + +--- + +## Stap 4: Afbeelding‑OCR verwerken en de tekst ophalen + +Nu de engine geconfigureerd is, is het tijd om de herkenning daadwerkelijk uit te voeren. De `process`‑methode doet al het zware werk—het detecteren van tekstblokken, toepassen van spell‑correctie en het retourneren van een `OcrResult`‑object. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Wat je zult zien:** De console print een schone, menselijk leesbare string. Als je spell‑correctie had weggelaten, zou je waarschijnlijk vreemde tekens zien, daarom is het inschakelen ervan eerder cruciaal voor **correct OCR errors**. + +--- + +## Stap 5: Het voorbeeld uitvoeren en de output verifiëren + +Compileer en voer de klasse uit met je favoriete IDE of vanaf de commandoregel: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Je zou iets moeten zien als: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Als de output nog steeds spelfouten bevat, voeg die woorden dan toe aan je aangepaste woordenboek en voer de **process image OCR**‑stap opnieuw uit. + +--- + +## Veelvoorkomende valkuilen en hoe ze te vermijden + +| Probleem | Waarom het gebeurt | Oplossing | +|----------|-------------------|-----------| +| **Lege output** | Onjuist afbeeldingspad of niet‑ondersteund formaat | Controleer het pad, gebruik PNG/JPEG, en zorg dat het bestand leesbaar is | +| **Onzinnige tekens** | Spell‑correctie uitgeschakeld of afbeelding van lage kwaliteit | Schakel `setEnableSpellCorrection(true)` in en overweeg pre‑processing (contrast verhogen) | +| **Branchespecifieke woorden blijven fout** | Geen aangepast woordenboek | Gebruik `setCustomDictionary` met een bestand dat jouw termen bevat | +| **Out‑of‑memory fouten** | Zeer grote afbeeldingen geladen zonder schaling | Verklein de afbeelding voordat je deze aan `OcrEngine` doorgeeft | + +--- + +## Het voorbeeld uitbreiden + +Nu je een solide **aspose ocr java example** hebt, wil je misschien: + +- **Batchverwerking** van een map afbeeldingen door over bestandsnamen te itereren en dezelfde `OcrEngine`‑instantie te hergebruiken. +- **Lay‑outinformatie** (tabellen, kolommen) extraheren met `ocrResult.getPages()` voor geavanceerdere documentanalyse. +- **Integreren met Apache PDFBox** om de herkende tekst terug in een PDF te embedden. + +Al deze uitbreidingen bouwen voort op dezelfde kernstappen die we hebben behandeld: afbeelding‑OCR laden, correctie inschakelen, eventueel een aangepast woordenboek instellen, en afbeelding‑OCR verwerken. + +--- + +## Conclusie + +Je hebt zojuist een volledige **aspose ocr java example** gebouwd die een afbeelding laadt, spell‑correctie inschakelt om **correct OCR errors** te corrigeren, optioneel **set custom dictionary** gebruikt, en tenslotte **process image OCR** uitvoert om schone tekst op te halen. De code is kort, de concepten duidelijk, en je hebt nu een basis die je kunt uitbreiden voor batch‑taken, UI‑integraties of zelfs cloud‑microservices. + +Wat nu? Probeer de engine een foto met lage resolutie te geven, voeg een lijst met product‑SKU’s toe aan je aangepaste woordenboek, en zie hoe de nauwkeurigheid verbetert. Hoe meer je experimenteert, hoe beter je de afwegingen tussen beeldkwaliteit, woordenboekgrootte en verwerkingssnelheid begrijpt. + +Laat gerust een reactie achter als je ergens vastloopt of ideeën hebt voor verdere verbeteringen. Happy coding! + +## Wat kun je hierna leren? + +De volgende tutorials behandelen nauw verwante onderwerpen die voortbouwen op de technieken die in deze gids zijn gedemonstreerd. Elke bron bevat volledige werkende code‑voorbeelden met stap‑voor‑stap uitleg om je te helpen extra API‑functies onder de knie te krijgen en alternatieve implementatie‑benaderingen in je eigen projecten te verkennen. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/dutch/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..2a3e617cd --- /dev/null +++ b/ocr/dutch/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Maak doorzoekbare PDF met Java met behulp van Aspose OCR. Leer tekst + uit PDF te extraheren, de OCR‑nauwkeurigheid te verbeteren en multi‑page PDF‑bestanden + efficiënt te verwerken. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: nl +og_description: Maak doorzoekbare PDF met Java en Aspose OCR. Deze gids leidt je door + het extraheren van tekst uit PDF, het verhogen van de OCR‑nauwkeurigheid en het + verwerken van meer‑pagina‑PDF's. +og_title: Maak doorzoekbare PDF in Java – Complete Aspose OCR‑tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Maak doorzoekbare PDF in Java – Volledige Aspose OCR-gids +url: /nl/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Zoekbare PDF maken in Java – Volledige Aspose OCR-gids + +Heb je je ooit afgevraagd hoe je **zoekbare PDF**‑bestanden rechtstreeks vanuit Java kunt maken zonder tientallen command‑line‑tools te jongleren? Je bent niet de enige. Veel ontwikkelaars lopen tegen een muur aan wanneer ze gescande PDF's moeten omzetten naar door tekst doorzoekbare documenten, vooral wanneer de bron‑PDF's uit meerdere pagina's bestaan. + +In deze tutorial lopen we een volledig, uitvoerbaar voorbeeld door dat niet alleen **zoekbare PDF**‑bestanden maakt, maar ook laat zien hoe je **tekst uit PDF kunt extraheren**, **OCR‑nauwkeurigheid kunt verhogen**, en een **OCR multi page PDF**‑workflow kunt afhandelen met de Aspose OCR‑bibliotheek. Aan het einde heb je een solide, productie‑klaar fragment dat je in elk Java‑project kunt gebruiken. + +## Wat je nodig hebt + +- Java 17 of nieuwer (de code compileert met oudere versies, maar JDK 17 is de ideale keuze) +- Maven of Gradle om de `aspose-ocr`‑dependency binnen te halen +- Een voorbeeld‑multi‑page PDF (we noemen het `sample_multi_page.pdf`) +- Een bescheiden GPU of ten minste een multicore CPU als je parallelle verwerking wilt inschakelen + +Er zijn geen extra native libraries nodig—Aspose OCR bundelt alles wat je nodig hebt. + +--- + +## Zoekbare PDF maken – Stapsgewijze implementatie + +Hieronder splitsen we het proces op in logische delen. Elke sectie heeft zijn eigen H2‑kop, zodat je direct naar het deel kunt springen dat je interesseert, en het primaire trefwoord staat hier al in de kop. + +### Stap 1: Het project opzetten en Aspose OCR importeren + +Voeg eerst het Aspose OCR Maven‑artifact toe aan je `pom.xml`. Als je de voorkeur geeft aan Gradle, staat het equivalente fragment in de opmerkingen. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Houd je dependencies up‑to‑date; nieuwere releases brengen vaak nauwkeurigheidsverbeteringen die je direct helpen **OCR‑nauwkeurigheid te verhogen**. + +### Stap 2: Laad de multi‑page PDF in de OCR‑engine + +Nu maken we een `OcrEngine`‑instance aan en voeren we de PDF die we willen verwerken in. De engine behandelt elke pagina intern als een afbeelding, waardoor deze aanpak werkt voor een **ocr multi page pdf**‑scenario. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Waarom dit belangrijk is:** Het PDF‑bestand één keer laden en de engine de paginering laten afhandelen voorkomt de overhead van handmatig elke pagina extraheren, waardoor zowel tijd als geheugen bespaard wordt. + +### Stap 3: Geavanceerde functies inschakelen om **OCR‑nauwkeurigheid te verhogen** + +Aspose OCR biedt verschillende instellingen die je kunt aanpassen. GPU‑versnelling inschakelen, het aantal threads verhogen en meerdere talen specificeren dragen allemaal bij aan betere herkenningspercentages, vooral bij ruisende scans. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Wat als je geen GPU hebt?** Stel simpelweg `setUseGpu(false)` in; de engine schakelt terug naar alleen‑CPU‑modus terwijl hij nog steeds profiteert van multithreading. + +### Stap 4: Afbeeldingen voorbewerken voor betere resultaten + +Voorbewerkingsstappen zoals kantcorrectie, ruisonderdrukking en contrastverhoging verhogen dramatisch de **OCR‑nauwkeurigheid** op gescande documenten. Beschouw het als het polijsten van een ruwe steen vóór het snijden. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Waarom deze instellingen?** Een ruisonderdrukkingsniveau van `2` werkt goed voor de meeste gescande PDF's, terwijl een bescheiden contrastverhoging (1.3×) vage inkt versterkt zonder de achtergrond te overbelichten. + +### Stap 5: Configureer de output om een zoekbare PDF te genereren + +Aspose OCR kan de herkende tekstlaag direct in een PDF insluiten, waardoor een plat afbeeldingsbestand verandert in een **zoekbare PDF**. Dit is de kern van de vraag “hoe maak je een zoekbare pdf” die veel ontwikkelaars stellen. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Wanneer `setGenerateSearchablePdf(true)` is ingeschakeld, maakt de bibliotheek een onzichtbare tekstlaag die de visuele inhoud weerspiegelt, waardoor het uiteindelijke document doorzoekbaar is in elke PDF‑viewer. + +### Stap 6: OCR uitvoeren en het resultaat opslaan + +Nu verwerken we het document daadwerkelijk en schrijven we het uitvoerbestand weg. De `process`‑methode retourneert een `OcrResult`‑object dat zowel de zoekbare PDF als de geëxtraheerde platte tekst bevat. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Stap 7: (Optioneel) **Tekst uit PDF extraheren** voor direct gebruik + +Als je ook de ruwe tekst nodig hebt — voor indexering, analytics, of simpelweg weergave op een webpagina — kun je deze rechtstreeks uit de `OcrResult` halen. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Wat je zult zien:** De console zal de samengevoegde tekst van alle pagina's weergeven, waarbij waar mogelijk regeleinden behouden blijven. Dit voldoet aan de **extract text from pdf**‑vereiste zonder een tweede doorloop. + +--- + +## Visueel overzicht + +Hieronder staat een eenvoudig stroomdiagram dat elke stap in kaart brengt met het bijbehorende code‑fragment. Het helpt je visualiseren hoe de invoer‑PDF door voorbewerking, OCR, en uiteindelijk een zoekbaar document wordt. + +![Maak zoekbare PDF stroomdiagram](https://example.com/flow-diagram.png "Create searchable PDF flow diagram") + +*Alt‑tekst bevat het primaire trefwoord om te voldoen aan de image‑SEO.* + +--- + +## Veelgestelde vragen & randgevallen + +| Vraag | Antwoord | +|-------|----------| +| **Kan ik PDF's groter dan 100 MB verwerken?** | Ja, maar overweeg om pagina's te streamen in plaats van het hele bestand in het geheugen te laden. Aspose OCR beheert intern paginering, maar je wilt mogelijk de JVM‑heap vergroten (`-Xmx4g`) voor zeer grote bestanden. | +| **Wat als mijn PDF handgeschreven notities bevat?** | Handschrijfterkenning is standaard niet ingeschakeld. Je kunt overschakelen naar `setLanguage("eng,mon,handwritten")` als de bibliotheekversie dit ondersteunt, hoewel de nauwkeurigheid kan variëren. | +| **Heb ik een licentie nodig voor Aspose OCR?** | Een tijdelijke evaluatielicentie werkt voor testen. Voor productie moet je een commerciële licentie aanschaffen om watermerken te verwijderen en volledige prestaties te ontgrendelen. | +| **Hoe schakel ik spellingscorrectie uit?** | Roep `ocr.getSettings().setEnableSpellCorrection(false);` aan – handig wanneer je de ruwe OCR‑output nodig hebt voor forensische doeleinden. | +| **Is GPU‑ondersteuning verplicht?** | Nee. De bibliotheek schakelt elegant terug naar CPU. GPU kan echter de verwerkingstijd met tot 60 % verkorten bij grote multi‑page documenten. | + +--- + +## Volledig werkend voorbeeld (klaar om te kopiëren‑plakken) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Verwachte output** + +- `output_searchable.pdf` – een PDF waarin je Ctrl + F kunt typen en elk woord dat in de gescande afbeeldingen voorkwam, kunt vinden. +- Console‑log – de volledige tekstuele inhoud van de originele PDF, perfect voor indexering of verdere analyse. + +--- + +## Conclusie + +We hebben zojuist laten zien hoe je **zoekbare PDF**‑bestanden in Java maakt met Aspose OCR, terwijl we ook laten zien hoe je **tekst uit PDF kunt extraheren**, **OCR‑nauwkeurigheid kunt verhogen**, en efficiënt een **OCR multi page PDF**‑workflow kunt afhandelen. Het volledige code‑fragment hierboven is klaar om in je project te plaatsen, en de uitleg geeft je het vertrouwen om instellingen aan te passen voor jouw specifieke geval. + +Wat is het volgende? Probeer te experimenteren met aangepaste lettertype‑insluitingen, voeg OCR‑gegenereerde bladwijzers toe, of integreer de output met een zoekmachine zoals Elasticsearch. Elk van deze onderwerpen verwijst terug naar onze secundaire trefwoorden — *how to make searchable pdf* en *increase OCR accuracy* — zodat je een duidelijke route hebt voor verdere verkenning. + +Voel je vrij om je ervaringen te delen of vervolgvragen te stellen in de reacties. Veel plezier met coderen, en geniet van het omzetten van die statische scans naar volledig doorzoekbare, tekst‑rijke PDF's! + +## Wat moet je hierna leren? + +De volgende tutorials behandelen nauw verwante onderwerpen die voortbouwen op de technieken die in deze gids zijn gedemonstreerd. Elke bron bevat complete werkende code‑voorbeelden met stapsgewijze uitleg om je te helpen extra API‑functies onder de knie te krijgen en alternatieve implementatie‑benaderingen in je eigen projecten te verkennen. + +- [PDF‑tekst herkennen – OCR‑bewerkingen met Aspose.OCR voor Java](/ocr/english/java/ocr-operations/) +- [OCR‑herkenning van PDF‑documenten in Aspose.OCR voor Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [OCR‑herkenning van PDF‑documenten in Aspose.OCR voor Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/dutch/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..01f599185 --- /dev/null +++ b/ocr/dutch/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,270 @@ +--- +category: general +date: 2026-06-06 +description: Haal tekst uit gescande afbeeldingen met Aspose OCR voor Java. Leer hoe + je tekst uit tiff‑bestanden kunt herkennen met parallelle verwerking. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: nl +og_description: Tekst extraheren uit gescande afbeelding met Aspose OCR. Deze gids + laat zien hoe je tekst uit tiff‑bestanden efficiënt kunt herkennen met Java. +og_title: Tekst extraheren uit gescande afbeelding – Aspose OCR Java‑tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Tekst extraheren uit gescande afbeelding in Java – Complete Aspose OCR-gids +url: /nl/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tekst extraheren uit gescande afbeelding – Complete Aspose OCR-gids + +Heb je ooit **tekst uit een gescande afbeelding** moeten extraheren maar zat je vast bij het “hoe?”? Je bent niet de enige. Of je nu oude archieven digitaliseert, gegevens uit facturen haalt, of een doorzoekbare PDF-bibliotheek bouwt, betrouwbare tekst uit een TIFF-scan halen kan een knelpunt zijn. + +Goed nieuws: met Aspose OCR for Java kun je **tekst herkennen uit tiff**‑bestanden in slechts een paar regels code, en zelfs extra snelheid halen door de engine te beperken tot een handvol CPU‑kernen. In deze tutorial lopen we het volledige proces door – van het instellen van de bibliotheek tot het verwerken van het resultaat – zodat je meteen een werkend voorbeeld kunt copy‑pasten. + +## Wat deze tutorial behandelt + +- Installeren van Aspose OCR for Java (Maven of handmatige JAR) +- Laden van een grote gescande TIFF‑afbeelding +- Configureren van de engine om tot 4 threads te gebruiken (parallel OCR) +- Het OCR‑proces uitvoeren en de geëxtraheerde tekst afdrukken +- Veelvoorkomende valkuilen (geheugen, multi‑page TIFF’s) en hoe deze te vermijden +- Snelle prestatie‑tip: wanneer `setMaxThreads` af te stemmen + +Aan het einde kun je **tekst uit gescande afbeelding**‑bestanden betrouwbaar extraheren, en begrijp je waarom het afstemmen van het aantal threads van belang is wanneer je *tekst herkent uit tiff* in een productie‑pipeline. + +--- + +![voorbeeld van tekst extraheren uit gescande afbeelding](example.png "Schermafbeelding die de geëxtraheerde tekst van een gescande TIFF-afbeelding toont") + +## Vereisten + +Voordat we beginnen, zorg dat je het volgende hebt: + +1. **Java Development Kit (JDK) 8+** – elke recente versie werkt. +2. **Maven** (of de mogelijkheid om JAR‑s handmatig toe te voegen) – we gebruiken Maven voor de eenvoud. +3. Een **Aspose OCR for Java**‑licentie (de gratis evaluatie werkt, maar voegt een watermerk toe). +4. Een **grote TIFF‑scan** (bijv. `large_scan.tif`) die je wilt verwerken. + +Als een van deze onbekend klinkt, geen zorgen – elke stap wordt hieronder uitgelegd. + +## Stap 1: Voeg Aspose OCR toe aan je project + +### Maven‑gebruikers + +Voeg de volgende dependency toe aan je `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Handmatige JAR‑installatie + +Download de nieuwste `aspose-ocr-xx.jar` van de Aspose‑website en plaats deze op je classpath. + +> **Pro tip:** Bewaar de JAR in een `libs/`‑map en verwijs ernaar in de projectinstellingen van je IDE. Dit voorkomt later “class not found” verrassingen. + +## Stap 2: Maak een eenvoudige Java‑klasse + +Maak een bestand genaamd `ParallelOcrDemo.java` in je source‑map (`src/main/java`). Deze klasse bevat de volledige OCR‑workflow. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Waarom we threads beperken:** Standaard probeert Aspose OCR elke core te gebruiken, wat andere services op een gedeelde machine kan verhongeren. Door `setMaxThreads(4)` in te stellen, vertelt je de engine om tot vier parallelle workers te draaien – genoeg voor een merkbare snelheidswinst op de meeste moderne CPU’s zonder alle bronnen te monopoliseren. + +## Stap 3: Compileer en voer uit + +Open een terminal in de project‑root en voer uit: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Als je geen Maven gebruikt, compileer dan met `javac` en voer uit: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Verwachte uitvoer + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +De console toont de platte‑tekstversie van wat er op de gescande pagina stond. Als de afbeelding meerdere pagina’s bevat, concateneert Aspose OCR ze in volgorde. + +## Stap 4: Multi‑page TIFF’s verwerken (randgeval) + +Een veelvoorkomend scenario is een **multi‑page TIFF** – denk aan een gescand boek. Standaard leest `OcrInputImage` alleen het eerste frame. Om alle pagina’s te verwerken, gebruik je `OcrInputImage` met een `FileInputStream` en schakel je multi‑page‑ondersteuning in: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Nu zal `ocrEngine.process()` één enkele `OcrResult` teruggeven die de samengevoegde tekst van elke pagina bevat. + +## Stap 5: Fijn afstellen van herkenningsnauwkeurigheid + +Als je **vervormde tekens** of ontbrekende woorden opmerkt, probeer dan deze aanpassingen: + +| Instelling | Wat het doet | Wanneer te gebruiken | +|------------|--------------|----------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Forceert het Engelse taalmodel (sneller, nauwkeuriger voor Engelse scans) | Je document is eentalig Engels | +| `ocrEngine.getSettings().setResolution(300)` | Schaltt lage‑resolutie afbeeldingen op voordat ze worden herkend | Scans onder 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Probeert vlekjes en artefacten te verwijderen | Scans met veel ruis | + +Voorbeeld‑fragment: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Stap 6: Resultaten exporteren naar een bestand + +Afdrukken naar de console is prima voor demo’s, maar productiecodel schrijft het resultaat meestal ergens nuttigs weg: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Nu heb je een platte‑tekst‑bestand dat je kunt voeden aan een zoekindex, een database, of een downstream‑analytics‑pipeline. + +--- + +## Veelgestelde vragen (FAQ) + +**Q: Werkt dit ook met PNG‑ of JPEG‑bestanden?** +A: Absoluut. `OcrInputImage` accepteert elk formaat dat Java’s ImageIO kan lezen. Vervang gewoon de bestandsextensie in het pad. + +**Q: Mijn server heeft 8 cores – moet ik `setMaxThreads(8)` instellen?** +A: Dat kan, maar onthoud dat andere services CPU‑cycli nodig hebben. Een goede vuistregel is “totaal cores – 1” voor toegewijde OCR‑workers. + +**Q: Wat als het OCR‑resultaat leeg is?** +A: Controleer of de afbeelding niet volledig wit is, of je de juiste taal hebt ingesteld, en of de resolutie minstens 200 DPI bedraagt. Scans van lage kwaliteit hebben vaak voorafgaande bewerkingen (kantlijncorrectie, contrastverhoging) nodig voordat ze aan Aspose OCR worden gevoed. + +## Afronding + +We hebben zojuist **tekst uit gescande afbeelding**‑bestanden geëxtraheerd met Aspose OCR for Java, en je weet nu hoe je **tekst herkent uit tiff** efficiënt kunt doen met parallelle verwerking. De volledige code staat in de bovenstaande fragmenten, en je kunt ze direct in je eigen project copy‑pasten. + +### Wat is het volgende? + +- **Batchverwerking**: Loop door een map met TIFF‑bestanden en sla elk resultaat op in een eigen bestand. +- **Integreren met Elasticsearch**: Index de geëxtraheerde tekst voor snelle full‑text zoekopdrachten. +- **Taaldetectie toevoegen**: Gebruik `OcrLanguage.AutoDetect` voor meertalige documenten. + +Experimenteer met deze ideeën, en je zet snel een berg gescande papierwerk om in doorzoekbare, bruikbare data. + +Happy coding, en laat gerust een reactie achter als je ergens vastloopt! + +## Wat moet je hierna leren? + +De volgende tutorials behandelen nauw verwante onderwerpen die voortbouwen op de technieken die in deze gids zijn gedemonstreerd. Elke bron bevat complete werkende code‑voorbeelden met stap‑voor‑stap uitleg om je te helpen extra API‑functies onder de knie te krijgen en alternatieve implementatie‑benaderingen in je eigen projecten te verkennen. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/dutch/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..e339a94cd --- /dev/null +++ b/ocr/dutch/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-06-06 +description: Hoe GPU in Java OCR in te schakelen en tekst uit JPEG‑bestanden te extraheren. + Volg dit Java‑OCR‑voorbeeld om een afbeelding naar tekst te converteren met GPU‑versnelling. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: nl +og_description: Hoe GPU in Java OCR in te schakelen en direct tekst uit JPEG‑afbeeldingen + te extraheren. Deze gids toont een volledig Java‑OCR‑voorbeeld met GPU‑versnelde + OCR. +og_title: Hoe GPU in Java OCR in te schakelen – volledige programmeerhandleiding +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Hoe GPU in Java OCR in te schakelen – Complete stap‑voor‑stap gids +url: /nl/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe GPU in Java OCR in te schakelen – Complete Stapsgewijze Gids + +Heb je je ooit afgevraagd **hoe je GPU** kunt inschakelen voor optische tekenherkenning in Java? Je bent niet de enige—ontwikkelaars vragen voortdurend: “Kan ik OCR sneller maken zonder alles opnieuw te schrijven?” Het korte antwoord is ja, en het lange antwoord vind je hier. In deze tutorial lopen we een **java ocr example** door die **tekst uit JPEG**-bestanden **extraheert**, **afbeelding naar tekst converteert**, en gebruik maakt van **GPU accelerated OCR** voor razendsnelle resultaten. + +We beginnen met het installeren van de Aspose OCR‑bibliotheek, laden we een voorbeeld‑JPEG, schakelen we GPU‑ondersteuning in, voeren we de engine uit en printen we tenslotte de herkende tekst. Aan het einde heb je een herbruikbare code‑snippet die je in elk Java‑project kunt gebruiken, plus een reeks tips die je beschermen tegen veelvoorkomende valkuilen. Geen poespas, alleen de kern die je nodig hebt om aan de slag te gaan. + +## Vereisten + +* Java 8 of nieuwer geïnstalleerd (de code gebruikt standaard‑API’s, dus elke recente JDK werkt). +* Een compatibele GPU met up‑to‑date drivers – de meeste moderne NVIDIA/AMD‑kaarten komen in aanmerking. +* De Aspose.OCR for Java‑bibliotheek (te downloaden via Maven Central of de Aspose‑website). +* Een JPEG‑afbeelding die je wilt laten OCR‑en – we noemen deze `sample.jpg`. + +Dat is alles. Als een van deze onderdelen onbekend is, pauzeer dan en installeer het ontbrekende onderdeel; de rest van de gids gaat ervan uit dat ze al aanwezig zijn. + +## Hoe GPU in Java OCR in te schakelen – Overzicht + +Hieronder een snel overzicht van wat we gaan bereiken: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Beschouw de GPU als een turbo‑charger voor je OCR‑engine—in plaats van dat de CPU elke pixel‑voor‑pixel analyse uitvoert, neemt de grafische kaart het zware werk in parallelle uitvoering op zich. Het resultaat? Snellere verwerkingstijden, vooral bij scans met hoge resolutie. + +## Stap 1: Het project opzetten en Aspose OCR importeren + +Allereerst, maak een nieuw Maven‑project (of Gradle, als je dat liever hebt). Voeg de Aspose OCR‑dependency toe: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Als je geen Maven gebruikt, download dan de JAR van Aspose en voeg deze toe aan je classpath. Deze stap is de basis van elk **java ocr example** dat je ooit zult schrijven, dus controleer dubbel of de bibliotheek correct wordt gevonden. + +## Stap 2: Laad de JPEG-afbeelding (Tekst extraheren uit JPEG) + +Nu schrijven we code om een JPEG‑bestand te lezen. De `OcrInputImage`‑klasse accepteert een pad, en we voeren dit in de `OcrEngine` in. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Why this matters:** Het correct laden van de afbeelding is de eerste stap in elke **convert image to text**‑workflow. Als het pad onjuist is, gooit de engine een uitzondering nog voordat het GPU‑stadium wordt bereikt. + +## Stap 3: GPU‑versnelling inschakelen (Hoe GPU in te schakelen) + +Hier is de kern van de tutorial—GPU‑ondersteuning inschakelen. Het `OcrSettings`‑object biedt een `setUseGpu`‑vlag. Zet deze simpelweg op `true` en je bent klaar om te gaan. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** Controleer of je GPU‑driver up‑to‑date is. Verouderde drivers zorgen er vaak voor dat de `setUseGpu(true)`‑aanroep stilletjes faalt, waardoor je alleen CPU‑prestaties krijgt. + +## Stap 4: De OCR-engine uitvoeren (Java OCR Example) + +Met de afbeelding geladen en GPU ingeschakeld, start je het OCR‑proces. De engine retourneert een `OcrResult`‑object dat de herkende tekst bevat. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Achter de schermen splitst Aspose de afbeelding in tegels, stuurt ze naar de GPU voor parallelle inferentie, en voegt de resultaten weer samen. Dit is wat de **gpu accelerated ocr**‑ervaring merkbaar sneller maakt dan het standaard CPU‑pad. + +## Stap 5: De herkende tekst weergeven (Afbeelding naar tekst converteren) + +Tot slot print je het resultaat naar de console. In een echte applicatie zou je dit waarschijnlijk naar een bestand of database schrijven, maar voor illustratie volstaat een eenvoudige `System.out.println`. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Verwachte Output + +Als `sample.jpg` de zin “Hello, World!” bevat, zou je het volgende moeten zien: + +``` +Recognized text: +Hello, World! +``` + +Is de afbeelding complexer (meerdere regels, tabellen, enz.), dan bevat de output regeleinden en spaties die de oorspronkelijke lay-out weerspiegelen. Dat is de kracht van Aspose’s OCR‑engine—het behoudt de structuur terwijl het de afbeelding naar tekst converteert. + +## Volledig Werkend Voorbeeld + +Alles bij elkaar, hier is het complete, kant‑klaar programma: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Sla dit op als `GpuOcrDemo.java`, compileer met `javac` en voer uit met `java`. Als alles correct is aangesloten, toont de console de geëxtraheerde tekst in een oogwenk. + +## Veelgestelde Vragen & Randgevallen + +### 1. Mijn GPU wordt niet gebruikt – wat gebeurt er? + +* **Check driver version** – oudere drivers bieden mogelijk niet de vereiste compute‑capabilities. +* **Validate GPU support** – Aspose vereist een CUDA‑compatibele NVIDIA‑kaart of een OpenCL‑compatibele AMD‑kaart. Als je een laptop met een uitgeschakelde discrete GPU gebruikt, schakel deze dan in via BIOS of het grafische configuratiescherm. +* **Inspect logs** – Aspose schrijft een debug‑regel wanneer GPU‑modus actief is. Schakel logging in via `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. Het OCR‑resultaat is onleesbaar bij een lage resolutie‑afbeelding. + +* **Pre‑process the JPEG** – schaaf bij naar minimaal 300 dpi, pas contrastverbetering toe, of converteer naar grijstinten voordat je het aan de engine geeft. +* **Adjust settings** – je kunt `ocr.getSettings().setLanguage(OcrLanguage.English)` aanpassen of `setUseLanguageDetection(true)` inschakelen voor betere nauwkeurigheid. + +### 3. Kan ik meerdere afbeeldingen in één batch verwerken? + +Absoluut. Plaats de laad‑ en verwerkingsblokken in een lus en hergebruik dezelfde `OcrEngine`‑instantie. Vergeet niet `ocr.reset()` aan te roepen tussen iteraties om de vorige afbeelding te wissen. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Werkt GPU‑versnelling op headless servers? + +Ja, zolang de server een ondersteunde GPU en de juiste drivers heeft. Op Linux moet je mogelijk het `nvidia‑utils`‑pakket installeren en ervoor zorgen dat de `CUDA`‑toolkit in de `PATH` staat. + +## Pro Tips voor Productieklaar GPU OCR + +* **Batch size matters** – grotere afbeeldingen profiteren meer van GPU‑parallelisme. Als je hele kleine iconen verwerkt, kan de overhead van GPU‑overdracht de winst tenietdoen. +* **Memory management** – GPU’s hebben beperkt VRAM. Voor zeer grote PDF‑s of multi‑megapixel‑scans, splits de afbeelding handmatig in kleinere tegels. +* **Error handling** – wikkel de OCR‑aanroep in een try‑catch‑blok en schakel terug naar CPU‑modus (`setUseGpu(false)`) als een `UnsupportedOperationException` wordt gegooid. + +## Conclusie + +We hebben net behandeld **hoe je GPU** in een **java ocr example** inschakelt, laten zien hoe je **tekst uit JPEG**‑bestanden **extraheert**, en een nette manier gedemonstreerd om **afbeelding naar tekst te converteren** met Aspose’s **gpu accelerated OCR**‑engine. De complete snippet hierboven kun je direct in elk Java‑project plaatsen, en de bijbehorende tips helpen je de gebruikelijke problemen te vermijden. + +Wat nu? Probeer taal‑pakketten toe te voegen, experimenteer met verschillende afbeeldingsformaten (PNG, TIFF), of integreer de output in een zoekindex. De mogelijkheden zijn eindeloos wanneer je OCR combineert met GPU‑kracht. + +Heb je meer vragen over GPU‑versnelde OCR of hulp nodig bij het afstellen van de instellingen? Laat een reactie achter, en happy coding! + +![Hoe GPU in Java OCR voorbeeld](https://example.com/images/gpu-ocr-java.png "Hoe GPU in Java OCR") + +## Wat moet je hierna leren? + +De volgende tutorials behandelen nauw verwante onderwerpen die voortbouwen op de technieken die in deze gids worden getoond. Elke bron bevat volledige werkende code‑voorbeelden met stap‑voor‑stap uitleg om je te helpen extra API‑functies onder de knie te krijgen en alternatieve implementatie‑benaderingen in je eigen projecten te verkennen. + +- [Tekst uit afbeeldingen extraheren – OCR-basis met Aspose.OCR voor Java](/ocr/english/java/ocr-basics/) +- [Afbeelding naar tekst converteren in Java met Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Hoe OCR-beeldtekst met taal te gebruiken met Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/dutch/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..78a2a48ca --- /dev/null +++ b/ocr/dutch/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,250 @@ +--- +category: general +date: 2026-06-06 +description: Verbeter de OCR-nauwkeurigheid in Java met een stapsgewijze handleiding + die laat zien hoe je afbeelding-OCR laadt, afbeelding-OCR verwerkt en efficiënt + tekst van een gescande pagina extraheert. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: nl +og_description: Verbeter de OCR-nauwkeurigheid in Java met een praktische voorbeeld. + Leer hoe je een afbeelding laadt voor OCR, deze voorbewerkt en OCR uitvoert om tekst + van een gescande pagina te extraheren. +og_title: Verbeter OCR-nauwkeurigheid in Java – Volledige tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Verbeter OCR-nauwkeurigheid in Java – Complete gids +url: /nl/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Verbeter OCR-nauwkeurigheid in Java – Complete Gids + +Heb je je ooit afgevraagd hoe je **OCR-nauwkeurigheid kunt verbeteren** wanneer je werkt met scans van oude boeken of vage bonnen? Je bent niet de enige. In veel real‑world projecten ziet de ruwe output van een OCR‑engine eruit als een cryptisch geheel, en dat komt meestal doordat de afbeelding niet correct is voorbewerkt voordat je **perform OCR image**. + +In deze tutorial lopen we een praktisch Java‑voorbeeld door dat precies laat zien hoe je **load image OCR** kunt gebruiken, een paar slimme voorbewerkingsstappen toepast, **process image OCR**, en uiteindelijk **extract text scanned page** met een schoon resultaat. Aan het einde begrijp je niet alleen *wat* je moet coderen, maar ook *waarom* elke regel belangrijk is voor het verbeteren van de herkenningskwaliteit. + +## Wat je zult leren + +- Hoe je een OCR‑engine in Java instantiateert +- De juiste manier om **load image OCR** van schijf te laden +- Waarom deskewing, denoising en contrastverhoging essentieel zijn voor **improve OCR accuracy** +- Hoe je **perform OCR image** uitvoert en de herkende tekst ophaalt +- Tips voor het omgaan met verschillende afbeeldingsformaten en randgevallen + +Geen externe documentatie nodig – alles wat je nodig hebt staat hier, en de complete, uitvoerbare code staat onderaan. + +## Vereisten + +- Java 17 (of een recente JDK) geïnstalleerd op je machine +- Een OCR‑bibliotheek die de klassen `OcrEngine`, `OcrInputImage` en `OcrResult` levert (het voorbeeld gebruikt een generieke API; vervang door de jar van je leverancier indien nodig) +- Een gescande afbeelding (PNG, JPEG of TIFF) waarop je OCR wilt uitvoeren – voor de demo gebruiken we `old_book_page.png` in een map genaamd `YOUR_DIRECTORY` + +Als je de OCR‑jar mist, plaats deze dan in de `libs`‑map van je project en voeg hem toe aan de classpath. Dat is alles. + +--- + +## Stap 1 – Verbeter OCR-nauwkeurigheid: Stel de engine in + +Voordat we **process image OCR** kunnen uitvoeren, hebben we een verse engine‑instantie nodig. Het aanmaken van een nieuwe `OcrEngine` geeft ons een schone lei, zodat er geen overgebleven instellingen van eerdere runs zijn. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Waarom dit belangrijk is*: Een vers aangemaakte engine start met standaard voorbewerking uitgeschakeld. Dat is opzettelijk – we willen alleen de stappen inschakelen die echt helpen bij onze specifieke afbeelding, wat de hoeksteen is van **improve OCR accuracy**. + +## Stap 2 – Load Image OCR – Je scan voorbereiden + +Nu laden we daadwerkelijk **load image OCR**. De `setImage`‑methode verwacht een `OcrInputImage` die naar het bestand op schijf wijst. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Een paar opmerkingen: + +1. **Ondersteunde formaten** – de meeste bibliotheken accepteren PNG, JPEG, BMP en TIFF. Als je een PDF hebt, converteer dan eerst de eerste pagina naar een afbeelding. +2. **Padverwerking** – het gebruik van een absoluut pad voorkomt de “file not found” valkuil wanneer de werkmap verandert. + +## Stap 3 – Deskew: Gedraaide pagina's rechtzetten + +Veel gescande pagina's zijn niet perfect horizontaal. Een lichte rotatie kan de herkenning belemmeren omdat de OCR‑engine verwacht dat tekstregels recht zijn. Deskew inschakelen detecteert en corrigeert die rotatie automatisch. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: Als je de rotatiehoek van tevoren kent (bijv. 90°), kun je de afbeelding handmatig roteren voordat je deze aan de engine geeft – vaak sneller voor batch‑taken. + +## Stap 4 – Denoise: Achtergrondkorrel verminderen + +Oude documenten bevatten vaak papieren textuur, stof of compressie‑artefacten. De `setDenoiseLevel`‑methode past een filter toe dat dit ruis wegneemt. Niveau 2 is een goed startpunt voor de meeste gescande pagina's. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Waarom het helpt**: Ruis creëert valse randen die de OCR‑engine als tekens kan interpreteren. Door de afbeelding te reinigen, **improve OCR accuracy** zonder de daadwerkelijke glyph‑vormen op te offeren. + +## Stap 5 – Contrast verhogen: Tekst laten opvallen + +Als de scan vervaagd is, is het contrast tussen inkt en papier laag, en heeft de engine moeite om voorgrond van achtergrond te onderscheiden. Een bescheiden contrastverhoging van `1.4f` (40 % stijging) doet meestal het werk. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Randgeval*: Voor zeer donkere afbeeldingen kan een hogere factor (tot 2.0) nuttig zijn, maar pas op voor clipping – te heldere gebieden kunnen puur wit worden, waardoor fijne details verdwijnen. + +## Stap 6 – Perform OCR Image – De kernverwerkingsstap + +Alle voorbereiding leidt tot deze regel: daadwerkelijk de OCR‑engine laten draaien op de voorbewerkte afbeelding. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +In de achtergrond doorloopt de engine zijn segmentatie-, tekenherkennings‑ en taalmodel‑fasen. Als je meerdere talen nodig hebt, stel ze dan in op de engine **voordat** je `process()` aanroept. + +## Stap 7 – Extract Text Scanned Page – De output verkrijgen + +Tot slot halen we de herkende string uit `OcrResult`. Het afdrukken naar de console is voldoende voor een snelle demo, maar je kunt het ook naar een bestand, een database of een downstream NLP‑pipeline sturen. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Verwachte output** (afgekapt voor beknoptheid): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Als de output nog steeds onduidelijk is, bekijk dan de voorbewerkingsparameters opnieuw – soms maakt een hoger denoise‑niveau of een andere contrastfactor een merkbaar verschil. + +## Volledig werkend voorbeeld + +Hieronder staat het complete, zelfstandige Java‑programma dat je kunt kopiëren, plakken en uitvoeren. Het bevat de benodigde imports, een `main`‑methode en inline‑commentaren die elke stap verduidelijken. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Sla dit op als `OcrAccuracyDemo.java`, compileer met `javac` en voer uit met `java`. Als alles correct is ingesteld, zie je de opgeschoonde tekst in de terminal verschijnen. + +--- + +## Veelgestelde vragen & randgevallen + +**V: Mijn gescande pagina is in kleur – moet ik deze eerst naar grijswaarden converteren?** +A: De meeste OCR‑engines converteren intern naar grijswaarden, maar zelf doen (bijv. met `BufferedImage` en `ColorConvertOp`) geeft je meer controle over het conversie‑algoritme, vooral wanneer de achtergrond niet uniform is. + +**V: De output bevat nog steeds vreemde symbolen. Wat nu?** +A: Probeer `setDenoiseLevel` te verhogen naar 3 of `setContrastBoost` aan te passen naar 1.6f. Als het probleem blijft, overweeg dan een **binary threshold** (binarisatie) vóór OCR – veel bibliotheken bieden een `setBinarization(true)`‑optie. + +**V: Hoe ga ik om met multi‑page PDF's?** +A: Converteer elke pagina naar een afbeelding (bijv. met Apache PDFBox) en loop over de pagina's, waarbij je dezelfde `OcrEngine`‑instantie hergebruikt maar de afbeelding bij elke iteratie reset. + +## Conclusie + +Je hebt zojuist geleerd hoe je **OCR-nauwkeurigheid kunt verbeteren** in Java door correct **load image OCR** te gebruiken, deskew, denoise en contrastverhoging toe te passen, vervolgens **perform OCR image** uit te voeren en uiteindelijk **extract text scanned page**. De belangrijkste les is dat voorbewerking vaak de meest effectieve hefboom is voor het verhogen van de herkenningskwaliteit – een goed voorbereide afbeelding kan de correct‑karakter‑ratio verdubbelen of zelfs verdrievoudigen. + +Klaar voor de volgende stap? Probeer te experimenteren met: + +- Verschillende denoise‑niveaus voor sterk korrelige scans +- Adaptieve contrastverhoging gebaseerd op histogramanalyse van de afbeelding +- Integreren van een taalmodel (bijv. spell‑checking) na extractie om resterende fouten op te ruimen + +Deze uitbreidingen verdiepen je OCR‑pipeline en maken deze robuust genoeg voor productie‑workloads. + +Als je een probleem tegenkomt of een slimme truc hebt, laat dan een reactie achter. Veel programmeerplezier, en moge je tekst altijd leesbaar zijn! + +## Wat moet je hierna leren? + +De volgende tutorials behandelen nauw verwante onderwerpen die voortbouwen op de technieken die in deze gids zijn gedemonstreerd. Elke bron bevat volledige werkende code‑voorbeelden met stap‑voor‑stap‑uitleg om je te helpen extra API‑functies onder de knie te krijgen en alternatieve implementatie‑benaderingen in je eigen projecten te verkennen. + +- [Hoe OCR-beeldtekst met taal te gebruiken met Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Tekst extraheren uit afbeelding Java met Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [tekst afbeelding herkennen met Aspose OCR – Volledige Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/java/ocr-basics/_index.md b/ocr/dutch/java/ocr-basics/_index.md index badb16142..144495429 100644 --- a/ocr/dutch/java/ocr-basics/_index.md +++ b/ocr/dutch/java/ocr-basics/_index.md @@ -102,6 +102,8 @@ 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. +### [Hoe OCR uit te voeren in Java – Complete gids voor het extraheren van tekst uit afbeeldingen](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Leer stap‑voor‑stap hoe je OCR implementeert in Java om tekst nauwkeurig uit afbeeldingen te halen. --- @@ -114,4 +116,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/dutch/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..e9c40e990 --- /dev/null +++ b/ocr/dutch/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-06-06 +description: hoe OCR uit te voeren in Java – snel tekst uit een afbeelding extraheren, + afbeelding naar tekst converteren en tekst uit een jpg lezen met een eenvoudig codevoorbeeld. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: nl +og_description: hoe OCR uit te voeren in Java – leer hoe je tekst uit een afbeelding + haalt, afbeelding naar tekst converteert en tekst uit een jpg leest met een kant‑klaar + voorbeeld. +og_title: Hoe OCR in Java uit te voeren – Stapsgewijze gids +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Hoe OCR uit te voeren in Java – Complete gids voor het extraheren van tekst + uit afbeeldingen +url: /nl/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe OCR uit te voeren in Java – Complete gids om tekst uit afbeeldingen te extraheren + +Heb je je ooit afgevraagd **how to perform OCR** op een foto die je met je telefoon hebt gemaakt? Je bent niet de enige. Of je nu een bon‑scanapp bouwt of gewoon tekst uit een gescande PDF wilt halen, **how to perform OCR** in Java is een vaardigheid die zich snel terugbetaalt. In deze tutorial lopen we een praktisch voorbeeld door dat **extracts text from image** bestanden, **converts image to text**, en zelfs laat zien hoe je **read text from jpg** met slechts een paar regels code. + +> *Pro tip:* Dezelfde aanpak werkt voor PNG, BMP, of elk formaat dat de OCR‑engine ondersteunt—vervang gewoon de bestandsnaam. + +## Hoe OCR uit te voeren in Java – Overzicht + +Optical Character Recognition (OCR) is de technologie die afbeeldingen van letters omzet in daadwerkelijke, doorzoekbare tekst. In het Java‑ecosysteem zijn er verschillende bibliotheken—Tesseract, Asprise en commerciële SDK’s—die een vergelijkbare workflow bieden: een afbeelding laden, de engine vertellen welke taal verwacht wordt, de herkenning uitvoeren en het resultaat ophalen. Hieronder gebruiken we een generieke `OcrEngine`‑klasse om het voorbeeld duidelijk te houden, maar je kunt deze vervangen door elke concrete implementatie die hetzelfde patroon volgt. + +### Wat je zult leren + +- Installeer een OCR‑bibliotheek (ja, **ocr in java** is makkelijker dan je denkt). +- Maak en configureer een OCR‑engine‑instantie. +- Laad een JPG (of een andere afbeelding) en stel de taal in. +- Verwerk de afbeelding en **extract text from image** bestanden. +- Print de herkende string naar de console. + +![voorbeeld van OCR uitvoeren](ocr-example.png "illustratie van OCR uitvoeren in Java") + +## Stap 1 – Installeer en importeer een OCR‑bibliotheek (ocr in java) + +Voordat je een enkele regel Java schrijft, heb je een bibliotheek nodig die het zware werk daadwerkelijk doet. Als je Maven gebruikt, voeg dan een afhankelijkheid toe zoals deze (vervang `com.example.ocr` door de echte group‑ID van de SDK die je gekozen hebt): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Als je de voorkeur geeft aan Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Zodra de JAR op je classpath staat, importeer je de klassen die je nodig hebt: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Waarom dit belangrijk is:** Het importeren van de juiste klassen voorkomt “cannot find symbol”-fouten en maakt je IDE blij—niets is frustrerender dan een ontbrekende import wanneer je probeert **convert image to text**. + +## Stap 2 – Maak de OCR‑engine‑instantie (how to perform OCR) + +Nu de bibliotheek klaar is, start je de engine. Beschouw de engine als het brein dat naar de pixels kijkt en de letters raadt. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Het maken van de engine is meestal goedkoop; de meeste SDK’s reserveren interne buffers lui, zodat je dezelfde instantie veilig kunt hergebruiken voor veel afbeeldingen als je een batch verwerkt. + +## Stap 3 – Laad de afbeelding en stel de taal in (extract text from image) + +De volgende stap is de engine iets te geven om te lezen. Hier laden we een JPEG van de schijf en vertellen we de OCR‑engine dat de tekst in het Mongools is (ISO 639‑2 code “mon”). Je kunt het pad of de taalcode aanpassen aan je gebruikssituatie. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Kanttekening:** Als je geen taal instelt, gebruikt de engine standaard Engels, wat de nauwkeurigheid drastisch kan verlagen wanneer de tekst daadwerkelijk Cyrillisch of een ander schrift is. Geef altijd de juiste taal op wanneer je kunt. + +## Stap 4 – Verwerk de afbeelding en haal het resultaat op (convert image to text) + +Met de afbeelding en taal ingesteld, vraag je de engine om zijn magie te doen. De `process()`‑aanroep voert het OCR‑algoritme uit en retourneert een `OcrResult`‑object dat de herkende string en vertrouwensscores bevat. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Achter de schermen kan de engine voorverwerking uitvoeren—kantelen corrigeren, binariseren, ruisreductie—zodat je die stappen niet zelf hoeft te schrijven. Daarom zijn de meeste moderne OCR‑bibliotheken een plezier om te gebruiken voor **convert image to text** taken. + +## Stap 5 – Output de geëxtraheerde tekst (read text from jpg) + +Trek tenslotte de platte tekst uit het resultaat en doe er iets nuttigs mee. Voor deze demo printen we het simpelweg naar de console, maar je zou het naar een bestand kunnen schrijven, in een zoekindex kunnen voeren, of doorgeven aan een andere service. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Die regel alleen al bewijst dat je succesvol **read text from jpg** (of een ander ondersteund formaat) hebt uitgevoerd. Als de output er onduidelijk uitziet, controleer dan de taalcode en de beeldkwaliteit. + +## Volledig werkend voorbeeld (Alle stappen gecombineerd) + +Hieronder staat een complete, kant‑klaar Java‑klasse die alle onderdelen samenvoegt. Kopieer deze naar een bestand genaamd `OcrDemo.java`, pas het afbeeldingspad en de taal aan, en voer vervolgens `javac OcrDemo.java && java OcrDemo` uit. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Verwachte output + +Als `input.jpg` de Mongoolse zin “Сайн байна уу?” bevat, zal de console tonen: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Als de afbeelding onscherp is of de taalcode onjuist, zie je onduidelijke tekens of een lege string—veelvoorkomende valkuilen die we hierna bespreken. + +## Veelvoorkomende valkuilen en hoe ze op te lossen + +| Symptoom | Waarschijnlijke oorzaak | Oplossing | +|----------|--------------------------|-----------| +| Vervormde Cyrillische tekens | Verkeerde taalcode (standaard Engels) | Set `ocrEngine.getSettings().setLanguage("mon")` or the appropriate code. | +| Geen output | Afbeeldingspad onjuist of bestand onleesbaar | Verify the path, ensure the file exists, and that the process has read permissions. | +| Lage nauwkeurigheid (<70 %) | Afbeelding heeft weinig contrast of is gedraaid | Pre‑process the image: increase contrast, deskew, or convert to grayscale before feeding it to the engine. | +| `OutOfMemoryError` bij grote PDF's | Veel hoge‑resolutie pagina's tegelijk laden | Process pages one at a time, or downscale images before OCR. | + +### Pro tip: batchverwerking + +Als je **extract text from image** bestanden in bulk moet verwerken, wikkel dan de kernlogica in een lus: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Dat fragment laat zien hoe eenvoudig het is om op te schalen van één JPG naar een hele map met scans. + +## Verder gaan – Wat kun je hierna verkennen? + +- **Taalpakketten:** De meeste OCR‑SDK’s laten je extra taaldata‑bestanden downloaden. Het toevoegen van een nieuw pakket stelt je in staat **convert image to text** voor talen buiten Engels en Mongools. +- **PDF OCR:** Combineer deze code met Apache PDFBox om + +## Wat moet je hierna leren? + +De volgende tutorials behandelen nauw verwante onderwerpen die voortbouwen op de technieken die in deze gids worden getoond. Elke bron bevat volledige werkende code‑voorbeelden met stapsgewijze uitleg om je te helpen extra API‑functies onder de knie te krijgen en alternatieve implementatie‑benaderingen in je eigen projecten te verkennen. + +- [Tekst uit afbeeldingen extraheren – OCR‑basisprincipes met Aspose.OCR voor Java](/ocr/english/java/ocr-basics/) +- [Afbeelding naar tekst converteren in Java met Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Hoe OCR‑afbeeldingstekst met taal te gebruiken met Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..9fc8018e7 100644 --- a/ocr/dutch/java/ocr-operations/_index.md +++ b/ocr/dutch/java/ocr-operations/_index.md @@ -80,6 +80,8 @@ 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. +### [Aspose OCR-licentie toepassen in Java – OCR-watermerk verwijderen](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Leer hoe u de Aspose OCR-licentie in Java installeert om het OCR-watermerk te verwijderen en onbeperkte OCR-functionaliteit te krijgen. ## Veelgestelde vragen diff --git a/ocr/dutch/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/dutch/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..96ff3bcea --- /dev/null +++ b/ocr/dutch/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-06-06 +description: Pas de Aspose OCR-licentie toe in Java om direct alle functies te ontgrendelen + en het OCR-watermerk te verwijderen. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: nl +og_description: Pas de Aspose OCR-licentie toe in Java om evaluatiebeperkingen te + verwijderen en het OCR-watermerk van uw scans te verwijderen. +og_title: Aspose OCR-licentie toepassen in Java – OCR-watermerk verwijderen +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Aspose OCR-licentie toepassen in Java – OCR-watermerk verwijderen +url: /nl/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR-licentie toepassen in Java – OCR-watermerk verwijderen + +Heb je je ooit afgevraagd hoe je **Aspose OCR-licentie** kunt **toepassen** in een Java‑project zonder het vervelende evaluatiewatermerk? Je bent niet de enige. Zodra je de gratis proefversie probeert, wordt elke gescande afbeelding gemarkeerd met die grijze “Aspose Evaluation” overlay, en dat kan zelfs het netste document onprofessioneel laten lijken. + +In deze gids lopen we de exacte stappen door om **Aspose OCR-licentie toe te passen**, te verifiëren dat de bibliotheek volledig ontgrendeld is, en je te laten zien hoe het watermerk automatisch verdwijnt. Aan het einde kun je OCR uitvoeren op elke afbeelding—of het nu een bon, een paspoortscan of een handgeschreven notitie is—zonder de lelijke overlay. + +## Vereisten + +- **Java Development Kit (JDK) 8** of nieuwer geïnstalleerd. +- **Aspose OCR for Java** JAR‑bestand (download van het Aspose‑portaal). +- Je **Aspose OCR-licentiebestand** (`Aspose.OCR.Java.lic`). +- Een IDE of een eenvoudige teksteditor (IntelliJ, Eclipse, VS Code—jouw keuze). + +Dat is alles. Geen extra Maven‑plugins of Gradle‑trucs nodig, hoewel je ze later gerust kunt toevoegen als je dat wilt. + +## Projectopzet (Kort overzicht) + +1. Maak een nieuwe map genaamd `AsposeOCRDemo`. +2. Plaats het `aspose-ocr-*.jar`‑bestand in een `lib`‑submap. +3. Zet je `Aspose.OCR.Java.lic`‑bestand ergens bereikbaar, bijvoorbeeld in de `resources/`‑map. +4. Schrijf een klein `Main.java`‑bestand—hier gebeurt de magie. + +Als je een IDE gebruikt, voeg dan gewoon de JAR toe aan de classpath van het project en markeer de `resources`‑map als een resources‑root. Als je vanaf de commandoregel compileert, ziet de classpath er ongeveer zo uit: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Nu de basis klaar is, gaan we naar de kern van de zaak. + +## Stap 1: **Aspose OCR-licentie toepassen** – De kerncode + +Het eerste wat je moet doen is de Aspose OCR‑engine laten weten dat hij je licentiebestand moet vertrouwen. Zonder deze aanroep blijft de bibliotheek in evaluatiemodus en blijft hij dat watermerk aan elke output toevoegen. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Waarom dit belangrijk is:** De `License`‑klasse is de poortwachter. Zodra `setLicense` slaagt, schakelt de OCR‑engine van *evaluatie* naar *volledige* modus. Alle interne controles die normaal de **remove OCR watermark**‑logica toevoegen, worden uitgeschakeld, zodat je de grijze overlay nooit meer ziet. +> +> **Pro‑tip:** Houd het licentiebestand buiten je source‑control (bijv. in een omgeving‑specifieke map) om per ongeluk committen te voorkomen. + +## Stap 2: Verifiëren dat het watermerk verdwenen is + +Nadat je `applyAsposeOcrLicense` hebt aangeroepen, is het een goede gewoonte om een snelle test uit te voeren. Het volgende fragment laadt een afbeelding, voert OCR uit en print de geëxtraheerde tekst. Als de licentie niet actief is, zal Aspose een uitzondering gooien of een watermerk in de uitvoerafbeelding opnemen (als je een visueel resultaat opslaat). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Verwachte output (fragment):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Merk op dat er nergens sprake is van een evaluatiewatermerk. Dat is het **remove OCR watermark**‑effect in actie. + +## Stap 3: Veelvoorkomende valkuilen & randgevallen + +### 1. Verkeerd licentiepad +Als je een onjuist pad doorgeeft aan `setLicense`, faalt de methode stilzwijgend en blijft de bibliotheek in evaluatiemodus. Controleer altijd de retourwaarde of vang de uitzondering op, zoals getoond in `LicenseUtil`. + +### 2. Een relatief pad gebruiken in een JAR‑gebaseerde implementatie +Wanneer je je app verpakt als een uitvoerbare JAR, kunnen relatieve bestandssysteempaden breken. Een veiligere aanpak is om de licentie te laden als een resource‑stream: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Plaats het `.lic`‑bestand in `src/main/resources` zodat het op de classpath terechtkomt. + +### 3. Multi‑threaded scenario's +Als je applicatie veel afbeeldingen gelijktijdig verwerkt, hoef je de licentie slechts **eenmaal** per JVM toe te passen. Het opnieuw aanroepen van `setLicense` vanuit meerdere threads kan een kleine prestatie‑impact veroorzaken, maar zal niets breken. + +### 4. Licentie‑verval +Aspose‑licenties zijn meestal eeuwigdurend, maar sommige proef‑ of tijdsgebonden licenties kunnen verlopen. Wanneer dat gebeurt, keert de engine terug naar evaluatiemodus en verdwijnt het **remove OCR watermark**‑gedrag. Houd de vervaldatum van de licentie in het Aspose‑portaal in de gaten. + +## Stap 4: Automatiseren van licentietoepassing in real‑world projecten + +In een productie‑microservice wil je `LicenseUtil.applyAsposeOcrLicense` waarschijnlijk niet door je codebase verspreiden. Initialiseert het in plaats daarvan één keer tijdens de opstart van de applicatie—denk aan Spring Boot’s `@PostConstruct`‑methode of een static initializer‑block. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Nu kan elk component dat `OcrEngine` gebruikt er veilig van uitgaan dat de licentie al actief is, waardoor de **remove OCR watermark**‑garantie over de hele service wordt gewaarborgd. + +## Stap 5: De licentie‑integratie testen + +Geautomatiseerde tests kunnen bevestigen dat het watermerk inderdaad verdwenen is. Een eenvoudige JUnit‑test kan er zo uitzien: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Het uitvoeren van deze test geeft je vertrouwen dat je deployment‑pipeline niet per ongeluk een niet‑gelicentieerde build zal leveren. + +## Visueel overzicht (optioneel) + +Als je dingen graag grafisch ziet, hier is een snel schema van de stroom: + +![Aspose OCR-licentie toepassen in Java](apply-aspose-ocr-license.png "Aspose OCR-licentie toepassen in Java") + +*Alt‑tekst: Aspose OCR-licentie toepassen in Java – diagram dat licentie‑laden toont, gevolgd door OCR‑verwerking zonder watermerk.* + +## Conclusie + +We hebben alles behandeld wat je nodig hebt om **Aspose OCR-licentie toe te passen** in een Java‑omgeving en, als direct neveneffect, **OCR-watermerk te verwijderen** van alle verwerkte afbeeldingen. Van het maken van het `License`‑object, het afhandelen van pad‑eigenaardigheden, het verifiëren van het resultaat, tot het integreren in een grotere applicatie—elke stap werd uitgelegd met het “waarom” erachter, niet alleen het “hoe”. + +Nu kun je Aspose OCR integreren in elk Java‑project, ervan overtuigd dat je gebruikers dat storende evaluatietag nooit meer zullen zien. + +### Wat is het volgende? + +- **Verken taalpakketten:** Aspose OCR ondersteunt meer dan 70 talen; stel gewoon de juiste `OcrEngine`‑eigenschap in. +- **Combineer met Aspose PDF:** Converteer gescande afbeeldingen direct naar doorzoekbare PDF’s zonder watermerk. +- **Prestatietuning** + +## Wat moet je hierna leren? + +De volgende tutorials behandelen nauw verwante onderwerpen die voortbouwen op de technieken die in deze gids worden getoond. Elke bron bevat volledige werkende code‑voorbeelden met stap‑voor‑stap uitleg om je te helpen extra API‑functies onder de knie te krijgen en alternatieve implementatie‑benaderingen in je eigen projecten te verkennen. + +- [Hoe licentie instellen en Aspose.OCR-licentie verifiëren in Java](/ocr/english/java/ocr-basics/set-license/) +- [tekstafbeelding herkennen met Aspose OCR – volledige Java OCR‑tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Scheefhoek berekenen met Aspose OCR Java – volledige gids](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..256d11e3a 100644 --- a/ocr/english/java/advanced-ocr-techniques/_index.md +++ b/ocr/english/java/advanced-ocr-techniques/_index.md @@ -82,6 +82,16 @@ 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 in Java OCR – Complete Step‑by‑Step Guide](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Learn how to enable GPU acceleration for Aspose.OCR in Java, boosting performance with a step‑by‑step configuration guide. +### [Extract Text from Scanned Image in Java – Complete Aspose OCR Guide](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Learn how to extract text from scanned images in Java using Aspose.OCR with step‑by‑step instructions and best‑practice tips. +### [Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, and Process OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Comprehensive guide to load images, apply spell‑correction, and execute OCR with Aspose OCR for Java. +### [Improve OCR Accuracy in Java – Complete Guide](./improve-ocr-accuracy-in-java-complete-guide/) +Learn how to boost OCR accuracy in Java with Aspose.OCR using preprocessing, language settings, and custom dictionaries. +### [Create Searchable PDF in Java – Full Aspose OCR Guide](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Learn how to convert images and PDFs into searchable PDFs using Aspose.OCR for Java with step‑by‑step instructions. ## Frequently Asked Questions @@ -111,4 +121,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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/english/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..f7bb0808e --- /dev/null +++ b/ocr/english/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java example showing how to load image OCR, correct OCR errors, + set custom dictionary, and process image OCR in just a few steps. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: en +og_description: Aspose OCR Java example that loads an image, corrects OCR errors, + sets a custom dictionary, and processes image OCR efficiently. +og_title: Aspose OCR Java Example – Load Image, Spell‑Correct & Process OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, and + Process OCR +url: /java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, and Process OCR + +Ever needed an **Aspose OCR Java example** that actually works out‑of‑the‑box? You’re not alone—developers often stare at a blurry screenshot and wonder why the extracted text is a mess. The good news is that Aspose’s OCR engine already ships with built‑in spell‑correction, and you can even plug in your own word list. In this tutorial we’ll walk through loading an image OCR, enabling the correction feature, optionally setting a custom dictionary, and finally processing image OCR to get clean, readable text. + +We’ll also cover why you might want to **correct OCR errors**, how to **load image OCR** efficiently, the benefits of a **set custom dictionary** call, and what the end‑to‑end **process image OCR** flow looks like. By the end you’ll have a fully runnable Java program you can drop into any Maven or Gradle project. + +--- + +## What You’ll Need + +- Java 8 or newer (the API works with Java 11+ as well) +- Aspose.OCR for Java library (download the latest JAR from the Aspose website or add the Maven dependency) +- An image file containing text (preferably a scanned document or a screenshot with some noise) +- Optional: a plain‑text dictionary file if you want to **set custom dictionary** for domain‑specific terms + +That’s it—no heavyweight OCR engines, no native dependencies, just a single JAR and a couple of lines of code. + +--- + +## Step 1: Aspose OCR Java Example – Load Image OCR + +The first thing you have to do is create an `OcrEngine` instance and point it at the file you want to analyse. Think of this as opening a book before you start reading. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Why this matters:** The `setImage` call is the heart of **load image OCR**. Without a valid image, the engine has nothing to recognize, and you’ll end up with an empty string or an exception. + +![aspose ocr java example loading image](image.png){alt="aspose ocr java example loading image"} + +--- + +## Step 2: Enable Spell‑Correction to Correct OCR Errors + +Aspose OCR ships with spell‑correction turned on by default, but it never hurts to be explicit—especially when you’re demonstrating an **aspose ocr java example**. Enabling this feature dramatically reduces gibberish like “t1e” or “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** If you notice the engine still mis‑recognising certain words, double‑check the language settings or add a custom dictionary (next step). + +Enabling spell‑correction is the quickest way to **correct OCR errors** without writing any extra code. + +--- + +## Step 3: Set Custom Dictionary for Better Accuracy + +Sometimes the default dictionary doesn’t know your industry‑specific jargon—think of medical terms, product codes, or brand names. That’s where **set custom dictionary** shines. Provide a plain‑text file, one word per line, and the OCR engine will treat those entries as valid during correction. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **When to use it:** If you’re processing invoices and the company names keep getting mangled, a custom dictionary containing those names will make the **process image OCR** stage far more reliable. + +--- + +## Step 4: Process Image OCR and Retrieve the Text + +Now that the engine is configured, it’s time to actually run the recognition. The `process` method does all the heavy lifting—detecting text blocks, applying spell‑correction, and returning an `OcrResult` object. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **What you’ll see:** The console prints a clean, human‑readable string. If you omitted spell‑correction, you’d likely see weird characters, which is why enabling it earlier is crucial for **correct OCR errors**. + +--- + +## Step 5: Run the Example and Verify the Output + +Compile and execute the class with your favorite IDE or from the command line: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +You should see something like: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +If the output still contains misspellings, try adding those words to your custom dictionary and re‑run the **process image OCR** step. + +--- + +## Common Pitfalls and How to Avoid Them + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank output** | Image path wrong or unsupported format | Verify the path, use PNG/JPEG, and ensure the file is readable | +| **Garbage characters** | Spell‑correction disabled or low‑quality image | Enable `setEnableSpellCorrection(true)` and consider pre‑processing the image (increase contrast) | +| **Domain‑specific words still wrong** | No custom dictionary | Use `setCustomDictionary` with a file containing your terms | +| **Out‑of‑memory errors** | Very large images loaded without scaling | Resize the image before feeding it to `OcrEngine` | + +--- + +## Extending the Example + +Now that you have a solid **aspose ocr java example**, you might want to: + +- **Batch process** a folder of images by looping over file names and re‑using the same `OcrEngine` instance. +- **Extract layout information** (tables, columns) using `ocrResult.getPages()` for more advanced document analysis. +- **Integrate with Apache PDFBox** to embed the recognized text back into a PDF. + +All of these extensions build on the same core steps we covered: load image OCR, enable correction, optionally set a custom dictionary, and process image OCR. + +--- + +## Conclusion + +You’ve just built a complete **aspose ocr java example** that loads an image, enables spell‑correction to **correct OCR errors**, optionally **set custom dictionary**, and finally **process image OCR** to retrieve clean text. The code is short, the concepts are clear, and you now have a foundation you can expand for batch jobs, UI integrations, or even cloud micro‑services. + +What’s next? Try feeding the engine a low‑resolution photo, add a list of product SKUs to your custom dictionary, and see how the accuracy improves. The more you experiment, the better you’ll understand the trade‑offs between image quality, dictionary size, and processing speed. + +Feel free to drop a comment if you hit any snags or have ideas for further enhancements. Happy coding! + + +## What Should You Learn Next? + + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/english/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..a0732e9ff --- /dev/null +++ b/ocr/english/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,280 @@ +--- +category: general +date: 2026-06-06 +description: Create searchable PDF with Java using Aspose OCR. Learn to extract text + from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: en +og_description: Create searchable PDF with Java using Aspose OCR. This guide walks + you through extracting text from PDF, increasing OCR accuracy, and handling multi‑page + PDFs. +og_title: Create Searchable PDF in Java – Complete Aspose OCR Tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Create Searchable PDF in Java – Full Aspose OCR Guide +url: /java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Create Searchable PDF in Java – Full Aspose OCR Guide + +Ever wondered how to **create searchable PDF** files straight from Java without juggling dozens of command‑line tools? You’re not alone. Many developers hit a wall when they need to turn scanned PDFs into text‑searchable documents, especially when the source PDFs span several pages. + +In this tutorial we’ll walk through a complete, runnable example that not only **creates searchable PDF** files but also shows you how to **extract text from PDF**, **increase OCR accuracy**, and handle an **OCR multi page PDF** workflow using the Aspose OCR library. By the end you’ll have a solid, production‑ready snippet you can drop into any Java project. + +## What You’ll Need + +- Java 17 or newer (the code compiles with older versions, but JDK 17 is the sweet spot) +- Maven or Gradle to pull in the `aspose-ocr` dependency +- A sample multi‑page PDF (we’ll call it `sample_multi_page.pdf`) +- A modest GPU or at least a multicore CPU if you want to enable parallel processing + +No additional native libraries are required—Aspose OCR bundles everything you need. + +--- + +## Create Searchable PDF – Step‑by‑Step Implementation + +Below we break the process into logical chunks. Each section has its own H2 header so you can jump straight to the part you care about, and the primary keyword appears right here in the heading. + +### Step 1: Set Up the Project and Import Aspose OCR + +First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer Gradle, the equivalent snippet is provided in the comments. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Keep your dependencies up to date; newer releases often bring accuracy improvements that directly help you **increase OCR accuracy**. + +### Step 2: Load the Multi‑Page PDF into the OCR Engine + +Now we create an `OcrEngine` instance and feed it the PDF we want to process. The engine treats each page as an image internally, which is why this approach works for an **ocr multi page pdf** scenario. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Why this matters:** Loading the PDF once and letting the engine handle pagination avoids the overhead of manually extracting each page, saving both time and memory. + +### Step 3: Enable Advanced Features to **Increase OCR Accuracy** + +Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, increasing thread count, and specifying multiple languages all contribute to better recognition rates, especially on noisy scans. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **What if you don’t have a GPU?** Simply set `setUseGpu(false)`; the engine will fall back to CPU‑only mode while still benefiting from multithreading. + +### Step 4: Pre‑process Images for Better Results + +Pre‑processing steps such as deskewing, denoising, and contrast boosting dramatically **increase OCR accuracy** on scanned documents. Think of it as polishing a rough stone before carving. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Why these settings?** A denoise level of `2` works well for most scanned PDFs, while a modest contrast boost (1.3×) lifts faint ink without blowing out the background. + +### Step 5: Configure the Output to Generate a Searchable PDF + +Aspose OCR can embed the recognized text layer directly into a PDF, turning a flat image file into a **searchable PDF**. This is the core of the “how to make searchable pdf” question many developers ask. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +When `setGenerateSearchablePdf(true)` is enabled, the library creates an invisible text layer that mirrors the visual content, making the final document searchable in any PDF viewer. + +### Step 6: Run OCR and Persist the Result + +Now we actually process the document and write the output file. The `process` method returns an `OcrResult` object that contains both the searchable PDF and the extracted plain text. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Step 7: (Optional) **Extract Text from PDF** for Immediate Use + +If you also need the raw text—for indexing, analytics, or simply displaying on a web page—you can pull it straight from the `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**What you’ll see:** The console will output the concatenated text of all pages, preserving line breaks where possible. This satisfies the **extract text from pdf** requirement without a second pass. + +--- + +## Visual Overview + +Below is a simple flow diagram that maps each step to the corresponding code block. It helps you visualize how the input PDF travels through preprocessing, OCR, and finally becomes a searchable document. + +![Create searchable PDF flow diagram](https://example.com/flow-diagram.png "Create searchable PDF flow diagram") + +*Alt text contains the primary keyword to satisfy image SEO.* + +--- + +## Common Questions & Edge Cases + +| Question | Answer | +|----------|--------| +| **Can I process PDFs larger than 100 MB?** | Yes, but consider streaming pages instead of loading the whole file into memory. Aspose OCR internally manages paging, but you may want to increase the JVM heap (`-Xmx4g`) for very large files. | +| **What if my PDF contains handwritten notes?** | Handwriting recognition isn’t enabled by default. You can switch to `setLanguage("eng,mon,handwritten")` if the library version supports it, though accuracy will vary. | +| **Do I need a license for Aspose OCR?** | A temporary evaluation license works for testing. For production, acquire a commercial license to remove watermarks and unlock full performance. | +| **How do I disable spell correction?** | Call `ocr.getSettings().setEnableSpellCorrection(false);` – useful when you need the raw OCR output for forensic purposes. | +| **Is GPU support mandatory?** | No. The library gracefully falls back to CPU. However, GPU can cut processing time by up to 60 % on large multi‑page documents. | + +--- + +## Full Working Example (Copy‑Paste Ready) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Expected Output** + +- `output_searchable.pdf` – a PDF where you can type Ctrl + F and find any word that appeared in the scanned images. +- Console log – the full textual content of the original PDF, perfect for indexing or further analysis. + +--- + +## Conclusion + +We’ve just demonstrated how to **create searchable PDF** files in Java using Aspose OCR, while also showing you how to **extract text from PDF**, **increase OCR accuracy**, and efficiently handle an **OCR multi page PDF** workflow. The complete code snippet above is ready to drop into your project, and the explanations give you the confidence to tweak settings for your specific use case. + +What’s next? Try experimenting with custom font embeddings, add OCR‑generated bookmarks, or integrate the output with a search engine like Elasticsearch. Each of those topics ties back to our secondary keywords—*how to make searchable pdf* and *increase OCR accuracy*—so you have a clear path for deeper exploration. + +Feel free to share your experiences or ask follow‑up questions in the comments. Happy coding, and enjoy turning those static scans into fully searchable, text‑rich PDFs! + + +## What Should You Learn Next? + + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/english/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..43697adc4 --- /dev/null +++ b/ocr/english/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,274 @@ +--- +category: general +date: 2026-06-06 +description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: en +og_description: Extract text from scanned image with Aspose OCR. This guide shows + how to recognize text from tiff files efficiently using Java. +og_title: Extract Text from Scanned Image – Aspose OCR Java Tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide +url: /java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extract Text from Scanned Image – Complete Aspose OCR Guide + +Ever needed to **extract text from scanned image** but felt stuck at the “how?”? You’re not the only one. Whether you’re digitizing old archives, pulling data from invoices, or building a searchable PDF library, getting reliable text out of a TIFF scan can be a pain point. + +Good news: with Aspose OCR for Java you can **recognize text from tiff** files in just a few lines, and even squeeze out extra speed by limiting the engine to a handful of CPU cores. In this tutorial we’ll walk through the whole process—from setting up the library to handling the result—so you can copy‑paste a working example right away. + +## What This Tutorial Covers + +- Installing Aspose OCR for Java (Maven or manual JAR) +- Loading a large scanned TIFF image +- Configuring the engine to use up to 4 threads (parallel OCR) +- Running the OCR process and printing the extracted text +- Common pitfalls (memory, multi‑page TIFFs) and how to avoid them +- Quick performance tip: when to tune `setMaxThreads` + +By the end you’ll be able to **extract text from scanned image** files reliably, and you’ll understand why tweaking the thread count matters when you *recognize text from tiff* in a production pipeline. + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Prerequisites + +Before we dive in, make sure you have: + +1. **Java Development Kit (JDK) 8+** – any recent version works. +2. **Maven** (or the ability to add JARs manually) – we’ll use Maven for simplicity. +3. An **Aspose OCR for Java** license (the free evaluation works, but it adds a watermark). +4. A **large TIFF scan** (e.g., `large_scan.tif`) you want to process. + +If any of these sound unfamiliar, don’t worry—each step is explained below. + +## Step 1: Add Aspose OCR to Your Project + +### Maven users + +Add the following dependency to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Manual JAR setup + +Download the latest `aspose-ocr-xx.jar` from the Aspose website and place it on your classpath. + +> **Pro tip:** Keep the JAR in a `libs/` folder and reference it in your IDE’s project settings. This avoids “class not found” surprises later. + +## Step 2: Create a Simple Java Class + +Create a file named `ParallelOcrDemo.java` in your source folder (`src/main/java`). This class will hold the entire OCR workflow. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Why we limit threads:** By default Aspose OCR will try to use every core, which can starve other services on a shared machine. Setting `setMaxThreads(4)` tells the engine to run up to four parallel workers—enough for a noticeable speed‑up on most modern CPUs without monopolizing resources. + +## Step 3: Compile and Run + +Open a terminal at the project root and execute: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +If you’re not using Maven, compile with `javac` and run: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Expected Output + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +The console will display the plain‑text version of whatever was on the scanned page. If the image contains multiple pages, Aspose OCR concatenates them in order. + +## Step 4: Handling Multi‑Page TIFFs (Edge Case) + +A common scenario is a **multi‑page TIFF**—think of a scanned book. By default `OcrInputImage` reads the first frame only. To process all pages, use `OcrInputImage` with a `FileInputStream` and enable multi‑page support: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Now `ocrEngine.process()` will return a single `OcrResult` that contains the concatenated text from every page. + +## Step 5: Fine‑Tuning Recognition Accuracy + +If you notice **garbled characters** or missing words, try these adjustments: + +| Setting | What it does | When to use it | +|---------|--------------|----------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Forces English language model (faster, more accurate for English scans) | Your document is monolingual English | +| `ocrEngine.getSettings().setResolution(300)` | Upscales low‑resolution images before recognition | Scans below 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Attempts to clean speckles and artifacts | Scans with heavy noise | + +Example snippet: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Step 6: Exporting Results to a File + +Printing to the console is fine for demos, but production code usually writes the output somewhere useful: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Now you have a plain‑text file you can feed into a search index, a database, or a downstream analytics pipeline. + +--- + +## Frequently Asked Questions (FAQ) + +**Q: Does this work with PNG or JPEG files?** +A: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can read. Just replace the file extension in the path. + +**Q: My server has 8 cores—should I set `setMaxThreads(8)`?** +A: You could, but remember other services may need CPU cycles. A good rule of thumb is “total cores – 1” for dedicated OCR workers. + +**Q: What if the OCR result is empty?** +A: Check that the image isn’t completely white, that you set the correct language, and that the resolution is at least 200 DPI. Low‑quality scans often need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + +--- + +## Wrap‑Up + +We’ve just **extracted text from scanned image** files using Aspose OCR for Java, and you now know how to **recognize text from tiff** efficiently with parallel processing. The complete code lives in the snippets above, and you can copy‑paste it into your own project right away. + +### What’s Next? + +- **Batch processing**: Loop over a directory of TIFFs, store each result in its own file. +- **Integrate with Elasticsearch**: Index the extracted text for fast full‑text search. +- **Add language detection**: Use `OcrLanguage.AutoDetect` for multi‑lingual documents. + +Experiment with those ideas, and you’ll quickly turn a mountain of scanned paperwork into searchable, actionable data. + +Happy coding, and feel free to drop a comment if you hit a snag! + + +## What Should You Learn Next? + + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/english/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..ddb9323e5 --- /dev/null +++ b/ocr/english/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,256 @@ +--- +category: general +date: 2026-06-06 +description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: en +og_description: How to enable GPU in Java OCR and instantly extract text from JPEG + images. This guide shows a complete java ocr example with GPU accelerated OCR. +og_title: How to enable GPU in Java OCR – Full Programming Walkthrough +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide +url: /java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + +Ever wondered **how to enable GPU** for optical character recognition in Java? You’re not the only one—developers constantly ask, “Can I make OCR faster without rewriting everything?” The short answer is yes, and the long answer is right here. In this tutorial we’ll walk through a **java ocr example** that **extracts text from JPEG** files, **converts image to text**, and leverages **GPU accelerated OCR** for blazing‑quick results. + +We’ll start by setting up the Aspose OCR library, load a sample JPEG, turn on GPU support, run the engine, and finally print the recognized text. By the end you’ll have a reusable snippet you can drop into any Java project, plus a handful of tips that keep you from common pitfalls. No fluff, just the nitty‑gritty you need to get moving. + +## Prerequisites + +Before we dive, make sure you have: + +* Java 8 or newer installed (the code uses standard APIs, so any recent JDK works). +* A compatible GPU with up‑to‑date drivers – most modern NVIDIA/AMD cards qualify. +* The Aspose.OCR for Java library (you can grab it from Maven Central or the Aspose website). +* A JPEG image you’d like to run OCR against – we’ll call it `sample.jpg`. + +That’s it. If any of those sound unfamiliar, pause and install the missing piece; the rest of the guide assumes they’re already in place. + +## How to enable GPU in Java OCR – Overview + +Below is a quick snapshot of what we’ll achieve: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Think of the GPU as a turbo‑charger for your OCR engine—rather than the CPU doing every pixel‑by‑pixel analysis, the graphics card handles the heavy lifting in parallel. The result? Faster processing times, especially on high‑resolution scans. + +## Step 1: Set Up the Project and Import Aspose OCR + +First things first, create a new Maven project (or Gradle, if you prefer). Add the Aspose OCR dependency: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +If you’re not using Maven, download the JAR from Aspose and add it to your classpath. This step is the foundation of any **java ocr example** you’ll ever write, so double‑check that the library resolves correctly. + +## Step 2: Load the JPEG Image (Extract Text from JPEG) + +Now we’ll write code to read a JPEG file. The `OcrInputImage` class accepts a path, and we’ll feed it into the `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Why this matters:** Loading the image correctly is the first step in any **convert image to text** workflow. If the path is wrong, the engine throws an exception before it even gets to the GPU stage. + +## Step 3: Enable GPU Acceleration (How to Enable GPU) + +Here’s the core of the tutorial—turning on GPU support. The `OcrSettings` object exposes a `setUseGpu` flag. Just set it to `true` and you’re good to go. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** Verify that your GPU driver is up‑to‑date. Out‑of‑date drivers often cause the `setUseGpu(true)` call to silently fail, leaving you with CPU‑only performance. + +## Step 4: Run the OCR Engine (Java OCR Example) + +With the image loaded and GPU enabled, fire the OCR process. The engine returns an `OcrResult` object that contains the recognized text. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Behind the scenes, Aspose splits the image into tiles, sends them to the GPU for parallel inference, and stitches the results back together. This is what makes the **gpu accelerated ocr** experience noticeably faster than the default CPU path. + +## Step 5: Output the Recognized Text (Convert Image to Text) + +Finally, print the result to the console. In a real‑world app you’d probably write this to a file or a database, but for illustration a simple `System.out.println` does the trick. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Expected Output + +Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see: + +``` +Recognized text: +Hello, World! +``` + +If the image is more complex (multiple lines, tables, etc.), the output will contain line breaks and spacing that mirror the original layout. That’s the beauty of Aspose’s OCR engine—it preserves structure while converting the image to text. + +## Full Working Example + +Putting it all together, here’s the complete, ready‑to‑run program: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Save this as `GpuOcrDemo.java`, compile with `javac`, and run with `java`. If everything is wired correctly, the console will display the extracted text in a flash. + +## Common Questions & Edge Cases + +### 1. My GPU isn’t being used – what gives? + +* **Check driver version** – older drivers may not expose the required compute capabilities. +* **Validate GPU support** – Aspose requires a CUDA‑compatible NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled discrete GPU, enable it in BIOS or the graphics control panel. +* **Inspect logs** – Aspose writes a debug line when GPU mode is active. Enable logging via `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. The OCR result is garbled on a low‑resolution image. + +* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast enhancement, or convert to grayscale before feeding it to the engine. +* **Adjust settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` or enable `setUseLanguageDetection(true)` for better accuracy. + +### 3. Can I process multiple images in a batch? + +Absolutely. Wrap the loading and processing blocks in a loop, re‑using the same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations to clear the previous image. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Does GPU acceleration work on headless servers? + +Yes, as long as the server has a supported GPU and the proper drivers. On Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` toolkit is on the `PATH`. + +## Pro Tips for Production‑Ready GPU OCR + +* **Batch size matters** – larger images benefit more from GPU parallelism. If you’re processing tiny icons, the overhead of GPU transfer may outweigh the gains. +* **Memory management** – GPUs have limited VRAM. For very large PDFs or multi‑megapixel scans, split the image into smaller tiles manually. +* **Error handling** – wrap the OCR call in a try‑catch block and fall back to CPU mode (`setUseGpu(false)`) if an `UnsupportedOperationException` is thrown. + +## Conclusion + +We’ve just covered **how to enable GPU** in a **java ocr example**, shown you how to **extract text from JPEG** files, and demonstrated a clean way to **convert image to text** using Aspose’s **gpu accelerated OCR** engine. The complete snippet above is ready to drop into any Java project, and the accompanying tips should keep you from the usual headaches. + +What’s next? Try adding language packs, experiment with different image formats (PNG, TIFF), or integrate the output into a search index. The sky’s the limit when you pair OCR with GPU power. + +Got more questions about GPU‑accelerated OCR or need help tweaking the settings? Drop a comment, and happy coding! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + + +## What Should You Learn Next? + + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/english/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..81f6f2f71 --- /dev/null +++ b/ocr/english/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: en +og_description: Improve OCR accuracy in Java with a hands‑on example. Learn to load + image OCR, preprocess, and perform OCR image to extract text scanned page. +og_title: Improve OCR Accuracy in Java – Full Tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Improve OCR Accuracy in Java – Complete Guide +url: /java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Improve OCR Accuracy in Java – Complete Guide + +Ever wondered how to **improve OCR accuracy** when you’re dealing with old book scans or blurry receipts? You’re not alone. In many real‑world projects the raw output from an OCR engine looks like a cryptic mess, and that’s usually because the image wasn’t pre‑processed correctly before you **perform OCR image**. + +In this tutorial we’ll walk through a practical Java example that shows exactly how to **load image OCR**, apply a few smart preprocessing steps, **process image OCR**, and finally **extract text scanned page** with a clean result. By the end you’ll understand not only *what* to code, but *why* each line matters for boosting recognition quality. + +## What You’ll Learn + +- How to instantiate an OCR engine in Java +- The right way to **load image OCR** from disk +- Why deskewing, denoising, and contrast boosting are essential for **improve OCR accuracy** +- How to **perform OCR image** and retrieve the recognized text +- Tips for handling different image formats and edge‑cases + +No external documentation needed – everything you need is right here, and the complete, runnable code is included at the bottom. + +## Prerequisites + +- Java 17 (or any recent JDK) installed on your machine +- An OCR library that provides the `OcrEngine`, `OcrInputImage`, and `OcrResult` classes (the sample uses a generic API; replace with your vendor’s jar if needed) +- A scanned image (PNG, JPEG, or TIFF) you want to run OCR on – for the demo we’ll use `old_book_page.png` located in a folder called `YOUR_DIRECTORY` + +If you’re missing the OCR jar, just drop it into your project’s `libs` folder and add it to the classpath. That’s all. + +--- + +## Step 1 – Improve OCR Accuracy: Set Up the Engine + +Before we can **process image OCR**, we need a fresh engine instance. Creating a new `OcrEngine` gives us a clean slate, ensuring no leftover settings from previous runs. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Why this matters*: A freshly created engine starts with default preprocessing disabled. That’s intentional – we want to enable only the steps that truly help our specific image, which is the cornerstone of **improve OCR accuracy**. + +--- + +## Step 2 – Load Image OCR – Preparing Your Scan + +Now we actually **load image OCR**. The `setImage` method expects an `OcrInputImage` that points to the file on disk. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +A couple of notes: + +1. **Supported formats** – most libraries accept PNG, JPEG, BMP, and TIFF. If you have a PDF, convert the first page to an image first. +2. **Path handling** – using an absolute path avoids the “file not found” pitfall when the working directory changes. + +--- + +## Step 3 – Deskew: Straightening Rotated Pages + +Many scanned pages aren’t perfectly horizontal. A slight rotation can cripple recognition because the OCR engine expects lines of text to be level. Enabling deskew automatically detects and corrects that rotation. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: If you know the rotation angle in advance (e.g., 90°), you can manually rotate the image before feeding it to the engine – often faster for batch jobs. + +--- + +## Step 4 – Denoise: Reducing Background Grain + +Old documents frequently contain paper texture, dust, or compression artifacts. The `setDenoiseLevel` method applies a filter that smooths out this noise. Level 2 is a good starting point for most scanned pages. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Why it helps**: Noise creates false edges that the OCR engine may interpret as characters. By cleaning the image, we **improve OCR accuracy** without sacrificing the actual glyph shapes. + +--- + +## Step 5 – Boost Contrast: Making Text Pop + +If the scan is faded, the contrast between ink and paper is low, and the engine struggles to differentiate foreground from background. A modest contrast boost of `1.4f` (40 % increase) usually does the trick. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Edge case*: For very dark images, a higher factor (up to 2.0) can be beneficial, but beware of clipping – overly bright regions may become pure white, erasing fine details. + +--- + +## Step 6 – Perform OCR Image – The Core Processing Step + +All the preparation leads up to this line: actually running the OCR engine on the pre‑processed image. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Under the hood the engine runs its segmentation, character recognition, and language model stages. If you need multiple languages, set them on the engine **before** calling `process()`. + +--- + +## Step 7 – Extract Text Scanned Page – Getting the Output + +Finally, we pull the recognized string from `OcrResult`. Printing it to the console is enough for a quick demo, but you could also write it to a file, a database, or feed it into a downstream NLP pipeline. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Expected output** (truncated for brevity): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +If the output still looks garbled, revisit the preprocessing parameters – sometimes a higher denoise level or a different contrast factor makes a noticeable difference. + +--- + +## Full Working Example + +Below is the complete, self‑contained Java program that you can copy, paste, and run. It includes the necessary imports, a `main` method, and inline comments that clarify each step. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Save this as `OcrAccuracyDemo.java`, compile with `javac`, and run it with `java`. If everything is set up correctly, you’ll see the cleaned‑up text printed to the terminal. + +--- + +## Common Questions & Edge Cases + +**Q: My scanned page is in color – should I convert it to grayscale first?** +A: Most OCR engines internally convert to grayscale, but doing it yourself (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control over the conversion algorithm, especially when the background isn’t uniform. + +**Q: The output still contains stray symbols. What now?** +A: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) before OCR – many libraries expose a `setBinarization(true)` option. + +**Q: How do I handle multi‑page PDFs?** +A: Convert each page to an image (using Apache PDFBox, for instance) and loop over the pages, re‑using the same `OcrEngine` instance but resetting the image each iteration. + +--- + +## Conclusion + +You’ve just learned how to **improve OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoise, and contrast boost, then **perform OCR image** and finally **extract text scanned page**. The key takeaway is that preprocessing is often the single most effective lever for boosting recognition quality – a well‑prepped image can double or even triple the correct‑character rate. + +Ready for the next step? Try experimenting with: + +- Different denoise levels for heavily grainy scans +- Adaptive contrast boosting based on image histogram analysis +- Integrating a language model (e.g., spell‑checking) after extraction to clean up residual errors + +These extensions will deepen your OCR pipeline and make it robust enough for production workloads. + +If you hit a snag or have a clever trick of your own, drop a comment below. Happy coding, and may your text be ever legible! + + +## What Should You Learn Next? + + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/java/ocr-basics/_index.md b/ocr/english/java/ocr-basics/_index.md index 77c9e71f9..698edfec1 100644 --- a/ocr/english/java/ocr-basics/_index.md +++ b/ocr/english/java/ocr-basics/_index.md @@ -99,6 +99,8 @@ 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. +### [How to Perform OCR in Java – Complete Guide to Extract Text from Images](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Master OCR in Java with this comprehensive guide. Learn to extract text from images, configure settings, and boost recognition accuracy. --- @@ -111,4 +113,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/english/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..78e1f5670 --- /dev/null +++ b/ocr/english/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-06-06 +description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: en +og_description: how to perform OCR in Java – learn how to extract text from image, + convert image to text, and read text from jpg with a ready‑to‑run example. +og_title: How to Perform OCR in Java – Step‑by‑Step Guide +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: How to Perform OCR in Java – Complete Guide to Extract Text from Images +url: /java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Perform OCR in Java – Complete Guide to Extract Text from Images + +Ever wondered **how to perform OCR** on a picture you snapped on your phone? You're not the only one. Whether you're building a receipt‑scanning app or just need to pull text out of a scanned PDF, **how to perform OCR** in Java is a skill that pays off quickly. In this tutorial we’ll walk through a practical example that **extracts text from image** files, **converts image to text**, and even shows you how to **read text from jpg** with just a few lines of code. + +> *Pro tip:* The same approach works for PNG, BMP, or any format the OCR engine supports—just swap the file name. + +## How to Perform OCR in Java – Overview + +Optical Character Recognition (OCR) is the technology that turns pictures of letters into actual, searchable text. In the Java ecosystem there are several libraries—Tesseract, Asprise, and commercial SDKs—all exposing a similar workflow: load an image, tell the engine what language to expect, run the recognition, and grab the result. Below we’ll use a generic `OcrEngine` class to keep the example clear, but you can replace it with any concrete implementation that follows the same pattern. + +### What You’ll Learn + +- Install an OCR library (yes, **ocr in java** is easier than you think). +- Create and configure an OCR engine instance. +- Load a JPG (or any image) and set the language. +- Process the image and **extract text from image** files. +- Print the recognized string to the console. + +By the end you’ll have a self‑contained Java program you can drop into any project and run instantly. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## Step 1 – Install and Import an OCR Library (ocr in java) + +Before you write a single line of Java, you need a library that actually does the heavy lifting. If you’re using Maven, add a dependency like this (replace `com.example.ocr` with the real group ID of your chosen SDK): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +If you prefer Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Once the JAR is on your classpath, import the classes you’ll need: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Why this matters:** Importing the right classes prevents “cannot find symbol” errors and makes your IDE happy—nothing more frustrating than a missing import when you’re trying to **convert image to text**. + +## Step 2 – Create the OCR Engine Instance (how to perform OCR) + +Now that the library is ready, spin up the engine. Think of the engine as the brain that will look at the pixels and guess the letters. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Creating the engine is usually cheap; most SDKs allocate internal buffers lazily, so you can safely reuse the same instance across many images if you’re processing a batch. + +## Step 3 – Load the Image and Set the Language (extract text from image) + +The next step is to give the engine something to read. Here we load a JPEG from disk and tell the OCR engine that the text is in Mongolian (ISO 639‑2 code “mon”). You can change the path or language code to match your use‑case. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Side note:** If you don’t set a language, the engine defaults to English, which can drastically lower accuracy when the text is actually Cyrillic or another script. Always specify the correct language when you can. + +## Step 4 – Process the Image and Get the Result (convert image to text) + +With the image and language in place, ask the engine to do its magic. The `process()` call runs the OCR algorithm and returns an `OcrResult` object containing the recognized string and confidence scores. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Behind the scenes, the engine may perform preprocessing—deskewing, binarization, noise reduction—so you don’t have to write those steps yourself. That’s why most modern OCR libraries are a joy to use for **convert image to text** tasks. + +## Step 5 – Output the Extracted Text (read text from jpg) + +Finally, pull the plain‑text out of the result and do something useful with it. For this demo we simply print it to the console, but you could write it to a file, feed it into a search index, or pass it to another service. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +That line alone proves you’ve successfully **read text from jpg** (or any supported format). If the output looks garbled, double‑check the language code and image quality. + +## Full Working Example (All Steps Combined) + +Below is a complete, ready‑to‑run Java class that ties every piece together. Copy it into a file named `OcrDemo.java`, adjust the image path and language, then run `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Expected Output + +If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console will show: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +If the image is blurry or the language code is wrong, you’ll see garbled characters or an empty string—common pitfalls that we’ll discuss next. + +## Common Pitfalls and How to Fix Them + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Garbled Cyrillic characters | Wrong language code (defaulting to English) | Set `ocrEngine.getSettings().setLanguage("mon")` or the appropriate code. | +| No output at all | Image path incorrect or file unreadable | Verify the path, ensure the file exists, and that the process has read permissions. | +| Low accuracy (<70 %) | Image is low‑contrast or rotated | Pre‑process the image: increase contrast, deskew, or convert to grayscale before feeding it to the engine. | +| `OutOfMemoryError` on large PDFs | Loading many high‑resolution pages at once | Process pages one at a time, or downscale images before OCR. | + +### Pro Tip: Batch Processing + +If you need to **extract text from image** files in bulk, wrap the core logic in a loop: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +That snippet demonstrates how easy it is to scale from a single JPG to an entire folder of scans. + +## Going Further – What to Explore Next? + +- **Language Packs:** Most OCR SDKs let you download additional language data files. Adding a new pack lets you **convert image to text** for languages beyond English and Mongolian. +- **PDF OCR:** Combine this code with Apache PDFBox to + + +## What Should You Learn Next? + + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..5d2a3ada9 100644 --- a/ocr/english/java/ocr-operations/_index.md +++ b/ocr/english/java/ocr-operations/_index.md @@ -79,6 +79,8 @@ 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. +### [Apply Aspose OCR License in Java – Remove OCR Watermark](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Learn to apply an Aspose OCR license in Java and eliminate the OCR watermark for clean results. ## Frequently Asked Questions diff --git a/ocr/english/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/english/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..aee3d6101 --- /dev/null +++ b/ocr/english/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-06-06 +description: Apply Aspose OCR License in Java to unlock full features and remove OCR + watermark instantly. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: en +og_description: Apply Aspose OCR License in Java to eliminate evaluation limits and + remove OCR watermark from your scans. +og_title: Apply Aspose OCR License in Java – Remove OCR Watermark +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Apply Aspose OCR License in Java – Remove OCR Watermark +url: /java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Apply Aspose OCR License in Java – Remove OCR Watermark + +Ever wondered how to **apply Aspose OCR license** in a Java project without hitting the dreaded evaluation watermark? You’re not the only one. The moment you try the free trial, every scanned image is stamped with that gray “Aspose Evaluation” overlay, and it can make even the cleanest document look unprofessional. + +In this guide we’ll walk through the exact steps to **apply Aspose OCR license**, verify that the library is fully unlocked, and show you how the watermark disappears automatically. By the end, you’ll be able to run OCR on any image—be it a receipt, a passport scan, or a handwritten note—without the ugly overlay. + +## Prerequisites + +Before we jump in, make sure you have: + +- **Java Development Kit (JDK) 8** or newer installed. +- **Aspose OCR for Java** JAR file (download from the Aspose portal). +- Your **Aspose OCR license file** (`Aspose.OCR.Java.lic`). +- An IDE or a simple text editor (IntelliJ, Eclipse, VS Code—your call). + +That’s it. No extra Maven plugins or Gradle tricks required, though you can certainly add them later if you prefer. + +## Project Setup (Quick Overview) + +1. Create a new folder called `AsposeOCRDemo`. +2. Drop the `aspose-ocr-*.jar` file into a `lib` sub‑folder. +3. Place your `Aspose.OCR.Java.lic` file somewhere reachable, e.g., `resources/` folder. +4. Write a tiny `Main.java` file—this is where the magic happens. + +If you’re using an IDE, just add the JAR to the project’s classpath and mark the `resources` folder as a resources root. If you’re compiling from the command line, the classpath will look something like: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Now that the scaffolding is ready, let’s get to the heart of the matter. + +## Step 1: **Apply Aspose OCR License** – The Core Code + +The first thing you must do is tell the Aspose OCR engine to trust your license file. Without this call, the library stays in evaluation mode and will keep adding that watermark to every output. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Why this matters:** The `License` class is the gatekeeper. As soon as `setLicense` succeeds, the OCR engine switches from *evaluation* to *full* mode. All internal checks that normally add the **remove OCR watermark** logic are disabled, so you’ll never see the gray overlay again. + +> **Pro tip:** Keep the license file outside your source control (e.g., in an environment‑specific folder) to avoid accidental commits. + +## Step 2: Verify That the Watermark Is Gone + +After you’ve called `applyAsposeOcrLicense`, it’s good practice to run a quick test. The following snippet loads an image, performs OCR, and prints the extracted text. If the license isn’t active, Aspose will throw an exception or embed a watermark in the output image (if you’re saving a visual result). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Expected output (excerpt):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Notice there’s no mention of an evaluation watermark anywhere. That’s the **remove OCR watermark** effect in action. + +## Step 3: Common Pitfalls & Edge Cases + +### 1. Wrong License Path +If you pass an incorrect path to `setLicense`, the method silently fails and the library stays in evaluation mode. Always check the return value or catch the exception, as shown in `LicenseUtil`. + +### 2. Using a Relative Path in a JAR‑Based Deployment +When you package your app as an executable JAR, relative file system paths may break. A safer approach is to load the license as a resource stream: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Place the `.lic` file in `src/main/resources` so it ends up on the classpath. + +### 3. Multi‑Threaded Scenarios +If your application processes many images concurrently, you only need to apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads can cause a tiny performance hit, though it won’t break anything. + +### 4. License Expiration +Aspose licenses are usually perpetual, but some trial or limited‑time licenses may expire. When that happens, the engine reverts to evaluation mode and the **remove OCR watermark** behavior disappears. Keep an eye on the license expiration date in the Aspose portal. + +## Step 4: Automating License Application in Real‑World Projects + +In a production microservice, you probably don’t want to sprinkle `LicenseUtil.applyAsposeOcrLicense` throughout your codebase. Instead, initialize it once during application startup—think Spring Boot’s `@PostConstruct` method or a static initializer block. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Now every component that uses `OcrEngine` can safely assume the license is already active, guaranteeing the **remove OCR watermark** guarantee across the whole service. + +## Step 5: Testing the License Integration + +Automated tests can confirm that the watermark is indeed gone. A simple JUnit test might look like this: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Running this test gives you confidence that your deployment pipeline won’t accidentally ship an unlicensed build. + +## Visual Overview (Optional) + +If you like seeing things graphically, here’s a quick schematic of the flow: + +![Apply Aspose OCR License in Java](apply-aspose-ocr-license.png "Apply Aspose OCR License in Java") + +*Alt text: Apply Aspose OCR License in Java – diagram showing license loading then OCR processing without watermark.* + +## Conclusion + +We’ve covered everything you need to **apply Aspose OCR license** in a Java environment and, as a direct side‑effect, **remove OCR watermark** from all processed images. From creating the `License` object, handling path quirks, verifying the result, to wiring it into a larger application—each step was explained with the “why” behind it, not just the “how”. + +Now you can integrate Aspose OCR into any Java project, confident that your users will never see that distracting evaluation tag again. + +### What’s Next? + +- **Explore language packs:** Aspose OCR supports over 70 languages; just set the appropriate `OcrEngine` property. +- **Combine with Aspose PDF:** Convert scanned images directly to searchable PDFs without watermark. +- **Performance tuning + + +## What Should You Learn Next? + + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..fb1cb8379 100644 --- a/ocr/french/java/advanced-ocr-techniques/_index.md +++ b/ocr/french/java/advanced-ocr-techniques/_index.md @@ -42,8 +42,16 @@ Préparez efficacement des rectangles pour l'OCR avec Aspose.OCR pour Java à l' Renforcez vos applications Java avec Aspose.OCR pour une reconnaissance de texte précise. Ce didacticiel vous guide à travers une intégration facile et une grande précision dans la reconnaissance des lignes. Élevez vos projets avec l’efficacité et la fiabilité d’Aspose.OCR. ## [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. + +### [Améliorer la précision OCR en Java – Guide complet](./improve-ocr-accuracy-in-java-complete-guide/) +Apprenez à augmenter la précision de l'OCR en Java avec Aspose.OCR grâce à des techniques avancées et des réglages optimaux. -Extrayez sans effort le texte des images en spécifiant les caractères autorisés avec Aspose.OCR pour Java. Suivez notre guide étape par étape pour une intégration efficace, garantissant une expérience de reconnaissance de texte transparente. Améliorez vos applications Java avec les fonctionnalités Aspose.OCR. +### [Exemple Aspose OCR Java – Guide complet pour charger une image, corriger l'orthographe et traiter l'OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Apprenez à charger une image, appliquer la correction orthographique et exécuter l'OCR avec Aspose OCR pour Java. + +## [Comment activer le GPU dans l'OCR Java – Guide complet étape par étape](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Apprenez à activer le GPU pour accélérer l'OCR dans vos applications Java avec Aspose.OCR, étape par étape. ## Conclusion @@ -51,6 +59,8 @@ Avec Aspose.OCR pour Java, maîtriser les techniques avancées d'OCR n'a jamais ## Tutoriels sur les techniques avancées d'OCR ### [Exécution d'OCR sur BufferedImage dans Aspose.OCR pour Java](./perform-ocr-buffered-image/) Effectuez facilement l'OCR sur BufferedImage avec Aspose.OCR pour Java. Extrayez le texte des images de manière transparente. Téléchargez-le maintenant pour une expérience de reconnaissance de texte polyvalente. +### [Extraire du texte d'une image numérisée en Java – Guide complet Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Apprenez à extraire du texte d'images numérisées en Java avec Aspose.OCR. Suivez notre guide complet pour une reconnaissance précise et fluide. ### [Exécution d'OCR sur une image à partir d'une URL dans Aspose.OCR pour Java](./perform-ocr-image-from-url/) Débloquez une extraction transparente de texte d’image en Java avec Aspose.OCR. OCR de haute précision avec une intégration facile. ### [Exécution de l'OCR sur une page spécifique dans Aspose.OCR](./perform-ocr-on-page/) @@ -61,9 +71,14 @@ Libérez la puissance de la reconnaissance de texte avec Aspose.OCR pour Java. S 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. +### [Exemple Aspose OCR Java – Guide complet pour charger une image, corriger l'orthographe et traiter l'OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Apprenez à charger une image, appliquer la correction orthographique et exécuter l'OCR avec Aspose OCR pour Java. +### [Créer un PDF recherchable en Java – Guide complet Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Apprenez à générer un PDF consultable à partir d'images en Java avec Aspose.OCR. Suivez notre guide complet étape par étape. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/french/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..8fb821039 --- /dev/null +++ b/ocr/french/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-06-06 +description: Exemple Aspose OCR Java montrant comment charger l'OCR d'image, corriger + les erreurs d'OCR, définir un dictionnaire personnalisé et traiter l'OCR d'image + en quelques étapes seulement. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: fr +og_description: Exemple Aspose OCR Java qui charge une image, corrige les erreurs + d'OCR, définit un dictionnaire personnalisé et traite l'OCR d'image efficacement. +og_title: Exemple Aspose OCR Java – Charger l'image, corriger l'orthographe et traiter + l'OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Exemple Aspose OCR Java – Guide complet pour charger une image, corriger l’orthographe + et traiter l’OCR +url: /fr/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Exemple Aspose OCR Java – Guide complet pour charger une image, corriger l'orthographe et traiter l'OCR + +Vous avez déjà eu besoin d’un **Aspose OCR Java example** qui fonctionne réellement dès la première utilisation ? Vous n’êtes pas seul — les développeurs se retrouvent souvent face à une capture d’écran floue et se demandent pourquoi le texte extrait est un désordre. La bonne nouvelle, c’est que le moteur OCR d’Aspose intègre déjà une correction orthographique, et vous pouvez même y brancher votre propre liste de mots. Dans ce tutoriel, nous allons parcourir le chargement d’une image OCR, l’activation de la fonction de correction, la définition éventuelle d’un dictionnaire personnalisé, puis le traitement de l’image OCR pour obtenir un texte propre et lisible. + +Nous aborderons également pourquoi vous pourriez vouloir **correct OCR errors**, comment **load image OCR** efficacement, les avantages d’un appel **set custom dictionary**, et à quoi ressemble le flux complet **process image OCR**. À la fin, vous disposerez d’un programme Java entièrement exécutable que vous pourrez intégrer à n’importe quel projet Maven ou Gradle. + +--- + +## Ce dont vous avez besoin + +- Java 8 ou plus récent (l'API fonctionne également avec Java 11+) +- Bibliothèque Aspose.OCR pour Java (téléchargez le JAR le plus récent depuis le site Aspose ou ajoutez la dépendance Maven) +- Un fichier image contenant du texte (de préférence un document numérisé ou une capture d'écran avec un peu de bruit) +- Optionnel : un fichier dictionnaire en texte brut si vous souhaitez **set custom dictionary** pour des termes spécifiques à un domaine + +C’est tout — pas de moteurs OCR lourds, pas de dépendances natives, juste un seul JAR et quelques lignes de code. + +--- + +## Étape 1 : Aspose OCR Java Example – Load Image OCR + +La première chose à faire est de créer une instance `OcrEngine` et de la pointer vers le fichier que vous voulez analyser. Considérez cela comme l’ouverture d’un livre avant de commencer à le lire. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Pourquoi c’est important :** L’appel `setImage` est le cœur du **load image OCR**. Sans image valide, le moteur n’a rien à reconnaître et vous obtiendrez une chaîne vide ou une exception. + +![exemple Aspose OCR Java chargement d'image](image.png){alt="exemple Aspose OCR Java chargement d'image"} + +--- + +## Étape 2 : Activer la correction orthographique pour corriger les erreurs d'OCR + +Aspose OCR est fourni avec la correction orthographique activée par défaut, mais il n’est jamais inutile d’être explicite—surtout lorsque vous démontrez un **aspose ocr java example**. Activer cette fonctionnalité réduit considérablement les caractères incohérents comme « t1e » ou « rec0gn1tion ». + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Astuce :** Si vous remarquez que le moteur continue de mal reconnaître certains mots, revérifiez les paramètres de langue ou ajoutez un dictionnaire personnalisé (étape suivante). + +Activer la correction orthographique est le moyen le plus rapide de **correct OCR errors** sans écrire de code supplémentaire. + +--- + +## Étape 3 : Définir un dictionnaire personnalisé pour une meilleure précision + +Parfois, le dictionnaire par défaut ne connaît pas votre jargon propre à l’industrie — pensez aux termes médicaux, aux codes produit ou aux noms de marque. C’est là que **set custom dictionary** fait toute la différence. Fournissez un fichier texte brut, un mot par ligne, et le moteur OCR traitera ces entrées comme valides lors de la correction. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Quand l’utiliser :** Si vous traitez des factures et que les noms d’entreprise sont constamment déformés, un dictionnaire personnalisé contenant ces noms rendra l’étape **process image OCR** beaucoup plus fiable. + +--- + +## Étape 4 : Traiter l'image OCR et récupérer le texte + +Une fois le moteur configuré, il est temps d’exécuter réellement la reconnaissance. La méthode `process` effectue tout le travail lourd — détection des blocs de texte, application de la correction orthographique, puis renvoie un objet `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Ce que vous verrez :** La console affiche une chaîne propre et lisible par l’homme. Si vous aviez désactivé la correction orthographique, vous verriez probablement des caractères étranges, ce qui montre pourquoi l’activer tôt est crucial pour **correct OCR errors**. + +--- + +## Étape 5 : Exécuter l’exemple et vérifier la sortie + +Compilez et exécutez la classe avec votre IDE préféré ou depuis la ligne de commande : + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Vous devriez voir quelque chose comme : + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Si la sortie contient encore des fautes, ajoutez ces mots à votre dictionnaire personnalisé et relancez l’étape **process image OCR**. + +--- + +## Problèmes courants et comment les éviter + +| Problème | Pourquoi cela se produit | Solution | +|----------|--------------------------|----------| +| **Sortie vide** | Chemin de l’image incorrect ou format non pris en charge | Vérifiez le chemin, utilisez PNG/JPEG, et assurez‑vous que le fichier est lisible | +| **Caractères indéchiffrables** | Correction orthographique désactivée ou image de mauvaise qualité | Activez `setEnableSpellCorrection(true)` et envisagez un pré‑traitement de l’image (augmentation du contraste) | +| **Mots spécifiques au domaine toujours incorrects** | Aucun dictionnaire personnalisé | Utilisez `setCustomDictionary` avec un fichier contenant vos termes | +| **Erreurs de mémoire insuffisante** | Images très volumineuses chargées sans mise à l’échelle | Redimensionnez l’image avant de la transmettre à `OcrEngine` | + +--- + +## Étendre l'exemple + +Maintenant que vous avez un **aspose ocr java example** solide, vous pourriez vouloir : + +- **Traiter par lots** un dossier d’images en parcourant les noms de fichiers et en réutilisant la même instance `OcrEngine`. +- **Extraire les informations de mise en page** (tables, colonnes) à l’aide de `ocrResult.getPages()` pour une analyse documentaire plus avancée. +- **Intégrer avec Apache PDFBox** afin d’insérer le texte reconnu dans un PDF. + +Toutes ces extensions s’appuient sur les mêmes étapes de base que nous avons couvertes : charger l’image OCR, activer la correction, éventuellement définir un dictionnaire personnalisé, puis traiter l’image OCR. + +--- + +## Conclusion + +Vous venez de créer un **aspose ocr java example** complet qui charge une image, active la correction orthographique pour **correct OCR errors**, éventuellement **set custom dictionary**, et enfin **process image OCR** pour récupérer un texte propre. Le code est court, les concepts sont clairs, et vous disposez maintenant d’une base que vous pouvez étendre pour des traitements par lots, des intégrations UI, ou même des micro‑services cloud. + +Et ensuite ? Essayez de fournir au moteur une photo à basse résolution, ajoutez une liste de références produit à votre dictionnaire personnalisé, et observez l’amélioration de la précision. Plus vous expérimentez, mieux vous comprendrez les compromis entre qualité d’image, taille du dictionnaire et vitesse de traitement. + +N’hésitez pas à laisser un commentaire si vous rencontrez des difficultés ou avez des idées d’améliorations supplémentaires. Bon codage ! + +## Que devriez‑vous apprendre ensuite ? + +Les tutoriels suivants couvrent des sujets étroitement liés qui s’appuient sur les techniques démontrées dans ce guide. Chaque ressource comprend des exemples de code complets avec des explications pas à pas pour vous aider à maîtriser d’autres fonctionnalités de l’API et explorer des approches d’implémentation alternatives dans vos propres projets. + +- [Comment définir la licence et vérifier la licence Aspose.OCR en Java](/ocr/english/java/ocr-basics/set-license/) +- [Comment OCR du texte d'image avec la langue en utilisant Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Exemple Aspose OCR Java – Reconnaissance des lignes dans les images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/french/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..64ca78083 --- /dev/null +++ b/ocr/french/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,277 @@ +--- +category: general +date: 2026-06-06 +description: Créer un PDF consultable avec Java en utilisant Aspose OCR. Apprenez + à extraire le texte d’un PDF, à améliorer la précision de l’OCR et à traiter efficacement + les PDF multipages. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: fr +og_description: Créez un PDF consultable avec Java en utilisant Aspose OCR. Ce guide + vous montre comment extraire le texte d’un PDF, améliorer la précision de l’OCR + et gérer les PDF multi‑pages. +og_title: Créer un PDF recherchable en Java – Tutoriel complet Aspose OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Créer un PDF recherchable en Java – Guide complet d'Aspose OCR +url: /fr/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Créer un PDF consultable en Java – Guide complet Aspose OCR + +Vous êtes‑vous déjà demandé comment **créer des PDF consultables** directement depuis Java sans jongler avec des dizaines d'outils en ligne de commande ? Vous n'êtes pas seul. De nombreux développeurs se heurtent à un mur lorsqu'ils doivent transformer des PDF numérisés en documents consultables par texte, surtout lorsque les PDF sources s'étendent sur plusieurs pages. + +Dans ce tutoriel, nous passerons en revue un exemple complet et exécutable qui non seulement **crée des PDF consultables**, mais montre également comment **extraire du texte d'un PDF**, **augmenter la précision OCR**, et gérer un flux de travail **OCR PDF multi‑pages** à l'aide de la bibliothèque Aspose OCR. À la fin, vous disposerez d'un extrait de code solide et prêt pour la production que vous pourrez intégrer à n'importe quel projet Java. + +## Ce dont vous avez besoin + +- Java 17 ou version ultérieure (le code compile avec des versions antérieures, mais JDK 17 est le meilleur compromis) +- Maven ou Gradle pour récupérer la dépendance `aspose-ocr` +- Un PDF multi‑pages d'exemple (nous l'appellerons `sample_multi_page.pdf`) +- Un GPU modeste ou au moins un CPU multicœur si vous souhaitez activer le traitement parallèle + +Aucune bibliothèque native supplémentaire n'est requise — Aspose OCR regroupe tout ce dont vous avez besoin. + +--- + +## Créer un PDF consultable – Implémentation étape par étape + +Ci-dessous, nous décomposons le processus en blocs logiques. Chaque section possède son propre titre H2 afin que vous puissiez accéder directement à la partie qui vous intéresse, et le mot‑clé principal apparaît ici même dans le titre. + +### Étape 1 : Configurer le projet et importer Aspose OCR + +Tout d'abord, ajoutez l'artifact Maven Aspose OCR à votre `pom.xml`. Si vous préférez Gradle, l'extrait équivalent est fourni dans les commentaires. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Astuce :** Gardez vos dépendances à jour ; les nouvelles versions apportent souvent des améliorations de précision qui vous aident directement à **augmenter la précision OCR**. + +### Étape 2 : Charger le PDF multi‑pages dans le moteur OCR + +Nous créons maintenant une instance `OcrEngine` et lui fournissons le PDF à traiter. Le moteur considère chaque page comme une image en interne, ce qui explique pourquoi cette approche fonctionne pour un scénario **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Pourquoi c'est important :** Charger le PDF une seule fois et laisser le moteur gérer la pagination évite le surcoût d'extraction manuelle de chaque page, économisant ainsi du temps et de la mémoire. + +### Étape 3 : Activer les fonctionnalités avancées pour **augmenter la précision OCR** + +Aspose OCR propose plusieurs paramètres réglables. Activer l'accélération GPU, augmenter le nombre de threads et spécifier plusieurs langues contribuent tous à de meilleurs taux de reconnaissance, surtout sur des numérisations bruyantes. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Et si vous n'avez pas de GPU ?** Il suffit de définir `setUseGpu(false)` ; le moteur reviendra alors en mode CPU uniquement tout en profitant du multithreading. + +### Étape 4 : Pré‑traiter les images pour de meilleurs résultats + +Les étapes de pré‑traitement comme le redressement, la débruitage et l'augmentation du contraste augmentent considérablement **la précision OCR** sur les documents numérisés. Pensez‑y comme polir une pierre brute avant de la sculpter. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Pourquoi ces réglages ?** Un niveau de débruitage de `2` convient à la plupart des PDF numérisés, tandis qu'une légère augmentation du contraste (1,3×) fait ressortir l'encre pâle sans saturer l'arrière‑plan. + +### Étape 5 : Configurer la sortie pour générer un PDF consultable + +Aspose OCR peut intégrer directement la couche de texte reconnue dans un PDF, transformant ainsi un fichier image plat en **PDF consultable**. C'est le cœur de la question « comment créer un PDF consultable » que de nombreux développeurs se posent. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Lorsque `setGenerateSearchablePdf(true)` est activé, la bibliothèque crée une couche de texte invisible qui reflète le contenu visuel, rendant le document final consultable dans n'importe quel lecteur PDF. + +### Étape 6 : Exécuter l'OCR et enregistrer le résultat + +Nous traitons maintenant réellement le document et écrivons le fichier de sortie. La méthode `process` renvoie un objet `OcrResult` qui contient à la fois le PDF consultable et le texte brut extrait. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Étape 7 : (Optionnel) **Extraire du texte d'un PDF** pour une utilisation immédiate + +Si vous avez également besoin du texte brut — pour l'indexation, l'analyse ou simplement l'affichage sur une page web — vous pouvez le récupérer directement depuis l'`OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Ce que vous verrez :** La console affichera le texte concaténé de toutes les pages, en conservant les sauts de ligne lorsque c'est possible. Cela satisfait le besoin **extraire du texte d'un pdf** sans passe supplémentaire. + +--- + +## Vue d'ensemble visuelle + +Ci-dessous se trouve un diagramme de flux simple qui associe chaque étape au bloc de code correspondant. Il vous aide à visualiser comment le PDF d'entrée traverse le pré‑traitement, l'OCR, et devient finalement un document consultable. + +![Diagramme de flux de création de PDF consultable](https://example.com/flow-diagram.png "Diagramme de flux de création de PDF consultable") + +*Le texte alternatif contient le mot‑clé principal pour satisfaire le SEO de l'image.* + +--- + +## Questions fréquentes et cas particuliers + +| Question | Réponse | +|----------|--------| +| **Puis‑je traiter des PDF de plus de 100 Mo ?** | Oui, mais envisagez de diffuser les pages au lieu de charger le fichier complet en mémoire. Aspose OCR gère la pagination en interne, mais vous pourriez vouloir augmenter le tas JVM (`-Xmx4g`) pour des fichiers très volumineux. | +| **Et si mon PDF contient des notes manuscrites ?** | La reconnaissance de l'écriture manuscrite n'est pas activée par défaut. Vous pouvez passer à `setLanguage("eng,mon,handwritten")` si la version de la bibliothèque le supporte, bien que la précision varie. | +| **Ai‑je besoin d'une licence pour Aspose OCR ?** | Une licence d'évaluation temporaire fonctionne pour les tests. Pour la production, procurez‑vous une licence commerciale afin de supprimer les filigranes et débloquer les performances complètes. | +| **Comment désactiver la correction orthographique ?** | Appelez `ocr.getSettings().setEnableSpellCorrection(false);` – utile lorsque vous avez besoin du résultat OCR brut à des fins d'expertise judiciaire. | +| **Le support GPU est‑il obligatoire ?** | Non. La bibliothèque revient élégamment au CPU. Cependant, le GPU peut réduire le temps de traitement jusqu'à 60 % sur de gros documents multi‑pages. | + +--- + +## Exemple complet fonctionnel (prêt à copier‑coller) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Sortie attendue** + +- `output_searchable.pdf` – un PDF où vous pouvez taper Ctrl + F et trouver n'importe quel mot présent dans les images numérisées. +- Journal de la console – le contenu textuel complet du PDF original, parfait pour l'indexation ou une analyse supplémentaire. + +## Conclusion + +Nous venons de démontrer comment **créer des PDF consultables** en Java avec Aspose OCR, tout en vous montrant comment **extraire du texte d'un PDF**, **augmenter la précision OCR**, et gérer efficacement un flux de travail **ocr pdf multi page**. Le snippet complet ci‑dessus est prêt à être intégré à votre projet, et les explications vous donnent la confiance nécessaire pour ajuster les paramètres selon votre cas d'utilisation. + +Et après ? Essayez d'expérimenter avec l'intégration de polices personnalisées, ajoutez des signets générés par l'OCR, ou intégrez la sortie à un moteur de recherche comme Elasticsearch. Chacun de ces sujets renvoie à nos mots‑clés secondaires — *how to make searchable pdf* et *increase OCR accuracy* — vous offrant ainsi une voie claire pour approfondir. + +N'hésitez pas à partager vos expériences ou à poser des questions complémentaires dans les commentaires. Bon codage, et profitez de la transformation de ces scans statiques en PDF pleinement consultables et riches en texte ! + +## Que devriez‑vous apprendre ensuite ? + +Les tutoriels suivants couvrent des sujets étroitement liés qui s'appuient sur les techniques démontrées dans ce guide. Chaque ressource inclut des exemples de code complets avec des explications étape par étape pour vous aider à maîtriser des fonctionnalités API supplémentaires et explorer des approches d'implémentation alternatives dans vos propres projets. + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-pdf/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/french/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..1f09a6cac --- /dev/null +++ b/ocr/french/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,272 @@ +--- +category: general +date: 2026-06-06 +description: Extraire du texte d’une image numérisée à l’aide d’Aspose OCR pour Java. + Apprenez comment reconnaître le texte des fichiers TIFF avec un traitement parallèle. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: fr +og_description: Extrayez le texte d’une image numérisée avec Aspose OCR. Ce guide + montre comment reconnaître le texte des fichiers TIFF efficacement en Java. +og_title: Extraire le texte d'une image numérisée – Tutoriel Java OCR Aspose +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Extraire le texte d’une image numérisée en Java – Guide complet Aspose OCR +url: /fr/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraire du texte d’une image numérisée – Guide complet Aspose OCR + +Vous avez déjà eu besoin d'**extraire du texte d’une image numérisée** mais vous ne saviez pas comment ? Vous n'êtes pas seul. Que vous numérisiez d'anciennes archives, extrayiez des données de factures, ou construisiez une bibliothèque PDF consultable, obtenir un texte fiable à partir d’un scan TIFF peut être un vrai casse‑tête. + +Bonne nouvelle : avec Aspose OCR for Java, vous pouvez **reconnaître du texte à partir de tiff** en quelques lignes seulement, et même gagner en rapidité en limitant le moteur à quelques cœurs CPU. Dans ce tutoriel, nous parcourrons l’ensemble du processus — de l’installation de la bibliothèque à la gestion du résultat—afin que vous puissiez copier‑coller un exemple fonctionnel immédiatement. + +## Ce que couvre ce tutoriel + +- Installation d’Aspose OCR for Java (Maven ou JAR manuel) +- Chargement d’une grande image TIFF numérisée +- Configuration du moteur pour utiliser jusqu’à 4 threads (OCR parallèle) +- Exécution du processus OCR et affichage du texte extrait +- Pièges courants (mémoire, TIFF multi‑pages) et comment les éviter +- Astuce de performance rapide : quand ajuster `setMaxThreads` + +À la fin, vous serez capable d'**extraire du texte d’une image numérisée** de façon fiable, et vous comprendrez pourquoi ajuster le nombre de threads est important lorsque vous *reconnaissez du texte à partir de tiff* dans une chaîne de production. + +--- + +![exemple d'extraction de texte d'une image numérisée](example.png "Capture d'écran montrant le texte extrait d'une image TIFF numérisée") + +## Prérequis + +Avant de commencer, assurez‑vous d’avoir : + +1. **Java Development Kit (JDK) 8+** – toute version récente convient. +2. **Maven** (ou la possibilité d’ajouter des JAR manuellement) – nous utiliserons Maven par simplicité. +3. Une licence **Aspose OCR for Java** (l’évaluation gratuite fonctionne, mais ajoute un filigrane). +4. Un **grand scan TIFF** (par ex. `large_scan.tif`) que vous souhaitez traiter. + +Si l’un de ces éléments vous est inconnu, ne vous inquiétez pas — chaque étape est expliquée ci‑dessous. + +## Étape 1 : Ajouter Aspose OCR à votre projet + +### Utilisateurs Maven + +Ajoutez la dépendance suivante à votre `pom.xml` : + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Installation manuelle du JAR + +Téléchargez le dernier `aspose-ocr-xx.jar` depuis le site Aspose et placez‑le sur votre classpath. + +> **Astuce :** Conservez le JAR dans un dossier `libs/` et référencez‑le dans les paramètres de votre IDE. Cela évite les surprises du type « class not found » plus tard. + +## Étape 2 : Créer une classe Java simple + +Créez un fichier nommé `ParallelOcrDemo.java` dans votre répertoire source (`src/main/java`). Cette classe contiendra tout le flux de travail OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Pourquoi limiter les threads :** Par défaut, Aspose OCR tente d’utiliser tous les cœurs, ce qui peut priver d’autres services de ressources sur une machine partagée. Définir `setMaxThreads(4)` indique au moteur de lancer jusqu’à quatre travailleurs parallèles — suffisant pour un gain de vitesse perceptible sur la plupart des CPU modernes sans monopoliser les ressources. + +## Étape 3 : Compiler et exécuter + +Ouvrez un terminal à la racine du projet et lancez : + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Si vous n’utilisez pas Maven, compilez avec `javac` et exécutez : + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Sortie attendue + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +La console affichera la version texte brut de ce qui était présent sur la page numérisée. Si l’image comporte plusieurs pages, Aspose OCR les concatène dans l’ordre. + +## Étape 4 : Gestion des TIFF multi‑pages (cas particulier) + +Un scénario fréquent est le **TIFF multi‑pages** — pensez à un livre numérisé. Par défaut, `OcrInputImage` ne lit que la première trame. Pour traiter toutes les pages, utilisez `OcrInputImage` avec un `FileInputStream` et activez la prise en charge multi‑pages : + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Désormais, `ocrEngine.process()` renverra un seul `OcrResult` contenant le texte concaténé de chaque page. + +## Étape 5 : Affiner la précision de la reconnaissance + +Si vous remarquez des **caractères illisibles** ou des mots manquants, essayez les ajustements suivants : + +| Paramètre | Ce qu’il fait | Quand l’utiliser | +|-----------|----------------|-------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Force le modèle de langue anglaise (plus rapide, plus précis pour les scans anglais) | Votre document est uniquement en anglais | +| `ocrEngine.getSettings().setResolution(300)` | Augmente la résolution des images basse résolution avant la reconnaissance | Scans inférieurs à 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Tente de nettoyer les taches et artefacts | Scans très bruyants | + +Exemple de fragment : + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Étape 6 : Exporter les résultats vers un fichier + +Afficher le texte dans la console suffit pour les démonstrations, mais le code de production écrit généralement la sortie quelque part d’utile : + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Vous obtenez ainsi un fichier texte brut que vous pouvez injecter dans un index de recherche, une base de données ou une chaîne d’analyse en aval. + +--- + +## Questions fréquentes (FAQ) + +**Q : Cela fonctionne‑t‑il avec des fichiers PNG ou JPEG ?** +R : Absolument. `OcrInputImage` accepte tout format que Java ImageIO peut lire. Il suffit de remplacer l’extension du fichier dans le chemin. + +**Q : Mon serveur possède 8 cœurs—devrais‑je mettre `setMaxThreads(8)` ?** +R : Vous pourriez, mais n’oubliez pas que d’autres services peuvent avoir besoin de cycles CPU. Une bonne règle de base est « nombre total de cœurs – 1 » pour des travailleurs OCR dédiés. + +**Q : Que faire si le résultat OCR est vide ?** +R : Vérifiez que l’image n’est pas complètement blanche, que vous avez défini la bonne langue, et que la résolution est d’au moins 200 DPI. Les scans de mauvaise qualité nécessitent souvent un pré‑traitement (redressement, amélioration du contraste) avant d’être passés à Aspose OCR. + +--- + +## Conclusion + +Nous venons d’**extraire du texte d’une image numérisée** grâce à Aspose OCR for Java, et vous savez maintenant comment **reconnaître du texte à partir de tiff** efficacement avec un traitement parallèle. Le code complet se trouve dans les extraits ci‑dessus, et vous pouvez le copier‑coller dans votre propre projet immédiatement. + +### Et après ? + +- **Traitement par lots** : Parcourez un répertoire de TIFF et stockez chaque résultat dans son propre fichier. +- **Intégration avec Elasticsearch** : Indexez le texte extrait pour une recherche plein texte ultra‑rapide. +- **Détection de langue** : Utilisez `OcrLanguage.AutoDetect` pour les documents multilingues. + +Expérimentez ces idées, et vous transformerez rapidement une montagne de documents numérisés en données consultables et exploitables. + +Bon codage, et n’hésitez pas à laisser un commentaire si vous rencontrez un problème ! + +## Que devriez‑vous apprendre ensuite ? + +Les tutoriels suivants abordent des sujets étroitement liés qui s’appuient sur les techniques présentées dans ce guide. Chaque ressource comprend des exemples de code complets avec des explications pas à pas pour vous aider à maîtriser d’autres fonctionnalités de l’API et explorer des approches d’implémentation alternatives dans vos projets. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/french/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..b86b8babf --- /dev/null +++ b/ocr/french/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-06-06 +description: Comment activer le GPU dans Java OCR et extraire du texte à partir de + fichiers JPEG. Suivez cet exemple d’OCR Java pour convertir une image en texte avec + l’accélération GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: fr +og_description: Comment activer le GPU dans l'OCR Java et extraire instantanément + du texte à partir d'images JPEG. Ce guide présente un exemple complet d'OCR Java + avec OCR accéléré par GPU. +og_title: Comment activer le GPU dans l'OCR Java – Guide complet de programmation +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Comment activer le GPU dans la reconnaissance optique de caractères Java – + Guide complet étape par étape +url: /fr/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment activer le GPU dans l'OCR Java – Guide complet étape par étape + +Vous vous êtes déjà demandé **comment activer le GPU** pour la reconnaissance optique de caractères en Java ? Vous n'êtes pas le seul—les développeurs demandent constamment, « Puis-je rendre l'OCR plus rapide sans tout réécrire ? » La réponse courte est oui, et la réponse longue se trouve ici. Dans ce tutoriel, nous passerons en revue un **java ocr example** qui **extrait du texte à partir de fichiers JPEG**, **convertit l'image en texte**, et exploite **GPU accelerated OCR** pour des résultats ultra‑rapides. + +Nous commencerons par configurer la bibliothèque Aspose OCR, charger un JPEG d'exemple, activer le support GPU, exécuter le moteur, puis afficher le texte reconnu. À la fin, vous disposerez d'un extrait réutilisable que vous pourrez intégrer à n'importe quel projet Java, ainsi que d'une poignée de conseils pour éviter les pièges courants. Pas de fioritures, juste le concret dont vous avez besoin pour démarrer. + +## Prérequis + +* Java 8 ou version ultérieure installé (le code utilise les API standard, donc n'importe quel JDK récent fonctionne). +* Un GPU compatible avec des pilotes à jour – la plupart des cartes NVIDIA/AMD modernes sont admissibles. +* La bibliothèque Aspose.OCR pour Java (vous pouvez la récupérer sur Maven Central ou le site web d'Aspose). +* Une image JPEG sur laquelle vous souhaitez exécuter l'OCR – nous l'appellerons `sample.jpg`. + +C’est tout. Si l’un de ces éléments vous est inconnu, faites une pause et installez la pièce manquante ; le reste du guide suppose qu’ils sont déjà en place. + +## Comment activer le GPU dans l'OCR Java – Vue d'ensemble + +Voici un aperçu rapide de ce que nous allons réaliser : + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Considérez le GPU comme un turbocompresseur pour votre moteur OCR — au lieu que le CPU effectue chaque analyse pixel par pixel, la carte graphique prend en charge le travail lourd en parallèle. Le résultat ? Des temps de traitement plus rapides, surtout sur des numérisations haute résolution. + +## Étape 1 : Configurer le projet et importer Aspose OCR + +Tout d'abord, créez un nouveau projet Maven (ou Gradle, si vous préférez). Ajoutez la dépendance Aspose OCR : + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Si vous n'utilisez pas Maven, téléchargez le JAR depuis Aspose et ajoutez‑le à votre classpath. Cette étape constitue la base de tout **java ocr example** que vous écrirez, alors vérifiez bien que la bibliothèque se résout correctement. + +## Étape 2 : Charger l'image JPEG (Extraire du texte depuis JPEG) + +Nous allons maintenant écrire du code pour lire un fichier JPEG. La classe `OcrInputImage` accepte un chemin, et nous la transmettrons au `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Pourquoi c'est important :** Charger correctement l'image est la première étape de tout flux de travail **convert image to text**. Si le chemin est incorrect, le moteur lève une exception avant même d'atteindre l'étape GPU. + +## Étape 3 : Activer l'accélération GPU (Comment activer le GPU) + +Voici le cœur du tutoriel — activer le support GPU. L'objet `OcrSettings` expose un drapeau `setUseGpu`. Il suffit de le régler sur `true` et vous êtes prêt. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Astuce pro :** Vérifiez que le pilote de votre GPU est à jour. Des pilotes obsolètes provoquent souvent l'échec silencieux de l'appel `setUseGpu(true)`, vous laissant avec des performances uniquement CPU. + +## Étape 4 : Exécuter le moteur OCR (Exemple OCR Java) + +Avec l'image chargée et le GPU activé, lancez le processus OCR. Le moteur renvoie un objet `OcrResult` contenant le texte reconnu. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +En coulisses, Aspose divise l'image en tuiles, les envoie au GPU pour une inférence parallèle, puis assemble les résultats. C’est ce qui rend l’expérience **gpu accelerated ocr** nettement plus rapide que le chemin CPU par défaut. + +## Étape 5 : Afficher le texte reconnu (Convert Image to Text) + +Enfin, affichez le résultat dans la console. Dans une application réelle, vous l'écririez probablement dans un fichier ou une base de données, mais pour l'illustration, un simple `System.out.println` suffit. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Sortie attendue + +En supposant que `sample.jpg` contienne la phrase « Hello, World! », vous devriez voir : + +``` +Recognized text: +Hello, World! +``` + +Si l'image est plus complexe (plusieurs lignes, tableaux, etc.), la sortie contiendra des sauts de ligne et des espaces qui reproduisent la mise en page originale. C’est la beauté du moteur OCR d’Aspose — il préserve la structure tout en convertissant l'image en texte. + +## Exemple complet fonctionnel + +En rassemblant le tout, voici le programme complet, prêt à être exécuté : + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Enregistrez-le sous le nom `GpuOcrDemo.java`, compilez avec `javac` et exécutez avec `java`. Si tout est correctement configuré, la console affichera le texte extrait en un éclair. + +## Questions fréquentes & cas limites + +### 1. Mon GPU n’est pas utilisé – que se passe‑t‑il ? + +* **Vérifier la version du pilote** – les pilotes plus anciens peuvent ne pas exposer les capacités de calcul requises. +* **Valider la prise en charge du GPU** – Aspose nécessite une carte NVIDIA compatible CUDA ou une carte AMD compatible OpenCL. Si vous êtes sur un ordinateur portable avec un GPU discret désactivé, activez‑le dans le BIOS ou le panneau de contrôle graphique. +* **Inspecter les journaux** – Aspose écrit une ligne de débogage lorsque le mode GPU est actif. Activez la journalisation via `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. Le résultat OCR est illisible sur une image basse résolution. + +* **Pré‑traiter le JPEG** – redimensionner à au moins 300 dpi, appliquer une amélioration du contraste, ou convertir en niveaux de gris avant de le transmettre au moteur. +* **Ajuster les paramètres** – vous pouvez modifier `ocr.getSettings().setLanguage(OcrLanguage.English)` ou activer `setUseLanguageDetection(true)` pour une meilleure précision. + +### 3. Puis‑je traiter plusieurs images en lot ? + +Absolument. Enveloppez les blocs de chargement et de traitement dans une boucle, en réutilisant la même instance `OcrEngine`. N'oubliez pas d'appeler `ocr.reset()` entre les itérations pour effacer l'image précédente. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. L'accélération GPU fonctionne‑t‑elle sur des serveurs sans interface graphique ? + +Oui, tant que le serveur possède un GPU compatible et les pilotes appropriés. Sous Linux, vous devrez peut‑être installer le paquet `nvidia‑utils` et vous assurer que l'outil `CUDA` se trouve dans le `PATH`. + +## Astuces pro pour un OCR GPU prêt pour la production + +* **La taille du lot compte** – les images plus grandes bénéficient davantage du parallélisme GPU. Si vous traitez de petites icônes, le surcoût du transfert vers le GPU peut dépasser les gains. +* **Gestion de la mémoire** – les GPU ont une VRAM limitée. Pour des PDF très volumineux ou des numérisations multi‑méga‑pixels, divisez l'image en tuiles plus petites manuellement. +* **Gestion des erreurs** – encapsulez l'appel OCR dans un bloc try‑catch et revenez au mode CPU (`setUseGpu(false)`) si une `UnsupportedOperationException` est levée. + +## Conclusion + +Nous venons de couvrir **how to enable GPU** dans un **java ocr example**, vous avons montré comment **extract text from JPEG** des fichiers, et démontré une méthode propre pour **convert image to text** en utilisant le moteur **gpu accelerated OCR** d’Aspose. L'extrait complet ci‑dessus est prêt à être intégré à n'importe quel projet Java, et les astuces qui l'accompagnent devraient vous éviter les maux de tête habituels. + +Et ensuite ? Essayez d'ajouter des packs de langues, expérimentez différents formats d'image (PNG, TIFF), ou intégrez la sortie dans un index de recherche. Le ciel est la limite lorsque vous associez l'OCR à la puissance du GPU. + +Vous avez d'autres questions sur l'OCR accéléré par GPU ou besoin d'aide pour ajuster les paramètres ? Laissez un commentaire, et bon codage ! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## Que devriez‑vous apprendre ensuite ? + +Les tutoriels suivants couvrent des sujets étroitement liés qui s'appuient sur les techniques démontrées dans ce guide. Chaque ressource comprend des exemples de code complets et fonctionnels avec des explications étape par étape pour vous aider à maîtriser des fonctionnalités API supplémentaires et explorer des approches d'implémentation alternatives dans vos propres projets. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/french/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..f813e2bf5 --- /dev/null +++ b/ocr/french/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-06-06 +description: Améliorez la précision de l'OCR en Java grâce à un guide étape par étape + qui montre comment charger l'image OCR, traiter l'image OCR et extraire efficacement + le texte d'une page numérisée. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: fr +og_description: Améliorez la précision de l’OCR en Java avec un exemple pratique. + Apprenez à charger une image pour l’OCR, à la prétraiter et à réaliser l’OCR sur + l’image afin d’extraire le texte d’une page numérisée. +og_title: Améliorer la précision de l'OCR en Java – Tutoriel complet +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Améliorer la précision de l'OCR en Java – Guide complet +url: /fr/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Améliorer la précision de l'OCR en Java – Guide complet + +Vous vous êtes déjà demandé comment **améliorer la précision de l'OCR** lorsque vous traitez des numérisations de vieux livres ou des reçus flous ? Vous n'êtes pas seul. Dans de nombreux projets réels, la sortie brute d'un moteur OCR ressemble à un méli‑mélo cryptique, et c’est généralement parce que l'image n’a pas été correctement pré‑traitée avant de **effectuer la reconnaissance d'image**. + +Dans ce tutoriel, nous parcourrons un exemple pratique en Java qui montre exactement comment **charger l'image OCR**, appliquer quelques étapes de prétraitement intelligentes, **traiter l'image OCR**, et enfin **extraire le texte de la page numérisée** avec un résultat propre. À la fin, vous comprendrez non seulement *quoi* coder, mais *pourquoi* chaque ligne est importante pour améliorer la qualité de reconnaissance. + +## Ce que vous apprendrez + +- Comment instancier un moteur OCR en Java +- La bonne façon de **charger l'image OCR** depuis le disque +- Pourquoi le redressement, la réduction du bruit et l'augmentation du contraste sont essentiels pour **améliorer la précision de l'OCR** +- Comment **effectuer la reconnaissance d'image** et récupérer le texte reconnu +- Conseils pour gérer différents formats d'image et les cas limites + +Aucune documentation externe n'est nécessaire – tout ce dont vous avez besoin se trouve ici, et le code complet et exécutable est inclus en bas. + +## Prérequis + +- Java 17 (ou tout JDK récent) installé sur votre machine +- Une bibliothèque OCR qui fournit les classes `OcrEngine`, `OcrInputImage` et `OcrResult` (l'exemple utilise une API générique ; remplacez‑la par le jar de votre fournisseur si nécessaire) +- Une image numérisée (PNG, JPEG ou TIFF) sur laquelle vous souhaitez exécuter l'OCR – pour la démo, nous utiliserons `old_book_page.png` situé dans un dossier appelé `YOUR_DIRECTORY` + +Si le jar OCR vous manque, déposez‑le simplement dans le dossier `libs` de votre projet et ajoutez‑le au classpath. C’est tout. + +--- + +## Étape 1 – Améliorer la précision de l'OCR : Configurer le moteur + +Avant de pouvoir **traiter l'image OCR**, nous avons besoin d’une nouvelle instance du moteur. Créer un nouveau `OcrEngine` nous donne une ardoise vierge, garantissant qu'aucun paramètre résiduel des exécutions précédentes ne subsiste. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Pourquoi c’est important* : Un moteur fraîchement créé démarre avec le prétraitement par défaut désactivé. C’est intentionnel – nous voulons activer uniquement les étapes qui aident réellement notre image spécifique, ce qui est la pierre angulaire de **améliorer la précision de l'OCR**. + +--- + +## Étape 2 – Charger l'image OCR – Préparer votre numérisation + +Nous allons maintenant réellement **charger l'image OCR**. La méthode `setImage` attend un `OcrInputImage` qui pointe vers le fichier sur le disque. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +1. **Formats pris en charge** – la plupart des bibliothèques acceptent PNG, JPEG, BMP et TIFF. Si vous avez un PDF, convertissez d'abord la première page en image. +2. **Gestion des chemins** – utiliser un chemin absolu évite le piège « fichier non trouvé » lorsque le répertoire de travail change. + +--- + +## Étape 3 – Redressement : Aligner les pages tournées + +De nombreuses pages numérisées ne sont pas parfaitement horizontales. Une légère rotation peut nuire à la reconnaissance car le moteur OCR s’attend à ce que les lignes de texte soient de niveau. Activer le redressement détecte et corrige automatiquement cette rotation. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Astuce pro** : Si vous connaissez l’angle de rotation à l’avance (par ex., 90°), vous pouvez faire pivoter manuellement l’image avant de la transmettre au moteur – souvent plus rapide pour les traitements par lots. + +--- + +## Étape 4 – Réduction du bruit : Diminuer le grain de fond + +Les anciens documents contiennent fréquemment la texture du papier, de la poussière ou des artefacts de compression. La méthode `setDenoiseLevel` applique un filtre qui lisse ce bruit. Le niveau 2 est un bon point de départ pour la plupart des pages numérisées. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Pourquoi cela aide** : Le bruit crée de fausses bordures que le moteur OCR peut interpréter comme des caractères. En nettoyant l’image, nous **améliorons la précision de l'OCR** sans sacrifier les formes réelles des glyphes. + +--- + +## Étape 5 – Augmenter le contraste : Faire ressortir le texte + +Si la numérisation est délavée, le contraste entre l’encre et le papier est faible, et le moteur a du mal à différencier le premier plan de l’arrière‑plan. Un léger renforcement du contraste de `1.4f` (augmentation de 40 %) suffit généralement. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Cas particulier* : Pour les images très sombres, un facteur plus élevé (jusqu’à 2,0) peut être bénéfique, mais attention au clipping – les zones trop claires peuvent devenir blanches pures, effaçant les détails fins. + +--- + +## Étape 6 – Effectuer la reconnaissance d'image – L'étape centrale du traitement + +Toute la préparation conduit à cette ligne : exécuter réellement le moteur OCR sur l’image pré‑traitée. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +En interne, le moteur exécute ses étapes de segmentation, de reconnaissance de caractères et de modèle linguistique. Si vous avez besoin de plusieurs langues, définissez‑les sur le moteur **avant** d’appeler `process()`. + +--- + +## Étape 7 – Extraire le texte de la page numérisée – Obtenir le résultat + +Enfin, nous récupérons la chaîne reconnue depuis `OcrResult`. L’imprimer dans la console suffit pour une démonstration rapide, mais vous pouvez également l’écrire dans un fichier, une base de données, ou l’alimenter dans un pipeline NLP en aval. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Sortie attendue** (troncée pour plus de concision) : + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Si la sortie apparaît encore brouillée, revoyez les paramètres de prétraitement – parfois un niveau de débruitage plus élevé ou un facteur de contraste différent fait une différence notable. + +--- + +## Exemple complet fonctionnel + +Voici le programme Java complet et autonome que vous pouvez copier, coller et exécuter. Il comprend les imports nécessaires, une méthode `main`, et des commentaires en ligne qui clarifient chaque étape. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Enregistrez-le sous le nom `OcrAccuracyDemo.java`, compilez avec `javac` et exécutez-le avec `java`. Si tout est correctement configuré, vous verrez le texte nettoyé affiché dans le terminal. + +--- + +## Questions fréquentes & cas limites + +**Q : Ma page numérisée est en couleur – dois‑je la convertir en niveaux de gris d’abord ?** +R : La plupart des moteurs OCR convertissent en interne en niveaux de gris, mais le faire vous‑même (par ex., en utilisant `BufferedImage` et `ColorConvertOp`) peut vous offrir un contrôle plus fin sur l’algorithme de conversion, surtout lorsque l’arrière‑plan n’est pas uniforme. + +**Q : La sortie contient encore des symboles parasites. Que faire ?** +R : Essayez d’augmenter `setDenoiseLevel` à 3 ou d’ajuster `setContrastBoost` à 1.6f. Si le problème persiste, envisagez d’appliquer un **seuil binaire** (binarisation) avant l’OCR – de nombreuses bibliothèques exposent une option `setBinarization(true)`. + +**Q : Comment gérer les PDF multi‑pages ?** +R : Convertissez chaque page en image (en utilisant Apache PDFBox, par exemple) et bouclez sur les pages, en réutilisant la même instance `OcrEngine` mais en réinitialisant l’image à chaque itération. + +--- + +## Conclusion + +Vous venez d’apprendre comment **améliorer la précision de l'OCR** en Java en **charger l'image OCR**, en appliquant le redressement, le débruitage et l’augmentation du contraste, puis en **effectuer la reconnaissance d'image** et enfin en **extraire le texte de la page numérisée**. L’idée principale est que le prétraitement est souvent le levier le plus efficace pour améliorer la qualité de reconnaissance – une image bien préparée peut doubler voire tripler le taux de caractères corrects. + +Prêt pour l’étape suivante ? Essayez d’expérimenter avec : + +- Différents niveaux de débruitage pour les numérisations très granuleuses +- Un renforcement de contraste adaptatif basé sur l’analyse de l’histogramme de l’image +- L’intégration d’un modèle linguistique (par ex., correction orthographique) après l’extraction pour nettoyer les erreurs résiduelles + +Ces extensions approfondiront votre pipeline OCR et le rendront suffisamment robuste pour les charges de travail en production. + +Si vous rencontrez un problème ou avez une astuce ingénieuse, laissez un commentaire ci‑dessous. Bon codage, et que votre texte soit toujours lisible ! + +## Que devriez‑vous apprendre ensuite ? + +Les tutoriels suivants couvrent des sujets étroitement liés qui s’appuient sur les techniques démontrées dans ce guide. Chaque ressource comprend des exemples de code complets et fonctionnels avec des explications étape par étape pour vous aider à maîtriser des fonctionnalités d’API supplémentaires et explorer des approches d’implémentation alternatives dans vos propres projets. + +- [Comment OCRiser le texte d’une image avec la langue en utilisant Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extraire du texte d’une image Java avec le mode Détection des zones Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [Reconnaître le texte d’une image avec Aspose OCR – Tutoriel complet OCR Java](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/java/ocr-basics/_index.md b/ocr/french/java/ocr-basics/_index.md index d50480d69..92aa17559 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,9 @@ 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. +### [Comment effectuer l’OCR en Java – Guide complet pour extraire du texte à partir d’images](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Apprenez à réaliser l’OCR en Java de bout en bout, en extrayant du texte précis depuis n’importe quelle image. + --- **Dernière mise à jour :** 2025-12-08 @@ -117,4 +120,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/french/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..23d8109cf --- /dev/null +++ b/ocr/french/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,249 @@ +--- +category: general +date: 2026-06-06 +description: Comment effectuer l'OCR en Java – extraire rapidement du texte d’une + image, convertir une image en texte et lire le texte d’un JPG à l’aide d’un exemple + de code simple. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: fr +og_description: Comment effectuer l’OCR en Java – apprenez à extraire du texte d’une + image, convertir une image en texte et lire le texte d’un JPG avec un exemple prêt + à l’emploi. +og_title: Comment réaliser l'OCR en Java – Guide étape par étape +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Comment effectuer l’OCR en Java – Guide complet pour extraire le texte des + images +url: /fr/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment effectuer de l'OCR en Java – Guide complet pour extraire du texte d'images + +Vous vous êtes déjà demandé **comment effectuer de l'OCR** sur une photo que vous avez prise avec votre téléphone ? Vous n'êtes pas le seul. Que vous construisiez une application de numérisation de reçus ou que vous ayez simplement besoin d'extraire du texte d'un PDF numérisé, **comment effectuer de l'OCR** en Java est une compétence qui rapporte rapidement. Dans ce tutoriel, nous parcourrons un exemple pratique qui **extrait du texte d'une image** fichiers, **convertit l'image en texte**, et montre même comment **lire le texte d'un jpg** avec seulement quelques lignes de code. + +> *Astuce :* La même approche fonctionne pour PNG, BMP ou tout format supporté par le moteur OCR — il suffit d'échanger le nom du fichier. + +## Comment effectuer de l'OCR en Java – Vue d'ensemble + +La reconnaissance optique de caractères (OCR) est la technologie qui transforme des images de lettres en texte réel et consultable. Dans l'écosystème Java, il existe plusieurs bibliothèques — Tesseract, Asprise et des SDK commerciaux — qui exposent toutes un flux de travail similaire : charger une image, indiquer au moteur la langue attendue, lancer la reconnaissance et récupérer le résultat. Ci-dessous, nous utiliserons une classe générique `OcrEngine` pour garder l'exemple clair, mais vous pouvez la remplacer par n'importe quelle implémentation concrète qui suit le même schéma. + +### Ce que vous apprendrez + +- Installer une bibliothèque OCR (oui, **OCR en Java** est plus facile que vous ne le pensez). +- Créer et configurer une instance du moteur OCR. +- Charger un JPG (ou toute image) et définir la langue. +- Traiter l'image et **extraire du texte d'une image** fichiers. +- Afficher la chaîne reconnue dans la console. + +À la fin, vous disposerez d'un programme Java autonome que vous pourrez intégrer à n'importe quel projet et exécuter immédiatement. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## Étape 1 – Installer et importer une bibliothèque OCR (OCR en Java) + +Avant d'écrire une seule ligne de Java, vous avez besoin d'une bibliothèque qui effectue réellement le travail lourd. Si vous utilisez Maven, ajoutez une dépendance comme celle-ci (remplacez `com.example.ocr` par le vrai group ID de votre SDK choisi) : + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Si vous préférez Gradle : + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Une fois le JAR sur votre classpath, importez les classes dont vous aurez besoin : + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Pourquoi c'est important :** Importer les bonnes classes évite les erreurs « cannot find symbol » et rend votre IDE heureux — rien de plus frustrant qu'un import manquant lorsque vous essayez de **convertir l'image en texte**. + +## Étape 2 – Créer l'instance du moteur OCR (comment effectuer de l'OCR) + +Maintenant que la bibliothèque est prête, lancez le moteur. Considérez le moteur comme le cerveau qui regardera les pixels et devinera les lettres. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Créer le moteur est généralement peu coûteux ; la plupart des SDK allouent les tampons internes de façon paresseuse, vous pouvez donc réutiliser en toute sécurité la même instance sur de nombreuses images si vous traitez un lot. + +## Étape 3 – Charger l'image et définir la langue (extraire du texte d'une image) + +L'étape suivante consiste à fournir quelque chose à lire au moteur. Ici, nous chargeons un JPEG depuis le disque et indiquons au moteur OCR que le texte est en mongol (code ISO 639‑2 « mon »). Vous pouvez modifier le chemin ou le code de langue pour correspondre à votre cas d'utilisation. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Remarque :** Si vous ne définissez pas de langue, le moteur utilise l'anglais par défaut, ce qui peut réduire considérablement la précision lorsque le texte est réellement cyrillique ou dans un autre script. Spécifiez toujours la langue correcte lorsque vous le pouvez. + +## Étape 4 – Traiter l'image et obtenir le résultat (convertir l'image en texte) + +Avec l'image et la langue en place, demandez au moteur de faire sa magie. L'appel `process()` exécute l'algorithme OCR et renvoie un objet `OcrResult` contenant la chaîne reconnue et les scores de confiance. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +En coulisses, le moteur peut effectuer un prétraitement — redressement, binarisation, réduction du bruit — afin que vous n'ayez pas à écrire ces étapes vous-même. C’est pourquoi la plupart des bibliothèques OCR modernes sont un plaisir à utiliser pour les tâches de **convertir l'image en texte**. + +## Étape 5 – Sortir le texte extrait (lire le texte d'un jpg) + +Enfin, extrayez le texte brut du résultat et faites-en quelque chose d'utile. Pour cette démonstration, nous l'imprimons simplement dans la console, mais vous pourriez l'écrire dans un fichier, l'alimenter dans un index de recherche ou le transmettre à un autre service. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Cette ligne seule prouve que vous avez réussi à **lire le texte d'un jpg** (ou tout format supporté). Si la sortie apparaît brouillée, revérifiez le code de langue et la qualité de l'image. + +## Exemple complet fonctionnel (Toutes les étapes combinées) + +Ci-dessous se trouve une classe Java complète, prête à être exécutée, qui assemble toutes les pièces. Copiez‑la dans un fichier nommé `OcrDemo.java`, ajustez le chemin de l'image et la langue, puis exécutez `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Sortie attendue + +Si `input.jpg` contient la phrase mongole « Сайн байна уу ?», la console affichera : + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Si l'image est floue ou que le code de langue est incorrect, vous verrez des caractères brouillés ou une chaîne vide — des pièges courants que nous aborderons ensuite. + +## Problèmes courants et comment les résoudre + +| Symptôme | Cause probable | Solution | +|----------|----------------|----------| +| Caractères cyrilliques brouillés | Code de langue incorrect (par défaut anglais) | Définir `ocrEngine.getSettings().setLanguage("mon")` ou le code approprié. | +| Aucune sortie | Chemin de l'image incorrect ou fichier illisible | Vérifiez le chemin, assurez‑vous que le fichier existe et que le processus a les permissions de lecture. | +| Faible précision (<70 %) | L'image a un faible contraste ou est tournée | Pré‑traitez l'image : augmentez le contraste, redressez‑la ou convertissez‑la en niveaux de gris avant de la fournir au moteur. | +| `OutOfMemoryError` sur de gros PDF | Chargement de nombreuses pages haute résolution en même temps | Traitez les pages une à une, ou réduisez la résolution des images avant l'OCR. | + +### Astuce : Traitement par lots + +Si vous devez **extraire du texte d'une image** fichiers en masse, encapsulez la logique principale dans une boucle : + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Cet extrait montre à quel point il est facile de passer d'un seul JPG à un dossier entier de numérisations. + +## Aller plus loin – Que faut‑il explorer ensuite ? + +- **Packs de langues :** La plupart des SDK OCR vous permettent de télécharger des fichiers de données linguistiques supplémentaires. Ajouter un nouveau pack vous permet de **convertir l'image en texte** pour des langues au‑delà de l'anglais et du mongol. +- **PDF OCR:** Combinez ce code avec Apache PDFBox pour + +## Que devriez‑vous apprendre ensuite ? + +Les tutoriels suivants couvrent des sujets étroitement liés qui s'appuient sur les techniques démontrées dans ce guide. Chaque ressource comprend des exemples de code complets et fonctionnels avec des explications étape par étape pour vous aider à maîtriser des fonctionnalités d'API supplémentaires et explorer des approches d'implémentation alternatives dans vos propres projets. + +- [Extraire du texte d'images – Bases de l'OCR avec Aspose.OCR pour Java](/ocr/english/java/ocr-basics/) +- [Convertir l'image en texte en Java avec Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Comment OCR du texte d'image avec langue en utilisant Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..4895e1433 100644 --- a/ocr/french/java/ocr-operations/_index.md +++ b/ocr/french/java/ocr-operations/_index.md @@ -81,6 +81,8 @@ 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. +### [Appliquer la licence Aspose OCR en Java – Supprimer le filigrane OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Apprenez à appliquer votre licence Aspose OCR en Java pour éliminer le filigrane OCR des documents générés. ## Foire aux questions diff --git a/ocr/french/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/french/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..eb2c97d49 --- /dev/null +++ b/ocr/french/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: Appliquez la licence Aspose OCR en Java pour débloquer toutes les fonctionnalités + et supprimer immédiatement le filigrane OCR. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: fr +og_description: Appliquez la licence Aspose OCR en Java pour éliminer les limites + d'évaluation et supprimer le filigrane OCR de vos numérisations. +og_title: Appliquer la licence Aspose OCR en Java – Supprimer le filigrane OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Appliquer la licence Aspose OCR en Java – Supprimer le filigrane OCR +url: /fr/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Appliquer la licence Aspose OCR en Java – Supprimer le filigrane OCR + +Vous êtes-vous déjà demandé comment **appliquer la licence Aspose OCR** dans un projet Java sans rencontrer le redoutable filigrane d’évaluation ? Vous n’êtes pas seul. Dès que vous essayez la version d’essai gratuite, chaque image numérisée est marquée d’une superposition grise « Aspose Evaluation », ce qui peut rendre même le document le plus propre peu professionnel. + +Dans ce guide, nous parcourrons les étapes exactes pour **appliquer la licence Aspose OCR**, vérifier que la bibliothèque est entièrement déverrouillée, et vous montrer comment le filigrane disparaît automatiquement. À la fin, vous pourrez exécuter l’OCR sur n’importe quelle image—qu’il s’agisse d’un reçu, d’un scan de passeport ou d’une note manuscrite—sans cette superposition disgracieuse. + +## Prérequis + +Avant de commencer, assurez‑vous d’avoir : + +- **Java Development Kit (JDK) 8** ou une version plus récente installé. +- Le fichier JAR **Aspose OCR for Java** (téléchargé depuis le portail Aspose). +- Votre **fichier de licence Aspose OCR** (`Aspose.OCR.Java.lic`). +- Un IDE ou un simple éditeur de texte (IntelliJ, Eclipse, VS Code—à vous de choisir). + +C’est tout. Aucun plugin Maven supplémentaire ou astuce Gradle n’est requis, bien que vous puissiez les ajouter plus tard si vous le souhaitez. + +## Configuration du projet (Vue d’ensemble rapide) + +1. Créez un nouveau dossier nommé `AsposeOCRDemo`. +2. Déposez le fichier `aspose-ocr-*.jar` dans un sous‑dossier `lib`. +3. Placez votre fichier `Aspose.OCR.Java.lic` quelque part d’accessible, par ex. dans le dossier `resources/`. +4. Écrivez un petit fichier `Main.java`—c’est ici que la magie opère. + +Si vous utilisez un IDE, ajoutez simplement le JAR au classpath du projet et marquez le dossier `resources` comme racine de ressources. Si vous compilez depuis la ligne de commande, le classpath ressemblera à quelque chose comme : + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Maintenant que l’infrastructure est prête, passons au cœur du sujet. + +## Étape 1 : **Appliquer la licence Aspose OCR** – Le code principal + +La première chose à faire est d’indiquer au moteur Aspose OCR de faire confiance à votre fichier de licence. Sans cet appel, la bibliothèque reste en mode évaluation et ajoutera le filigrane à chaque sortie. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Pourquoi c’est important :** La classe `License` est le gardien. Dès que `setLicense` réussit, le moteur OCR passe du mode *évaluation* au mode *complet*. Toutes les vérifications internes qui ajoutent normalement la logique **remove OCR watermark** sont désactivées, ainsi vous ne verrez plus jamais la superposition grise. +> +> **Astuce :** Conservez le fichier de licence en dehors de votre contrôle de version (par ex. dans un dossier spécifique à l’environnement) afin d’éviter les commits accidentels. + +## Étape 2 : Vérifier que le filigrane a disparu + +Après avoir appelé `applyAsposeOcrLicense`, il est judicieux d’exécuter un test rapide. L’extrait suivant charge une image, effectue l’OCR et affiche le texte extrait. Si la licence n’est pas active, Aspose lèvera une exception ou intégrera un filigrane dans l’image de sortie (si vous enregistrez un résultat visuel). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Sortie attendue (extrait) :** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Remarquez qu’il n’y a aucune mention d’un filigrane d’évaluation. C’est l’effet **remove OCR watermark** en action. + +## Étape 3 : Pièges courants & cas limites + +### 1. Chemin de licence incorrect +Si vous fournissez un chemin incorrect à `setLicense`, la méthode échoue silencieusement et la bibliothèque reste en mode évaluation. Vérifiez toujours la valeur de retour ou capturez l’exception, comme le montre `LicenseUtil`. + +### 2. Utilisation d’un chemin relatif dans un déploiement JAR +Lorsque vous empaquetez votre application dans un JAR exécutable, les chemins relatifs du système de fichiers peuvent se casser. Une approche plus sûre consiste à charger la licence en tant que flux de ressource : + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Placez le fichier `.lic` dans `src/main/resources` afin qu’il se retrouve sur le classpath. + +### 3. Scénarios multithreads +Si votre application traite de nombreuses images simultanément, vous n’avez besoin d’appliquer la licence **qu’une seule fois** par JVM. Ré‑appeler `setLicense` depuis plusieurs threads peut entraîner une légère perte de performance, mais cela ne cassera rien. + +### 4. Expiration de la licence +Les licences Aspose sont généralement perpétuelles, mais certaines licences d’essai ou limitées dans le temps peuvent expirer. Lorsque cela se produit, le moteur revient en mode évaluation et le comportement **remove OCR watermark** disparaît. Surveillez la date d’expiration de la licence dans le portail Aspose. + +## Étape 4 : Automatiser l’application de la licence dans des projets réels + +Dans un micro‑service de production, vous ne voulez probablement pas parsemer votre code de `LicenseUtil.applyAsposeOcrLicense`. À la place, initialisez‑le une seule fois au démarrage de l’application — par exemple dans une méthode `@PostConstruct` de Spring Boot ou dans un bloc d’initialisation statique. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Désormais, chaque composant qui utilise `OcrEngine` peut supposer que la licence est déjà active, garantissant la **remove OCR watermark** à travers tout le service. + +## Étape 5 : Tester l’intégration de la licence + +Des tests automatisés peuvent confirmer que le filigrane a bien disparu. Un test JUnit simple pourrait ressembler à ceci : + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Exécuter ce test vous donne la certitude que votre pipeline de déploiement n’expédiera pas accidentellement une version non licenciée. + +## Vue d’ensemble visuelle (optionnelle) + +Si vous aimez voir les choses graphiquement, voici un schéma rapide du flux : + +![Appliquer la licence Aspose OCR en Java](apply-aspose-ocr-license.png "Appliquer la licence Aspose OCR en Java") + +*Texte alternatif : Appliquer la licence Aspose OCR en Java – diagramme montrant le chargement de la licence puis le traitement OCR sans filigrane.* + +## Conclusion + +Nous avons couvert tout ce qu’il faut pour **appliquer la licence Aspose OCR** dans un environnement Java et, en conséquence directe, **supprimer le filigrane OCR** de toutes les images traitées. De la création de l’objet `License`, à la gestion des particularités de chemin, en passant par la vérification du résultat et l’intégration dans une application plus vaste—chaque étape a été expliquée avec le « pourquoi » derrière le « comment ». + +Vous pouvez maintenant intégrer Aspose OCR dans n’importe quel projet Java, sûr que vos utilisateurs ne verront jamais cette étiquette d’évaluation gênante. + +### Et après ? + +- **Explorer les packs de langues :** Aspose OCR prend en charge plus de 70 langues ; il suffit de définir la propriété appropriée de `OcrEngine`. +- **Combiner avec Aspose PDF :** Convertissez directement les images numérisées en PDF recherchables sans filigrane. +- **Optimisation des performances** + +## Que devez‑vous apprendre ensuite ? + + +Les tutoriels suivants couvrent des sujets étroitement liés qui s’appuient sur les techniques démontrées dans ce guide. Chaque ressource inclut des exemples de code complets avec des explications pas à pas pour vous aider à maîtriser d’autres fonctionnalités de l’API et explorer des approches d’implémentation alternatives dans vos propres projets. + +- [Comment définir la licence et vérifier la licence Aspose.OCR en Java](/ocr/english/java/ocr-basics/set-license/) +- [Reconnaître du texte sur une image avec Aspose OCR – Tutoriel complet Java](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculer l’angle d’inclinaison avec Aspose OCR Java – Guide complet](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..226de9ca0 100644 --- a/ocr/german/java/advanced-ocr-techniques/_index.md +++ b/ocr/german/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,20 @@ 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. +### [GPU in Java OCR aktivieren – Vollständige Schritt‑für‑Schritt‑Anleitung](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Erfahren Sie, wie Sie GPU‑Unterstützung in Aspose.OCR für Java aktivieren und die OCR‑Leistung steigern. +### [Text aus gescanntem Bild in Java extrahieren – Vollständige Aspose OCR‑Anleitung](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Erfahren Sie, wie Sie mit Aspose.OCR für Java Text aus gescannten Bildern extrahieren – Schritt‑für‑Schritt‑Anleitung. +### [Aspose OCR Java Beispiel – Vollständige Anleitung zum Laden von Bildern, Rechtschreibkorrektur und OCR‑Verarbeitung](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Erfahren Sie, wie Sie mit Aspose OCR für Java Bilder laden, Rechtschreibkorrektur anwenden und OCR verarbeiten – Schritt‑für‑Schritt‑Anleitung. +### [Verbesserung der OCR‑Genauigkeit in Java – Vollständige Anleitung](./improve-ocr-accuracy-in-java-complete-guide/) +Erfahren Sie, wie Sie die OCR‑Genauigkeit in Java erhöhen und optimale Texterkennung erzielen – Schritt‑für‑Schritt‑Anleitung. +### [Erstellen durchsuchbares PDF in Java – Vollständige Aspose OCR‑Anleitung](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Erfahren Sie, wie Sie mit Aspose.OCR für Java durchsuchbare PDFs erstellen – Schritt‑für‑Schritt‑Anleitung. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/german/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..4d38d1d4c --- /dev/null +++ b/ocr/german/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java‑Beispiel, das zeigt, wie man Bild‑OCR lädt, OCR‑Fehler + korrigiert, ein benutzerdefiniertes Wörterbuch festlegt und Bild‑OCR in nur wenigen + Schritten verarbeitet. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: de +og_description: Aspose OCR Java‑Beispiel, das ein Bild lädt, OCR‑Fehler korrigiert, + ein benutzerdefiniertes Wörterbuch festlegt und die Bild‑OCR effizient verarbeitet. +og_title: Aspose OCR Java Beispiel – Bild laden, Rechtschreibung korrigieren & OCR + verarbeiten +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java‑Beispiel – Vollständige Anleitung zum Laden von Bildern, Rechtschreibkorrektur + und zur OCR‑Verarbeitung +url: /de/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Beispiel – Vollständige Anleitung zum Laden von Bild, Rechtschreibkorrektur und OCR-Verarbeitung + +Haben Sie schon einmal ein **Aspose OCR Java Beispiel** gebraucht, das sofort funktioniert? Sie sind nicht allein – Entwickler starren oft auf einen unscharfen Screenshot und fragen sich, warum der extrahierte Text ein Chaos ist. Die gute Nachricht: Die OCR‑Engine von Aspose liefert bereits eine integrierte Rechtschreibkorrektur, und Sie können sogar Ihre eigene Wortliste einbinden. In diesem Tutorial führen wir Sie durch das Laden eines Bild‑OCR, das Aktivieren der Korrekturfunktion, das optionale Setzen eines benutzerdefinierten Wörterbuchs und schließlich die Verarbeitung des Bild‑OCR, um sauberen, lesbaren Text zu erhalten. + +Wir erklären außerdem, warum Sie **OCR‑Fehler korrigieren** sollten, wie Sie **Bild‑OCR effizient laden**, welche Vorteile ein **benutzerdefiniertes Wörterbuch setzen** bietet und wie der End‑zu‑End‑**Bild‑OCR‑Verarbeitungs‑Flow** aussieht. Am Ende haben Sie ein vollständig ausführbares Java‑Programm, das Sie in jedes Maven‑ oder Gradle‑Projekt einbinden können. + +--- + +## Was Sie benötigen + +- Java 8 oder neuer (die API funktioniert auch mit Java 11+) +- Aspose.OCR für Java Bibliothek (laden Sie die neueste JAR von der Aspose‑Website herunter oder fügen Sie die Maven‑Abhängigkeit hinzu) +- Eine Bilddatei, die Text enthält (idealerweise ein gescanntes Dokument oder ein Screenshot mit etwas Rauschen) +- Optional: eine reine Text‑Wörterbuchdatei, wenn Sie ein **benutzerdefiniertes Wörterbuch setzen** für domänenspezifische Begriffe möchten + +Das war’s – keine schweren OCR‑Engines, keine nativen Abhängigkeiten, nur eine einzelne JAR und ein paar Code‑Zeilen. + +--- + +## Schritt 1: Aspose OCR Java Beispiel – Bild‑OCR laden + +Das Erste, was Sie tun müssen, ist eine `OcrEngine`‑Instanz zu erstellen und sie auf die Datei zu zeigen, die Sie analysieren wollen. Denken Sie dabei an das Aufschlagen eines Buches, bevor Sie zu lesen beginnen. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Warum das wichtig ist:** Der Aufruf `setImage` ist das Herzstück von **Bild‑OCR laden**. Ohne ein gültiges Bild hat die Engine nichts zu erkennen und Sie erhalten entweder einen leeren String oder eine Ausnahme. + +![aspose ocr java example loading image](image.png){alt="aspose ocr java beispiel bild laden"} + +--- + +## Schritt 2: Rechtschreibkorrektur aktivieren, um OCR‑Fehler zu korrigieren + +Aspose OCR liefert die Rechtschreibkorrektur standardmäßig aktiviert, aber es schadet nie, es explizit zu setzen – besonders, wenn Sie ein **aspose ocr java example** demonstrieren. Das Aktivieren dieser Funktion reduziert unsinnige Zeichenfolgen wie „t1e“ oder „rec0gn1tion“ drastisch. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro‑Tipp:** Wenn Sie bemerken, dass die Engine bestimmte Wörter weiterhin falsch erkennt, überprüfen Sie die Spracheinstellungen oder fügen Sie ein benutzerdefiniertes Wörterbuch hinzu (nächster Schritt). + +Die Aktivierung der Rechtschreibkorrektur ist der schnellste Weg, **OCR‑Fehler zu korrigieren**, ohne zusätzlichen Code zu schreiben. + +--- + +## Schritt 3: Benutzerdefiniertes Wörterbuch für höhere Genauigkeit setzen + +Manchmal kennt das Standard‑Wörterbuch Ihre branchenspezifische Fachsprache nicht – denken Sie an medizinische Begriffe, Produktcodes oder Markennamen. Hier kommt **benutzerdefiniertes Wörterbuch setzen** ins Spiel. Geben Sie eine reine Textdatei an, ein Wort pro Zeile, und die OCR‑Engine behandelt diese Einträge während der Korrektur als gültig. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Wann zu verwenden:** Wenn Sie Rechnungen verarbeiten und die Firmennamen ständig verfälscht werden, sorgt ein benutzerdefiniertes Wörterbuch mit diesen Namen dafür, dass die **Bild‑OCR‑Verarbeitung** deutlich zuverlässiger wird. + +--- + +## Schritt 4: Bild‑OCR verarbeiten und den Text abrufen + +Jetzt, wo die Engine konfiguriert ist, ist es Zeit, die Erkennung tatsächlich auszuführen. Die Methode `process` erledigt die schwere Arbeit – sie erkennt Textblöcke, wendet die Rechtschreibkorrektur an und gibt ein `OcrResult`‑Objekt zurück. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Was Sie sehen werden:** Die Konsole gibt einen sauberen, menschenlesbaren String aus. Wenn Sie die Rechtschreibkorrektur weggelassen hätten, würden Sie wahrscheinlich seltsame Zeichen sehen – deshalb ist das frühere Aktivieren für **OCR‑Fehler korrigieren** entscheidend. + +--- + +## Schritt 5: Beispiel ausführen und Ausgabe überprüfen + +Kompilieren und führen Sie die Klasse mit Ihrer bevorzugten IDE oder über die Kommandozeile aus: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Sie sollten etwas Ähnliches sehen: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Enthält die Ausgabe noch Rechtschreibfehler, fügen Sie diese Wörter Ihrem benutzerdefinierten Wörterbuch hinzu und führen Sie den **Bild‑OCR‑Verarbeitung**‑Schritt erneut aus. + +--- + +## Häufige Fallstricke und wie man sie vermeidet + +| Problem | Warum es passiert | Lösung | +|---------|-------------------|--------| +| **Leere Ausgabe** | Bildpfad falsch oder nicht unterstütztes Format | Pfad überprüfen, PNG/JPEG verwenden und sicherstellen, dass die Datei lesbar ist | +| **Fehlerhafte Zeichen** | Rechtschreibkorrektur deaktiviert oder Bild von schlechter Qualität | `setEnableSpellCorrection(true)` aktivieren und ggf. Bild vorverarbeiten (Kontrast erhöhen) | +| **Domänenspezifische Wörter immer noch falsch** | Kein benutzerdefiniertes Wörterbuch | `setCustomDictionary` mit einer Datei verwenden, die Ihre Begriffe enthält | +| **Speicherüberlauf‑Fehler** | Sehr große Bilder ohne Skalierung geladen | Bildgröße vor dem Übergeben an `OcrEngine` anpassen | + +--- + +## Erweiterung des Beispiels + +Jetzt, wo Sie ein solides **aspose ocr java example** haben, könnten Sie Folgendes in Betracht ziehen: + +- **Stapelverarbeitung** eines Ordners mit Bildern, indem Sie über Dateinamen iterieren und dieselbe `OcrEngine`‑Instanz wiederverwenden. +- **Layout‑Informationen extrahieren** (Tabellen, Spalten) mittels `ocrResult.getPages()` für fortgeschrittene Dokumentenanalyse. +- **Integration mit Apache PDFBox**, um den erkannten Text wieder in ein PDF einzubetten. + +All diese Erweiterungen bauen auf denselben Kernschritten auf, die wir behandelt haben: Bild‑OCR laden, Korrektur aktivieren, optional ein benutzerdefiniertes Wörterbuch setzen und Bild‑OCR verarbeiten. + +--- + +## Fazit + +Sie haben gerade ein komplettes **aspose ocr java example** erstellt, das ein Bild lädt, die Rechtschreibkorrektur aktiviert, um **OCR‑Fehler zu korrigieren**, optional **ein benutzerdefiniertes Wörterbuch setzt** und schließlich **Bild‑OCR verarbeitet**, um sauberen Text zu erhalten. Der Code ist kurz, die Konzepte klar, und Sie besitzen nun eine Basis, die Sie für Batch‑Jobs, UI‑Integrationen oder sogar Cloud‑Micro‑Services erweitern können. + +Was kommt als Nächstes? Versuchen Sie, der Engine ein Bild mit niedriger Auflösung zu geben, fügen Sie eine Liste von Produkt‑SKUs zu Ihrem benutzerdefinierten Wörterbuch hinzu und beobachten Sie, wie sich die Genauigkeit verbessert. Je mehr Sie experimentieren, desto besser verstehen Sie die Kompromisse zwischen Bildqualität, Wörterbuchgröße und Verarbeitungsgeschwindigkeit. + +Hinterlassen Sie gerne einen Kommentar, falls Sie auf Probleme stoßen oder Ideen für weitere Verbesserungen haben. Viel Spaß beim Coden! + +## Was solltest du als Nächstes lernen? + +Die folgenden Tutorials behandeln eng verwandte Themen, die auf den in diesem Leitfaden gezeigten Techniken aufbauen. Jede Ressource enthält vollständige, funktionierende Code‑Beispiele mit Schritt‑für‑Schritt‑Erklärungen, damit Sie weitere API‑Funktionen meistern und alternative Implementierungsansätze in Ihren Projekten erkunden können. + +- [Wie man Lizenz setzt und Aspose.OCR Lizenz in Java überprüft](/ocr/english/java/ocr-basics/set-license/) +- [Wie man Bild‑Text mit Sprache mittels Aspose.OCR OCR‑durchführt](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Beispiel – Zeilen in Bildern erkennen](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/german/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..3efa0e744 --- /dev/null +++ b/ocr/german/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Erstellen Sie ein durchsuchbares PDF mit Java und Aspose OCR. Lernen + Sie, Text aus PDFs zu extrahieren, die OCR‑Genauigkeit zu steigern und mehrseitige + PDFs effizient zu verarbeiten. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: de +og_description: Erstellen Sie ein durchsuchbares PDF mit Java und Aspose OCR. Dieser + Leitfaden führt Sie durch das Extrahieren von Text aus PDFs, die Erhöhung der OCR‑Genauigkeit + und die Verarbeitung mehrseitiger PDFs. +og_title: Durchsuchbare PDF in Java erstellen – Komplettes Aspose OCR‑Tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Durchsuchbare PDF in Java erstellen – Vollständiger Aspose OCR-Leitfaden +url: /de/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Erstellen durchsuchbarer PDFs in Java – Vollständige Aspose OCR‑Anleitung + +Haben Sie sich schon einmal gefragt, wie man **durchsuchbare PDF**‑Dateien direkt aus Java erstellt, ohne Dutzende von Befehlszeilentools zu jonglieren? Sie sind nicht allein. Viele Entwickler stoßen an Grenzen, wenn sie gescannte PDFs in textdurchsuchbare Dokumente umwandeln müssen, insbesondere wenn die Quell‑PDFs mehrere Seiten umfassen. + +In diesem Tutorial führen wir Sie durch ein komplettes, ausführbares Beispiel, das nicht nur **durchsuchbare PDFs** erstellt, sondern auch zeigt, wie man **Text aus PDF extrahiert**, **die OCR‑Genauigkeit erhöht** und einen **OCR‑Mehrseitigen‑PDF**‑Workflow mit der Aspose OCR‑Bibliothek handhabt. Am Ende haben Sie einen soliden, produktionsbereiten Code‑Snippet, den Sie in jedes Java‑Projekt einbinden können. + +## Was Sie benötigen + +- Java 17 oder neuer (der Code kompiliert auch mit älteren Versionen, aber JDK 17 ist ideal) +- Maven oder Gradle, um die `aspose-ocr`‑Abhängigkeit zu beziehen +- Ein Beispiel‑Mehrseitiges‑PDF (wir nennen es `sample_multi_page.pdf`) +- Eine bescheidene GPU oder zumindest eine Mehrkern‑CPU, wenn Sie Parallelverarbeitung aktivieren möchten + +Zusätzliche native Bibliotheken sind nicht erforderlich – Aspose OCR enthält alles, was Sie brauchen. + +--- + +## Durchsuchbares PDF erstellen – Schritt‑für‑Schritt‑Implementierung + +Im Folgenden zerlegen wir den Prozess in logische Abschnitte. Jeder Abschnitt hat seine eigene H2‑Überschrift, sodass Sie direkt zu dem Teil springen können, der Sie interessiert, und das Haupt‑Keyword erscheint bereits in der Überschrift. + +### Schritt 1: Projekt einrichten und Aspose OCR importieren + +Fügen Sie zunächst das Aspose OCR Maven‑Artefakt zu Ihrer `pom.xml` hinzu. Wenn Sie Gradle bevorzugen, finden Sie das entsprechende Snippet in den Kommentaren. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro‑Tipp:** Halten Sie Ihre Abhängigkeiten aktuell; neuere Releases bringen häufig Genauigkeitsverbesserungen, die Ihnen direkt helfen, die **OCR‑Genauigkeit zu erhöhen**. + +### Schritt 2: Mehrseitiges PDF in die OCR‑Engine laden + +Jetzt erstellen wir eine `OcrEngine`‑Instanz und übergeben ihr das zu verarbeitende PDF. Die Engine behandelt jede Seite intern als Bild, weshalb dieser Ansatz für ein **ocr multi page pdf**‑Szenario funktioniert. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Warum das wichtig ist:** Das PDF einmal zu laden und die Engine die Seitennavigation übernehmen zu lassen, vermeidet den Aufwand, jede Seite manuell zu extrahieren, und spart sowohl Zeit als auch Speicher. + +### Schritt 3: Erweiterte Funktionen aktivieren, um **die OCR‑Genauigkeit zu erhöhen** + +Aspose OCR bietet mehrere Stellschrauben, die Sie drehen können. Das Aktivieren von GPU‑Beschleunigung, das Erhöhen der Thread‑Anzahl und das Angeben mehrerer Sprachen tragen alle zu besseren Erkennungsraten bei, besonders bei verrauschten Scans. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Was, wenn Sie keine GPU haben?** Setzen Sie einfach `setUseGpu(false)`; die Engine fällt dann in den reinen CPU‑Modus zurück, profitiert aber weiterhin von Multithreading. + +### Schritt 4: Bilder für bessere Ergebnisse vorverarbeiten + +Vorverarbeitungsschritte wie Entzerrung, Rauschunterdrückung und Kontrastverstärkung erhöhen die **OCR‑Genauigkeit** bei gescannten Dokumenten erheblich. Denken Sie daran wie an das Polieren eines rohen Steins vor dem Schnitzen. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Warum diese Einstellungen?** Ein Rauschunterdrückungs‑Level von `2` funktioniert für die meisten gescannten PDFs gut, während eine moderate Kontrastverstärkung (1,3×) schwache Tinte hervorhebt, ohne den Hintergrund zu überbelichten. + +### Schritt 5: Ausgabe konfigurieren, um ein durchsuchbares PDF zu erzeugen + +Aspose OCR kann die erkannte Textebene direkt in ein PDF einbetten und so eine flache Bilddatei in ein **durchsuchbares PDF** verwandeln. Das ist der Kern der Frage „wie man ein durchsuchbares PDF erstellt“, die viele Entwickler stellen. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Wenn `setGenerateSearchablePdf(true)` aktiviert ist, erzeugt die Bibliothek eine unsichtbare Textebene, die den visuellen Inhalt spiegelt und das fertige Dokument in jedem PDF‑Betrachter durchsuchbar macht. + +### Schritt 6: OCR ausführen und Ergebnis speichern + +Jetzt verarbeiten wir das Dokument tatsächlich und schreiben die Ausgabedatei. Die Methode `process` liefert ein `OcrResult`‑Objekt, das sowohl das durchsuchbare PDF als auch den extrahierten Klartext enthält. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Schritt 7: (Optional) **Text aus PDF extrahieren** für sofortige Nutzung + +Falls Sie den Rohtext ebenfalls benötigen – etwa für Indexierung, Analysen oder die Anzeige auf einer Webseite – können Sie ihn direkt aus dem `OcrResult` auslesen. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Was Sie sehen werden:** Die Konsole gibt den zusammengefügten Text aller Seiten aus und bewahrt, wo möglich, Zeilenumbrüche. Damit wird die Anforderung **extract text from pdf** ohne einen zweiten Durchlauf erfüllt. + +--- + +## Visueller Überblick + +Unten finden Sie ein einfaches Flussdiagramm, das jeden Schritt dem entsprechenden Code‑Block zuordnet. Es hilft Ihnen, zu visualisieren, wie das Eingabe‑PDF durch Vorverarbeitung, OCR und schließlich zur durchsuchbaren Datei wird. + +![Create searchable PDF flow diagram](https://example.com/flow-diagram.png "Create searchable PDF flow diagram") + +*Alt‑Text enthält das Haupt‑Keyword, um die Bild‑SEO zu erfüllen.* + +--- + +## Häufige Fragen & Sonderfälle + +| Frage | Antwort | +|----------|--------| +| **Kann ich PDFs größer als 100 MB verarbeiten?** | Ja, aber überlegen Sie, die Seiten zu streamen, anstatt die gesamte Datei in den Speicher zu laden. Aspose OCR verwaltet intern die Seitennavigation, dennoch kann es sinnvoll sein, den JVM‑Heap (`-Xmx4g`) für sehr große Dateien zu erhöhen. | +| **Was, wenn mein PDF handschriftliche Notizen enthält?** | Handschriftliche Erkennung ist standardmäßig nicht aktiviert. Sie können zu `setLanguage("eng,mon,handwritten")` wechseln, falls die Bibliotheksversion dies unterstützt, wobei die Genauigkeit variieren kann. | +| **Benötige ich eine Lizenz für Aspose OCR?** | Eine temporäre Evaluationslizenz funktioniert für Tests. Für die Produktion erwerben Sie eine kommerzielle Lizenz, um Wasserzeichen zu entfernen und die volle Leistung freizuschalten. | +| **Wie deaktiviere ich die Rechtschreibkorrektur?** | Rufen Sie `ocr.getSettings().setEnableSpellCorrection(false);` auf – nützlich, wenn Sie das rohe OCR‑Ergebnis für forensische Zwecke benötigen. | +| **Ist GPU‑Unterstützung zwingend erforderlich?** | Nein. Die Bibliothek fällt elegant auf CPU zurück. Allerdings kann die GPU die Verarbeitungszeit bei großen mehrseitigen Dokumenten um bis zu 60 % reduzieren. | + +--- + +## Vollständiges, lauffähiges Beispiel (Einfaches Kopieren & Einfügen) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Erwartete Ausgabe** + +- `output_searchable.pdf` – ein PDF, in dem Sie **Strg + F** drücken können, um jedes Wort zu finden, das in den gescannten Bildern vorkam. +- Konsolen‑Log – der komplette Textinhalt des ursprünglichen PDFs, ideal für Indexierung oder weitere Analysen. + +--- + +## Fazit + +Wir haben gezeigt, wie man mit Aspose OCR **durchsuchbare PDFs** in Java erstellt, gleichzeitig **Text aus PDF extrahiert**, die **OCR‑Genauigkeit erhöht** und effizient einen **OCR‑Mehrseitigen‑PDF**‑Workflow handhabt. Der obige Code‑Snippet ist bereit, in Ihr Projekt eingefügt zu werden, und die Erklärungen geben Ihnen das nötige Vertrauen, die Einstellungen für Ihren Anwendungsfall zu optimieren. + +Was kommt als Nächstes? Experimentieren Sie mit benutzerdefinierten Schriftart‑Einbettungen, fügen Sie OCR‑generierte Lesezeichen hinzu oder integrieren Sie die Ausgabe in eine Suchmaschine wie Elasticsearch. All diese Themen knüpfen an unsere sekundären Keywords – *how to make searchable pdf* und *increase OCR accuracy* – und bieten Ihnen klare Pfade für eine tiefere Auseinandersetzung. + +Teilen Sie gerne Ihre Erfahrungen oder stellen Sie Nachfragen in den Kommentaren. Viel Spaß beim Coden und beim Umwandeln statischer Scans in voll durchsuchbare, textreiche PDFs! + +## Was sollten Sie als Nächstes lernen? + +Die folgenden Tutorials behandeln eng verwandte Themen, die auf den in diesem Leitfaden gezeigten Techniken aufbauen. Jede Ressource enthält vollständige, funktionierende Code‑Beispiele mit Schritt‑für‑Schritt‑Erklärungen, damit Sie weitere API‑Funktionen meistern und alternative Implementierungsansätze in Ihren eigenen Projekten erkunden können. + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-pdf/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/german/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..85ce05d38 --- /dev/null +++ b/ocr/german/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,272 @@ +--- +category: general +date: 2026-06-06 +description: Extrahieren Sie Text aus gescannten Bildern mit Aspose OCR für Java. + Erfahren Sie, wie Sie Text aus Tiff‑Dateien mit paralleler Verarbeitung erkennen. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: de +og_description: Extrahieren Sie Text aus gescannten Bildern mit Aspose OCR. Dieser + Leitfaden zeigt, wie man Text aus TIFF-Dateien effizient mit Java erkennt. +og_title: Text aus gescanntem Bild extrahieren – Aspose OCR Java‑Tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Text aus gescanntem Bild in Java extrahieren – vollständiger Aspose‑OCR‑Leitfaden +url: /de/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus gescanntem Bild extrahieren – Vollständiger Aspose OCR Leitfaden + +Haben Sie schon einmal **Text aus einem gescannten Bild** extrahieren müssen, wussten aber nicht, *wie*? Sie sind nicht allein. Ob Sie alte Archive digitalisieren, Daten aus Rechnungen auslesen oder eine durchsuchbare PDF‑Bibliothek aufbauen – zuverlässiger Text aus einem TIFF‑Scan kann ein Stolperstein sein. + +Gute Neuigkeiten: Mit Aspose OCR für Java können Sie **Text aus tiff**‑Dateien in nur wenigen Zeilen erkennen und sogar zusätzliche Geschwindigkeit erzielen, indem Sie die Engine auf eine Handvoll CPU‑Kerne beschränken. In diesem Tutorial führen wir Sie durch den gesamten Prozess – von der Bibliotheksinstallation bis zur Ergebnisverarbeitung – sodass Sie sofort ein funktionierendes Beispiel kopieren‑und‑einfügen können. + +## Was dieses Tutorial abdeckt + +- Installation von Aspose OCR für Java (Maven oder manuelle JAR) +- Laden eines großen gescannten TIFF‑Bildes +- Konfiguration der Engine zur Nutzung von bis zu 4 Threads (parallel OCR) +- Ausführen des OCR‑Prozesses und Ausgeben des extrahierten Textes +- Häufige Fallstricke (Speicher, mehrseitige TIFFs) und wie man sie vermeidet +- Schneller Performance‑Tipp: wann `setMaxThreads` angepasst werden sollte + +Am Ende können Sie **Text aus gescannten Bilddateien** zuverlässig extrahieren und verstehen, warum das Anpassen der Thread‑Anzahl wichtig ist, wenn Sie *Text aus tiff* in einer Produktionspipeline *erkennen*. + +--- + +![Beispiel für Textauszug aus gescanntem Bild](example.png "Screenshot, der den extrahierten Text aus einem gescannten TIFF-Bild zeigt") + +## Voraussetzungen + +Bevor wir starten, stellen Sie sicher, dass Sie Folgendes haben: + +1. **Java Development Kit (JDK) 8+** – jede aktuelle Version funktioniert. +2. **Maven** (oder die Möglichkeit, JARs manuell hinzuzufügen) – wir verwenden Maven zur Vereinfachung. +3. Eine **Aspose OCR für Java**‑Lizenz (die kostenlose Evaluation funktioniert, fügt jedoch ein Wasserzeichen hinzu). +4. Ein **großer TIFF‑Scan** (z. B. `large_scan.tif`), den Sie verarbeiten möchten. + +Falls Ihnen etwas davon unbekannt ist, keine Sorge – jeder Schritt wird unten erklärt. + +## Schritt 1: Aspose OCR zu Ihrem Projekt hinzufügen + +### Maven‑Benutzer + +Fügen Sie die folgende Abhängigkeit zu Ihrer `pom.xml` hinzu: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Manuelle JAR‑Einrichtung + +Laden Sie das aktuelle `aspose-ocr-xx.jar` von der Aspose‑Website herunter und legen Sie es in Ihren Klassenpfad. + +> **Pro‑Tipp:** Platzieren Sie das JAR in einem `libs/`‑Ordner und referenzieren Sie es in den Projekteinstellungen Ihrer IDE. So vermeiden Sie später „class not found“-Überraschungen. + +## Schritt 2: Eine einfache Java‑Klasse erstellen + +Erstellen Sie eine Datei namens `ParallelOcrDemo.java` in Ihrem Quellordner (`src/main/java`). Diese Klasse enthält den gesamten OCR‑Workflow. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Warum wir Threads begrenzen:** Standardmäßig versucht Aspose OCR, alle Kerne zu nutzen, was andere Dienste auf einer gemeinsam genutzten Maschine ausbremsen kann. Durch `setMaxThreads(4)` wird die Engine auf bis zu vier parallele Worker beschränkt – genug für einen spürbaren Geschwindigkeitsschub auf den meisten modernen CPUs, ohne Ressourcen zu monopolisieren. + +## Schritt 3: Kompilieren und Ausführen + +Öffnen Sie ein Terminal im Projekt‑Root und führen Sie aus: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Falls Sie Maven nicht verwenden, kompilieren Sie mit `javac` und führen Sie aus: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Erwartete Ausgabe + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Die Konsole zeigt die reine Textversion dessen, was auf der gescannten Seite stand. Enthält das Bild mehrere Seiten, fügt Aspose OCR sie in der richtigen Reihenfolge zusammen. + +## Schritt 4: Umgang mit mehrseitigen TIFFs (Randfall) + +Ein häufiges Szenario ist ein **mehrseitiges TIFF** – denken Sie an ein gescanntes Buch. Standardmäßig liest `OcrInputImage` nur das erste Frame. Um alle Seiten zu verarbeiten, verwenden Sie `OcrInputImage` mit einem `FileInputStream` und aktivieren Sie die Mehrseiten‑Unterstützung: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Jetzt liefert `ocrEngine.process()` ein einzelnes `OcrResult`, das den zusammengefügten Text aller Seiten enthält. + +## Schritt 5: Feinabstimmung der Erkennungsgenauigkeit + +Falls Sie **verzerrte Zeichen** oder fehlende Wörter bemerken, probieren Sie diese Anpassungen: + +| Einstellung | Was sie bewirkt | Wann sie zu verwenden ist | +|------------|-----------------|---------------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Erzwingt das englische Sprachmodell (schneller, genauer für englische Scans) | Ihr Dokument ist einsprachig Englisch | +| `ocrEngine.getSettings().setResolution(300)` | Skaliert niedrigauflösende Bilder vor der Erkennung hoch | Scans unter 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Versucht, Sprenkel und Artefakte zu entfernen | Scans mit starkem Rauschen | + +Beispiel‑Snippet: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Schritt 6: Ergebnisse in eine Datei exportieren + +Die Ausgabe in der Konsole ist für Demos ausreichend, aber Produktionscode schreibt das Ergebnis meist an einen nützlichen Ort: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Jetzt haben Sie eine reine Textdatei, die Sie in einen Suchindex, eine Datenbank oder eine nachgelagerte Analyse‑Pipeline einspeisen können. + +--- + +## Häufig gestellte Fragen (FAQ) + +**F: Funktioniert das auch mit PNG‑ oder JPEG‑Dateien?** +A: Absolut. `OcrInputImage` akzeptiert jedes Format, das Java‑ImageIO lesen kann. Ersetzen Sie einfach die Dateierweiterung im Pfad. + +**F: Mein Server hat 8 Kerne – sollte ich `setMaxThreads(8)` setzen?** +A: Sie könnten, aber denken Sie daran, dass andere Dienste CPU‑Zyklen benötigen. Eine gute Faustregel lautet „Gesamtkernzahl – 1“ für dedizierte OCR‑Worker. + +**F: Was tun, wenn das OCR‑Ergebnis leer ist?** +A: Prüfen Sie, ob das Bild nicht komplett weiß ist, ob Sie die richtige Sprache gesetzt haben und ob die Auflösung mindestens 200 DPI beträgt. Scans niedriger Qualität benötigen häufig Vorverarbeitung (Entzerrung, Kontrastverstärkung), bevor sie an Aspose OCR übergeben werden. + +--- + +## Fazit + +Wir haben gerade **Text aus gescannten Bilddateien** mit Aspose OCR für Java extrahiert und Sie wissen jetzt, wie Sie **Text aus tiff** effizient mit paralleler Verarbeitung *erkennen* können. Der komplette Code befindet sich in den obigen Snippets, und Sie können ihn sofort in Ihr eigenes Projekt übernehmen. + +### Was kommt als Nächstes? + +- **Batch‑Verarbeitung**: Durchlaufen Sie ein Verzeichnis mit TIFFs und speichern Sie jedes Ergebnis in einer eigenen Datei. +- **Integration mit Elasticsearch**: Indexieren Sie den extrahierten Text für schnelle Volltextsuche. +- **Spracherkennung hinzufügen**: Verwenden Sie `OcrLanguage.AutoDetect` für mehrsprachige Dokumente. + +Probieren Sie diese Ideen aus, und Sie verwandeln schnell einen Berg gescannter Unterlagen in durchsuchbare, nutzbare Daten. + +Viel Spaß beim Coden, und hinterlassen Sie gern einen Kommentar, falls Sie auf ein Problem stoßen! + +## Was sollten Sie als Nächstes lernen? + +Die folgenden Tutorials behandeln eng verwandte Themen, die auf den in diesem Leitfaden gezeigten Techniken aufbauen. Jede Ressource enthält vollständige, funktionierende Codebeispiele mit Schritt‑für‑Schritt‑Erklärungen, damit Sie weitere API‑Funktionen meistern und alternative Implementierungsansätze in Ihren eigenen Projekten erkunden können. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/german/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..694319385 --- /dev/null +++ b/ocr/german/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-06-06 +description: Wie man die GPU in Java OCR aktiviert und Text aus JPEG‑Dateien extrahiert. + Folgen Sie diesem Java‑OCR‑Beispiel, um Bilder mit GPU‑Beschleunigung in Text zu + konvertieren. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: de +og_description: Wie man die GPU in Java OCR aktiviert und sofort Text aus JPEG‑Bildern + extrahiert. Dieser Leitfaden zeigt ein vollständiges Java‑OCR‑Beispiel mit GPU‑beschleunigtem + OCR. +og_title: Wie man die GPU in Java‑OCR aktiviert – Vollständige Programmier‑Anleitung +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Wie man GPU in Java OCR aktiviert – vollständige Schritt‑für‑Schritt‑Anleitung +url: /de/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man GPU in Java OCR aktiviert – Vollständige Schritt‑für‑Schritt‑Anleitung + +Haben Sie sich jemals gefragt **how to enable GPU** für die optische Zeichenerkennung in Java? Sie sind nicht der Einzige – Entwickler fragen ständig: „Kann ich OCR schneller machen, ohne alles neu zu schreiben?“ Die kurze Antwort ist ja, und die ausführliche Antwort finden Sie hier. In diesem Tutorial gehen wir ein **java ocr example** durch, das **extracts text from JPEG**‑Dateien **converts image to text** und **GPU accelerated OCR** für blitzschnelle Ergebnisse nutzt. + +Wir beginnen mit der Einrichtung der Aspose OCR‑Bibliothek, laden ein Beispiel‑JPEG, aktivieren die GPU‑Unterstützung, führen die Engine aus und geben schließlich den erkannten Text aus. Am Ende haben Sie ein wiederverwendbares Snippet, das Sie in jedes Java‑Projekt einbinden können, plus einige Tipps, die Sie vor häufigen Fallstricken bewahren. Kein Schnickschnack, nur das Wesentliche, das Sie zum Starten benötigen. + +## Voraussetzungen + +* Java 8 oder neuer installiert (der Code verwendet Standard‑APIs, sodass jedes aktuelle JDK funktioniert). +* Eine kompatible GPU mit aktuellen Treibern – die meisten modernen NVIDIA/AMD‑Karten erfüllen die Voraussetzungen. +* Die Aspose.OCR für Java‑Bibliothek (Sie können sie von Maven Central oder der Aspose‑Website beziehen). +* Ein JPEG‑Bild, das Sie mit OCR verarbeiten möchten – wir nennen es `sample.jpg`. + +Das war's. Wenn Ihnen etwas davon unbekannt ist, pausieren Sie und installieren Sie das fehlende Element; der Rest der Anleitung geht davon aus, dass alles bereits vorhanden ist. + +## Wie man GPU in Java OCR aktiviert – Überblick + +Unten sehen Sie eine kurze Übersicht dessen, was wir erreichen werden: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Stellen Sie sich die GPU als Turbolader für Ihre OCR‑Engine vor – anstatt dass die CPU jede Pixel‑für‑Pixel‑Analyse übernimmt, übernimmt die Grafikkarte die schwere Arbeit parallel. Das Ergebnis? Schnellere Verarbeitungszeiten, besonders bei hochauflösenden Scans. + +## Schritt 1: Projekt einrichten und Aspose OCR importieren + +Zuerst erstellen Sie ein neues Maven‑Projekt (oder Gradle, falls Sie das bevorzugen). Fügen Sie die Aspose OCR‑Abhängigkeit hinzu: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Wenn Sie Maven nicht verwenden, laden Sie das JAR von Aspose herunter und fügen es Ihrem Klassenpfad hinzu. Dieser Schritt ist die Grundlage jedes **java ocr example**, das Sie jemals schreiben, also überprüfen Sie doppelt, dass die Bibliothek korrekt aufgelöst wird. + +## Schritt 2: JPEG‑Bild laden (Extract Text from JPEG) + +Jetzt schreiben wir Code, um eine JPEG‑Datei zu lesen. Die Klasse `OcrInputImage` akzeptiert einen Pfad, und wir übergeben sie an den `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Warum das wichtig ist:** Das korrekte Laden des Bildes ist der erste Schritt in jedem **convert image to text**‑Workflow. Wenn der Pfad falsch ist, wirft die Engine eine Ausnahme, bevor sie überhaupt die GPU‑Phase erreicht. + +## Schritt 3: GPU‑Beschleunigung aktivieren (How to Enable GPU) + +Hier ist der Kern des Tutorials – die Aktivierung der GPU‑Unterstützung. Das Objekt `OcrSettings` stellt ein `setUseGpu`‑Flag bereit. Setzen Sie es einfach auf `true` und Sie sind startklar. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro‑Tipp:** Stellen Sie sicher, dass Ihr GPU‑Treiber aktuell ist. Veraltete Treiber führen häufig dazu, dass der Aufruf `setUseGpu(true)` stillschweigend fehlschlägt, sodass Sie nur CPU‑Leistung erhalten. + +## Schritt 4: OCR‑Engine ausführen (Java OCR Example) + +Nachdem das Bild geladen und die GPU aktiviert wurde, starten Sie den OCR‑Prozess. Die Engine gibt ein `OcrResult`‑Objekt zurück, das den erkannten Text enthält. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Im Hintergrund teilt Aspose das Bild in Kacheln, sendet sie zur parallelen Inferenz an die GPU und fügt die Ergebnisse wieder zusammen. Das ist der Grund, warum das **gpu accelerated ocr**‑Erlebnis deutlich schneller ist als der Standard‑CPU‑Pfad. + +## Schritt 5: Erkannten Text ausgeben (Convert Image to Text) + +Zum Schluss geben Sie das Ergebnis in der Konsole aus. In einer realen Anwendung würden Sie es wahrscheinlich in eine Datei oder Datenbank schreiben, aber zur Veranschaulichung reicht ein einfaches `System.out.println` aus. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Erwartete Ausgabe + +Angenommen, `sample.jpg` enthält den Satz „Hello, World!“, dann sollten Sie sehen: + +``` +Recognized text: +Hello, World! +``` + +Wenn das Bild komplexer ist (mehrere Zeilen, Tabellen usw.), enthält die Ausgabe Zeilenumbrüche und Abstände, die dem Originallayout entsprechen. Das ist die Stärke der OCR‑Engine von Aspose – sie bewahrt die Struktur, während das Bild zu Text konvertiert wird. + +## Vollständiges funktionierendes Beispiel + +Alles zusammengefügt, hier das komplette, sofort ausführbare Programm: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Speichern Sie dies als `GpuOcrDemo.java`, kompilieren Sie mit `javac` und führen Sie es mit `java` aus. Wenn alles korrekt eingerichtet ist, zeigt die Konsole den extrahierten Text sofort an. + +## Häufige Fragen & Sonderfälle + +### 1. Meine GPU wird nicht verwendet – warum? + +* **Treiber-Version prüfen** – ältere Treiber stellen möglicherweise nicht die erforderlichen Compute‑Capabilities bereit. +* **GPU‑Unterstützung prüfen** – Aspose benötigt eine CUDA‑kompatible NVIDIA‑Karte oder eine OpenCL‑kompatible AMD‑Karte. Wenn Sie ein Notebook mit deaktivierter dedizierter GPU haben, aktivieren Sie sie im BIOS oder in der Grafikkarten‑Steuerung. +* **Logs prüfen** – Aspose schreibt eine Debug‑Zeile, wenn der GPU‑Modus aktiv ist. Aktivieren Sie das Logging über `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. Das OCR‑Ergebnis ist bei einem Bild mit niedriger Auflösung verzerrt. + +* **JPEG vorverarbeiten** – auf mindestens 300 dpi skalieren, Kontrast erhöhen oder in Graustufen konvertieren, bevor Sie es an die Engine übergeben. +* **Einstellungen anpassen** – Sie können `ocr.getSettings().setLanguage(OcrLanguage.English)` ändern oder `setUseLanguageDetection(true)` aktivieren, um die Genauigkeit zu erhöhen. + +### 3. Kann ich mehrere Bilder stapelweise verarbeiten? + +Auf jeden Fall. Packen Sie die Lade‑ und Verarbeitungsblöcke in eine Schleife und verwenden Sie dieselbe `OcrEngine`‑Instanz erneut. Denken Sie nur daran, zwischen den Durchläufen `ocr.reset()` aufzurufen, um das vorherige Bild zu löschen. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Funktioniert GPU‑Beschleunigung auf headless Servern? + +Ja, solange der Server über eine unterstützte GPU und die richtigen Treiber verfügt. Unter Linux müssen Sie möglicherweise das Paket `nvidia‑utils` installieren und sicherstellen, dass das `CUDA`‑Toolkit im `PATH` liegt. + +## Pro‑Tipps für produktionsreife GPU OCR + +* **Batch‑Größe ist wichtig** – größere Bilder profitieren stärker von der GPU‑Parallelität. Wenn Sie winzige Icons verarbeiten, kann der Overhead des GPU‑Transfers die Vorteile überwiegen. +* **Speicherverwaltung** – GPUs haben begrenzten VRAM. Für sehr große PDFs oder Multi‑Megapixel‑Scans teilen Sie das Bild manuell in kleinere Kacheln. +* **Fehlerbehandlung** – wickeln Sie den OCR‑Aufruf in einen try‑catch‑Block ein und greifen Sie bei einer `UnsupportedOperationException` in den CPU‑Modus zurück (`setUseGpu(false)`). + +## Fazit + +Wir haben gerade **how to enable GPU** in einem **java ocr example** behandelt, Ihnen gezeigt, wie man **extract text from JPEG**‑Dateien verarbeitet, und eine saubere Methode demonstriert, **convert image to text** mit Asposes **gpu accelerated OCR**‑Engine zu nutzen. Das komplette Snippet oben kann in jedes Java‑Projekt eingefügt werden, und die begleitenden Tipps helfen, die üblichen Probleme zu vermeiden. + +Was kommt als Nächstes? Versuchen Sie, Sprachpakete hinzuzufügen, experimentieren Sie mit verschiedenen Bildformaten (PNG, TIFF) oder integrieren Sie die Ausgabe in einen Suchindex. Der Himmel ist die Grenze, wenn Sie OCR mit GPU‑Leistung kombinieren. + +Haben Sie weitere Fragen zu GPU‑accelerated OCR oder benötigen Hilfe beim Anpassen der Einstellungen? Hinterlassen Sie einen Kommentar, und viel Spaß beim Coden! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## Was sollten Sie als Nächstes lernen? + +Die folgenden Tutorials behandeln eng verwandte Themen, die auf den in diesem Leitfaden gezeigten Techniken aufbauen. Jede Ressource enthält vollständige, funktionierende Code‑Beispiele mit Schritt‑für‑Schritt‑Erklärungen, um Ihnen zu helfen, weitere API‑Funktionen zu meistern und alternative Implementierungsansätze in Ihren eigenen Projekten zu erkunden. + +- [Text aus Bildern extrahieren – OCR‑Grundlagen mit Aspose.OCR für Java](/ocr/english/java/ocr-basics/) +- [Bild zu Text konvertieren in Java mit Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Wie man Bildtext mit Sprache mittels Aspose.OCR OCR‑durchführt](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/german/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..51367f32d --- /dev/null +++ b/ocr/german/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-06-06 +description: Verbessern Sie die OCR‑Genauigkeit in Java mit einer Schritt‑für‑Schritt‑Anleitung, + die zeigt, wie man Bild‑OCR lädt, Bild‑OCR verarbeitet und den Text einer gescannten + Seite effizient extrahiert. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: de +og_description: Verbessern Sie die OCR‑Genauigkeit in Java mit einem praxisnahen Beispiel. + Lernen Sie, wie Sie ein Bild laden, vorverarbeiten und OCR ausführen, um den Text + einer gescannten Seite zu extrahieren. +og_title: OCR-Genauigkeit in Java verbessern – Vollständiges Tutorial +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: OCR-Genauigkeit in Java verbessern – Vollständiger Leitfaden +url: /de/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# OCR‑Genauigkeit in Java verbessern – Komplett‑Anleitung + +Haben Sie sich schon einmal gefragt, wie man **die OCR‑Genauigkeit** verbessert, wenn man alte Buchscans oder verschwommene Quittungen verarbeitet? Sie sind nicht allein. In vielen realen Projekten sieht die Rohausgabe eines OCR‑Engines aus wie ein kryptisches Durcheinander, und das liegt meist daran, dass das Bild vor dem **perform OCR image** nicht korrekt vorverarbeitet wurde. + +In diesem Tutorial gehen wir Schritt für Schritt durch ein praktisches Java‑Beispiel, das genau zeigt, wie man **load image OCR** ausführt, ein paar clevere Vorverarbeitungsschritte anwendet, **process image OCR** durchführt und schließlich **extract text scanned page** mit einem sauberen Ergebnis extrahiert. Am Ende verstehen Sie nicht nur *was* zu programmieren ist, sondern *warum* jede Zeile wichtig ist, um die Erkennungsqualität zu steigern. + +## Was Sie lernen werden + +- Wie man eine OCR‑Engine in Java instanziiert +- Der richtige Weg, **load image OCR** von der Festplatte zu laden +- Warum Deskewing, Denoising und Contrast Boosting essenziell für **improve OCR accuracy** sind +- Wie man **perform OCR image** ausführt und den erkannten Text abruft +- Tipps zum Umgang mit verschiedenen Bildformaten und Sonderfällen + +Keine externe Dokumentation nötig – alles, was Sie brauchen, finden Sie hier, und der komplette, ausführbare Code ist am Ende enthalten. + +## Voraussetzungen + +- Java 17 (oder ein aktuelles JDK) auf Ihrem Rechner installiert +- Eine OCR‑Bibliothek, die die Klassen `OcrEngine`, `OcrInputImage` und `OcrResult` bereitstellt (das Beispiel verwendet eine generische API; ersetzen Sie sie bei Bedarf durch das JAR Ihres Anbieters) +- Ein gescanntes Bild (PNG, JPEG oder TIFF), das Sie OCR‑verarbeiten möchten – für die Demo verwenden wir `old_book_page.png` in einem Ordner namens `YOUR_DIRECTORY` + +Falls Ihnen das OCR‑JAR fehlt, legen Sie es einfach in den `libs`‑Ordner Ihres Projekts und fügen Sie es dem Klassenpfad hinzu. Das war’s. + +--- + +## Schritt 1 – OCR‑Genauigkeit verbessern: Engine einrichten + +Bevor wir **process image OCR** ausführen können, benötigen wir eine frische Engine‑Instanz. Das Erzeugen eines neuen `OcrEngine` gibt uns ein sauberes Blatt und stellt sicher, dass keine alten Einstellungen von vorherigen Durchläufen übernommen werden. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Warum das wichtig ist*: Eine frisch erstellte Engine startet mit deaktivierter Standard‑Vorverarbeitung. Das ist beabsichtigt – wir wollen nur die Schritte aktivieren, die wirklich für unser spezifisches Bild hilfreich sind, was das Kernprinzip von **improve OCR accuracy** darstellt. + +--- + +## Schritt 2 – Load Image OCR – Vorbereitung Ihres Scans + +Jetzt laden wir tatsächlich **load image OCR**. Die Methode `setImage` erwartet ein `OcrInputImage`, das auf die Datei auf der Festplatte verweist. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Ein paar Anmerkungen: + +1. **Unterstützte Formate** – die meisten Bibliotheken akzeptieren PNG, JPEG, BMP und TIFF. Wenn Sie ein PDF haben, konvertieren Sie zuerst die erste Seite in ein Bild. +2. **Pfad‑Handling** – die Verwendung eines absoluten Pfads vermeidet das „file not found“-Problem, wenn sich das Arbeitsverzeichnis ändert. + +--- + +## Schritt 3 – Deskew: Rotierte Seiten begradigen + +Viele gescannte Seiten sind nicht perfekt horizontal. Eine leichte Drehung kann die Erkennung stark beeinträchtigen, weil die OCR‑Engine davon ausgeht, dass Textzeilen waagerecht sind. Das Aktivieren von Deskew erkennt und korrigiert diese Drehung automatisch. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro‑Tipp**: Wenn Sie den Rotationswinkel bereits kennen (z. B. 90°), können Sie das Bild manuell drehen, bevor Sie es an die Engine übergeben – das ist oft schneller für Batch‑Jobs. + +--- + +## Schritt 4 – Denoise: Hintergrundrauschen reduzieren + +Alte Dokumente enthalten häufig Papierstruktur, Staub oder Kompressionsartefakte. Die Methode `setDenoiseLevel` wendet einen Filter an, der dieses Rauschen glättet. Level 2 ist ein guter Ausgangspunkt für die meisten gescannten Seiten. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Warum das hilft**: Rauschen erzeugt falsche Kanten, die die OCR‑Engine als Zeichen interpretieren könnte. Durch das Säubern des Bildes **improve OCR accuracy**, ohne die eigentlichen Glyphenformen zu beeinträchtigen. + +--- + +## Schritt 5 – Kontrast verstärken: Text hervorheben + +Ist der Scan verblasst, ist der Kontrast zwischen Tinte und Papier gering, und die Engine hat Schwierigkeiten, Vorder‑ und Hintergrund zu unterscheiden. Eine moderate Kontraststeigerung von `1.4f` (40 % Erhöhung) erledigt das in der Regel. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Randfall*: Bei sehr dunklen Bildern kann ein höherer Faktor (bis zu 2.0) vorteilhaft sein, aber achten Sie auf Clipping – zu helle Bereiche können zu reinem Weiß werden und feine Details verlieren. + +--- + +## Schritt 6 – Perform OCR Image – Der Kernverarbeitungsschritt + +All die Vorbereitung führt zu dieser Zeile: das eigentliche Ausführen der OCR‑Engine auf dem vorverarbeiteten Bild. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Im Hintergrund führt die Engine ihre Segmentierung, Zeichenerkennung und Sprachmodell‑Stufen aus. Wenn Sie mehrere Sprachen benötigen, setzen Sie sie auf der Engine **vor** dem Aufruf von `process()`. + +--- + +## Schritt 7 – Extract Text Scanned Page – Ausgabe erhalten + +Zum Schluss holen wir den erkannten String aus `OcrResult`. Das Ausgeben in die Konsole reicht für eine schnelle Demo, Sie könnten ihn aber auch in eine Datei, Datenbank schreiben oder in eine nachgelagerte NLP‑Pipeline einspeisen. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Erwartete Ausgabe** (gekürzt zur Übersicht): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Wenn die Ausgabe immer noch wirr aussieht, überprüfen Sie die Vorverarbeitungsparameter – manchmal macht ein höheres Denoise‑Level oder ein anderer Kontrastfaktor einen spürbaren Unterschied. + +--- + +## Komplettes funktionierendes Beispiel + +Unten finden Sie das vollständige, eigenständige Java‑Programm, das Sie kopieren, einfügen und ausführen können. Es enthält die notwendigen Importe, eine `main`‑Methode und Inline‑Kommentare, die jeden Schritt erläutern. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Speichern Sie die Datei als `OcrAccuracyDemo.java`, kompilieren Sie sie mit `javac` und führen Sie sie mit `java` aus. Wenn alles korrekt eingerichtet ist, sehen Sie den bereinigten Text im Terminal. + +--- + +## Häufige Fragen & Sonderfälle + +**F: Meine gescannte Seite ist farbig – sollte ich sie zuerst in Graustufen konvertieren?** +A: Die meisten OCR‑Engines konvertieren intern in Graustufen, aber die eigene Konvertierung (z. B. mit `BufferedImage` und `ColorConvertOp`) gibt Ihnen mehr Kontrolle über den Algorithmus, besonders wenn der Hintergrund nicht einheitlich ist. + +**F: Die Ausgabe enthält immer noch seltsame Symbole. Was nun?** +A: Versuchen Sie, `setDenoiseLevel` auf 3 zu erhöhen oder `setContrastBoost` auf 1.6f anzupassen. Wenn das Problem weiterhin besteht, überlegen Sie, vor dem OCR einen **binary threshold** (Binarisierung) anzuwenden – viele Bibliotheken bieten eine Option `setBinarization(true)`. + +**F: Wie gehe ich mit mehrseitigen PDFs um?** +A: Konvertieren Sie jede Seite in ein Bild (z. B. mit Apache PDFBox) und iterieren Sie über die Seiten, wobei Sie dieselbe `OcrEngine`‑Instanz wiederverwenden, aber das Bild bei jeder Iteration zurücksetzen. + +--- + +## Fazit + +Sie haben gerade gelernt, wie man **improve OCR accuracy** in Java erreicht, indem man **load image OCR** korrekt ausführt, Deskew, Denoise und Contrast Boost anwendet, dann **perform OCR image** ausführt und schließlich **extract text scanned page** extrahiert. Die zentrale Erkenntnis ist, dass Vorverarbeitung oft der wirksamste Hebel zur Steigerung der Erkennungsqualität ist – ein gut vorbereitetes Bild kann die korrekte Zeichenrate verdoppeln oder sogar verdreifachen. + +Bereit für den nächsten Schritt? Experimentieren Sie mit: + +- Unterschiedlichen Denoise‑Levels für stark körnige Scans +- Adaptivem Contrast Boost basierend auf der Bildhistogrammanalyse +- Integration eines Sprachmodells (z. B. Rechtschreibprüfung) nach der Extraktion, um Restfehler zu bereinigen + +Diese Erweiterungen vertiefen Ihre OCR‑Pipeline und machen sie robust genug für produktive Workloads. + +Wenn Sie auf ein Problem stoßen oder einen cleveren Trick haben, hinterlassen Sie einen Kommentar unten. Viel Spaß beim Coden, und möge Ihr Text stets lesbar sein! + +## Was sollten Sie als Nächstes lernen? + + +Die folgenden Tutorials behandeln eng verwandte Themen, die auf den in diesem Leitfaden gezeigten Techniken aufbauen. Jede Ressource enthält vollständige, funktionierende Codebeispiele mit Schritt‑für‑Schritt‑Erklärungen, damit Sie weitere API‑Features meistern und alternative Implementierungsansätze in Ihren eigenen Projekten erkunden können. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/java/ocr-basics/_index.md b/ocr/german/java/ocr-basics/_index.md index 89faa0243..65e74bc10 100644 --- a/ocr/german/java/ocr-basics/_index.md +++ b/ocr/german/java/ocr-basics/_index.md @@ -104,6 +104,9 @@ 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. +### [Wie man OCR in Java durchführt – Vollständiger Leitfaden zum Extrahieren von Text aus Bildern](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Erfahren Sie, wie Sie mit Aspose.OCR in Java Text aus Bildern extrahieren – Schritt‑für‑Schritt‑Anleitung für optimale OCR‑Ergebnisse. + --- **Last Updated:** 2025-12-08 @@ -115,4 +118,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/german/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..118800069 --- /dev/null +++ b/ocr/german/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-06-06 +description: Wie man OCR in Java durchführt – Text schnell aus einem Bild extrahieren, + Bild in Text umwandeln und Text aus einer JPG lesen, mit einem einfachen Codebeispiel. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: de +og_description: Wie man OCR in Java durchführt – lernen Sie, wie Sie Text aus einem + Bild extrahieren, ein Bild in Text umwandeln und Text aus einer JPG lesen, mit einem + sofort einsatzbereiten Beispiel. +og_title: Wie man OCR in Java durchführt – Schritt‑für‑Schritt‑Anleitung +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Wie man OCR in Java durchführt – Vollständige Anleitung zum Extrahieren von + Text aus Bildern +url: /de/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# OCR in Java durchführen – Vollständige Anleitung zum Extrahieren von Text aus Bildern + +Haben Sie sich jemals gefragt, **how to perform OCR** auf einem Bild, das Sie mit Ihrem Handy aufgenommen haben? Sie sind nicht allein. Egal, ob Sie eine Beleg‑Scann‑App bauen oder einfach Text aus einem gescannten PDF ziehen müssen, **how to perform OCR** in Java ist eine Fähigkeit, die sich schnell auszahlt. In diesem Tutorial gehen wir ein praktisches Beispiel durch, das **extract text from image**‑Dateien **converts image to text** und Ihnen sogar zeigt, wie Sie **read text from jpg** mit nur wenigen Codezeilen lesen können. + +> *Pro Tipp:* Der gleiche Ansatz funktioniert für PNG, BMP oder jedes Format, das die OCR‑Engine unterstützt – einfach den Dateinamen austauschen. + +## OCR in Java durchführen – Überblick + +Optical Character Recognition (OCR) ist die Technologie, die Bilder von Buchstaben in echten, durchsuchbaren Text verwandelt. Im Java‑Ökosystem gibt es mehrere Bibliotheken – Tesseract, Asprise und kommerzielle SDKs – die alle einen ähnlichen Workflow bieten: Bild laden, der Engine die erwartete Sprache mitteilen, die Erkennung ausführen und das Ergebnis holen. Im Folgenden verwenden wir eine generische `OcrEngine`‑Klasse, um das Beispiel klar zu halten, aber Sie können sie durch jede konkrete Implementierung ersetzen, die dasselbe Muster folgt. + +### Was Sie lernen werden + +- Installieren Sie eine OCR‑Bibliothek (ja, **ocr in java** ist einfacher als Sie denken). +- Erstellen und konfigurieren Sie eine OCR‑Engine‑Instanz. +- Laden Sie ein JPG (oder ein beliebiges Bild) und setzen Sie die Sprache. +- Verarbeiten Sie das Bild und **extract text from image**‑Dateien. +- Geben Sie die erkannte Zeichenkette in der Konsole aus. + +Am Ende haben Sie ein eigenständiges Java‑Programm, das Sie in jedes Projekt einbinden und sofort ausführen können. + +![Beispiel für OCR durchführen](ocr-example.png "Illustration zum Durchführen von OCR in Java") + +## Schritt 1 – Installieren und Importieren einer OCR‑Bibliothek (ocr in java) + +Bevor Sie eine einzige Zeile Java schreiben, benötigen Sie eine Bibliothek, die die eigentliche schwere Arbeit übernimmt. Wenn Sie Maven verwenden, fügen Sie eine Abhängigkeit wie diese hinzu (ersetzen Sie `com.example.ocr` durch die echte Group‑ID Ihres gewählten SDKs): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Wenn Sie Gradle bevorzugen: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Sobald das JAR in Ihrem Klassenpfad ist, importieren Sie die Klassen, die Sie benötigen: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Warum das wichtig ist:** Das Importieren der richtigen Klassen verhindert „cannot find symbol“-Fehler und macht Ihre IDE glücklich – nichts ist frustrierender als ein fehlender Import, wenn Sie versuchen, **convert image to text** zu erledigen. + +## Schritt 2 – Erstellen der OCR‑Engine‑Instanz (how to perform OCR) + +Jetzt, wo die Bibliothek bereit ist, starten Sie die Engine. Denken Sie an die Engine als das Gehirn, das die Pixel betrachtet und die Buchstaben errät. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Das Erzeugen der Engine ist in der Regel günstig; die meisten SDKs allokieren interne Puffer erst bei Bedarf, sodass Sie dieselbe Instanz sicher für viele Bilder wiederverwenden können, wenn Sie einen Stapel verarbeiten. + +## Schritt 3 – Bild laden und Sprache setzen (extract text from image) + +Der nächste Schritt besteht darin, der Engine etwas zum Lesen zu geben. Hier laden wir ein JPEG von der Festplatte und teilen der OCR‑Engine mit, dass der Text in Mongolisch (ISO 639‑2‑Code „mon“) vorliegt. Sie können den Pfad oder den Sprachcode an Ihren Anwendungsfall anpassen. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Hinweis:** Wenn Sie keine Sprache setzen, verwendet die Engine standardmäßig Englisch, was die Genauigkeit drastisch senken kann, wenn der Text tatsächlich kyrillisch oder in einer anderen Schrift ist. Geben Sie immer die korrekte Sprache an, wenn Sie können. + +## Schritt 4 – Bild verarbeiten und Ergebnis holen (convert image to text) + +Mit Bild und Sprache im Hintergrund fordern Sie die Engine auf, ihre Magie zu wirken. Der Aufruf `process()` führt den OCR‑Algorithmus aus und liefert ein `OcrResult`‑Objekt, das die erkannte Zeichenkette und Konfidenzwerte enthält. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Im Hintergrund kann die Engine Vorverarbeitungsschritte durchführen – Entzerrung, Binarisierung, Rauschunterdrückung – sodass Sie diese Schritte nicht selbst schreiben müssen. Deshalb machen die meisten modernen OCR‑Bibliotheken Freude bei **convert image to text**‑Aufgaben. + +## Schritt 5 – Extrahierten Text ausgeben (read text from jpg) + +Zum Schluss holen Sie den Klartext aus dem Ergebnis und machen etwas Nützliches damit. Für diese Demo geben wir ihn einfach in der Konsole aus, aber Sie könnten ihn in eine Datei schreiben, in einen Suchindex einspeisen oder an einen anderen Service weitergeben. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Diese Zeile beweist allein, dass Sie erfolgreich **read text from jpg** (oder ein beliebiges unterstütztes Format) gelesen haben. Wenn die Ausgabe wirr aussieht, prüfen Sie den Sprachcode und die Bildqualität erneut. + +## Vollständiges funktionierendes Beispiel (Alle Schritte kombiniert) + +Unten finden Sie eine komplette, sofort ausführbare Java‑Klasse, die alle Bausteine zusammenführt. Kopieren Sie sie in eine Datei namens `OcrDemo.java`, passen Sie den Bildpfad und die Sprache an und führen Sie `javac OcrDemo.java && java OcrDemo` aus. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Erwartete Ausgabe + +Enthält `input.jpg` den mongolischen Satz „Сайн байна уу?“, zeigt die Konsole: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Ist das Bild unscharf oder ist der Sprachcode falsch, sehen Sie verzerrte Zeichen oder einen leeren String – häufige Stolperfallen, die wir im Folgenden besprechen. + +## Häufige Probleme und deren Behebung + +| Symptom | Wahrscheinliche Ursache | Lösung | +|---------|--------------------------|--------| +| Verzerrte kyrillische Zeichen | Falscher Sprachcode (Standard ist Englisch) | Setzen Sie `ocrEngine.getSettings().setLanguage("mon")` oder den entsprechenden Code. | +| Keine Ausgabe | Bildpfad falsch oder Datei nicht lesbar | Überprüfen Sie den Pfad, stellen Sie sicher, dass die Datei existiert, und dass der Prozess Leseberechtigungen hat. | +| Niedrige Genauigkeit (<70 %) | Bild hat geringen Kontrast oder ist gedreht | Bild vorverarbeiten: Kontrast erhöhen, entzerren oder in Graustufen konvertieren, bevor Sie es an die Engine übergeben. | +| `OutOfMemoryError` bei großen PDFs | Viele hochauflösende Seiten gleichzeitig laden | Seiten einzeln verarbeiten oder Bilder vor dem OCR verkleinern. | + +### Pro Tipp: Stapelverarbeitung + +Wenn Sie **extract text from image**‑Dateien in großen Mengen benötigen, verpacken Sie die Kernlogik in einer Schleife: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Dieses Snippet zeigt, wie einfach es ist, von einem einzelnen JPG zu einem ganzen Ordner von Scans zu skalieren. + +## Weiterführend – Was Sie als Nächstes erkunden können? + +- **Sprachpakete:** Die meisten OCR‑SDKs erlauben das Herunterladen zusätzlicher Sprachdatendateien. Das Hinzufügen eines neuen Pakets ermöglicht Ihnen **convert image to text** für Sprachen jenseits von Englisch und Mongolisch. +- **PDF‑OCR:** Kombinieren Sie diesen Code mit Apache PDFBox, um + +## Was sollten Sie als Nächstes lernen? + +Die folgenden Tutorials behandeln eng verwandte Themen, die auf den in diesem Leitfaden gezeigten Techniken aufbauen. Jede Ressource enthält komplette, funktionierende Codebeispiele mit Schritt‑für‑Schritt‑Erklärungen, um Ihnen zu helfen, zusätzliche API‑Funktionen zu meistern und alternative Implementierungsansätze in Ihren eigenen Projekten zu erkunden. + +- [Text aus Bildern extrahieren – OCR‑Grundlagen mit Aspose.OCR für Java](/ocr/english/java/ocr-basics/) +- [Bild in Text umwandeln in Java mit Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Wie man Bildtext mit Sprache OCR‑t – Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..6d83ef56c 100644 --- a/ocr/german/java/ocr-operations/_index.md +++ b/ocr/german/java/ocr-operations/_index.md @@ -60,7 +60,7 @@ Keine mühsame PDF‑Textextraktion mehr. Tauchen Sie in das Tutorial ein und r ## OCR-Erkennung von TIFF‑Bildern in Aspose.OCR für Java Erleben Sie die nächste Stufe der Texterkennung in Java mit Aspose.OCR. Unser Tutorial zur Erkennung von Text in TIFF‑Bildern ist darauf ausgelegt, den Prozess für Sie mühelos zu gestalten. Laden Sie jetzt herunter für ein nahtloses OCR‑Erlebnis und erleben Sie die Präzision und Geschwindigkeit, die Aspose.OCR bietet. -Verabschieden Sie sich von manueller Textextraktion aus TIFF‑Bildern. Lassen Sie Aspose.OCR das für Sie übernehmen. Tauchen Sie in das Tutorial ein und schalten Sie leistungsstarke Texterkennung in Java frei. +Verabschieden Sie sich von manueller Textertraktion aus TIFF‑Bildern. Lassen Sie Aspose.OCR das für Sie übernehmen. Tauchen Sie in das Tutorial ein und schalten Sie leistungsstarke Texterkennung in Java frei. [TIFF Recognition Tutorial](./recognize-tiff/) @@ -77,6 +77,8 @@ 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. +### [Aspose OCR-Lizenz in Java anwenden – OCR-Wasserzeichen entfernen](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Erfahren Sie, wie Sie die Aspose OCR‑Lizenz in Java aktivieren und das Wasserzeichen aus OCR‑Ergebnissen entfernen. ## Häufig gestellte Fragen diff --git a/ocr/german/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/german/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..f19039c56 --- /dev/null +++ b/ocr/german/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-06-06 +description: Wenden Sie die Aspose OCR‑Lizenz in Java an, um alle Funktionen freizuschalten + und das OCR‑Wasserzeichen sofort zu entfernen. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: de +og_description: Wenden Sie die Aspose OCR‑Lizenz in Java an, um Bewertungseinschränkungen + zu beseitigen und das OCR‑Wasserzeichen aus Ihren Scans zu entfernen. +og_title: Aspose OCR-Lizenz in Java anwenden – OCR-Wasserzeichen entfernen +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Aspose OCR‑Lizenz in Java anwenden – OCR‑Wasserzeichen entfernen +url: /de/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR-Lizenz in Java anwenden – OCR-Wasserzeichen entfernen + +Haben Sie sich jemals gefragt, wie man **Aspose OCR‑Lizenz anwenden** in einem Java‑Projekt, ohne das gefürchtete Evaluations‑Wasserzeichen zu erhalten? Sie sind nicht allein. Sobald Sie die kostenlose Testversion ausprobieren, wird jedes gescannte Bild mit dem grauen „Aspose Evaluation“-Overlay versehen, und das kann selbst das sauberste Dokument unprofessionell aussehen lassen. + +In diesem Leitfaden gehen wir die genauen Schritte durch, um **Aspose OCR‑Lizenz anwenden**, zu überprüfen, dass die Bibliothek vollständig freigeschaltet ist, und Ihnen zu zeigen, wie das Wasserzeichen automatisch verschwindet. Am Ende können Sie OCR auf jedem Bild ausführen – sei es ein Kassenbon, ein Reisepass‑Scan oder eine handschriftliche Notiz – ohne das unschöne Overlay. + +## Voraussetzungen + +- **Java Development Kit (JDK) 8** oder neuer installiert. +- **Aspose OCR for Java** JAR‑Datei (vom Aspose‑Portal herunterladen). +- Ihre **Aspose OCR license file** (`Aspose.OCR.Java.lic`). +- Eine IDE oder ein einfacher Texteditor (IntelliJ, Eclipse, VS Code — Sie entscheiden). + +Das war's. Keine zusätzlichen Maven‑Plugins oder Gradle‑Tricks erforderlich, obwohl Sie sie später bei Bedarf hinzufügen können. + +## Projektsetup (Kurzüberblick) + +1. Erstellen Sie einen neuen Ordner mit dem Namen `AsposeOCRDemo`. +2. Legen Sie die Datei `aspose-ocr-*.jar` in einen Unterordner `lib`. +3. Platzieren Sie Ihre `Aspose.OCR.Java.lic`‑Datei an einem erreichbaren Ort, z. B. im Ordner `resources/`. +4. Schreiben Sie eine kleine `Main.java`‑Datei — hier geschieht die Magie. + +Wenn Sie eine IDE verwenden, fügen Sie das JAR einfach dem Klassenpfad des Projekts hinzu und markieren den Ordner `resources` als Ressourcen‑Root. Wenn Sie von der Befehlszeile aus kompilieren, sieht der Klassenpfad etwa so aus: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Jetzt, da das Gerüst bereit ist, kommen wir zum Kern der Sache. + +## Schritt 1: **Aspose OCR‑Lizenz anwenden** – Der Kerncode + +Das Erste, was Sie tun müssen, ist dem Aspose‑OCR‑Engine mitzuteilen, dass es Ihrer Lizenzdatei vertrauen soll. Ohne diesen Aufruf bleibt die Bibliothek im Evaluationsmodus und fügt jedem Ergebnis weiterhin das Wasserzeichen hinzu. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Warum das wichtig ist:** Die Klasse `License` ist die Zugangskontrolle. Sobald `setLicense` erfolgreich ist, wechselt die OCR‑Engine vom *Evaluations‑* in den *Voll‑*Modus. Alle internen Prüfungen, die normalerweise die **remove OCR watermark**‑Logik hinzufügen, werden deaktiviert, sodass Sie das graue Overlay nie wieder sehen. +> +> **Pro‑Tipp:** Bewahren Sie die Lizenzdatei außerhalb Ihrer Versionskontrolle auf (z. B. in einem umgebungsspezifischen Ordner), um versehentliche Commits zu vermeiden. + +## Schritt 2: Verifizieren, dass das Wasserzeichen entfernt ist + +Nachdem Sie `applyAsposeOcrLicense` aufgerufen haben, ist es gute Praxis, einen kurzen Test durchzuführen. Das folgende Snippet lädt ein Bild, führt OCR aus und gibt den extrahierten Text aus. Wenn die Lizenz nicht aktiv ist, wirft Aspose eine Ausnahme oder bettet ein Wasserzeichen in das Ausgabebild ein (falls Sie ein visuelles Ergebnis speichern). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Erwartete Ausgabe (Auszug):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Beachten Sie, dass nirgendwo ein Evaluations‑Wasserzeichen erwähnt wird. Das ist die **remove OCR watermark**‑Wirkung in Aktion. + +## Schritt 3: Häufige Fallstricke & Randfälle + +### 1. Falscher Lizenzpfad +Wenn Sie einen falschen Pfad an `setLicense` übergeben, schlägt die Methode stillschweigend fehl und die Bibliothek bleibt im Evaluationsmodus. Überprüfen Sie stets den Rückgabewert oder fangen Sie die Ausnahme ab, wie in `LicenseUtil` gezeigt. + +### 2. Verwendung eines relativen Pfads in einer JAR‑basierten Bereitstellung +Wenn Sie Ihre Anwendung als ausführbare JAR paketieren, können relative Dateisystempfade fehlschlagen. Ein sichererer Ansatz ist, die Lizenz als Ressourcen‑Stream zu laden: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Platzieren Sie die `.lic`‑Datei in `src/main/resources`, damit sie im Klassenpfad landet. + +### 3. Multi‑Thread‑Szenarien +Wenn Ihre Anwendung viele Bilder gleichzeitig verarbeitet, müssen Sie die Lizenz nur **einmal** pro JVM anwenden. Mehrmaliges Aufrufen von `setLicense` aus mehreren Threads kann einen kleinen Leistungseinbruch verursachen, bricht aber nichts. + +### 4. Lizenzablauf +Aspose‑Lizenzen sind in der Regel unbefristet, aber einige Test‑ oder zeitlich begrenzte Lizenzen können ablaufen. Wenn das passiert, wechselt die Engine zurück in den Evaluationsmodus und das **remove OCR watermark**‑Verhalten verschwindet. Behalten Sie das Ablaufdatum der Lizenz im Aspose‑Portal im Auge. + +## Schritt 4: Automatisierung der Lizenzanwendung in realen Projekten + +In einem Produktions‑Microservice möchten Sie `LicenseUtil.applyAsposeOcrLicense` wahrscheinlich nicht überall im Code verteilen. Stattdessen initialisieren Sie sie einmal beim Anwendungsstart — denken Sie an die `@PostConstruct`‑Methode von Spring Boot oder einen statischen Initialisierungsblock. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Jetzt kann jede Komponente, die `OcrEngine` verwendet, sicher davon ausgehen, dass die Lizenz bereits aktiv ist, was die **remove OCR watermark**‑Garantie im gesamten Service gewährleistet. + +## Schritt 5: Testen der Lizenzintegration + +Automatisierte Tests können bestätigen, dass das Wasserzeichen tatsächlich entfernt ist. Ein einfacher JUnit‑Test könnte so aussehen: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Das Ausführen dieses Tests gibt Ihnen die Sicherheit, dass Ihre Deployment‑Pipeline nicht versehentlich ein nicht lizenziertes Build ausliefert. + +## Visuelle Übersicht (Optional) + +Wenn Sie Dinge gerne grafisch sehen, hier ein kurzer schematischer Überblick über den Ablauf: + +![Aspose OCR-Lizenz in Java anwenden](apply-aspose-ocr-license.png "Aspose OCR-Lizenz in Java anwenden") + +*Alt-Text: Aspose OCR-Lizenz in Java – Diagramm, das das Laden der Lizenz und die OCR‑Verarbeitung ohne Wasserzeichen zeigt.* + +## Fazit + +Wir haben alles behandelt, was Sie benötigen, um **Aspose OCR‑Lizenz** in einer Java‑Umgebung **anzuwenden** und als direkten Nebeneffekt **OCR‑Wasserzeichen** von allen verarbeiteten Bildern zu **entfernen**. Vom Erstellen des `License`‑Objekts, über das Handling von Pfad‑Eigenheiten, das Verifizieren des Ergebnisses bis hin zur Integration in eine größere Anwendung — jeder Schritt wurde mit dem „Warum“ hinter der Vorgehensweise erklärt, nicht nur dem „Wie“. + +Jetzt können Sie Aspose OCR in jedes Java‑Projekt integrieren und sind sicher, dass Ihre Nutzer das störende Evaluations‑Tag nie wieder sehen. + +### Was kommt als Nächstes? + +- **Explore language packs:** Aspose OCR unterstützt über 70 Sprachen; setzen Sie einfach die entsprechende `OcrEngine`‑Eigenschaft. +- **Combine with Aspose PDF:** Konvertieren Sie gescannte Bilder direkt in durchsuchbare PDFs ohne Wasserzeichen. +- **Performance tuning** + +## Was sollten Sie als Nächstes lernen? + +Die folgenden Tutorials behandeln eng verwandte Themen, die auf den in diesem Leitfaden gezeigten Techniken aufbauen. Jede Ressource enthält vollständige, funktionierende Code‑Beispiele mit Schritt‑für‑Schritt‑Erklärungen, um Ihnen zu helfen, weitere API‑Funktionen zu meistern und alternative Implementierungsansätze in Ihren eigenen Projekten zu erkunden. + +- [Wie man die Lizenz festlegt und die Aspose.OCR‑Lizenz in Java verifiziert](/ocr/english/java/ocr-basics/set-license/) +- [Textbild mit Aspose OCR erkennen – Vollständiges Java OCR‑Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Schrägwinkel berechnen mit Aspose OCR Java – Vollständige Anleitung](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..94da46b06 100644 --- a/ocr/greek/java/advanced-ocr-techniques/_index.md +++ b/ocr/greek/java/advanced-ocr-techniques/_index.md @@ -17,7 +17,7 @@ url: /el/java/advanced-ocr-techniques/ Είστε έτοιμοι να μεταφέρετε τα έργα σας Java στο επόμενο επίπεδο; Βουτήξτε στον κόσμο των προηγμένων τεχνικών OCR με το Aspose.OCR για Java. Σε αυτόν τον περιεκτικό οδηγό, θα εξερευνήσουμε διάφορα μαθήματα που θα σας βοηθήσουν να εξάγετε κείμενο από εικόνες χωρίς κόπο. -## Απελευθερώνοντας τη δύναμη του Aspose.OCR για Java +## Απελευθέρωση της δύναμης του Aspose.OCR για Java Το Aspose.OCR για Java αλλάζει το παιχνίδι όταν πρόκειται για την Οπτική Αναγνώριση Χαρακτήρων (OCR). Προσφέρει απρόσκοπτη ενοποίηση και υψηλή ακρίβεια στην εξαγωγή κειμένου από εικόνες, καθιστώντας το απαραίτητο εργαλείο για προγραμματιστές Java. Ας εμβαθύνουμε στα σεμινάρια που θα ξεκλειδώσουν πλήρως τις δυνατότητες αυτής της ισχυρής βιβλιοθήκης. @@ -43,27 +43,26 @@ url: /el/java/advanced-ocr-techniques/ ## [Καθορισμός επιτρεπόμενων χαρακτήρων στο Aspose.OCR](./specify-allowed-characters/) -Εξάγετε εύκολα κείμενο από εικόνες καθορίζοντας επιτρεπόμενους χαρακτήρες με το Aspose.OCR για Java. Ακολουθήστε τον βήμα προς βήμα οδηγό μας για αποτελεσματική ενσωμάτωση, διασφαλίζοντας μια απρόσκοπτη εμπειρία αναγνώρισης κειμένου. Βελτιώστε τις εφαρμογές σας Java με τις δυνατότητες Aspose.OCR. - -## συμπέρασμα - -Με το Aspose.OCR για Java, η εκμάθηση προηγμένων τεχνικών OCR δεν ήταν ποτέ ευκολότερη. Βουτήξτε σε αυτά τα σεμινάρια και ξεκλειδώστε το πλήρες δυναμικό της αναγνώρισης κειμένου στα έργα σας Java. Αναβαθμίστε τις εφαρμογές σας με απρόσκοπτη ενοποίηση, υψηλή ακρίβεια και ευέλικτες δυνατότητες εξαγωγής κειμένου. Κάντε λήψη τώρα και κάντε το πρώτο βήμα προς την αριστεία OCR με το Aspose.OCR για Java! -## Προηγμένα σεμινάρια Τεχνικών OCR -### [Εκτέλεση OCR στο BufferedImage στο Aspose.OCR για Java](./perform-ocr-buffered-image/) -Εκτελέστε OCR στο BufferedImage χωρίς κόπο με το Aspose.OCR για Java. Εξαγωγή κειμένου από εικόνες απρόσκοπτα. Κάντε λήψη τώρα για μια ευέλικτη εμπειρία αναγνώρισης κειμένου. -### [Εκτέλεση OCR σε Εικόνα από διεύθυνση URL στο Aspose.OCR για Java](./perform-ocr-image-from-url/) -Ξεκλειδώστε την απρόσκοπτη εξαγωγή κειμένου εικόνας σε Java με το Aspose.OCR. OCR υψηλής ακρίβειας με εύκολη ενσωμάτωση. -### [Εκτέλεση OCR σε συγκεκριμένη σελίδα στο Aspose.OCR](./perform-ocr-on-page/) -Ξεκλειδώστε τη δύναμη του Aspose.OCR για Java με τον βήμα προς βήμα οδηγό μας για την εκτέλεση OCR σε συγκεκριμένες σελίδες. Εξάγετε κείμενο χωρίς κόπο από εικόνες και βελτιώστε τα έργα σας Java. -### [Προετοιμασία ορθογωνίων για OCR στο Aspose.OCR](./prepare-rectangles-for-ocr/) -Ξεκλειδώστε τη δύναμη της αναγνώρισης κειμένου με το Aspose.OCR για Java. Ακολουθήστε τον βήμα προς βήμα οδηγό μας για απρόσκοπτη ενσωμάτωση. Βελτιώστε τις εφαρμογές σας Java με αποτελεσματικές δυνατότητες OCR. -### [Αναγνώριση γραμμών στο Aspose.OCR για Java](./recognize-lines/) -Ενισχύστε τις εφαρμογές σας Java με το Aspose.OCR για ακριβή αναγνώριση κειμένου. Εύκολη ενσωμάτωση, υψηλή ακρίβεια. -### [Καθορισμός επιτρεπόμενων χαρακτήρων στο Aspose.OCR](./specify-allowed-characters/) Ξεκλειδώστε την εξαγωγή κειμένου από εικόνες χωρίς προβλήματα με το Aspose.OCR για Java. Ακολουθήστε τον βήμα προς βήμα οδηγό μας για αποτελεσματική ενσωμάτωση. + +### [Εξαγωγή κειμένου από σαρωμένη εικόνα σε Java – Πλήρης οδηγός Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Μάθετε πώς να εξάγετε κείμενο από σαρωμένες εικόνες σε Java χρησιμοποιώντας το Aspose.OCR με πλήρη βήμα‑βήμα οδηγίες. + +### [Πώς να ενεργοποιήσετε την GPU στο Java OCR – Πλήρης Οδηγός Βήμα‑βήμα](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Μάθετε πώς να ενεργοποιήσετε την GPU για επιτάχυνση του OCR σε Java χρησιμοποιώντας το Aspose.OCR, ακολουθώντας βήμα‑βήμα οδηγίες. + +### [Παράδειγμα Aspose OCR Java – Πλήρης Οδηγός Φόρτωσης Εικόνας, Διόρθωσης Ορθογραφίας και Επεξεργασίας OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Μάθετε πώς να φορτώσετε εικόνα, να διορθώσετε ορθογραφικά σφάλματα και να εκτελέσετε OCR με το Aspose OCR για Java. + +### [Βελτιώστε την ακρίβεια OCR σε Java – Πλήρης οδηγός](./improve-ocr-accuracy-in-java-complete-guide/) +Μάθετε πώς να βελτιώσετε την ακρίβεια του OCR σε εφαρμογές Java με βήμα‑βήμα οδηγίες. + +### [Δημιουργία αναζητήσιμου PDF σε Java – Πλήρης οδηγός Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Μάθετε πώς να δημιουργήσετε αναζητήσιμο PDF σε 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/greek/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/greek/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..bae29dd98 --- /dev/null +++ b/ocr/greek/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-06-06 +description: Παράδειγμα Aspose OCR Java που δείχνει πώς να φορτώσετε OCR εικόνας, + να διορθώσετε σφάλματα OCR, να ορίσετε προσαρμοσμένο λεξικό και να επεξεργαστείτε + OCR εικόνας σε λίγα μόνο βήματα. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: el +og_description: Παράδειγμα Aspose OCR Java που φορτώνει μια εικόνα, διορθώνει σφάλματα + OCR, ορίζει προσαρμοσμένο λεξικό και επεξεργάζεται το OCR της εικόνας αποδοτικά. +og_title: Παράδειγμα Aspose OCR Java – Φόρτωση εικόνας, ορθογραφική διόρθωση & επεξεργασία + OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Παράδειγμα Aspose OCR Java – Πλήρης Οδηγός για Φόρτωση Εικόνας, Διόρθωση Ορθογραφίας + και Επεξεργασία OCR +url: /el/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Παράδειγμα Aspose OCR Java – Πλήρης Οδηγός για Φόρτωση Εικόνας, Διόρθωση Ορθογραφίας και Επεξεργασία OCR + +Κάποτε χρειάστηκε ένα **Aspose OCR Java example** που να λειτουργεί αμέσως; Δεν είστε μόνοι—οι προγραμματιστές συχνά κοιτάζουν μια θολή λήψη οθόνης και αναρωτιούνται γιατί το εξαγόμενο κείμενο είναι ακατάστατο. Τα καλά νέα είναι ότι η μηχανή OCR της Aspose έρχεται ήδη με ενσωματωμένη διόρθωση ορθογραφίας, και μπορείτε ακόμη να προσθέσετε τη δική σας λίστα λέξεων. Σε αυτό το tutorial θα περάσουμε από τη φόρτωση εικόνας OCR, την ενεργοποίηση της λειτουργίας διόρθωσης, την προαιρετική ρύθμιση προσαρμοσμένου λεξικού, και τέλος την επεξεργασία εικόνας OCR για να πάρουμε καθαρό, αναγνώσιμο κείμενο. + +Θα καλύψουμε επίσης γιατί μπορεί να θέλετε να **correct OCR errors**, πώς να **load image OCR** αποδοτικά, τα οφέλη μιας κλήσης **set custom dictionary**, και πώς φαίνεται η πλήρης ροή **process image OCR**. Στο τέλος θα έχετε ένα πλήρως εκτελέσιμο πρόγραμμα Java που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο Maven ή Gradle. + +--- + +## What You’ll Need + +- Java 8 ή νεότερη (το API λειτουργεί επίσης με Java 11+) +- Βιβλιοθήκη Aspose.OCR for Java (κατεβάστε το πιο πρόσφατο JAR από την ιστοσελίδα της Aspose ή προσθέστε την εξάρτηση Maven) +- Ένα αρχείο εικόνας που περιέχει κείμενο (κατά προτίμηση ένα σαρωμένο έγγραφο ή ένα στιγμιότυπο οθόνης με κάποιο θόρυβο) +- Προαιρετικά: ένα αρχείο λεξικού απλού κειμένου αν θέλετε να **set custom dictionary** για όρους ειδικού τομέα + +Αυτό είναι όλο—χωρίς βαριές μηχανές OCR, χωρίς εγγενείς εξαρτήσεις, μόνο ένα JAR και μερικές γραμμές κώδικα. + +--- + +## Step 1: Aspose OCR Java Example – Load Image OCR + +Το πρώτο που πρέπει να κάνετε είναι να δημιουργήσετε ένα αντικείμενο `OcrEngine` και να το κατευθύνετε στο αρχείο που θέλετε να αναλύσετε. Σκεφτείτε το σαν το άνοιγμα ενός βιβλίου πριν αρχίσετε να διαβάζετε. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Why this matters:** Η κλήση `setImage` είναι η καρδιά του **load image OCR**. Χωρίς έγκυρη εικόνα, η μηχανή δεν έχει τίποτα να αναγνωρίσει, και θα καταλήξετε με κενή συμβολοσειρά ή εξαίρεση. + +![aspose ocr java example loading image](image.png){alt="aspose ocr java example loading image"} + +--- + +## Step 2: Enable Spell‑Correction to Correct OCR Errors + +Η Aspose OCR έρχεται με τη διόρθωση ορθογραφίας ενεργοποιημένη από προεπιλογή, αλλά ποτέ δεν βλάπτει να το δηλώσετε ρητά—ειδικά όταν παρουσιάζετε ένα **aspose ocr java example**. Η ενεργοποίηση αυτής της λειτουργίας μειώνει δραματικά το «ακαταλαβίστικο» κείμενο όπως “t1e” ή “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** Αν παρατηρήσετε ότι η μηχανή εξακολουθεί να αναγνωρίζει λανθασμένα ορισμένες λέξεις, ελέγξτε τις ρυθμίσεις γλώσσας ή προσθέστε ένα προσαρμοσμένο λεξικό (επόμενο βήμα). + +Η ενεργοποίηση της διόρθωσης ορθογραφίας είναι ο πιο γρήγορος τρόπος να **correct OCR errors** χωρίς να γράψετε επιπλέον κώδικα. + +--- + +## Step 3: Set Custom Dictionary for Better Accuracy + +Μερικές φορές το προεπιλεγμένο λεξικό δεν γνωρίζει την ορολογία του κλάδου σας—σκεφτείτε ιατρικούς όρους, κωδικούς προϊόντων ή ονόματα εμπορικών σημάτων. Εδώ έρχεται η **set custom dictionary**. Παρέχετε ένα αρχείο απλού κειμένου, μία λέξη ανά γραμμή, και η μηχανή OCR θα θεωρεί αυτές τις καταχωρήσεις έγκυρες κατά τη διόρθωση. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **When to use it:** Αν επεξεργάζεστε τιμολόγια και τα ονόματα εταιρειών παραμορφώνονται, ένα προσαρμοσμένο λεξικό που περιέχει αυτά τα ονόματα θα κάνει το στάδιο **process image OCR** πολύ πιο αξιόπιστο. + +--- + +## Step 4: Process Image OCR and Retrieve the Text + +Τώρα που η μηχανή είναι ρυθμισμένη, ήρθε η ώρα να τρέξετε την αναγνώριση. Η μέθοδος `process` κάνει όλη τη βαριά δουλειά—εντοπίζει μπλοκ κειμένου, εφαρμόζει τη διόρθωση ορθογραφίας και επιστρέφει ένα αντικείμενο `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **What you’ll see:** Η κονσόλα εκτυπώνει μια καθαρή, ανθρώπινα αναγνώσιμη συμβολοσειρά. Αν είχατε απενεργοποιήσει τη διόρθωση ορθογραφίας, πιθανότατα θα δείτε παράξενους χαρακτήρες, γι' αυτό η ενεργοποίηση νωρίτερα είναι κρίσιμη για **correct OCR errors**. + +--- + +## Step 5: Run the Example and Verify the Output + +Συμπιέστε και εκτελέστε την κλάση με το αγαπημένο σας IDE ή από τη γραμμή εντολών: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Θα πρέπει να δείτε κάτι σαν: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Αν η έξοδος εξακολουθεί να περιέχει ορθογραφικά λάθη, προσθέστε αυτές τις λέξεις στο προσαρμοσμένο λεξικό σας και ξανατρέξτε το βήμα **process image OCR**. + +--- + +## Common Pitfalls and How to Avoid Them + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank output** | Λάθος διαδρομή εικόνας ή μη υποστηριζόμενη μορφή | Επαληθεύστε τη διαδρομή, χρησιμοποιήστε PNG/JPEG, και βεβαιωθείτε ότι το αρχείο είναι αναγνώσιμο | +| **Garbage characters** | Η διόρθωση ορθογραφίας είναι απενεργοποιημένη ή η εικόνα είναι χαμηλής ποιότητας | Ενεργοποιήστε `setEnableSpellCorrection(true)` και σκεφτείτε προεπεξεργασία της εικόνας (αύξηση αντίθεσης) | +| **Domain‑specific words still wrong** | Δεν υπάρχει προσαρμοσμένο λεξικό | Χρησιμοποιήστε `setCustomDictionary` με αρχείο που περιέχει τους όρους σας | +| **Out‑of‑memory errors** | Πολύ μεγάλες εικόνες φορτώνονται χωρίς κλιμάκωση | Αλλάξτε το μέγεθος της εικόνας πριν τη δώσετε στο `OcrEngine` | + +--- + +## Extending the Example + +Τώρα που έχετε ένα σταθερό **aspose ocr java example**, ίσως θελήσετε να: + +- **Batch process** έναν φάκελο εικόνων, επαναλαμβάνοντας τα ονόματα αρχείων και ξαναχρησιμοποιώντας το ίδιο αντικείμενο `OcrEngine`. +- **Extract layout information** (πίνακες, στήλες) χρησιμοποιώντας `ocrResult.getPages()` για πιο προχωρημένη ανάλυση εγγράφων. +- **Integrate with Apache PDFBox** για να ενσωματώσετε το αναγνωρισμένο κείμενο πίσω σε PDF. + +Όλες αυτές οι επεκτάσεις βασίζονται στα ίδια βασικά βήματα που καλύψαμε: load image OCR, enable correction, optionally set a custom dictionary, and process image OCR. + +--- + +## Conclusion + +Μόλις δημιουργήσατε ένα πλήρες **aspose ocr java example** που φορτώνει μια εικόνα, ενεργοποιεί τη διόρθωση ορθογραφίας για **correct OCR errors**, προαιρετικά **set custom dictionary**, και τέλος **process image OCR** για να ανακτήσει καθαρό κείμενο. Ο κώδικας είναι σύντομος, οι έννοιες σαφείς, και έχετε τώρα μια βάση που μπορείτε να επεκτείνετε για μαζικές εργασίες, ενσωματώσεις UI ή ακόμη και μικρο‑υπηρεσίες στο cloud. + +Τι θα κάνετε μετά; Δοκιμάστε να τροφοδοτήσετε τη μηχανή με μια φωτογραφία χαμηλής ανάλυσης, προσθέστε μια λίστα SKU προϊόντων στο προσαρμοσμένο λεξικό, και δείτε πώς βελτιώνεται η ακρίβεια. Όσο περισσότερο πειραματίζεστε, τόσο καλύτερη θα είναι η κατανόησή σας για τις ανταλλαγές μεταξύ ποιότητας εικόνας, μεγέθους λεξικού και ταχύτητας επεξεργασίας. + +Αφήστε ένα σχόλιο αν αντιμετωπίσετε δυσκολίες ή έχετε ιδέες για περαιτέρω βελτιώσεις. Καλή προγραμματιστική! + +## What Should You Learn Next? + +Τα παρακάτω tutorials καλύπτουν στενά συναφή θέματα που επεκτείνουν τις τεχνικές που παρουσιάστηκαν σε αυτόν τον οδηγό. Κάθε πόρος περιλαμβάνει πλήρη λειτουργικό κώδικα με βήμα‑βήμα εξηγήσεις για να κατακτήσετε πρόσθετα χαρακτηριστικά του API και να εξερευνήσετε εναλλακτικές προσεγγίσεις στα δικά σας έργα. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/greek/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..80e8d6294 --- /dev/null +++ b/ocr/greek/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Δημιουργήστε αναζητήσιμο PDF με Java χρησιμοποιώντας το Aspose OCR. Μάθετε + να εξάγετε κείμενο από PDF, να βελτιώσετε την ακρίβεια του OCR και να επεξεργάζεστε + αποδοτικά PDF πολλαπλών σελίδων. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: el +og_description: Δημιουργήστε PDF με δυνατότητα αναζήτησης με Java χρησιμοποιώντας + Aspose OCR. Αυτός ο οδηγός σας καθοδηγεί στην εξαγωγή κειμένου από PDF, στην αύξηση + της ακρίβειας OCR και στη διαχείριση πολυσελίδων PDF. +og_title: Δημιουργία Αναζητήσιμου PDF σε Java – Πλήρης Οδηγός Aspose OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Δημιουργία Αναζητήσιμου PDF σε Java – Πλήρης Οδηγός Aspose OCR +url: /el/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Δημιουργία Αναζητήσιμου PDF σε Java – Πλήρης Οδηγός Aspose OCR + +Έχετε αναρωτηθεί ποτέ πώς να **δημιουργήσετε αναζητήσιμο PDF** απευθείας από τη Java χωρίς να χειρίζεστε δεκάδες εργαλεία γραμμής εντολών; Δεν είστε μόνοι. Πολλοί προγραμματιστές συναντούν δυσκολίες όταν πρέπει να μετατρέψουν σαρωμένα PDF σε έγγραφα με δυνατότητα αναζήτησης κειμένου, ειδικά όταν τα αρχικά PDF καλύπτουν πολλές σελίδες. + +Σε αυτό το tutorial θα περάσουμε από ένα πλήρες, εκτελέσιμο παράδειγμα που όχι μόνο **δημιουργεί αναζητήσιμα PDF** αρχεία, αλλά επίσης δείχνει πώς να **εξάγετε κείμενο από PDF**, **αυξήσετε την ακρίβεια OCR**, και να διαχειριστείτε μια ροή εργασίας **OCR multi page PDF** χρησιμοποιώντας τη βιβλιοθήκη Aspose OCR. Στο τέλος θα έχετε ένα στιβαρό, έτοιμο για παραγωγή snippet που μπορείτε να ενσωματώσετε σε οποιοδήποτε Java project. + +## Τι Θα Χρειαστείτε + +- Java 17 ή νεότερη (ο κώδικας συντάσσεται και με παλαιότερες εκδόσεις, αλλά το JDK 17 είναι η ιδανική επιλογή) +- Maven ή Gradle για την προσθήκη της εξάρτησης `aspose-ocr` +- Ένα δείγμα multi‑page PDF (θα το ονομάσουμε `sample_multi_page.pdf`) +- Ένα μέτριο GPU ή τουλάχιστον πολυπύρηνη CPU αν θέλετε να ενεργοποιήσετε παράλληλη επεξεργασία + +Δεν απαιτούνται πρόσθετες εγγενείς βιβλιοθήκες—το Aspose OCR περιλαμβάνει όλα όσα χρειάζεστε. + +--- + +## Δημιουργία Αναζητήσιμου PDF – Βήμα‑βήμα Υλοποίηση + +Παρακάτω χωρίζουμε τη διαδικασία σε λογικά τμήματα. Κάθε ενότητα έχει το δικό της H2 header ώστε να μπορείτε να μεταβείτε απευθείας στο τμήμα που σας ενδιαφέρει, και η κύρια λέξη‑κλειδί εμφανίζεται ακριβώς εδώ στον τίτλο. + +### Βήμα 1: Ρύθμιση του Έργου και Εισαγωγή του Aspose OCR + +Πρώτα, προσθέστε το Maven artifact του Aspose OCR στο `pom.xml`. Αν προτιμάτε Gradle, το αντίστοιχο απόσπασμα παρέχεται στα σχόλια. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Συμβουλή:** Κρατήστε τις εξαρτήσεις σας ενημερωμένες· οι νεότερες εκδόσεις συχνά φέρνουν βελτιώσεις στην ακρίβεια που βοηθούν άμεσα στην **αύξηση της ακρίβειας OCR**. + +### Βήμα 2: Φόρτωση του Multi‑Page PDF στον OCR Engine + +Τώρα δημιουργούμε μια παρουσία `OcrEngine` και τη τροφοδοτούμε με το PDF που θέλουμε να επεξεργαστούμε. Η μηχανή αντιμετωπίζει κάθε σελίδα ως εικόνα εσωτερικά, γι' αυτό αυτή η προσέγγιση λειτουργεί σε σενάριο **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Γιατί είναι σημαντικό:** Η φόρτωση του PDF μία φορά και η αφή της μηχανής να διαχειριστεί την σελιδοποίηση αποφεύγει το κόστος της χειροκίνητης εξαγωγής κάθε σελίδας, εξοικονομώντας χρόνο και μνήμη. + +### Βήμα 3: Ενεργοποίηση Προχωρημένων Λειτουργιών για **Αύξηση της Ακρίβειας OCR** + +Το Aspose OCR προσφέρει αρκετές ρυθμίσεις που μπορείτε να προσαρμόσετε. Η ενεργοποίηση της επιτάχυνσης GPU, η αύξηση του αριθμού των νημάτων και ο καθορισμός πολλαπλών γλωσσών συμβάλλουν όλοι σε καλύτερα ποσοστά αναγνώρισης, ειδικά σε θορυβώδεις σαρώσεις. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Τι γίνεται αν δεν έχετε GPU;** Απλώς ορίστε `setUseGpu(false)`· η μηχανή θα επιστρέψει σε λειτουργία μόνο CPU, ενώ εξακολουθεί να επωφελείται από τον πολυνηματισμό. + +### Βήμα 4: Προεπεξεργασία Εικόνων για Καλύτερα Αποτελέσματα + +Βήματα προεπεξεργασίας όπως ευθυγράμμιση, αποθορυβοποίηση και ενίσχυση αντίθεσης αυξάνουν δραστικά την **αύξηση της ακρίβειας OCR** σε σαρωμένα έγγραφα. Σκεφτείτε το σαν γυάλισμα ενός ακατέργαστου λίθου πριν το σκαλίσετε. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Γιατί αυτές οι ρυθμίσεις;** Ένα επίπεδο αποθορυβοποίησης `2` λειτουργεί καλά για τα περισσότερα σαρωμένα PDF, ενώ μια μέτρια ενίσχυση αντίθεσης (1.3×) αναδεικνύει το αχνό μελάνι χωρίς να «καίει» το φόντο. + +### Βήμα 5: Διαμόρφωση της Εξόδου για Δημιουργία Αναζητήσιμου PDF + +Το Aspose OCR μπορεί να ενσωματώσει το αναγνωρισμένο στρώμα κειμένου απευθείας σε ένα PDF, μετατρέποντας ένα επίπεδο αρχείο εικόνας σε **searchable PDF**. Αυτό είναι το βασικό στοιχείο της ερώτησης “πώς να κάνετε searchable pdf” που πολλοί προγραμματιστές θέτουν. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Όταν είναι ενεργοποιημένο το `setGenerateSearchablePdf(true)`, η βιβλιοθήκη δημιουργεί ένα αόρατο στρώμα κειμένου που αντικατοπτρίζει το οπτικό περιεχόμενο, καθιστώντας το τελικό έγγραφο αναζητήσιμο σε οποιονδήποτε PDF viewer. + +### Βήμα 6: Εκτέλεση OCR και Αποθήκευση του Αποτελέσματος + +Τώρα επεξεργαζόμαστε πραγματικά το έγγραφο και γράφουμε το αρχείο εξόδου. Η μέθοδος `process` επιστρέφει ένα αντικείμενο `OcrResult` που περιέχει τόσο το searchable PDF όσο και το εξαγόμενο απλό κείμενο. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Βήμα 7: (Προαιρετικό) **Εξαγωγή Κειμένου από PDF** για Άμεση Χρήση + +Αν χρειάζεστε επίσης το ακατέργαστο κείμενο—για ευρετηρίαση, αναλύσεις ή απλώς για εμφάνιση σε ιστοσελίδα—μπορείτε να το πάρετε απευθείας από το `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Τι θα δείτε:** Η κονσόλα θα εμφανίσει το συνενωμένο κείμενο όλων των σελίδων, διατηρώντας τις αλλαγές γραμμής όπου είναι δυνατόν. Αυτό ικανοποιεί την **extract text from pdf** απαίτηση χωρίς δεύτερο πέρασμα. + +--- + +## Οπτική Επισκόπηση + +Παρακάτω υπάρχει ένα απλό διάγραμμα ροής που αντιστοιχίζει κάθε βήμα στο αντίστοιχο μπλοκ κώδικα. Σας βοηθά να οπτικοποιήσετε πώς το εισερχόμενο PDF διασχίζει την προεπεξεργασία, το OCR, και τελικά γίνεται ένα αναζητήσιμο έγγραφο. + +![Διάγραμμα ροής δημιουργίας αναζητήσιμου PDF](https://example.com/flow-diagram.png "Create searchable PDF flow diagram") + +*Το κείμενο alt περιέχει τη βασική λέξη-κλειδί για να ικανοποιήσει το SEO της εικόνας.* + +--- + +## Συχνές Ερωτήσεις & Ακραίες Περιπτώσεις + +| Ερώτηση | Απάντηση | +|----------|--------| +| **Μπορώ να επεξεργαστώ PDF μεγαλύτερα από 100 MB;** | Ναι, αλλά σκεφτείτε τη ροή σελίδων αντί της φόρτωσης ολόκληρου του αρχείου στη μνήμη. Το Aspose OCR διαχειρίζεται εσωτερικά τη σελιδοποίηση, αλλά ίσως θελήσετε να αυξήσετε το heap της JVM (`-Xmx4g`) για πολύ μεγάλα αρχεία. | +| **Τι γίνεται αν το PDF μου περιέχει χειρόγραφες σημειώσεις;** | Η αναγνώριση χειρόγραφου δεν είναι ενεργοποιημένη από προεπιλογή. Μπορείτε να μεταβείτε σε `setLanguage("eng,mon,handwritten")` αν η έκδοση της βιβλιοθήκης το υποστηρίζει, αν και η ακρίβεια θα διαφέρει. | +| **Χρειάζομαι άδεια για το Aspose OCR;** | Μια προσωρινή άδεια αξιολόγησης λειτουργεί για δοκιμές. Για παραγωγή, αποκτήστε εμπορική άδεια ώστε να αφαιρεθούν τα υδατογραφήματα και να ξεκλειδωθεί η πλήρης απόδοση. | +| **Πώς απενεργοποιώ τη διόρθωση ορθογραφίας;** | Καλέστε `ocr.getSettings().setEnableSpellCorrection(false);` – χρήσιμο όταν χρειάζεστε το ακατέργαστο OCR output για εγκληματολογικούς σκοπούς. | +| **Είναι υποχρεωτική η υποστήριξη GPU;** | Όχι. Η βιβλιοθήκη επιστρέφει ομαλά σε CPU. Ωστόσο, το GPU μπορεί να μειώσει τον χρόνο επεξεργασίας έως και 60 % σε μεγάλα multi‑page έγγραφα. | + +--- + +## Πλήρες Παράδειγμα Εργασίας (Έτοιμο για Αντιγραφή‑Επικόλληση) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Αναμενόμενη Έξοδος** + +- `output_searchable.pdf` – ένα PDF όπου μπορείτε να πατήσετε Ctrl + F και να βρείτε οποιαδήποτε λέξη εμφανίστηκε στις σαρωμένες εικόνες. +- Καταγραφή στην κονσόλα – το πλήρες κειμενικό περιεχόμενο του αρχικού PDF, ιδανικό για ευρετηρίαση ή περαιτέρω ανάλυση. + +--- + +## Συμπέρασμα + +Μόλις δείξαμε πώς να **δημιουργήσετε αναζητήσιμο PDF** αρχεία σε Java χρησιμοποιώντας το Aspose OCR, ενώ επίσης σας δείξαμε πώς να **εξάγετε κείμενο από PDF**, **αυξήσετε την ακρίβεια OCR**, και να διαχειριστείτε αποδοτικά μια ροή εργασίας **OCR multi page PDF**. Το πλήρες snippet κώδικα παραπάνω είναι έτοιμο να ενσωματωθεί στο πρόγραμμά σας, και οι εξηγήσεις σας δίνουν την αυτοπεποίθηση να προσαρμόσετε τις ρυθμίσεις για τη δική σας περίπτωση χρήσης. + +Τι ακολουθεί; Δοκιμάστε πειραματισμούς με προσαρμοσμένες ενσωματώσεις γραμματοσειρών, προσθέστε σελιδοδείκτες που δημιουργούνται από OCR, ή ενσωματώστε το αποτέλεσμα σε μηχανή αναζήτησης όπως το Elasticsearch. Κάθε ένα από αυτά τα θέματα συνδέεται με τις δευτερεύουσες λέξεις‑κλειδιά—*how to make searchable pdf* και *increase OCR accuracy*—οπότε έχετε έναν σαφή δρόμο για πιο βαθιά εξερεύνηση. + +Μη διστάσετε να μοιραστείτε τις εμπειρίες σας ή να θέσετε ερωτήσεις στα σχόλια. Καλό προγραμματισμό, και απολαύστε τη μετατροπή αυτών των στατικών σαρώσεων σε πλήρως αναζητήσιμα, πλούσια σε κείμενο PDF! + +## Τι Θα Πρέπει Να Μάθετε Στη Σύντομη Μελλοντική; + +Τα παρακάτω tutorials καλύπτουν στενά συναφή θέματα που επεκτείνουν τις τεχνικές που παρουσιάστηκαν σε αυτόν τον οδηγό. Κάθε πόρος περιλαμβάνει πλήρη παραδείγματα κώδικα με βήμα‑βήμα εξηγήσεις για να σας βοηθήσει να κυριαρχήσετε επιπλέον δυνατότητες API και να εξερευνήσετε εναλλακτικές προσεγγίσεις υλοποίησης στα δικά σας έργα. + +- [Αναγνώριση Κειμένου PDF – Λειτουργίες OCR με Aspose.OCR για Java](/ocr/english/java/ocr-operations/) +- [OCR Αναγνώριση Εγγράφων PDF στο Aspose.OCR για Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [OCR Αναγνώριση εγγράφων PDF στο Aspose.OCR για Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/greek/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..a6661a393 --- /dev/null +++ b/ocr/greek/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,273 @@ +--- +category: general +date: 2026-06-06 +description: Εξαγωγή κειμένου από σαρωμένη εικόνα χρησιμοποιώντας το Aspose OCR για + Java. Μάθετε πώς να αναγνωρίζετε κείμενο από αρχεία TIFF με παράλληλη επεξεργασία. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: el +og_description: Εξαγωγή κειμένου από σαρωμένη εικόνα με το Aspose OCR. Αυτός ο οδηγός + δείχνει πώς να αναγνωρίζετε κείμενο από αρχεία TIFF αποδοτικά χρησιμοποιώντας τη + Java. +og_title: Εξαγωγή κειμένου από σαρωμένη εικόνα – Οδηγός Aspose OCR Java +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Εξαγωγή κειμένου από σαρωμένη εικόνα σε Java – Πλήρης οδηγός Aspose OCR +url: /el/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εξαγωγή Κειμένου από Σαρωμένη Εικόνα – Πλήρης Οδηγός Aspose OCR + +Έχετε χρειαστεί ποτέ να **εξάγετε κείμενο από σαρωμένη εικόνα** αλλά να μην ξέρετε πώς; Δεν είστε μόνοι. Είτε ψηφιοποιείτε παλιά αρχεία, είτε εξάγετε δεδομένα από τιμολόγια, είτε δημιουργείτε μια βιβλιοθήκη PDF με δυνατότητα αναζήτησης, η αξιόπιστη εξαγωγή κειμένου από ένα αρχείο TIFF μπορεί να είναι πρόκληση. + +Καλά νέα: με το Aspose OCR for Java μπορείτε να **αναγνωρίσετε κείμενο από tiff** αρχεία σε λίγες μόνο γραμμές κώδικα, και ακόμη να αυξήσετε την ταχύτητα περιορίζοντας τη μηχανή σε μερικούς πυρήνες CPU. Σε αυτό το tutorial θα περάσουμε από τη ρύθμιση της βιβλιοθήκης μέχρι τη διαχείριση του αποτελέσματος—ώστε να μπορείτε να αντιγράψετε‑επικολλήσετε ένα λειτουργικό παράδειγμα αμέσως. + +## Τι Καλύπτει Αυτό το Tutorial + +- Εγκατάσταση Aspose OCR for Java (Maven ή χειροκίνητο JAR) +- Φόρτωση μεγάλης σαρωμένης εικόνας TIFF +- Ρύθμιση της μηχανής για χρήση έως 4 νημάτων (παράλληλο OCR) +- Εκτέλεση της διαδικασίας OCR και εκτύπωση του εξαγόμενου κειμένου +- Συνηθισμένα προβλήματα (μνήμη, πολυ‑σελίδες TIFF) και πώς να τα αποφύγετε +- Γρήγορη συμβουλή απόδοσης: πότε να ρυθμίσετε το `setMaxThreads` + +Στο τέλος θα μπορείτε να **εξάγετε κείμενο από σαρωμένη εικόνα** με αξιοπιστία, και θα καταλάβετε γιατί η ρύθμιση του αριθμού νημάτων είναι σημαντική όταν *αναγνωρίζετε κείμενο από tiff* σε παραγωγικό περιβάλλον. + +--- + +![εξαγωγή κειμένου από σαρωμένη εικόνα παράδειγμα](example.png "Στιγμιότυπο που δείχνει το εξαγόμενο κείμενο από μια σαρωμένη εικόνα TIFF") + +## Προαπαιτούμενα + +Πριν προχωρήσουμε, βεβαιωθείτε ότι έχετε: + +1. **Java Development Kit (JDK) 8+** – οποιαδήποτε πρόσφατη έκδοση λειτουργεί. +2. **Maven** (ή τη δυνατότητα προσθήκης JAR χειροκίνητα) – θα χρησιμοποιήσουμε Maven για απλότητα. +3. Άδεια **Aspose OCR for Java** (η δωρεάν δοκιμή λειτουργεί, αλλά προσθέτει υδατογράφημα). +4. Μια **μεγάλη σάρωση TIFF** (π.χ. `large_scan.tif`) που θέλετε να επεξεργαστείτε. + +Αν κάτι από αυτά σας είναι άγνωστο, μην ανησυχείτε—κάθε βήμα εξηγείται παρακάτω. + +## Βήμα 1: Προσθήκη Aspose OCR στο Project σας + +### Maven χρήστες + +Προσθέστε την ακόλουθη εξάρτηση στο `pom.xml` σας: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Χειροκίνητη ρύθμιση JAR + +Κατεβάστε το πιο πρόσφατο `aspose-ocr-xx.jar` από την ιστοσελίδα της Aspose και τοποθετήστε το στο classpath σας. + +> **Pro tip:** Κρατήστε το JAR σε φάκελο `libs/` και αναφερθείτε σε αυτό στις ρυθμίσεις του IDE. Αυτό αποτρέπει εκπλήξεις τύπου “class not found” αργότερα. + +## Βήμα 2: Δημιουργία Απλής Java Κλάσης + +Δημιουργήστε ένα αρχείο με όνομα `ParallelOcrDemo.java` στον φάκελο πηγαίου κώδικα (`src/main/java`). Αυτή η κλάση θα περιέχει ολόκληρη τη ροή εργασίας OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Γιατί περιορίζουμε τα νήματα:** Από προεπιλογή το Aspose OCR προσπαθεί να χρησιμοποιήσει όλους τους πυρήνες, κάτι που μπορεί να «πνίξει» άλλες υπηρεσίες σε κοινόχρηστη μηχανή. Ορίζοντας `setMaxThreads(4)` λέμε στη μηχανή να τρέχει έως τέσσερις παράλληλους εργαζόμενους—αρκετό για αισθητή βελτίωση ταχύτητας στα περισσότερα σύγχρονα CPUs χωρίς να καταλαμβάνει όλους τους πόρους. + +## Βήμα 3: Συγκομιδή και Εκτέλεση + +Ανοίξτε ένα τερματικό στο ριζικό φάκελο του project και εκτελέστε: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Αν δεν χρησιμοποιείτε Maven, συνθέστε με `javac` και τρέξτε: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Αναμενόμενη Εξαγωγή + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Η κονσόλα θα εμφανίσει την απλή κειμενική έκδοση ό,τι υπήρχε στη σαρωμένη σελίδα. Αν η εικόνα περιέχει πολλαπλές σελίδες, το Aspose OCR τις συνενώνει με τη σωστή σειρά. + +## Βήμα 4: Διαχείριση Πολυ‑Σελίδων TIFF (Edge Case) + +Ένα κοινό σενάριο είναι ένα **πολυ‑σελίδες TIFF**—σκεφτείτε ένα σαρωμένο βιβλίο. Από προεπιλογή το `OcrInputImage` διαβάζει μόνο το πρώτο πλαίσιο. Για να επεξεργαστείτε όλες τις σελίδες, χρησιμοποιήστε το `OcrInputImage` με `FileInputStream` και ενεργοποιήστε την υποστήριξη πολυ‑σελίδων: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Τώρα το `ocrEngine.process()` θα επιστρέψει ένα μοναδικό `OcrResult` που περιέχει το συνενωμένο κείμενο από κάθε σελίδα. + +## Βήμα 5: Λεπτομερής Ρύθμιση Ακρίβειας Αναγνώρισης + +Αν παρατηρήσετε **ακατάλληλους χαρακτήρες** ή λείπουν λέξεις, δοκιμάστε τις παρακάτω προσαρμογές: + +| Ρύθμιση | Τι κάνει | Πότε να τη χρησιμοποιήσετε | +|---------|----------|----------------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Εξαναγκάζει το μοντέλο αγγλικής γλώσσας (γρηγορότερο, πιο ακριβές για αγγλικά scans) | Το έγγραφό σας είναι μονογλωσσικό αγγλικό | +| `ocrEngine.getSettings().setResolution(300)` | Αυξάνει την ανάλυση εικόνων χαμηλής ανάλυσης πριν την αναγνώριση | Σαρώσεις κάτω από 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Προσπαθεί να καθαρίσει ψιλά στίγματα και ελαττώματα | Σαρώσεις με πολύ θόρυβο | + +Παράδειγμα κώδικα: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Βήμα 6: Εξαγωγή Αποτελεσμάτων σε Αρχείο + +Η εκτύπωση στην κονσόλα είναι εντάξει για demo, αλλά σε παραγωγικό κώδικα συνήθως γράφουμε το αποτέλεσμα κάπου χρήσιμο: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Τώρα έχετε ένα αρχείο κειμένου που μπορείτε να τροφοδοτήσετε σε ευρετήριο αναζήτησης, βάση δεδομένων ή σε downstream pipeline ανάλυσης. + +--- + +## Συχνές Ερωτήσεις (FAQ) + +**Ε: Λειτουργεί αυτό με αρχεία PNG ή JPEG;** +Α: Απόλυτα. Το `OcrInputImage` δέχεται οποιαδήποτε μορφή που μπορεί να διαβάσει το Java ImageIO. Απλώς αλλάξτε την επέκταση του αρχείου στη διαδρομή. + +**Ε: Ο διακομιστής μου έχει 8 πυρήνες—να θέσω `setMaxThreads(8)`;** +Α: Θα μπορούσατε, αλλά θυμηθείτε ότι άλλες υπηρεσίες μπορεί να χρειάζονται CPU cycles. Ένας καλός κανόνας είναι “συνολικοί πυρήνες – 1” για αφιερωμένους OCR εργαζόμενους. + +**Ε: Τι γίνεται αν το αποτέλεσμα OCR είναι κενό;** +Α: Ελέγξτε ότι η εικόνα δεν είναι εντελώς λευκή, ότι έχετε ορίσει τη σωστή γλώσσα και ότι η ανάλυση είναι τουλάχιστον 200 DPI. Σαρώσεις χαμηλής ποιότητας συχνά απαιτούν προεπεξεργασία (ευθυγράμμιση, ενίσχυση αντίθεσης) πριν τα δώσετε στο Aspose OCR. + +--- + +## Συμπέρασμα + +Μόλις **εξάγαμε κείμενο από σαρωμένη εικόνα** χρησιμοποιώντας το Aspose OCR for Java, και τώρα ξέρετε πώς να **αναγνωρίζετε κείμενο από tiff** αποδοτικά με παράλληλη επεξεργασία. Ο πλήρης κώδικας βρίσκεται στα αποσπάσματα παραπάνω, και μπορείτε να τον αντιγράψετε‑επικολλήσετε στο δικό σας project αμέσως. + +### Τι Ακολουθεί; + +- **Batch processing**: Επανάληψη πάνω σε έναν φάκελο TIFF, αποθήκευση κάθε αποτελέσματος σε ξεχωριστό αρχείο. +- **Ενσωμάτωση με Elasticsearch**: Ευρετηρίαση του εξαγόμενου κειμένου για γρήγορη πλήρη αναζήτηση κειμένου. +- **Προσθήκη ανίχνευσης γλώσσας**: Χρήση του `OcrLanguage.AutoDetect` για πολυ‑γλωσσικά έγγραφα. + +Δοκιμάστε αυτές τις ιδέες, και θα μετατρέψετε γρήγορα ένα βουνό σαρωμένων εγγράφων σε αναζητήσιμα, επεξεργάσιμα δεδομένα. + +Καλή προγραμματιστική, και μη διστάσετε να αφήσετε σχόλιο αν αντιμετωπίσετε κάποιο πρόβλημα! + +## Τι Πρέπει να Μάθετε Στη Σύντομη Επόμενη + +Τα παρακάτω tutorials καλύπτουν στενά συναφή θέματα που επεκτείνουν τις τεχνικές που παρουσιάστηκαν σε αυτόν τον οδηγό. Κάθε πόρος περιλαμβάνει πλήρη λειτουργικό κώδικα με βήμα‑βήμα εξηγήσεις για να κατακτήσετε επιπλέον δυνατότητες του API και να εξερευνήσετε εναλλακτικές προσεγγίσεις στα δικά σας projects. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/greek/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..7e259c1c1 --- /dev/null +++ b/ocr/greek/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-06-06 +description: Πώς να ενεργοποιήσετε την GPU στο Java OCR και να εξάγετε κείμενο από + αρχεία JPEG. Ακολουθήστε αυτό το παράδειγμα Java OCR για να μετατρέψετε την εικόνα + σε κείμενο με επιτάχυνση GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: el +og_description: Πώς να ενεργοποιήσετε την GPU στο Java OCR και να εξάγετε άμεσα κείμενο + από εικόνες JPEG. Αυτός ο οδηγός παρουσιάζει ένα πλήρες παράδειγμα Java OCR με επιτάχυνση + GPU. +og_title: Πώς να ενεργοποιήσετε το GPU σε Java OCR – Πλήρης Οδηγός Προγραμματισμού +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Πώς να ενεργοποιήσετε την GPU στην Java OCR – Πλήρης Οδηγός Βήμα‑βήμα +url: /el/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να ενεργοποιήσετε το GPU σε Java OCR – Πλήρης Οδηγός Βήμα‑βήμα + +Έχετε αναρωτηθεί ποτέ **πώς να ενεργοποιήσετε το GPU** για την οπτική αναγνώριση χαρακτήρων σε Java; Δεν είστε μόνοι—οι προγραμματιστές ρωτούν συνεχώς, «Μπορώ να κάνω το OCR πιο γρήγορο χωρίς να ξαναγράψω τα πάντα;» Η σύντομη απάντηση είναι ναι, και η εκτενής απάντηση είναι εδώ. Σε αυτό το tutorial θα περάσουμε από ένα **java ocr example** που **εξάγει κείμενο από αρχεία JPEG**, **μετατρέπει εικόνα σε κείμενο**, και αξιοποιεί **GPU accelerated OCR** για αστραπιαία αποτελέσματα. + +Θα ξεκινήσουμε ρυθμίζοντας τη βιβλιοθήκη Aspose OCR, φορτώνοντας ένα δείγμα JPEG, ενεργοποιώντας την υποστήριξη GPU, τρέχοντας τη μηχανή και τέλος εκτυπώνοντας το αναγνωρισμένο κείμενο. Στο τέλος θα έχετε ένα επαναχρησιμοποιήσιμο snippet που μπορείτε να ενσωματώσετε σε οποιοδήποτε Java project, μαζί με μια σειρά από συμβουλές που θα σας προστατεύσουν από κοινά προβλήματα. Χωρίς περιττές πληροφορίες, μόνο το απαραίτητο για να ξεκινήσετε. + +## Prerequisites + +Πριν προχωρήσουμε, βεβαιωθείτε ότι έχετε: + +* Java 8 ή νεότερη εγκατεστημένη (ο κώδικας χρησιμοποιεί τυπικά APIs, οπότε οποιοδήποτε πρόσφατο JDK λειτουργεί). +* Συμβατό GPU με ενημερωμένους οδηγούς – οι περισσότερες σύγχρονες κάρτες NVIDIA/AMD πληρούν τις προϋποθέσεις. +* Τη βιβλιοθήκη Aspose.OCR for Java (μπορείτε να την κατεβάσετε από το Maven Central ή την ιστοσελίδα της Aspose). +* Μια εικόνα JPEG που θέλετε να επεξεργαστείτε με OCR – θα την ονομάσουμε `sample.jpg`. + +Αυτό είναι όλο. Αν κάποιο από αυτά δεν σας είναι γνωστό, κάντε παύση και εγκαταστήστε το απαραίτητο στοιχείο· το υπόλοιπο του οδηγού υποθέτει ότι είναι ήδη στη θέση του. + +## How to enable GPU in Java OCR – Overview + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Σκεφτείτε το GPU ως έναν turbo‑charger για τη μηχανή OCR—αντί η CPU να κάνει κάθε ανάλυση pixel‑by‑pixel, η κάρτα γραφικών αναλαμβάνει το βαρέως βάρους έργο παράλληλα. Το αποτέλεσμα; Ταχύτερο χρόνο επεξεργασίας, ειδικά σε σαρώσεις υψηλής ανάλυσης. + +## Step 1: Set Up the Project and Import Aspose OCR + +Πρώτα απ’ όλα, δημιουργήστε ένα νέο Maven project (ή Gradle, αν προτιμάτε). Προσθέστε την εξάρτηση Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Αν δεν χρησιμοποιείτε Maven, κατεβάστε το JAR από την Aspose και προσθέστε το στο classpath σας. Αυτό το βήμα είναι το θεμέλιο για οποιοδήποτε **java ocr example** γράψετε, οπότε ελέγξτε διπλά ότι η βιβλιοθήκη επιλύεται σωστά. + +## Step 2: Load the JPEG Image (Extract Text from JPEG) + +Τώρα θα γράψουμε κώδικα για να διαβάσουμε ένα αρχείο JPEG. Η κλάση `OcrInputImage` δέχεται μια διαδρομή, και θα τη δώσουμε στη `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Γιατί είναι σημαντικό:** Η σωστή φόρτωση της εικόνας είναι το πρώτο βήμα σε οποιαδήποτε ροή εργασίας **convert image to text**. Αν η διαδρομή είναι λανθασμένη, η μηχανή θα πετάξει εξαίρεση πριν φτάσει στο στάδιο GPU. + +## Step 3: Enable GPU Acceleration (How to Enable GPU) + +Αυτή είναι η καρδιά του tutorial—η ενεργοποίηση της υποστήριξης GPU. Το αντικείμενο `OcrSettings` εκθέτει τη σημαία `setUseGpu`. Απλώς θέστε την σε `true` και είστε έτοιμοι. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** Επαληθεύστε ότι ο οδηγός του GPU είναι ενημερωμένος. Παλαιοί οδηγοί συχνά κάνουν την κλήση `setUseGpu(true)` να αποτύχει σιωπηλά, αφήνοντάς σας με απόδοση μόνο CPU. + +## Step 4: Run the OCR Engine (Java OCR Example) + +Με την εικόνα φορτωμένη και το GPU ενεργοποιημένο, εκκινήστε τη διαδικασία OCR. Η μηχανή επιστρέφει ένα αντικείμενο `OcrResult` που περιέχει το αναγνωρισμένο κείμενο. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Παρασκηνιακά, η Aspose χωρίζει την εικόνα σε πλακίδια, τα στέλνει στο GPU για παράλληλη επεξεργασία και ενώνει τα αποτελέσματα ξανά. Αυτό είναι που κάνει την **gpu accelerated ocr** εμπειρία αισθητά ταχύτερη από την προεπιλεγμένη διαδρομή CPU. + +## Step 5: Output the Recognized Text (Convert Image to Text) + +Τέλος, εκτυπώστε το αποτέλεσμα στην κονσόλα. Σε μια πραγματική εφαρμογή πιθανότατα θα το γράψετε σε αρχείο ή βάση δεδομένων, αλλά για επίδειξη ένα απλό `System.out.println` αρκεί. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Expected Output + +Υποθέτοντας ότι το `sample.jpg` περιέχει τη φράση “Hello, World!”, θα πρέπει να δείτε: + +``` +Recognized text: +Hello, World! +``` + +Αν η εικόνα είναι πιο πολύπλοκη (πολλές γραμμές, πίνακες κ.λπ.), η έξοδος θα περιέχει αλλαγές γραμμής και κενά που αντικατοπτρίζουν την αρχική διάταξη. Αυτή είναι η ομορφιά της μηχανής OCR της Aspose—διατηρεί τη δομή ενώ μετατρέπει την εικόνα σε κείμενο. + +## Full Working Example + +Συνδυάζοντας όλα τα παραπάνω, εδώ είναι το πλήρες, έτοιμο‑για‑εκτέλεση πρόγραμμα: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Αποθηκεύστε το ως `GpuOcrDemo.java`, μεταγλωττίστε με `javac` και τρέξτε με `java`. Αν όλα είναι σωστά συνδεδεμένα, η κονσόλα θα εμφανίσει το εξαγόμενο κείμενο σε μια στιγμή. + +## Common Questions & Edge Cases + +### 1. My GPU isn’t being used – what gives? + +* **Ελέγξτε την έκδοση του οδηγού** – παλαιότεροι οδηγοί μπορεί να μην εκθέτουν τις απαιτούμενες δυνατότητες υπολογισμού. +* **Επικυρώστε την υποστήριξη GPU** – η Aspose απαιτεί κάρτα NVIDIA συμβατή με CUDA ή κάρτα AMD συμβατή με OpenCL. Εάν χρησιμοποιείτε φορητό υπολογιστή με απενεργοποιημένο διακριτό GPU, ενεργοποιήστε το στο BIOS ή στον πίνακα ελέγχου γραφικών. +* **Εξετάστε τα logs** – η Aspose γράφει μια γραμμή εντοπισμού όταν η λειτουργία GPU είναι ενεργή. Ενεργοποιήστε την καταγραφή μέσω `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. The OCR result is garbled on a low‑resolution image. + +* **Προεπεξεργασία του JPEG** – αλλάξτε το μέγεθος του σε τουλάχιστον 300 dpi, εφαρμόστε ενίσχυση αντίθεσης ή μετατρέψτε το σε γκρι κλίμακα πριν το δώσετε στη μηχανή. +* **Ρύθμιση παραμέτρων** – μπορείτε να προσαρμόσετε το `ocr.getSettings().setLanguage(OcrLanguage.English)` ή να ενεργοποιήσετε το `setUseLanguageDetection(true)` για καλύτερη ακρίβεια. + +### 3. Can I process multiple images in a batch? + +Απολύτως. Τυλίξτε τα μπλοκ φόρτωσης και επεξεργασίας μέσα σε έναν βρόχο, επαναχρησιμοποιώντας το ίδιο αντικείμενο `OcrEngine`. Απλώς θυμηθείτε να καλέσετε `ocr.reset()` μεταξύ των επαναλήψεων για να καθαρίσετε την προηγούμενη εικόνα. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Does GPU acceleration work on headless servers? + +Ναι, εφόσον ο διακομιστής διαθέτει υποστηριζόμενο GPU και τους κατάλληλους οδηγούς. Σε Linux, ίσως χρειαστεί να εγκαταστήσετε το πακέτο `nvidia‑utils` και να βεβαιωθείτε ότι το toolkit `CUDA` βρίσκεται στο `PATH`. + +## Pro Tips for Production‑Ready GPU OCR + +* **Το μέγεθος παρτίδας μετράει** – μεγαλύτερες εικόνες ωφελούνται περισσότερο από την παράλληλη επεξεργασία GPU. Εάν επεξεργάζεστε μικρά εικονίδια, το κόστος μεταφοράς στο GPU μπορεί να υπερβαίνει τα οφέλη. +* **Διαχείριση μνήμης** – τα GPU έχουν περιορισμένη VRAM. Για πολύ μεγάλα PDF ή σαρώσεις πολλαπλών megapixel, χωρίστε την εικόνα σε μικρότερα τμήματα χειροκίνητα. +* **Διαχείριση σφαλμάτων** – τυλίξτε την κλήση OCR σε μπλοκ try‑catch και επιστρέψτε στην κατάσταση CPU (`setUseGpu(false)`) εάν εξαχθεί `UnsupportedOperationException`. + +## Conclusion + +Καλύψαμε **πώς να ενεργοποιήσετε το GPU** σε ένα **java ocr example**, σας δείξαμε πώς να **εξάγετε κείμενο από JPEG** αρχεία, και παρουσιάσαμε έναν καθαρό τρόπο να **μετατρέψετε εικόνα σε κείμενο** χρησιμοποιώντας τη **gpu accelerated OCR** μηχανή της Aspose. Το πλήρες snippet παραπάνω είναι έτοιμο να ενσωματωθεί σε οποιοδήποτε Java project, και οι συνοδευτικές συμβουλές θα σας κρατήσουν μακριά από τα συνηθισμένα προβλήματα. + +Τι ακολουθεί; Δοκιμάστε να προσθέσετε πακέτα γλωσσών, πειραματιστείτε με διαφορετικές μορφές εικόνας (PNG, TIFF), ή ενσωματώστε το αποτέλεσμα σε έναν δείκτη αναζήτησης. Ο ουρανός είναι το όριο όταν συνδυάζετε OCR με τη δύναμη του GPU. + +Έχετε περισσότερες ερωτήσεις για το GPU‑accelerated OCR ή χρειάζεστε βοήθεια στη ρύθμιση; Αφήστε ένα σχόλιο, και καλή προγραμματιστική δουλειά! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + + +## What Should You Learn Next? + +Τα παρακάτω tutorials καλύπτουν στενά συναφή θέματα που επεκτείνουν τις τεχνικές που παρουσιάστηκαν σε αυτόν τον οδηγό. Κάθε πόρος περιλαμβάνει πλήρη παραδείγματα κώδικα με βήμα‑βήμα εξηγήσεις για να σας βοηθήσει να κυριαρχήσετε επιπλέον δυνατότητες του API και να εξερευνήσετε εναλλακτικές προσεγγίσεις στην δική σας υλοποίηση. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/greek/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..f04b52be5 --- /dev/null +++ b/ocr/greek/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: Βελτιώστε την ακρίβεια του OCR σε Java με έναν οδηγό βήμα‑βήμα που δείχνει + πώς να φορτώσετε το OCR εικόνας, να επεξεργαστείτε το OCR εικόνας και να εξάγετε + κείμενο από τη σαρωμένη σελίδα αποδοτικά. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: el +og_description: Βελτιώστε την ακρίβεια του OCR στη Java με ένα πρακτικό παράδειγμα. + Μάθετε πώς να φορτώνετε εικόνα για OCR, να κάνετε προεπεξεργασία και να εκτελείτε + OCR στην εικόνα για να εξάγετε το κείμενο από τη σαρωμένη σελίδα. +og_title: Βελτιώστε την ακρίβεια OCR στη Java – Πλήρης οδηγός +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Βελτιώστε την ακρίβεια OCR στη Java – Πλήρης οδηγός +url: /el/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Βελτιώστε την Ακρίβεια OCR σε Java – Πλήρης Οδηγός + +Έχετε αναρωτηθεί ποτέ πώς να **βελτιώσετε την ακρίβεια OCR** όταν εργάζεστε με σκαναρισμένα παλιά βιβλία ή θολές αποδείξεις; Δεν είστε μόνοι. Σε πολλά πραγματικά έργα η ακατέργαστη έξοδος από μια μηχανή OCR φαίνεται σαν κρυπτικό χάος, και αυτό συμβαίνει συνήθως επειδή η εικόνα δεν προεπεξεργάστηκε σωστά πριν **perform OCR image**. + +Σε αυτό το tutorial θα περάσουμε από ένα πρακτικό παράδειγμα Java που δείχνει ακριβώς πώς να **load image OCR**, εφαρμόζουμε μερικά έξυπνα βήματα προεπεξεργασίας, **process image OCR**, και τελικά **extract text scanned page** με καθαρό αποτέλεσμα. Στο τέλος θα καταλάβετε όχι μόνο *τι* να κωδικοποιήσετε, αλλά και *γιατί* κάθε γραμμή είναι σημαντική για την ενίσχυση της ποιότητας αναγνώρισης. + +## Τι Θα Μάθετε + +- Πώς να δημιουργήσετε μια μηχανή OCR σε Java +- Ο σωστός τρόπος για **load image OCR** από το δίσκο +- Γιατί η ευθυγράμμιση, η αποθορυβοποίηση και η ενίσχυση αντίθεσης είναι απαραίτητα για **improve OCR accuracy** +- Πώς να **perform OCR image** και να ανακτήσετε το αναγνωρισμένο κείμενο +- Συμβουλές για τη διαχείριση διαφορετικών μορφών εικόνας και edge‑cases + +Δεν χρειάζεται εξωτερική τεκμηρίωση – όλα όσα χρειάζεστε είναι εδώ, και ο πλήρης, εκτελέσιμος κώδικας περιλαμβάνεται στο τέλος. + +## Προαπαιτούμενα + +- Java 17 (ή οποιοδήποτε πρόσφατο JDK) εγκατεστημένο στο μηχάνημά σας +- Μια βιβλιοθήκη OCR που παρέχει τις κλάσεις `OcrEngine`, `OcrInputImage` και `OcrResult` (το παράδειγμα χρησιμοποιεί ένα γενικό API· αντικαταστήστε το με το jar του προμηθευτή σας αν χρειάζεται) +- Μια σκαναρισμένη εικόνα (PNG, JPEG ή TIFF) που θέλετε να επεξεργαστείτε με OCR – για την επίδειξη θα χρησιμοποιήσουμε το `old_book_page.png` που βρίσκεται σε φάκελο με όνομα `YOUR_DIRECTORY` + +Αν λείπει το OCR jar, απλώς τοποθετήστε το στον φάκελο `libs` του έργου σας και προσθέστε το στο classpath. Αυτό είναι όλο. + +--- + +## Βήμα 1 – Βελτιώστε την Ακρίβεια OCR: Ρυθμίστε τη Μηχανή + +Πριν μπορέσουμε να **process image OCR**, χρειαζόμαστε μια νέα παρουσία μηχανής. Η δημιουργία ενός νέου `OcrEngine` μας δίνει ένα καθαρό ξεκίνημα, εξασφαλίζοντας ότι δεν υπάρχουν απομεινάρια ρυθμίσεων από προηγούμενες εκτελέσεις. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Γιατί είναι σημαντικό*: Μια πρόσφατα δημιουργημένη μηχανή ξεκινά με την προεπεξεργασία εξ ορισμού απενεργοποιημένη. Αυτό είναι σκόπιμο – θέλουμε να ενεργοποιήσουμε μόνο τα βήματα που πραγματικά βοηθούν τη συγκεκριμένη μας εικόνα, που είναι το θεμέλιο της **improve OCR accuracy**. + +--- + +## Βήμα 2 – Load Image OCR – Προετοιμασία Σάρωσής σας + +Τώρα πραγματικά **load image OCR**. Η μέθοδος `setImage` αναμένει ένα `OcrInputImage` που δείχνει στο αρχείο στο δίσκο. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Μερικές σημειώσεις: + +1. **Supported formats** – οι περισσότερες βιβλιοθήκες δέχονται PNG, JPEG, BMP και TIFF. Αν έχετε PDF, μετατρέψτε πρώτα την πρώτη σελίδα σε εικόνα. +2. **Path handling** – η χρήση απόλυτης διαδρομής αποφεύγει το πρόβλημα “file not found” όταν αλλάζει ο τρέχων φάκελος. + +--- + +## Βήμα 3 – Deskew: Ευθυγράμμιση Περιστρεφόμενων Σελίδων + +Πολλές σκαναρισμένες σελίδες δεν είναι τέλεια οριζόντιες. Μια μικρή περιστροφή μπορεί να καταστρέψει την αναγνώριση επειδή η μηχανή OCR αναμένει γραμμές κειμένου οριζόντιες. Η ενεργοποίηση του deskew ανιχνεύει και διορθώνει αυτόματα τη περιστροφή. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: Αν γνωρίζετε τη γωνία περιστροφής εκ των προτέρων (π.χ., 90°), μπορείτε να περιστρέψετε χειροκίνητα την εικόνα πριν τη δώσετε στη μηχανή – συχνά πιο γρήγορο για εργασίες batch. + +--- + +## Βήμα 4 – Denoise: Μείωση Θορύβου Υποβάθρου + +Τα παλιά έγγραφα συχνά περιέχουν υφή χαρτιού, σκόνη ή τεχνουργήματα συμπίεσης. Η μέθοδος `setDenoiseLevel` εφαρμόζει ένα φίλτρο που εξομαλύνει αυτόν τον θόρυβο. Το επίπεδο 2 είναι ένα καλό σημείο εκκίνησης για τις περισσότερες σκαναρισμένες σελίδες. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Γιατί βοηθά**: Ο θόρυβος δημιουργεί ψευδείς άκρες που η μηχανή OCR μπορεί να ερμηνεύσει ως χαρακτήρες. Καθαρίζοντας την εικόνα, **improve OCR accuracy** χωρίς να θυσιάσουμε τα πραγματικά σχήματα των γλύφων. + +--- + +## Βήμα 5 – Boost Contrast: Ανάδειξη Κειμένου + +Αν η σάρωση είναι ξεθωριασμένη, η αντίθεση μεταξύ μελάνης και χαρτιού είναι χαμηλή, και η μηχανή δυσκολεύεται να διακρίνει το προσκήνιο από το παρασκήνιο. Μια μέτρια ενίσχυση αντίθεσης `1.4f` (αύξηση 40 %) συνήθως λύνει το πρόβλημα. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Edge case*: Για πολύ σκοτεινές εικόνες, ένας υψηλότερος παράγοντας (μέχρι 2.0) μπορεί να είναι ωφέλιμος, αλλά προσέξτε το clipping – πολύ φωτεινές περιοχές μπορεί να γίνουν καθαρό λευκό, σβήνοντας λεπτομέρειες. + +--- + +## Βήμα 6 – Perform OCR Image – Το Κεντρικό Βήμα Επεξεργασίας + +Όλη η προετοιμασία οδηγεί σε αυτή τη γραμμή: η πραγματική εκτέλεση της μηχανής OCR στην προεπεξεργασμένη εικόνα. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Στο παρασκήνιο η μηχανή εκτελεί τα στάδια τμηματοποίησης, αναγνώρισης χαρακτήρων και μοντέλου γλώσσας. Αν χρειάζεστε πολλαπλές γλώσσες, ορίστε τις στη μηχανή **before** την κλήση του `process()`. + +--- + +## Βήμα 7 – Extract Text Scanned Page – Λήψη του Αποτελέσματος + +Τέλος, εξάγουμε τη αναγνωρισμένη συμβολοσειρά από το `OcrResult`. Η εκτύπωση της στην κονσόλα αρκεί για μια γρήγορη επίδειξη, αλλά μπορείτε επίσης να τη γράψετε σε αρχείο, βάση δεδομένων ή να τη δώσετε σε μια επόμενη διεργασία NLP. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Expected output** (truncated for brevity): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Αν το αποτέλεσμα εξακολουθεί να φαίνεται ακατάληπτο, επανεξετάστε τις παραμέτρους προεπεξεργασίας – μερικές φορές ένα υψηλότερο επίπεδο denoise ή διαφορετικός παράγοντας αντίθεσης κάνει αξιοσημείωτη διαφορά. + +--- + +## Πλήρες Παράδειγμα Εργασίας + +Παρακάτω είναι το πλήρες, αυτόνομο πρόγραμμα Java που μπορείτε να αντιγράψετε, επικολλήσετε και εκτελέσετε. Περιλαμβάνει τις απαραίτητες εισαγωγές, μια μέθοδο `main` και ενσωματωμένα σχόλια που διευκρινίζουν κάθε βήμα. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Αποθηκεύστε το ως `OcrAccuracyDemo.java`, μεταγλωττίστε με `javac` και εκτελέστε το με `java`. Αν όλα είναι ρυθμισμένα σωστά, θα δείτε το καθαρισμένο κείμενο να εκτυπώνεται στο τερματικό. + +--- + +## Συχνές Ερωτήσεις & Edge Cases + +**Q: Η σκαναρισμένη σελίδα μου είναι έγχρωμη – πρέπει να τη μετατρέψω σε γκρι κλίμακα πρώτα;** +A: Οι περισσότερες μηχανές OCR μετατρέπουν εσωτερικά σε γκρι κλίμακα, αλλά κάνοντας το μόνοι σας (π.χ., χρησιμοποιώντας `BufferedImage` και `ColorConvertOp`) μπορείτε να έχετε πιο ακριβή έλεγχο του αλγορίθμου μετατροπής, ειδικά όταν το παρασκήνιο δεν είναι ομοιόμορφο. + +**Q: Το αποτέλεσμα εξακολουθεί να περιέχει τυχαία σύμβολα. Τι να κάνω;** +A: Δοκιμάστε να αυξήσετε το `setDenoiseLevel` σε 3 ή να προσαρμόσετε το `setContrastBoost` σε 1.6f. Αν το πρόβλημα παραμένει, σκεφτείτε να εφαρμόσετε ένα **binary threshold** (binarization) πριν το OCR – πολλές βιβλιοθήκες εκθέτουν την επιλογή `setBinarization(true)`. + +**Q: Πώς να διαχειριστώ PDF πολλαπλών σελίδων;** +A: Μετατρέψτε κάθε σελίδα σε εικόνα (χρησιμοποιώντας, για παράδειγμα, το Apache PDFBox) και επαναλάβετε τις σελίδες, επαναχρησιμοποιώντας την ίδια παρουσία `OcrEngine` αλλά επαναφέροντας την εικόνα σε κάθε επανάληψη. + +--- + +## Συμπέρασμα + +Μόλις μάθατε πώς να **improve OCR accuracy** σε Java εφαρμόζοντας σωστά **load image OCR**, deskew, denoise και ενίσχυση αντίθεσης, έπειτα **perform OCR image** και τέλος **extract text scanned page**. Το βασικό συμπέρασμα είναι ότι η προεπεξεργασία είναι συχνά το πιο αποτελεσματικό μοχλό για την ενίσχυση της ποιότητας αναγνώρισης – μια καλά προετοιμασμένη εικόνα μπορεί να διπλασιάσει ή ακόμη και τριπλασιάσει το ποσοστό σωστών χαρακτήρων. + +Έτοιμοι για το επόμενο βήμα; Δοκιμάστε: + +- Διαφορετικά επίπεδα denoise για πολύ σπόριασες σκαναρισμένες εικόνες +- Αντα adaptive contrast boosting βάσει ανάλυσης ιστογράμματος εικόνας +- Ενσωμάτωση μοντέλου γλώσσας (π.χ., ορθογραφικός έλεγχος) μετά την εξαγωγή για καθαρισμό υπολειπόμενων σφαλμάτων + +Αυτές οι επεκτάσεις θα εμβαθύνουν το OCR pipeline σας και θα το κάνουν αρκετά ανθεκτικό για παραγωγικά φορτία εργασίας. + +Αν αντιμετωπίσετε πρόβλημα ή έχετε κάποιο έξυπνο κόλπο, αφήστε ένα σχόλιο παρακάτω. Καλή προγραμματιστική, και το κείμενό σας να είναι πάντα ευανάγνωστο! + +## Τι Θα Μάθετε Στη Σύντομη Μελλοντική; + +Τα παρακάτω tutorials καλύπτουν στενά σχετιζόμενα θέματα που βασίζονται στις τεχνικές που παρουσιάζονται σε αυτόν τον οδηγό. Κάθε πόρος περιλαμβάνει πλήρη παραδείγματα κώδικα με βήμα‑βήμα εξηγήσεις για να σας βοηθήσει να κυριαρχήσετε σε επιπλέον δυνατότητες API και να εξερευνήσετε εναλλακτικές προσεγγίσεις υλοποίησης στα δικά σας έργα. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/java/ocr-basics/_index.md b/ocr/greek/java/ocr-basics/_index.md index 06fd762fc..92bfc1512 100644 --- a/ocr/greek/java/ocr-basics/_index.md +++ b/ocr/greek/java/ocr-basics/_index.md @@ -101,6 +101,8 @@ weight: 20 Βελτιώστε την ακρίβεια του OCR με το Aspose.OCR για Java. Μάθετε να υπολογίζετε γωνίες κλίσης βήμα‑βήμα. Αναβαθμίστε την επεξεργασία εγγράφων εύκολα. ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) Αποκτήστε τη δύναμη του Aspose.OCR για Java. Μάθετε πώς να εξάγετε κείμενο από εικόνες απρόσκοπτα σε αυτόν τον βήμα‑βήμα οδηγό. Κατεβάστε τώρα για αποδοτική αναγνώριση κειμένου. +### [Πώς να εκτελέσετε OCR σε Java – Πλήρης οδηγός εξαγωγής κειμένου από εικόνες](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Ολοκληρωμένος οδηγός για την εκτέλεση OCR σε Java και εξαγωγή κειμένου από εικόνες. --- @@ -113,4 +115,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/greek/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..7196fedfb --- /dev/null +++ b/ocr/greek/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-06-06 +description: πώς να εκτελέσετε OCR σε Java – γρήγορη εξαγωγή κειμένου από εικόνα, + μετατροπή εικόνας σε κείμενο και ανάγνωση κειμένου από jpg χρησιμοποιώντας ένα απλό + παράδειγμα κώδικα. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: el +og_description: πώς να εκτελέσετε OCR στην Java – μάθετε πώς να εξάγετε κείμενο από + εικόνα, να μετατρέψετε εικόνα σε κείμενο και να διαβάσετε κείμενο από jpg με ένα + έτοιμο παράδειγμα. +og_title: Πώς να εκτελέσετε OCR σε Java – Οδηγός βήμα‑προς‑βήμα +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Πώς να εκτελέσετε OCR σε Java – Πλήρης οδηγός για την εξαγωγή κειμένου από + εικόνες +url: /el/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να Εκτελέσετε OCR σε Java – Πλήρης Οδηγός για την Εξαγωγή Κειμένου από Εικόνες + +Έχετε αναρωτηθεί ποτέ **πώς να εκτελέσετε OCR** σε μια φωτογραφία που τραβήξατε με το τηλέφωνό σας; Δεν είστε ο μόνος. Είτε δημιουργείτε μια εφαρμογή σάρωσης αποδείξεων είτε απλώς χρειάζεστε να εξάγετε κείμενο από ένα σαρωμένο PDF, **πώς να εκτελέσετε OCR** σε Java είναι μια δεξιότητα που αποδίδει γρήγορα. Σε αυτόν τον οδηγό θα περάσουμε από ένα πρακτικό παράδειγμα που **εξάγει κείμενο από αρχεία εικόνας**, **μετατρέπει εικόνα σε κείμενο**, και ακόμη δείχνει πώς να **διαβάσετε κείμενο από jpg** με λίγες μόνο γραμμές κώδικα. + +> *Συμβουλή επαγγελματία:* Η ίδια προσέγγιση λειτουργεί για PNG, BMP ή οποιαδήποτε μορφή υποστηρίζει η μηχανή OCR—απλώς αλλάξτε το όνομα του αρχείου. + +## Πώς να Εκτελέσετε OCR σε Java – Επισκόπηση + +Η Οπτική Αναγνώριση Χαρακτήρων (OCR) είναι η τεχνολογία που μετατρέπει εικόνες γραμμάτων σε πραγματικό, αναζητήσιμο κείμενο. Στο οικοσύστημα της Java υπάρχουν πολλές βιβλιοθήκες—Tesseract, Asprise και εμπορικά SDK—όλες εκθέτουν μια παρόμοια ροή εργασίας: φορτώνετε μια εικόνα, λέτε στη μηχανή ποια γλώσσα να περιμένει, εκτελείτε την αναγνώριση και παίρνετε το αποτέλεσμα. Παρακάτω θα χρησιμοποιήσουμε μια γενική κλάση `OcrEngine` για να διατηρήσουμε το παράδειγμα σαφές, αλλά μπορείτε να την αντικαταστήσετε με οποιαδήποτε συγκεκριμένη υλοποίηση που ακολουθεί το ίδιο μοτίβο. + +### Τι Θα Μάθετε + +- Εγκατάσταση βιβλιοθήκης OCR (ναι, **ocr in java** είναι πιο εύκολο απ' ό,τι νομίζετε). +- Δημιουργία και ρύθμιση μιας παρουσίας OCR engine. +- Φόρτωση ενός JPG (ή οποιασδήποτε εικόνας) και ορισμός της γλώσσας. +- Επεξεργασία της εικόνας και **εξαγωγή κειμένου από εικόνα** αρχεία. +- Εκτύπωση του αναγνωρισμένου string στην κονσόλα. + +Στο τέλος θα έχετε ένα αυτόνομο πρόγραμμα Java που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο και να τρέξετε αμέσως. + +![παράδειγμα εκτέλεσης OCR](ocr-example.png "εικονογράφηση του πώς να εκτελέσετε OCR σε Java") + +## Βήμα 1 – Εγκατάσταση και Εισαγωγή Βιβλιοθήκης OCR (ocr in java) + +Πριν γράψετε μια γραμμή Java, χρειάζεστε μια βιβλιοθήκη που πραγματικά κάνει το βαρέως έργο. Αν χρησιμοποιείτε Maven, προσθέστε μια εξάρτηση όπως αυτή (αντικαταστήστε το `com.example.ocr` με το πραγματικό group ID του επιλεγμένου SDK): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Αν προτιμάτε Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Μόλις το JAR είναι στο classpath, εισάγετε τις κλάσεις που θα χρειαστείτε: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Γιατί είναι σημαντικό:** Η εισαγωγή των σωστών κλάσεων αποτρέπει σφάλματα “cannot find symbol” και κάνει το IDE σας ευχαριστημένο—τίποτα δεν είναι πιο απογοητευτικό από μια ελλιπή εισαγωγή όταν προσπαθείτε να **μετατρέψετε εικόνα σε κείμενο**. + +## Βήμα 2 – Δημιουργία Παρουσίας OCR Engine (how to perform OCR) + +Τώρα που η βιβλιοθήκη είναι έτοιμη, ξεκινήστε τη μηχανή. Σκεφτείτε τη μηχανή ως τον εγκέφαλο που θα κοιτάξει τα pixel και θα μαντέψει τα γράμματα. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Η δημιουργία της μηχανής είναι συνήθως φθηνή· τα περισσότερα SDKs εκχωρούν εσωτερικές μνήμες αργά, έτσι μπορείτε με ασφάλεια να επαναχρησιμοποιήσετε την ίδια παρουσία για πολλές εικόνες αν επεξεργάζεστε μια παρτίδα. + +## Βήμα 3 – Φόρτωση Εικόνας και Ορισμός Γλώσσας (extract text from image) + +Το επόμενο βήμα είναι να δώσετε στη μηχανή κάτι να διαβάσει. Εδώ φορτώνουμε ένα JPEG από το δίσκο και λέμε στη μηχανή OCR ότι το κείμενο είναι στα Μογγολικά (κωδικός ISO 639‑2 “mon”). Μπορείτε να αλλάξετε τη διαδρομή ή τον κωδικό γλώσσας ώστε να ταιριάζει στην περίπτωση χρήσης σας. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Σημείωση:** Αν δεν ορίσετε γλώσσα, η μηχανή προεπιλέγει τα Αγγλικά, κάτι που μπορεί να μειώσει δραστικά την ακρίβεια όταν το κείμενο είναι στην πραγματικότητα Κυριλλική ή άλλη γραφή. Πάντα καθορίζετε τη σωστή γλώσσα όταν μπορείτε. + +## Βήμα 4 – Επεξεργασία Εικόνας και Λήψη Αποτελέσματος (convert image to text) + +Με την εικόνα και τη γλώσσα στη θέση τους, ζητήστε από τη μηχανή να κάνει τη μαγεία της. Η κλήση `process()` τρέχει τον αλγόριθμο OCR και επιστρέφει ένα αντικείμενο `OcrResult` που περιέχει τη αναγνωρισμένη συμβολοσειρά και τις βαθμολογίες εμπιστοσύνης. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Πίσω από τη σκηνή, η μηχανή μπορεί να εκτελεί προεπεξεργασία—ευθυγράμμιση, δυαδικοποίηση, μείωση θορύβου—ώστε να μην χρειάζεται να γράψετε αυτά τα βήματα μόνοι σας. Γι' αυτό οι περισσότερες σύγχρονες βιβλιοθήκες OCR είναι ευχάριστες στη χρήση για εργασίες **μετατροπής εικόνας σε κείμενο**. + +## Βήμα 5 – Έξοδος του Εξαγόμενου Κειμένου (read text from jpg) + +Τέλος, εξάγετε το απλό κείμενο από το αποτέλεσμα και κάντε κάτι χρήσιμο με αυτό. Για αυτήν τη demo απλώς το εκτυπώνουμε στην κονσόλα, αλλά θα μπορούσατε να το γράψετε σε αρχείο, να το τροφοδοτήσετε σε ευρετήριο αναζήτησης ή να το περάσετε σε άλλη υπηρεσία. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Αυτή η γραμμή αποδεικνύει ότι έχετε διαβάσει επιτυχώς **κείμενο από jpg** (ή οποιαδήποτε υποστηριζόμενη μορφή). Αν η έξοδος φαίνεται ακατάληπτη, ελέγξτε ξανά τον κωδικό γλώσσας και την ποιότητα της εικόνας. + +## Πλήρες Παράδειγμα Λειτουργίας (Όλα τα Βήματα Συνδυασμένα) + +Παρακάτω είναι μια πλήρης, έτοιμη‑για‑εκτέλεση κλάση Java που ενώνει όλα τα κομμάτια. Αντιγράψτε την σε ένα αρχείο με όνομα `OcrDemo.java`, προσαρμόστε τη διαδρομή της εικόνας και τη γλώσσα, μετά τρέξτε `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Αναμενόμενη Έξοδος + +Αν το `input.jpg` περιέχει τη μογγολική φράση “Сайн байна уу?” η κονσόλα θα εμφανίσει: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Αν η εικόνα είναι θολή ή ο κωδικός γλώσσας είναι λανθασμένος, θα δείτε ακατάληπτους χαρακτήρες ή μια κενή συμβολοσειρά—συνηθισμένα προβλήματα που θα συζητήσουμε παρακάτω. + +## Συνηθισμένα Προβλήματα και Πώς να τα Διορθώσετε + +| Σύμπτωμα | Πιθανή Αιτία | Διόρθωση | +|----------|--------------|----------| +| Ακατάληπτοι Κυριλλικοί χαρακτήρες | Λάθος κωδικός γλώσσας (προεπιλογή στα Αγγλικά) | Ορίστε `ocrEngine.getSettings().setLanguage("mon")` ή τον κατάλληλο κωδικό. | +| Καμία έξοδος καθόλου | Λανθασμένη διαδρομή εικόνας ή μη αναγνώσιμο αρχείο | Επαληθεύστε τη διαδρομή, βεβαιωθείτε ότι το αρχείο υπάρχει και ότι η διαδικασία έχει δικαιώματα ανάγνωσης. | +| Χαμηλή ακρίβεια (<70 %) | Η εικόνα έχει χαμηλή αντίθεση ή είναι περιστραμμένη | Προεπεξεργαστείτε την εικόνα: αυξήστε την αντίθεση, ευθυγραμμίστε ή μετατρέψτε σε κλίμακα του γκρι πριν τη δώσετε στη μηχανή. | +| `OutOfMemoryError` σε μεγάλα PDF | Φόρτωση πολλών σελίδων υψηλής ανάλυσης ταυτόχρονα | Επεξεργαστείτε τις σελίδες μία τη φορά ή μειώστε την ανάλυση των εικόνων πριν το OCR. | + +### Συμβουλή Επαγγελματία: Επεξεργασία σε Παρτίδες + +Αν χρειάζεστε **εξαγωγή κειμένου από εικόνα** αρχείων μαζικά, τυλίξτε τη βασική λογική σε έναν βρόχο: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +## Περαιτέρω – Τι να Εξερευνήσετε Στη Σειρά; + +- **Language Packs:** Τα περισσότερα OCR SDK επιτρέπουν τη λήψη πρόσθετων αρχείων δεδομένων γλώσσας. Η προσθήκη ενός νέου πακέτου σας επιτρέπει να **μετατρέψετε εικόνα σε κείμενο** για γλώσσες πέρα από τα Αγγλικά και τη Μογγολική. +- **PDF OCR:** Συνδυάστε αυτόν τον κώδικα με το Apache PDFBox για + +## Τι Πρέπει Να Μάθετε Στη Σειρά; + +Τα παρακάτω tutorials καλύπτουν στενά σχετιζόμενα θέματα που βασίζονται στις τεχνικές που παρουσιάστηκαν σε αυτόν τον οδηγό. Κάθε πόρος περιλαμβάνει πλήρη παραδείγματα κώδικα με βήμα‑βήμα εξηγήσεις για να σας βοηθήσουν να κυριαρχήσετε σε πρόσθετες δυνατότητες API και να εξερευνήσετε εναλλακτικές προσεγγίσεις υλοποίησης στα δικά σας έργα. + +- [Εξαγωγή Κειμένου από Εικόνες – Βασικά OCR με Aspose.OCR για Java](/ocr/english/java/ocr-basics/) +- [Μετατροπή Εικόνας σε Κείμενο σε Java χρησιμοποιώντας Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Πώς να OCR Κείμενο Εικόνας με Γλώσσα Χρησιμοποιώντας Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..2409fd2af 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,8 @@ 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. +### [Εφαρμογή άδειας Aspose OCR σε Java – Αφαίρεση υδατογραφήματος OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Μάθετε πώς να εφαρμόσετε την άδεια Aspose OCR σε Java και να αφαιρέσετε το υδατογράφημα OCR από τα αποτελέσματα. ## Συχνές Ερωτήσεις diff --git a/ocr/greek/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/greek/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..b6d5f4ca1 --- /dev/null +++ b/ocr/greek/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-06-06 +description: Εφαρμόστε την άδεια Aspose OCR στη Java για να ξεκλειδώσετε όλες τις + δυνατότητες και να αφαιρέσετε αμέσως το υδατογράφημα OCR. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: el +og_description: Εφαρμόστε την άδεια Aspose OCR σε Java για να εξαφανίσετε τα όρια + αξιολόγησης και να αφαιρέσετε το υδατογράφημα OCR από τις σαρώσεις σας. +og_title: Εφαρμογή άδειας Aspose OCR σε Java – Αφαίρεση υδατογραφήματος OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Εφαρμογή άδειας Aspose OCR σε Java – Αφαίρεση υδατογραφήματος OCR +url: /el/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εφαρμογή άδειας Aspose OCR σε Java – Αφαίρεση υδατογραφήματος OCR + +Έχετε αναρωτηθεί ποτέ πώς να **εφαρμόσετε την άδεια Aspose OCR** σε ένα έργο Java χωρίς να αντιμετωπίσετε το ανεπιθύμητο υδατογράφημα αξιολόγησης; Δεν είστε ο μόνος. Μόλις δοκιμάσετε τη δωρεάν δοκιμή, κάθε σαρωμένη εικόνα σφραγίζεται με το γκρι «Aspose Evaluation» επικάλυψη, και μπορεί να κάνει ακόμη και το πιο καθαρό έγγραφο να φαίνεται μη επαγγελματικό. + +Σε αυτόν τον οδηγό θα περάσουμε από τα ακριβή βήματα για να **εφαρμόσετε την άδεια Aspose OCR**, να επαληθεύσετε ότι η βιβλιοθήκη είναι πλήρως ξεκλειδωμένη και να σας δείξουμε πώς το υδατογράφημα εξαφανίζεται αυτόματα. Στο τέλος, θα μπορείτε να εκτελείτε OCR σε οποιαδήποτε εικόνα — είτε είναι απόδειξη, σάρωση διαβατηρίου ή χειρόγραφο σημείωμα — χωρίς το άσχημο επικάλυμμα. + +## Προαπαιτούμενα + +- **Java Development Kit (JDK) 8** ή νεότερο εγκατεστημένο. +- **Aspose OCR for Java** αρχείο JAR (λήψη από το portal της Aspose). +- Το **αρχείο άδειας Aspose OCR** (`Aspose.OCR.Java.lic`). +- Ένα IDE ή έναν απλό επεξεργαστή κειμένου (IntelliJ, Eclipse, VS Code — όπως προτιμάτε). + +Αυτό είναι όλο. Δεν απαιτούνται επιπλέον Maven plugins ή κόλπα Gradle, αν και μπορείτε σίγουρα να τα προσθέσετε αργότερα αν το θέλετε. + +## Ρύθμιση έργου (Σύντομη επισκόπηση) + +1. Δημιουργήστε ένα νέο φάκελο με όνομα `AsposeOCRDemo`. +2. Τοποθετήστε το αρχείο `aspose-ocr-*.jar` σε έναν υπο‑φάκελο `lib`. +3. Βάλτε το αρχείο `Aspose.OCR.Java.lic` κάπου προσβάσιμο, π.χ. στο φάκελο `resources/`. +4. Γράψτε ένα μικρό αρχείο `Main.java` — εδώ συμβαίνει η μαγεία. + +Αν χρησιμοποιείτε IDE, απλώς προσθέστε το JAR στο classpath του έργου και σημειώστε το φάκελο `resources` ως ρίζα πόρων. Αν κάνετε μεταγλώττιση από τη γραμμή εντολών, το classpath θα μοιάζει κάπως έτσι: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Τώρα που η δομή είναι έτοιμη, ας περάσουμε στην ουσία του ζητήματος. + +## Βήμα 1: **Εφαρμογή άδειας Aspose OCR** – Ο κώδικας πυρήνα + +Το πρώτο πράγμα που πρέπει να κάνετε είναι να ενημερώσετε τη μηχανή Aspose OCR να εμπιστεύεται το αρχείο άδειάς σας. Χωρίς αυτήν την κλήση, η βιβλιοθήκη παραμένει σε λειτουργία αξιολόγησης και θα συνεχίσει να προσθέτει το υδατογράφημα σε κάθε έξοδο. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Γιατί είναι σημαντικό:** Η κλάση `License` είναι η φύλακας. Μόλις το `setLicense` ολοκληρωθεί με επιτυχία, η μηχανή OCR μεταβαίνει από *evaluation* σε *full* λειτουργία. Όλοι οι εσωτερικοί έλεγχοι που συνήθως προσθέτουν τη λογική **remove OCR watermark** απενεργοποιούνται, οπότε δεν θα δείτε ξανά το γκρι επικάλυμμα. +> +> **Συμβουλή:** Κρατήστε το αρχείο άδειας εκτός ελέγχου πηγαίου κώδικα (π.χ. σε φάκελο ειδικό για το περιβάλλον) ώστε να αποφύγετε τυχαίες δεσμεύσεις. + +## Βήμα 2: Επαλήθευση ότι το υδατογράφημα έχει αφαιρεθεί + +Αφού καλέσετε το `applyAsposeOcrLicense`, είναι καλή πρακτική να τρέξετε ένα γρήγορο τεστ. Το παρακάτω απόσπασμα φορτώνει μια εικόνα, εκτελεί OCR και εκτυπώνει το εξαγόμενο κείμενο. Αν η άδεια δεν είναι ενεργή, η Aspose θα ρίξει εξαίρεση ή θα ενσωματώσει υδατογράφημα στην εικόνα εξόδου (αν αποθηκεύετε οπτικό αποτέλεσμα). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Αναμενόμενη έξοδος (απόσπασμα):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Παρατηρήστε ότι δεν υπάρχει καμία αναφορά σε υδατογράφημα αξιολόγησης. Αυτό είναι το αποτέλεσμα της **remove OCR watermark** λειτουργίας σε δράση. + +## Βήμα 3: Συνηθισμένα προβλήματα & Ακραίες περιπτώσεις + +### 1. Λάθος διαδρομή άδειας +Αν περάσετε λανθασμένη διαδρομή στο `setLicense`, η μέθοδος αποτυγχάνει σιωπηλά και η βιβλιοθήκη παραμένει σε λειτουργία αξιολόγησης. Πάντα ελέγχετε την τιμή επιστροφής ή πιάστε την εξαίρεση, όπως φαίνεται στο `LicenseUtil`. + +### 2. Χρήση σχετικής διαδρομής σε ανάπτυξη βασισμένη σε JAR +Όταν πακετάρετε την εφαρμογή σας ως εκτελέσιμο JAR, οι σχετικές διαδρομές του συστήματος αρχείων μπορεί να σπάσουν. Μία πιο ασφαλής προσέγγιση είναι η φόρτωση της άδειας ως ροής πόρου: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Τοποθετήστε το αρχείο `.lic` στο `src/main/resources` ώστε να βρίσκεται στο classpath. + +### 3. Πολυνηματικές καταστάσεις +Αν η εφαρμογή σας επεξεργάζεται πολλές εικόνες ταυτόχρονα, χρειάζεται να εφαρμόζετε την άδεια **μία φορά** ανά JVM. Η επανάκληση του `setLicense` από πολλαπλά νήματα μπορεί να προκαλέσει μικρή μείωση απόδοσης, αλλά δεν θα σπάσει τίποτα. + +### 4. Λήξη άδειας +Οι άδειες Aspose είναι συνήθως δια βίου, αλλά ορισμένες δοκιμαστικές ή περιορισμένες άδειες μπορεί να λήξουν. Όταν συμβεί αυτό, η μηχανή επιστρέφει σε λειτουργία αξιολόγησης και η συμπεριφορά **remove OCR watermark** εξαφανίζεται. Παρακολουθείτε την ημερομηνία λήξης της άδειας στο portal της Aspose. + +## Βήμα 4: Αυτοματοποίηση εφαρμογής άδειας σε πραγματικά έργα + +Σε ένα παραγωγικό μικρο‑υπηρεσία, πιθανότατα δεν θέλετε να σπρέμνετε `LicenseUtil.applyAsposeOcrLicense` σε όλο τον κώδικα. Αντί αυτού, αρχικοποιήστε το μία φορά κατά την εκκίνηση της εφαρμογής — σκεφτείτε τη μέθοδο `@PostConstruct` του Spring Boot ή ένα static initializer block. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Τώρα κάθε στοιχείο που χρησιμοποιεί το `OcrEngine` μπορεί να υποθέσει με ασφάλεια ότι η άδεια είναι ήδη ενεργή, εξασφαλίζοντας την εγγύηση **remove OCR watermark** σε όλη την υπηρεσία. + +## Βήμα 5: Δοκιμή της ενσωμάτωσης της άδειας + +Οι αυτοματοποιημένες δοκιμές μπορούν να επιβεβαιώσουν ότι το υδατογράφημα έχει πράγματι αφαιρεθεί. Ένα απλό τεστ JUnit μπορεί να μοιάζει ως εξής: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Η εκτέλεση αυτού του τεστ σας δίνει εμπιστοσύνη ότι η αλυσίδα παράδοσης δεν θα στείλει τυχαία μια μη αδειοδοτημένη έκδοση. + +## Οπτική επισκόπηση (Προαιρετικό) + +Αν σας αρέσει να βλέπετε τα πράγματα γραφικά, εδώ είναι ένα γρήγορο σχήμα της ροής: + +![Apply Aspose OCR License in Java](apply-aspose-ocr-license.png "Apply Aspose OCR License in Java") + +*Alt text: Εφαρμογή άδειας Aspose OCR σε Java – διάγραμμα που δείχνει τη φόρτωση της άδειας και την επεξεργασία OCR χωρίς υδατογράφημα.* + +## Συμπέρασμα + +Καλύψαμε όλα όσα χρειάζεστε για να **εφαρμόσετε την άδεια Aspose OCR** σε περιβάλλον Java και, ως άμεση συνέπεια, να **αφαιρέσετε το υδατογράφημα OCR** από όλες τις επεξεργασμένες εικόνες. Από τη δημιουργία του αντικειμένου `License`, τη διαχείριση των ιδιαιτεροτήτων διαδρομής, την επαλήθευση του αποτελέσματος, μέχρι τη σύνδεσή του σε μεγαλύτερη εφαρμογή — κάθε βήμα εξηγήθηκε με το «γιατί» πίσω του, όχι μόνο το «πώς». + +Τώρα μπορείτε να ενσωματώσετε το Aspose OCR σε οποιοδήποτε έργο Java, με την πεποίθηση ότι οι χρήστες σας δεν θα δουν ποτέ ξανά το ενοχλητικό ετικέτα αξιολόγησης. + +### Τι ακολουθεί; + +- **Εξερευνήστε πακέτα γλωσσών:** Το Aspose OCR υποστηρίζει πάνω από 70 γλώσσες· απλώς ορίστε την κατάλληλη ιδιότητα του `OcrEngine`. +- **Συνδυάστε με Aspose PDF:** Μετατρέψτε σαρωμένες εικόνες απευθείας σε αναζητήσιμα PDF χωρίς υδατογράφημα. +- **Βελτιστοποίηση απόδοσης + +## Τι πρέπει να μάθετε στη συνέχεια; + +Τα παρακάτω tutorials καλύπτουν στενά σχετικές θεματικές που επεκτείνουν τις τεχνικές που παρουσιάστηκαν σε αυτόν τον οδηγό. Κάθε πόρος περιλαμβάνει πλήρη λειτουργικό κώδικα με βήμα‑βήμα εξηγήσεις για να σας βοηθήσουν να κυριαρχήσετε επιπλέον δυνατότητες του API και να εξερευνήσετε εναλλακτικές προσεγγίσεις υλοποίησης στα δικά σας έργα. + +- [Πώς να ορίσετε άδεια και να επαληθεύσετε την άδεια Aspose.OCR σε Java](/ocr/english/java/ocr-basics/set-license/) +- [Αναγνώριση κειμένου σε εικόνα με Aspose OCR – Πλήρης οδηγός Java OCR](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Υπολογισμός γωνίας κλίσης με Aspose OCR Java – Πλήρης οδηγός](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..e40360e92 100644 --- a/ocr/hindi/java/advanced-ocr-techniques/_index.md +++ b/ocr/hindi/java/advanced-ocr-techniques/_index.md @@ -54,16 +54,26 @@ 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-in-java-ocr-complete-step-by-step-guide/) +जावा में Aspose.OCR के साथ GPU सक्षम करके तेज़ OCR प्राप्त करें। चरण‑दर‑चरण मार्गदर्शिका के साथ सेटअप आसान। +### [जावा में स्कैन की गई छवि से टेक्स्ट निकालें – पूर्ण Aspose OCR गाइड](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +जावा में Aspose OCR का उपयोग करके स्कैन की गई छवियों से तेज़ और सटीक टेक्स्ट निकालें। पूर्ण चरण‑दर‑चरण मार्गदर्शिका। +### [Aspose OCR जावा उदाहरण – छवि लोड, वर्तनी‑सुधार, और OCR प्रक्रिया की पूर्ण गाइड](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +छवि लोड करने, वर्तनी सुधारने और OCR प्रक्रिया करने के लिए Aspose OCR जावा का पूर्ण चरण‑दर‑चरण मार्गदर्शक। +### [जावा में OCR सटीकता सुधारें – पूर्ण गाइड](./improve-ocr-accuracy-in-java-complete-guide/) +Aspose.OCR के साथ जावा में OCR की सटीकता बढ़ाने के लिए चरण‑दर‑चरण मार्गदर्शिका। तेज़ और विश्वसनीय पाठ निष्कर्षण प्राप्त करें। +### [जावा में खोज योग्य PDF बनाना – पूर्ण Aspose OCR गाइड](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/hindi/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..9e1528716 --- /dev/null +++ b/ocr/hindi/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java उदाहरण जो दिखाता है कि कैसे इमेज OCR लोड करें, OCR त्रुटियों + को सुधारें, कस्टम शब्दकोश सेट करें, और कुछ ही चरणों में इमेज OCR प्रोसेस करें। +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: hi +og_description: Aspose OCR Java उदाहरण जो एक छवि लोड करता है, OCR त्रुटियों को सुधारता + है, एक कस्टम शब्दकोश सेट करता है, और छवि OCR को कुशलतापूर्वक प्रोसेस करता है। +og_title: Aspose OCR जावा उदाहरण – छवि लोड करें, वर्तनी सुधारें और OCR प्रक्रिया करें +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java उदाहरण – इमेज लोड करने, वर्तनी सुधारने और OCR प्रोसेस करने + के लिए पूर्ण गाइड +url: /hi/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – इमेज लोड करने, स्पेल‑करैक्शन और OCR प्रोसेस करने की पूरी गाइड + +क्या आपको कभी **Aspose OCR Java example** की ज़रूरत पड़ी है जो बॉक्स से बाहर काम करे? आप अकेले नहीं हैं—डेवलपर्स अक्सर धुंधली स्क्रीनशॉट देखते हैं और आश्चर्य करते हैं कि निकाला गया टेक्स्ट गड़बड़ क्यों है। अच्छी खबर यह है कि Aspose का OCR इंजन पहले से ही बिल्ट‑इन स्पेल‑करैक्शन के साथ आता है, और आप अपना खुद का शब्दकोश भी जोड़ सकते हैं। इस ट्यूटोरियल में हम इमेज OCR लोड करने, करैक्शन फीचर को एनेबल करने, वैकल्पिक रूप से कस्टम डिक्शनरी सेट करने, और अंत में इमेज OCR प्रोसेस करके साफ़, पढ़ने योग्य टेक्स्ट प्राप्त करने की प्रक्रिया को चरण‑दर‑चरण देखेंगे। + +हम यह भी चर्चा करेंगे कि आपको **OCR त्रुटियों को ठीक करने** की क्यों ज़रूरत पड़ सकती है, **इमेज OCR लोड** करने का प्रभावी तरीका, **कस्टम डिक्शनरी सेट** करने के लाभ, और एंड‑टू‑एंड **इमेज OCR प्रोसेस** फ्लो कैसा दिखता है। अंत तक आपके पास एक पूरी तरह से चलने योग्य Java प्रोग्राम होगा जिसे आप किसी भी Maven या Gradle प्रोजेक्ट में डाल सकते हैं। + +--- + +## What You’ll Need + +- Java 8 या नया (API Java 11+ के साथ भी काम करता है) +- Aspose.OCR for Java लाइब्रेरी (Aspose वेबसाइट से नवीनतम JAR डाउनलोड करें या Maven डिपेंडेंसी जोड़ें) +- टेक्स्ट वाली इमेज फ़ाइल (बेहतर होगा कि स्कैन किया हुआ डॉक्यूमेंट या कुछ शोर वाली स्क्रीनशॉट) +- वैकल्पिक: एक प्लेन‑टेक्स्ट डिक्शनरी फ़ाइल यदि आप **कस्टम डिक्शनरी सेट** करना चाहते हैं डोमेन‑स्पेसिफिक टर्म्स के लिए + +बस इतना ही—कोई भारी OCR इंजन नहीं, कोई नेटिव डिपेंडेंसी नहीं, सिर्फ एक JAR और कुछ लाइनों का कोड। + +--- + +## Step 1: Aspose OCR Java Example – Load Image OCR + +सबसे पहले आपको `OcrEngine` इंस्टेंस बनाना है और उसे उस फ़ाइल की ओर पॉइंट करना है जिसे आप एनालाइज़ करना चाहते हैं। इसे किताब खोलने की तरह समझें, फिर पढ़ना शुरू करें। + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Why this matters:** `setImage` कॉल **load image OCR** का दिल है। वैध इमेज के बिना, इंजन के पास पहचानने के लिए कुछ नहीं रहेगा, और आपको खाली स्ट्रिंग या एक्सेप्शन मिलेगा। + +![aspose ocr java example loading image](image.png){alt="aspose ocr java example loading image"} + +--- + +## Step 2: Enable Spell‑Correction to Correct OCR Errors + +Aspose OCR डिफ़ॉल्ट रूप से स्पेल‑करैक्शन ऑन रखता है, लेकिन इसे स्पष्ट रूप से एनेबल करना कभी बुरा नहीं—खासकर जब आप **aspose ocr java example** दिखा रहे हों। इस फीचर को एनेबल करने से “t1e” या “rec0gn1tion” जैसी गड़बड़ियों में भारी कमी आती है। + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** अगर आप देखते हैं कि इंजन अभी भी कुछ शब्दों को गलत पहचान रहा है, तो भाषा सेटिंग्स दोबारा चेक करें या कस्टम डिक्शनरी जोड़ें (अगला चरण)। + +स्पेल‑करैक्शन एनेबल करना **OCR त्रुटियों को ठीक करने** का सबसे तेज़ तरीका है, बिना अतिरिक्त कोड लिखे। + +--- + +## Step 3: Set Custom Dictionary for Better Accuracy + +कभी‑कभी डिफ़ॉल्ट डिक्शनरी आपके इंडस्ट्री‑स्पेसिफिक जार्गन को नहीं पहचान पाती—जैसे मेडिकल टर्म्स, प्रोडक्ट कोड, या ब्रांड नेम्स। यहाँ **set custom dictionary** काम आती है। एक प्लेन‑टेक्स्ट फ़ाइल, एक लाइन में एक शब्द, प्रदान करें और OCR इंजन करैक्शन के दौरान उन एंट्रीज़ को वैध मान लेगा। + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **When to use it:** अगर आप इनवॉइसेस प्रोसेस कर रहे हैं और कंपनी के नाम बार‑बार बिगड़ रहे हैं, तो उन नामों वाली कस्टम डिक्शनरी **process image OCR** स्टेज को बहुत अधिक भरोसेमंद बना देगी। + +--- + +## Step 4: Process Image OCR and Retrieve the Text + +अब जब इंजन कॉन्फ़िगर हो गया है, तो असली पहचान चलाने का समय है। `process` मेथड सारी मेहनत करता है—टेक्स्ट ब्लॉक्स डिटेक्ट करना, स्पेल‑करैक्शन लागू करना, और एक `OcrResult` ऑब्जेक्ट रिटर्न करना। + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **What you’ll see:** कंसोल पर एक साफ़, मानव‑पठनीय स्ट्रिंग प्रिंट होगी। अगर आप स्पेल‑करैक्शन को छोड़ देते, तो आपको अजीब कैरेक्टर्स दिखते, इसलिए पहले इसे एनेबल करना **OCR त्रुटियों को ठीक करने** के लिए ज़रूरी है। + +--- + +## Step 5: Run the Example and Verify the Output + +क्लास को अपने पसंदीदा IDE या कमांड लाइन से कंपाइल और एक्सीक्यूट करें: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +आपको कुछ इस तरह दिखना चाहिए: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +अगर आउटपुट में अभी भी गलत स्पेलिंग है, तो उन शब्दों को अपनी कस्टम डिक्शनरी में जोड़ें और **process image OCR** स्टेप को फिर से चलाएँ। + +--- + +## Common Pitfalls and How to Avoid Them + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Blank output** | इमेज पाथ गलत या फॉर्मेट असपोर्टेड | पाथ चेक करें, PNG/JPEG उपयोग करें, और फ़ाइल रीडेबल हो यह सुनिश्चित करें | +| **Garbage characters** | स्पेल‑करैक्शन डिसेबल या लो‑क्वालिटी इमेज | `setEnableSpellCorrection(true)` एनेबल करें और इमेज को प्री‑प्रोसेस करें (कॉन्ट्रास्ट बढ़ाएँ) | +| **Domain‑specific words still wrong** | कस्टम डिक्शनरी नहीं है | `setCustomDictionary` के साथ अपने टर्म्स वाली फ़ाइल उपयोग करें | +| **Out‑of‑memory errors** | बहुत बड़ी इमेज बिना स्केलिंग लोड की गई | `OcrEngine` को फ़ीड करने से पहले इमेज को रिसाइज़ करें | + +--- + +## Extending the Example + +अब आपके पास एक ठोस **aspose ocr java example** है, आप आगे कर सकते हैं: + +- **Batch process** फ़ोल्डर की सभी इमेजेज को लूप करके और उसी `OcrEngine` इंस्टेंस को री‑यूज़ करके। +- **Extract layout information** (टेबल्स, कॉलम्स) `ocrResult.getPages()` से उपयोग करके अधिक एडवांस्ड डॉक्यूमेंट एनालिसिस करें। +- **Integrate with Apache PDFBox** ताकि पहचान किया गया टेक्स्ट फिर से PDF में एम्बेड किया जा सके। + +इन सभी एक्सटेंशन का आधार वही कोर स्टेप्स हैं जो हमने कवर किए: इमेज OCR लोड करना, करैक्शन एनेबल करना, वैकल्पिक रूप से कस्टम डिक्शनरी सेट करना, और इमेज OCR प्रोसेस करना। + +--- + +## Conclusion + +आपने अभी एक पूरा **aspose ocr java example** बनाया है जो इमेज लोड करता है, स्पेल‑करैक्शन एनेबल करके **OCR त्रुटियों को ठीक करता है**, वैकल्पिक रूप से **कस्टम डिक्शनरी सेट** करता है, और अंत में **process image OCR** करके साफ़ टेक्स्ट प्राप्त करता है। कोड छोटा है, कॉन्सेप्ट क्लियर हैं, और अब आपके पास एक बेस है जिसे आप बैच जॉब्स, UI इंटेग्रेशन, या क्लाउड माइक्रो‑सर्विसेज़ के लिए विस्तारित कर सकते हैं। + +अगला क्या? लो‑रेज़ोल्यूशन फोटो फीड करें, अपने कस्टम डिक्शनरी में प्रोडक्ट SKU की लिस्ट जोड़ें, और देखें कि एक्यूरेसी कैसे सुधरती है। जितना अधिक आप एक्सपेरिमेंट करेंगे, उतना ही आप इमेज क्वालिटी, डिक्शनरी साइज, और प्रोसेसिंग स्पीड के बीच ट्रेड‑ऑफ़ समझ पाएँगे। + +अगर कोई समस्या आती है या आपके पास आगे की सुधारों के आइडिया हैं तो कमेंट करें। Happy coding! + +## What Should You Learn Next? + +निम्नलिखित ट्यूटोरियल्स उन विषयों को कवर करते हैं जो इस गाइड में दिखाए गए तकनीकों पर आधारित हैं। प्रत्येक रिसोर्स में पूर्ण कार्यशील कोड उदाहरण और स्टेप‑बाय‑स्टेप एक्सप्लेनेशन है, जिससे आप अतिरिक्त API फीचर्स में महारत हासिल कर सकें और अपने प्रोजेक्ट्स में वैकल्पिक इम्प्लीमेंटेशन अप्रोचेज़ को एक्सप्लोर कर सकें। + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/hindi/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..f523c3151 --- /dev/null +++ b/ocr/hindi/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,278 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR का उपयोग करके जावा में सर्चेबल PDF बनाएं। PDF से टेक्स्ट निकालना + सीखें, OCR की सटीकता बढ़ाएँ, और मल्टी‑पेज PDF को प्रभावी ढंग से प्रोसेस करें। +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: hi +og_description: Aspose OCR का उपयोग करके जावा में सर्चेबल PDF बनाएं। यह गाइड आपको + PDF से टेक्स्ट निकालने, OCR की सटीकता बढ़ाने और मल्टी‑पेज PDF को संभालने के बारे + में चरणबद्ध रूप से बताता है। +og_title: जावा में सर्चेबल PDF बनाएं – पूर्ण Aspose OCR ट्यूटोरियल +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: जावा में सर्चेबल PDF बनाएं – पूर्ण Aspose OCR गाइड +url: /hi/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# जावा में सर्चेबल PDF बनाएं – पूर्ण Aspose OCR गाइड + +क्या आपने कभी सोचा है कि जावा से सीधे **create searchable PDF** फ़ाइलें कैसे बनाएं बिना दर्जनों कमांड‑लाइन टूल्स के झंझट के? आप अकेले नहीं हैं। कई डेवलपर्स को स्कैन किए गए PDFs को टेक्स्ट‑सर्चेबल दस्तावेज़ों में बदलते समय समस्या आती है, विशेषकर जब स्रोत PDFs कई पृष्ठों में फैले हों। + +इस ट्यूटोरियल में हम एक पूर्ण, चलाने योग्य उदाहरण के माध्यम से जाएंगे जो न केवल **creates searchable PDF** फ़ाइलें बनाता है बल्कि आपको दिखाता है कि **extract text from PDF**, **increase OCR accuracy** कैसे किया जाए, और Aspose OCR लाइब्रेरी का उपयोग करके **OCR multi page PDF** वर्कफ़्लो को कैसे संभाला जाए। अंत तक आपके पास एक ठोस, प्रोडक्शन‑रेडी स्निपेट होगा जिसे आप किसी भी जावा प्रोजेक्ट में जोड़ सकते हैं। + +## आपको क्या चाहिए + +- Java 17 या उससे नया (कोड पुराने संस्करणों के साथ भी कंपाइल होता है, लेकिन JDK 17 सबसे उपयुक्त है) +- Maven या Gradle ताकि `aspose-ocr` डिपेंडेंसी को प्राप्त किया जा सके +- एक सैंपल मल्टी‑पेज PDF (हम इसे `sample_multi_page.pdf` कहेंगे) +- एक मध्यम GPU या कम से कम मल्टीकोर CPU यदि आप समानांतर प्रोसेसिंग सक्षम करना चाहते हैं + +कोई अतिरिक्त नेटिव लाइब्रेरी आवश्यक नहीं है—Aspose OCR सभी आवश्यक चीज़ें बंडल करता है। + +--- + +## सर्चेबल PDF बनाएं – चरण‑दर‑चरण कार्यान्वयन + +नीचे हम प्रक्रिया को तार्किक हिस्सों में विभाजित करते हैं। प्रत्येक सेक्शन का अपना H2 हेडर है ताकि आप सीधे उस भाग पर जा सकें जिसमें आपकी रुचि है, और मुख्य कीवर्ड यहाँ हेडर में ही दिखाई देता है। + +### चरण 1: प्रोजेक्ट सेट अप करें और Aspose OCR इम्पोर्ट करें + +सबसे पहले, अपने `pom.xml` में Aspose OCR Maven आर्टिफैक्ट जोड़ें। यदि आप Gradle पसंद करते हैं, तो समान स्निपेट टिप्पणी में दिया गया है। + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** अपनी डिपेंडेंसियों को अपडेट रखें; नए रिलीज़ अक्सर सटीकता सुधार लाते हैं जो सीधे आपको **increase OCR accuracy** में मदद करते हैं। + +### चरण 2: मल्टी‑पेज PDF को OCR इंजन में लोड करें + +अब हम एक `OcrEngine` इंस्टेंस बनाते हैं और उसे वह PDF देते हैं जिसे हम प्रोसेस करना चाहते हैं। इंजन प्रत्येक पृष्ठ को आंतरिक रूप से एक इमेज के रूप में ट्रीट करता है, इसलिए यह तरीका **ocr multi page pdf** परिदृश्य में काम करता है। + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Why this matters:** PDF को एक बार लोड करके और इंजन को पेजिनेशन संभालने देना, प्रत्येक पृष्ठ को मैन्युअली एक्सट्रैक्ट करने के ओवरहेड को बचाता है, जिससे समय और मेमोरी दोनों बचते हैं। + +### चरण 3: उन्नत फीचर्स सक्षम करें ताकि **Increase OCR Accuracy** + +Aspose OCR कई सेटिंग्स प्रदान करता है जिन्हें आप समायोजित कर सकते हैं। GPU एक्सेलेरेशन सक्षम करना, थ्रेड काउंट बढ़ाना, और कई भाषाओं को निर्दिष्ट करना सभी बेहतर पहचान दरों में योगदान देते हैं, विशेषकर शोरयुक्त स्कैन पर। + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **What if you don’t have a GPU?** बस `setUseGpu(false)` सेट करें; इंजन CPU‑only मोड में वापस आ जाएगा जबकि फिर भी मल्टीथ्रेडिंग से लाभ उठाएगा। + +### चरण 4: बेहतर परिणामों के लिए इमेज को प्री‑प्रोसेस करें + +डेस्क्यूइंग, डेनॉइज़िंग, और कॉन्ट्रास्ट बूस्टिंग जैसे प्री‑प्रोसेसिंग कदम स्कैन किए गए दस्तावेज़ों पर **increase OCR accuracy** को नाटकीय रूप से बढ़ाते हैं। इसे एक कच्चे पत्थर को नक्काशी से पहले पॉलिश करने के रूप में सोचें। + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Why these settings?** `2` का डेनॉइज़ लेवल अधिकांश स्कैन किए गए PDFs के लिए अच्छा काम करता है, जबकि एक मध्यम कॉन्ट्रास्ट बूस्ट (1.3×) हल्की इंक को उठाता है बिना बैकग्राउंड को बिगाड़े। + +### चरण 5: आउटपुट को कॉन्फ़िगर करें ताकि सर्चेबल PDF जेनरेट हो सके + +Aspose OCR पहचाने गए टेक्स्ट लेयर को सीधे PDF में एम्बेड कर सकता है, जिससे एक फ्लैट इमेज फ़ाइल **searchable PDF** बन जाती है। यह कई डेवलपर्स द्वारा पूछे जाने वाले “how to make searchable pdf” सवाल का मूल है। + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +जब `setGenerateSearchablePdf(true)` सक्षम किया जाता है, लाइब्रेरी एक अदृश्य टेक्स्ट लेयर बनाती है जो विज़ुअल कंटेंट को प्रतिबिंबित करती है, जिससे अंतिम दस्तावेज़ किसी भी PDF व्यूअर में सर्चेबल बन जाता है। + +### चरण 6: OCR चलाएँ और परिणाम को सहेजें + +अब हम वास्तव में दस्तावेज़ को प्रोसेस करते हैं और आउटपुट फ़ाइल लिखते हैं। `process` मेथड एक `OcrResult` ऑब्जेक्ट लौटाता है जिसमें सर्चेबल PDF और निकाला गया प्लेन टेक्स्ट दोनों होते हैं। + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### चरण 7: (वैकल्पिक) **Extract Text from PDF** तुरंत उपयोग के लिए + +यदि आपको कच्चा टेक्स्ट भी चाहिए—इंडेक्सिंग, एनालिटिक्स, या बस वेब पेज पर दिखाने के लिए—तो आप इसे सीधे `OcrResult` से प्राप्त कर सकते हैं। + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**What you’ll see:** कंसोल सभी पृष्ठों का संयोजित टेक्स्ट आउटपुट करेगा, जहाँ संभव हो लाइन ब्रेक को संरक्षित रखते हुए। यह **extract text from pdf** की आवश्यकता को बिना दूसरे पास के पूरा करता है। + +--- + +## विज़ुअल ओवरव्यू + +नीचे एक सरल फ्लो डायग्राम है जो प्रत्येक चरण को संबंधित कोड ब्लॉक से मैप करता है। यह आपको यह विज़ुअलाइज़ करने में मदद करता है कि इनपुट PDF प्री‑प्रोसेसिंग, OCR, और अंत में सर्चेबल डॉक्यूमेंट में कैसे बदलता है। + +![सर्चेबल PDF फ्लो डायग्राम](https://example.com/flow-diagram.png "सर्चेबल PDF फ्लो डायग्राम") + +*Alt text में मुख्य कीवर्ड शामिल है ताकि इमेज SEO संतुष्ट हो।* + +--- + +## सामान्य प्रश्न और किनारे के मामलों + +| प्रश्न | उत्तर | +|----------|--------| +| **क्या मैं 100 MB से बड़े PDFs प्रोसेस कर सकता हूँ?** | हाँ, लेकिन पूरे फ़ाइल को मेमोरी में लोड करने के बजाय पेजों को स्ट्रीम करने पर विचार करें। Aspose OCR आंतरिक रूप से पेजिंग को मैनेज करता है, लेकिन बहुत बड़े फ़ाइलों के लिए आप JVM हीप (`-Xmx4g`) बढ़ाना चाह सकते हैं। | +| **अगर मेरे PDF में हाथ से लिखे नोट्स हों तो क्या होगा?** | हैंडराइटिंग रिकग्निशन डिफ़ॉल्ट रूप से सक्षम नहीं है। यदि लाइब्रेरी संस्करण इसे सपोर्ट करता है तो आप `setLanguage("eng,mon,handwritten")` पर स्विच कर सकते हैं, हालांकि सटीकता में अंतर हो सकता है। | +| **क्या मुझे Aspose OCR के लिए लाइसेंस चाहिए?** | टेस्टिंग के लिए एक अस्थायी इवैल्यूएशन लाइसेंस काम करता है। प्रोडक्शन के लिए, वॉटरमार्क हटाने और पूरी परफ़ॉर्मेंस अनलॉक करने हेतु एक कमर्शियल लाइसेंस प्राप्त करें। | +| **स्पेल करेक्शन को कैसे डिसेबल करूँ?** | `ocr.getSettings().setEnableSpellCorrection(false);` कॉल करें – यह तब उपयोगी है जब आपको फॉरेंसिक उद्देश्यों के लिए कच्चा OCR आउटपुट चाहिए। | +| **क्या GPU सपोर्ट अनिवार्य है?** | नहीं। लाइब्रेरी सुगमता से CPU पर वापस आती है। हालांकि, बड़े मल्टी‑पेज दस्तावेज़ों पर GPU प्रोसेसिंग समय को 60 % तक कम कर सकता है। | + +--- + +## पूर्ण कार्यशील उदाहरण (कॉपी‑पेस्ट तैयार) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**अपेक्षित आउटपुट** + +- `output_searchable.pdf` – एक PDF जहाँ आप Ctrl + F टाइप करके स्कैन की गई इमेजेज़ में दिखाई देने वाले किसी भी शब्द को खोज सकते हैं। +- कंसोल लॉग – मूल PDF की पूरी टेक्स्टुअल सामग्री, इंडेक्सिंग या आगे के विश्लेषण के लिए परफेक्ट। + +--- + +## निष्कर्ष + +हमने अभी दिखाया कि जावा में Aspose OCR का उपयोग करके **create searchable PDF** फ़ाइलें कैसे बनाएं, साथ ही आपको बताया कि **extract text from PDF**, **increase OCR accuracy**, और **OCR multi page PDF** वर्कफ़्लो को कैसे कुशलता से संभालें। ऊपर दिया गया पूरा कोड स्निपेट आपके प्रोजेक्ट में डालने के लिए तैयार है, और व्याख्याएँ आपको आपके विशिष्ट उपयोग केस के लिए सेटिंग्स को ट्यून करने का भरोसा देती हैं। + +अगला क्या? कस्टम फ़ॉन्ट एम्बेडिंग के साथ प्रयोग करें, OCR‑जनित बुकमार्क जोड़ें, या आउटपुट को Elasticsearch जैसे सर्च इंजन के साथ इंटीग्रेट करें। इन सभी विषयों का संबंध हमारे सेकेंडरी कीवर्ड्स—*how to make searchable pdf* और *increase OCR accuracy*—से है, इसलिए आपके पास गहरी खोज के लिए स्पष्ट मार्ग है। + +कमेंट्स में अपने अनुभव साझा करने या फॉलो‑अप सवाल पूछने में संकोच न करें। कोडिंग का आनंद लें, और उन स्थिर स्कैन को पूरी तरह सर्चेबल, टेक्स्ट‑रिच PDFs में बदलने का मज़ा उठाएँ! + +## आगे आप क्या सीखें? + +निम्नलिखित ट्यूटोरियल्स उन निकट संबंधी विषयों को कवर करते हैं जो इस गाइड में दिखाए गए तकनीकों पर आधारित हैं। प्रत्येक संसाधन में पूर्ण कार्यशील कोड उदाहरण और चरण‑दर‑चरण व्याख्याएँ शामिल हैं जो आपको अतिरिक्त API फीचर्स में महारत हासिल करने और अपने प्रोजेक्ट्स में वैकल्पिक इम्प्लीमेंटेशन अप्रोचेज़ को एक्सप्लोर करने में मदद करती हैं। + +- [PDF टेक्स्ट पहचानें – Aspose.OCR for Java के साथ OCR ऑपरेशन्स](/ocr/english/java/ocr-operations/) +- [Aspose.OCR for Java में PDF दस्तावेज़ों की OCR पहचान](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Aspose.OCR for Java में PDF दस्तावेज़ों का OCR Reconocimiento](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/hindi/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..620f2acc1 --- /dev/null +++ b/ocr/hindi/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,270 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR for Java का उपयोग करके स्कैन की गई छवि से टेक्स्ट निकालें। + समानांतर प्रोसेसिंग के साथ TIFF फ़ाइलों से टेक्स्ट पहचानना सीखें। +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: hi +og_description: Aspose OCR के साथ स्कैन की गई छवि से टेक्स्ट निकालें। यह गाइड दिखाता + है कि जावा का उपयोग करके TIFF फ़ाइलों से टेक्स्ट को प्रभावी ढंग से कैसे पहचाना जाए। +og_title: स्कैन की गई छवि से टेक्स्ट निकालें – Aspose OCR जावा ट्यूटोरियल +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: जावा में स्कैन की गई छवि से टेक्स्ट निकालें – पूर्ण Aspose OCR गाइड +url: /hi/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# स्कैन की गई इमेज से टेक्स्ट निकालें – पूर्ण Aspose OCR गाइड + +क्या आपको कभी **स्कैन की गई इमेज से टेक्स्ट निकालने** की ज़रूरत पड़ी है लेकिन “कैसे?” पर अटक गए? आप अकेले नहीं हैं। चाहे आप पुराने अभिलेखों को डिजिटाइज़ कर रहे हों, इनवॉइस से डेटा निकाल रहे हों, या सर्चेबल PDF लाइब्रेरी बना रहे हों, TIFF स्कैन से विश्वसनीय टेक्स्ट निकालना एक समस्या हो सकती है। + +अच्छी खबर: Aspose OCR for Java के साथ आप कुछ ही लाइनों में **tiff से टेक्स्ट पहचान** सकते हैं, और इंजन को कुछ CPU कोर तक सीमित करके अतिरिक्त गति भी प्राप्त कर सकते हैं। इस ट्यूटोरियल में हम पूरी प्रक्रिया को समझेंगे—लाइब्रेरी सेटअप से लेकर परिणाम संभालने तक—ताकि आप तुरंत एक कार्यशील उदाहरण कॉपी‑पेस्ट कर सकें। + +## इस ट्यूटोरियल में क्या कवर किया गया है + +- Aspose OCR for Java स्थापित करना (Maven या मैनुअल JAR) +- एक बड़े स्कैन किए गए TIFF इमेज को लोड करना +- इंजन को अधिकतम 4 थ्रेड्स (पैरेलल OCR) उपयोग करने के लिए कॉन्फ़िगर करना +- OCR प्रक्रिया चलाना और निकाले गए टेक्स्ट को प्रिंट करना +- सामान्य समस्याएँ (मेमोरी, मल्टी‑पेज TIFFs) और उन्हें कैसे टालें +- त्वरित प्रदर्शन टिप: कब `setMaxThreads` को ट्यून करें + +अंत तक आप **स्कैन की गई इमेज से टेक्स्ट निकालने** वाली फ़ाइलों को विश्वसनीय रूप से निकाल सकेंगे, और समझेंगे कि प्रोडक्शन पाइपलाइन में *tiff से टेक्स्ट पहचान* करते समय थ्रेड काउंट को समायोजित करना क्यों महत्वपूर्ण है। + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## पूर्वापेक्षाएँ + +शुरू करने से पहले सुनिश्चित करें कि आपके पास है: + +1. **Java Development Kit (JDK) 8+** – कोई भी हालिया संस्करण काम करेगा। +2. **Maven** (या JAR को मैन्युअली जोड़ने की क्षमता) – हम सरलता के लिए Maven का उपयोग करेंगे। +3. एक **Aspose OCR for Java** लाइसेंस (फ्री इवैल्यूएशन काम करता है, लेकिन वॉटरमार्क जोड़ता है)। +4. एक **बड़ी TIFF स्कैन** (जैसे `large_scan.tif`) जिसे आप प्रोसेस करना चाहते हैं। + +यदि इनमें से कोई भी परिचित नहीं लग रहा है, तो चिंता न करें—हर कदम नीचे समझाया गया है। + +## चरण 1: अपने प्रोजेक्ट में Aspose OCR जोड़ें + +### Maven users + +Add the following dependency to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### मैनुअल JAR सेटअप + +Aspose वेबसाइट से नवीनतम `aspose-ocr-xx.jar` डाउनलोड करें और इसे अपने classpath पर रखें। + +> **Pro tip:** JAR को `libs/` फ़ोल्डर में रखें और इसे अपने IDE की प्रोजेक्ट सेटिंग्स में रेफ़रेंस करें। इससे बाद में “class not found” जैसी आश्चर्यजनक समस्याओं से बचा जा सकता है। + +## चरण 2: एक साधारण Java क्लास बनाएं + +`src/main/java` फ़ोल्डर में `ParallelOcrDemo.java` नाम की फ़ाइल बनाएं। यह क्लास पूरी OCR वर्कफ़्लो को संभालेगा। + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Why we limit threads:** डिफ़ॉल्ट रूप से Aspose OCR हर कोर का उपयोग करने की कोशिश करेगा, जिससे साझा मशीन पर अन्य सेवाएँ संसाधन की कमी का शिकार हो सकती हैं। `setMaxThreads(4)` सेट करने से इंजन अधिकतम चार समानांतर वर्कर चलाएगा—आधुनिक CPUs पर उल्लेखनीय गति‑वृद्धि के लिए पर्याप्त, बिना संसाधनों को मोनोपोलाइज़ किए। + +## चरण 3: कंपाइल और रन करें + +प्रोजेक्ट रूट पर एक टर्मिनल खोलें और चलाएँ: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +यदि आप Maven का उपयोग नहीं कर रहे हैं, तो `javac` से कंपाइल करें और चलाएँ: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Expected Output + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +कंसोल स्कैन किए गए पेज की प्लेन‑टेक्स्ट संस्करण दिखाएगा। यदि इमेज में कई पेज हैं, तो Aspose OCR उन्हें क्रम में जोड़ देता है। + +## चरण 4: मल्टी‑पेज TIFFs को संभालना (एज केस) + +एक सामान्य परिदृश्य **मल्टी‑पेज TIFF** है—जैसे स्कैन की गई किताब। डिफ़ॉल्ट रूप से `OcrInputImage` केवल पहला फ्रेम पढ़ता है। सभी पेज प्रोसेस करने के लिए, `OcrInputImage` को `FileInputStream` के साथ उपयोग करें और मल्टी‑पेज सपोर्ट सक्षम करें: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +अब `ocrEngine.process()` एक ही `OcrResult` लौटाएगा जिसमें हर पेज का संयोजित टेक्स्ट होगा। + +## चरण 5: पहचान की सटीकता को फाइन‑ट्यून करना + +यदि आपको **गड़बड़ अक्षर** या गायब शब्द दिखें, तो इन समायोजनों को आज़माएँ: + +| सेटिंग | क्या करता है | कब उपयोग करें | +|---------|--------------|----------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | अंग्रेज़ी भाषा मॉडल को फोर्स करता है (अंग्रेज़ी स्कैन के लिए तेज़ और अधिक सटीक) | आपका दस्तावेज़ केवल अंग्रेज़ी है | +| `ocrEngine.getSettings().setResolution(300)` | पहचान से पहले कम‑रिज़ॉल्यूशन इमेज को अपस्केल करता है | स्कैन 200 DPI से कम हैं | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | स्पीकल्स और आर्टिफैक्ट्स को साफ़ करने की कोशिश करता है | भारी शोर वाली स्कैन | + +उदाहरण स्निपेट: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## चरण 6: परिणाम को फ़ाइल में निर्यात करना + +डेमो के लिए कंसोल पर प्रिंट करना ठीक है, लेकिन प्रोडक्शन कोड आमतौर पर आउटपुट को कहीं उपयोगी जगह पर लिखता है: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +अब आपके पास एक प्लेन‑टेक्स्ट फ़ाइल है जिसे आप सर्च इंडेक्स, डेटाबेस, या डाउनस्ट्रीम एनालिटिक्स पाइपलाइन में फीड कर सकते हैं। + +--- + +## अक्सर पूछे जाने वाले प्रश्न (FAQ) + +**Q: क्या यह PNG या JPEG फ़ाइलों के साथ काम करता है?** +A: बिल्कुल। `OcrInputImage` किसी भी फ़ॉर्मेट को स्वीकार करता है जिसे Java की ImageIO पढ़ सकती है। बस पाथ में फ़ाइल एक्सटेंशन बदल दें। + +**Q: मेरे सर्वर में 8 कोर हैं—क्या मुझे `setMaxThreads(8)` सेट करना चाहिए?** +A: आप कर सकते हैं, लेकिन याद रखें कि अन्य सेवाओं को भी CPU साइकल्स चाहिए हो सकते हैं। एक अच्छा नियम “कुल कोर – 1” है जब आप समर्पित OCR वर्कर चलाते हैं। + +**Q: अगर OCR परिणाम खाली है तो क्या करें?** +A: जांचें कि इमेज पूरी तरह सफ़ेद तो नहीं है, सही भाषा सेट की गई है, और रिज़ॉल्यूशन कम से कम 200 DPI है। कम‑क्वालिटी स्कैन अक्सर प्री‑प्रोसेसिंग (डेस्क्यू, कंट्रास्ट बूस्ट) की आवश्यकता रखते हैं इससे पहले कि उन्हें Aspose OCR में फीड किया जाए। + +## समापन + +हमने अभी **स्कैन की गई इमेज से टेक्स्ट निकालने** वाली फ़ाइलों को Aspose OCR for Java का उपयोग करके निकाला, और आप अब **tiff से टेक्स्ट पहचान** को पैरेलल प्रोसेसिंग के साथ कुशलता से करना जानते हैं। पूरा कोड ऊपर के स्निपेट्स में मौजूद है, और आप इसे तुरंत अपने प्रोजेक्ट में कॉपी‑पेस्ट कर सकते हैं। + +### आगे क्या? + +- **बैच प्रोसेसिंग**: TIFFs की डायरेक्टरी पर लूप चलाएँ, प्रत्येक परिणाम को अपनी फ़ाइल में सहेजें। +- **Elasticsearch के साथ इंटीग्रेट करें**: तेज़ फुल‑टेक्स्ट सर्च के लिए निकाला गया टेक्स्ट इंडेक्स करें। +- **भाषा डिटेक्शन जोड़ें**: मल्टी‑लिंगुअल दस्तावेज़ों के लिए `OcrLanguage.AutoDetect` उपयोग करें। + +इन विचारों के साथ प्रयोग करें, और आप जल्दी ही स्कैन किए गए काग़ज़ों के पहाड़ को सर्चेबल, उपयोगी डेटा में बदल देंगे। + +कोडिंग का आनंद लें, और यदि कोई समस्या आती है तो टिप्पणी करके बताएं! + +## अब आपको क्या सीखना चाहिए? + +निम्नलिखित ट्यूटोरियल्स उन विषयों को कवर करते हैं जो इस गाइड में दिखाए गए तकनीकों पर आधारित हैं। प्रत्येक संसाधन में पूर्ण कार्यशील कोड उदाहरण और चरण‑दर‑चरण व्याख्याएँ शामिल हैं, जिससे आप अतिरिक्त API फीचर्स में महारत हासिल कर सकें और अपने प्रोजेक्ट में वैकल्पिक इम्प्लीमेंटेशन एप्रोच को एक्सप्लोर कर सकें। + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/hindi/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..0f545e838 --- /dev/null +++ b/ocr/hindi/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-06-06 +description: Java OCR में GPU को कैसे सक्षम करें और JPEG फ़ाइलों से टेक्स्ट निकालें। + GPU एक्सेलेरेशन के साथ इमेज को टेक्स्ट में बदलने के लिए इस Java OCR उदाहरण का पालन + करें। +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: hi +og_description: Java OCR में GPU को कैसे सक्षम करें और JPEG छवियों से तुरंत टेक्स्ट + निकालें। यह गाइड GPU-त्वरित OCR के साथ एक पूर्ण Java OCR उदाहरण दिखाता है। +og_title: जावा OCR में GPU को कैसे सक्षम करें – पूर्ण प्रोग्रामिंग मार्गदर्शन +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: जावा OCR में GPU को कैसे सक्षम करें – पूर्ण चरण-दर-चरण मार्गदर्शिका +url: /hi/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java OCR में GPU को सक्षम कैसे करें – पूर्ण चरण‑दर‑चरण गाइड + +क्या आपने कभी Java में ऑप्टिकल कैरेक्टर रिकग्निशन के लिए **GPU को सक्षम करने** के बारे में सोचा है? आप अकेले नहीं हैं—डेवलपर्स लगातार पूछते हैं, “क्या मैं OCR को तेज़ बना सकता हूँ बिना सब कुछ फिर से लिखे?” छोटा उत्तर हाँ है, और लंबा उत्तर यहीं है। इस ट्यूटोरियल में हम एक **java ocr example** के माध्यम से चलेंगे जो **JPEG फ़ाइलों से टेक्स्ट निकालता है**, **इमेज को टेक्स्ट में बदलता है**, और **GPU accelerated OCR** का उपयोग करके तेज़ परिणाम देता है। + +हम Aspose OCR लाइब्रेरी सेट अप करके, एक सैंपल JPEG लोड करेंगे, GPU सपोर्ट चालू करेंगे, इंजन चलाएंगे, और अंत में पहचाना गया टेक्स्ट प्रिंट करेंगे। अंत तक आपके पास एक पुन: उपयोग योग्य स्निपेट होगा जिसे आप किसी भी Java प्रोजेक्ट में डाल सकते हैं, साथ ही कुछ टिप्स जो सामान्य समस्याओं से बचाएंगे। कोई फालतू नहीं, बस वही निट्टी‑ग्रिटी जो आपको आगे बढ़ने के लिए चाहिए। + +## आवश्यकताएँ + +* Java 8 या उससे नया स्थापित हो (कोड मानक API का उपयोग करता है, इसलिए कोई भी नवीनतम JDK काम करेगा)। +* एक संगत GPU जिसमें नवीनतम ड्राइवर हों – अधिकांश आधुनिक NVIDIA/AMD कार्ड उपयुक्त हैं। +* Aspose.OCR for Java लाइब्रेरी (आप इसे Maven Central या Aspose वेबसाइट से प्राप्त कर सकते हैं)। +* एक JPEG इमेज जिस पर आप OCR चलाना चाहते हैं – हम इसे `sample.jpg` कहेंगे। + +बस इतना ही। यदि इनमें से कोई भी चीज़ अपरिचित लगती है, तो रुकें और गायब भाग को इंस्टॉल करें; बाकी गाइड मानता है कि ये सब पहले से मौजूद हैं। + +## Java OCR में GPU को सक्षम करने – अवलोकन + +नीचे वह त्वरित स्नैपशॉट है जिसे हम हासिल करेंगे: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +GPU को अपने OCR इंजन के टर्बो‑चार्जर की तरह सोचें—CPU के बजाय ग्राफ़िक्स कार्ड समानांतर में भारी काम संभालता है। परिणाम? उच्च‑रिज़ॉल्यूशन स्कैन पर तेज़ प्रोसेसिंग टाइम। + +## चरण 1: प्रोजेक्ट सेट अप करें और Aspose OCR इम्पोर्ट करें + +सबसे पहले, एक नया Maven प्रोजेक्ट बनाएं (या Gradle, यदि आप पसंद करते हैं)। Aspose OCR डिपेंडेंसी जोड़ें: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +यदि आप Maven का उपयोग नहीं कर रहे हैं, तो Aspose से JAR डाउनलोड करके अपने क्लासपाथ में जोड़ें। यह कदम किसी भी **java ocr example** की नींव है, इसलिए लाइब्रेरी सही से रिज़ॉल्व हो रही है यह दोबारा जांचें। + +## चरण 2: JPEG इमेज लोड करें (JPEG से टेक्स्ट निकालें) + +अब हम कोड लिखेंगे जो JPEG फ़ाइल पढ़ता है। `OcrInputImage` क्लास एक पाथ स्वीकार करता है, और हम इसे `OcrEngine` में फीड करेंगे। + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Why this matters:** इमेज को सही से लोड करना किसी भी **convert image to text** वर्कफ़्लो की पहली कदम है। यदि पाथ गलत है, तो इंजन GPU चरण तक पहुँचने से पहले ही एक्सेप्शन फेंकेगा। + +## चरण 3: GPU एक्सेलेरेशन सक्षम करें (GPU को कैसे सक्षम करें) + +यह ट्यूटोरियल का मुख्य भाग है—GPU सपोर्ट चालू करना। `OcrSettings` ऑब्जेक्ट में `setUseGpu` फ़्लैग है। इसे `true` सेट करें और आप तैयार हैं। + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** सुनिश्चित करें कि आपका GPU ड्राइवर अपडेटेड है। पुराने ड्राइवर अक्सर `setUseGpu(true)` कॉल को चुपचाप फेल कर देते हैं, जिससे आपको केवल CPU‑only परफ़ॉर्मेंस मिलता है। + +## चरण 4: OCR इंजन चलाएँ (Java OCR उदाहरण) + +इमेज लोड हो गई और GPU सक्षम है, अब OCR प्रक्रिया शुरू करें। इंजन एक `OcrResult` ऑब्जेक्ट लौटाता है जिसमें पहचाना गया टेक्स्ट होता है। + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +पर्दे के पीछे, Aspose इमेज को टाइल्स में विभाजित करता है, उन्हें GPU पर समानांतर इनफ़रेंस के लिए भेजता है, और परिणामों को फिर से जोड़ता है। यही कारण है कि **gpu accelerated ocr** अनुभव डिफ़ॉल्ट CPU पाथ की तुलना में स्पष्ट रूप से तेज़ होता है। + +## चरण 5: पहचाने गए टेक्स्ट को आउटपुट करें (इमेज को टेक्स्ट में बदलें) + +अंत में, परिणाम को कंसोल पर प्रिंट करें। वास्तविक एप्लिकेशन में आप इसे फ़ाइल या डेटाबेस में लिख सकते हैं, लेकिन दर्शाने के लिए एक साधारण `System.out.println` पर्याप्त है। + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### अपेक्षित आउटपुट + +मान लीजिए `sample.jpg` में वाक्य “Hello, World!” है, तो आपको यह दिखना चाहिए: + +``` +Recognized text: +Hello, World! +``` + +यदि इमेज अधिक जटिल है (एकाधिक लाइन्स, टेबल आदि), तो आउटपुट में लाइन ब्रेक और स्पेसिंग मूल लेआउट के समान होगी। यही Aspose के OCR इंजन की खूबी है—इमेज को टेक्स्ट में बदलते समय संरचना को बनाए रखता है। + +## पूर्ण कार्यशील उदाहरण + +सब कुछ एक साथ मिलाकर, यहाँ पूरा, तैयार‑चलाने‑योग्य प्रोग्राम है: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +इसे `GpuOcrDemo.java` के रूप में सेव करें, `javac` से कंपाइल करें, और `java` से चलाएँ। यदि सब कुछ सही से जुड़ा है, तो कंसोल में निकाला गया टेक्स्ट तुरंत दिखेगा। + +## सामान्य प्रश्न और किनारे के मामलों + +### 1. मेरा GPU उपयोग नहीं हो रहा है – क्या कारण है? + +* **ड्राइवर संस्करण जांचें** – पुराने ड्राइवर आवश्यक कंप्यूट क्षमताएँ नहीं दिखा सकते। +* **GPU समर्थन सत्यापित करें** – Aspose को CUDA‑संगत NVIDIA कार्ड या OpenCL‑संगत AMD कार्ड चाहिए। यदि आपका लैपटॉप डिस्क्रीट GPU को निष्क्रिय रखता है, तो BIOS या ग्राफ़िक्स कंट्रोल पैनल में इसे सक्षम करें। +* **लॉग्स जांचें** – जब GPU मोड सक्रिय होता है तो Aspose एक डिबग लाइन लिखता है। लॉगिंग को `ocr.getSettings().setLogLevel(LogLevel.Debug)` के माध्यम से सक्षम करें। + +### 2. कम‑रिज़ॉल्यूशन इमेज पर OCR परिणाम गड़बड़ है। + +* **JPEG को पूर्व‑प्रसंस्करण करें** – कम से कम 300 dpi पर रीसेज़ करें, कंट्रास्ट बढ़ाएँ, या इंजन में भेजने से पहले ग्रेस्केल में बदलें। +* **सेटिंग्स समायोजित करें** – आप `ocr.getSettings().setLanguage(OcrLanguage.English)` को बदल सकते हैं या बेहतर सटीकता के लिए `setUseLanguageDetection(true)` सक्षम कर सकते हैं। + +### 3. क्या मैं कई इमेजेज़ को बैच में प्रोसेस कर सकता हूँ? + +बिल्कुल। लोडिंग और प्रोसेसिंग ब्लॉक्स को एक लूप में रखें, और वही `OcrEngine` इंस्टेंस पुनः‑उपयोग करें। बस प्रत्येक इटरेशन के बाद `ocr.reset()` कॉल करना न भूलें ताकि पिछली इमेज साफ हो जाए। + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. क्या GPU एक्सेलेरेशन हेडलेस सर्वरों पर काम करता है? + +हाँ, बशर्ते सर्वर में समर्थित GPU और उचित ड्राइवर हों। Linux पर आपको `nvidia‑utils` पैकेज इंस्टॉल करना पड़ सकता है और `CUDA` टूलकिट को `PATH` में जोड़ना होगा। + +## प्रोडक्शन‑रेडी GPU OCR के लिए प्रो टिप्स + +* **बैच आकार महत्वपूर्ण है** – बड़े इमेजेज़ GPU समानांतरता से अधिक लाभ उठाते हैं। यदि आप छोटे आइकॉन प्रोसेस कर रहे हैं, तो GPU ट्रांसफ़र का ओवरहेड लाभ से अधिक हो सकता है। +* **मेमोरी प्रबंधन** – GPUs की VRAM सीमित होती है। बहुत बड़े PDFs या मल्टी‑मेगापिक्सेल स्कैन के लिए, इमेज को मैन्युअली छोटे टाइल्स में विभाजित करें। +* **एरर हैंडलिंग** – OCR कॉल को try‑catch ब्लॉक में रखें और यदि `UnsupportedOperationException` फेंका जाता है तो CPU मोड (`setUseGpu(false)`) पर वापस जाएँ। + +## निष्कर्ष + +हमने अभी-अभी **java ocr example** में **GPU को सक्षम करने** का तरीका कवर किया, दिखाया कि **JPEG फ़ाइलों से टेक्स्ट कैसे निकालें**, और Aspose के **gpu accelerated OCR** इंजन का उपयोग करके **इमेज को टेक्स्ट में कैसे बदलें**। ऊपर दिया गया स्निपेट किसी भी Java प्रोजेक्ट में डालने के लिए तैयार है, और साथ की टिप्स आपको सामान्य सिरदर्दों से बचाएंगी। + +अब आगे क्या? भाषा पैक्स जोड़ें, विभिन्न इमेज फ़ॉर्मेट (PNG, TIFF) के साथ प्रयोग करें, या आउटपुट को सर्च इंडेक्स में इंटीग्रेट करें। OCR को GPU पावर के साथ जोड़ते ही संभावनाएँ असीमित हो जाती हैं। + +GPU‑accelerated OCR के बारे में और प्रश्न हैं या सेटिंग्स को ट्यून करने में मदद चाहिए? टिप्पणी छोड़ें, और कोडिंग का आनंद लें! + +![Java OCR में GPU को सक्षम करने का उदाहरण](https://example.com/images/gpu-ocr-java.png "Java OCR में GPU को सक्षम करने का उदाहरण") + +## अगला आपको क्या सीखना चाहिए? + +नीचे दिए गए ट्यूटोरियल्स उन विषयों को कवर करते हैं जो इस गाइड में दिखाए गए तकनीकों पर आधारित हैं। प्रत्येक संसाधन में पूर्ण कार्यशील कोड उदाहरण और चरण‑दर‑चरण व्याख्याएँ शामिल हैं, जिससे आप अतिरिक्त API फीचर्स में महारत हासिल कर सकें और अपने प्रोजेक्ट्स में वैकल्पिक इम्प्लीमेंटेशन एप्रोचेज़ को एक्सप्लोर कर सकें। + +- [टेक्स्ट इमेज निकालें – Aspose.OCR for Java के साथ OCR मूल बातें](/ocr/english/java/ocr-basics/) +- [Java में Aspose.OCR BufferedImage का उपयोग करके इमेज को टेक्स्ट में बदलें](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Aspose.OCR का उपयोग करके भाषा के साथ इमेज टेक्स्ट OCR कैसे करें](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/hindi/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..ed3fb305a --- /dev/null +++ b/ocr/hindi/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: जावा में OCR की सटीकता सुधारें एक चरण‑दर‑चरण मार्गदर्शिका के साथ जो दिखाती + है कि कैसे इमेज OCR लोड करें, इमेज OCR प्रोसेस करें और स्कैन किए गए पृष्ठ से टेक्स्ट + को कुशलतापूर्वक निकालें। +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: hi +og_description: जावा में OCR की सटीकता बढ़ाएँ एक व्यावहारिक उदाहरण के साथ। इमेज OCR + लोड करना, प्री‑प्रोसेसिंग और OCR इमेज को लागू करके स्कैन किए गए पृष्ठ से टेक्स्ट + निकालना सीखें। +og_title: जावा में OCR की सटीकता बढ़ाएँ – पूर्ण ट्यूटोरियल +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: जावा में OCR की सटीकता सुधारें – पूर्ण मार्गदर्शिका +url: /hi/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# जावा में OCR सटीकता सुधारें – पूर्ण गाइड + +क्या आपने कभी सोचा है कि जब आप पुराने किताबों की स्कैन या धुंधली रसीदों से निपट रहे हों तो **OCR सटीकता सुधारें** कैसे? आप अकेले नहीं हैं। कई वास्तविक‑दुनिया प्रोजेक्ट्स में OCR इंजन का कच्चा आउटपुट एक गुप्त गड़बड़ी जैसा दिखता है, और यह आमतौर पर इसलिए होता है क्योंकि इमेज को सही तरीके से प्री‑प्रोसेस नहीं किया गया था इससे पहले कि आप **perform OCR image** करें। + +इस ट्यूटोरियल में हम एक व्यावहारिक जावा उदाहरण के माध्यम से चलेंगे जो बिल्कुल दिखाता है कि कैसे **load image OCR** करें, कुछ स्मार्ट प्री‑प्रोसेसिंग स्टेप्स लागू करें, **process image OCR** करें, और अंत में **extract text scanned page** के साथ एक साफ़ परिणाम प्राप्त करें। अंत तक आप न केवल *क्या* कोड करना है, बल्कि *क्यों* प्रत्येक लाइन पहचान की गुणवत्ता बढ़ाने में महत्वपूर्ण है, समझ जाएंगे। + +## आप क्या सीखेंगे + +- जावा में OCR इंजन को इंस्टैंशिएट कैसे करें +- **load image OCR** को डिस्क से लोड करने का सही तरीका +- डेस्क्यूइंग, डिनॉइज़िंग, और कॉन्ट्रास्ट बूस्टिंग **OCR सटीकता सुधारें** के लिए क्यों आवश्यक हैं +- **perform OCR image** कैसे करें और पहचाने गए टेक्स्ट को प्राप्त करें +- विभिन्न इमेज फ़ॉर्मेट और एज‑केस को संभालने के टिप्स + +कोई बाहरी दस्तावेज़ीकरण आवश्यक नहीं – आपको जो कुछ भी चाहिए वह यहाँ ही है, और पूर्ण, चलाने योग्य कोड नीचे शामिल है। + +## पूर्वापेक्षाएँ + +- आपके मशीन पर Java 17 (या कोई भी नवीनतम JDK) स्थापित होना चाहिए +- `OcrEngine`, `OcrInputImage`, और `OcrResult` क्लासेज़ प्रदान करने वाली OCR लाइब्रेरी (उदाहरण में एक सामान्य API का उपयोग किया गया है; आवश्यकता होने पर इसे अपने विक्रेता की jar से बदलें) +- एक स्कैन की गई इमेज (PNG, JPEG, या TIFF) जिस पर आप OCR चलाना चाहते हैं – डेमो के लिए हम `old_book_page.png` का उपयोग करेंगे जो `YOUR_DIRECTORY` नामक फ़ोल्डर में स्थित है + +यदि आपके पास OCR jar नहीं है, तो उसे अपने प्रोजेक्ट के `libs` फ़ोल्डर में डालें और क्लासपाथ में जोड़ें। बस इतना ही। + +--- + +## चरण 1 – OCR सटीकता सुधारें: इंजन सेट अप करें + +**process image OCR** करने से पहले, हमें एक नया इंजन इंस्टेंस चाहिए। नया `OcrEngine` बनाना हमें एक साफ़ शुरुआत देता है, जिससे पिछले रन की कोई भी बची हुई सेटिंग नहीं रहती। + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*क्यों यह महत्वपूर्ण है*: नया बनाया गया इंजन डिफ़ॉल्ट प्री‑प्रोसेसिंग को निष्क्रिय रखता है। यह इरादतन है – हम केवल वही स्टेप्स सक्षम करना चाहते हैं जो हमारी विशिष्ट इमेज की वास्तव में मदद करते हैं, जो **OCR सटीकता सुधारें** का मूल आधार है। + +--- + +## चरण 2 – इमेज OCR लोड करें – अपनी स्कैन की तैयारी + +अब हम वास्तव में **load image OCR** करते हैं। `setImage` मेथड एक `OcrInputImage` की अपेक्षा करता है जो डिस्क पर फ़ाइल की ओर इशारा करता है। + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +कुछ नोट्स: + +1. **Supported formats** – अधिकांश लाइब्रेरी PNG, JPEG, BMP, और TIFF को स्वीकार करती हैं। यदि आपके पास PDF है, तो पहले पहले पेज को इमेज में बदलें। +2. **Path handling** – एक एब्सोल्यूट पाथ का उपयोग करने से “फ़ाइल नहीं मिली” की समस्या से बचा जा सकता है जब वर्किंग डायरेक्टरी बदलती है। + +--- + +## चरण 3 – डेस्क्यू: घुमा हुए पेजों को सीधा करना + +कई स्कैन किए गए पेज पूरी तरह क्षैतिज नहीं होते। हल्का घुमाव पहचान को बाधित कर सकता है क्योंकि OCR इंजन टेक्स्ट लाइनों को स्तर पर होने की उम्मीद करता है। डेस्क्यूइंग को सक्षम करने से यह घुमाव स्वतः पता चलता है और सुधारता है। + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: यदि आप पहले से घुमाव का कोण जानते हैं (जैसे 90°), तो आप इमेज को इंजन में फीड करने से पहले मैन्युअली घुमा सकते हैं – अक्सर बैच जॉब्स के लिए तेज़ होता है। + +--- + +## चरण 4 – डिनॉइज़: बैकग्राउंड ग्रेन कम करना + +पुराने दस्तावेज़ अक्सर कागज़ की बनावट, धूल, या कम्प्रेशन आर्टिफैक्ट्स रखते हैं। `setDenoiseLevel` मेथड एक फ़िल्टर लागू करता है जो इस शोर को स्मूद करता है। लेवल 2 अधिकांश स्कैन किए गए पेजों के लिए एक अच्छा शुरुआती बिंदु है। + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**क्यों मदद करता है**: शोर झूठी एजेज़ बनाता है जिन्हें OCR इंजन अक्षर समझ सकता है। इमेज को साफ़ करके, हम वास्तविक ग्लिफ़ आकारों को नुकसान पहुँचाए बिना **OCR सटीकता सुधारें**। + +--- + +## चरण 5 – कॉन्ट्रास्ट बूस्ट: टेक्स्ट को उभारना + +यदि स्कैन फीका है, तो इंक और कागज़ के बीच कॉन्ट्रास्ट कम होता है, और इंजन अग्रभूमि और पृष्ठभूमि को अलग करने में संघर्ष करता है। `1.4f` (40 % वृद्धि) का मध्यम कॉन्ट्रास्ट बूस्ट आमतौर पर काम करता है। + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Edge case*: बहुत डार्क इमेज के लिए, उच्च फ़ैक्टर (अधिकतम 2.0) लाभदायक हो सकता है, लेकिन क्लिपिंग से सावधान रहें – अत्यधिक उज्ज्वल क्षेत्रों को शुद्ध सफ़ेद बनाकर बारीक विवरण मिट सकते हैं। + +--- + +## चरण 6 – OCR इमेज निष्पादित करें – मुख्य प्रोसेसिंग स्टेप + +सभी तैयारी इस लाइन तक ले आती है: वास्तव में प्री‑प्रोसेस्ड इमेज पर OCR इंजन चलाना। + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +इंजन के अंदर यह सेगमेंटेशन, कैरेक्टर रिकग्निशन, और लैंग्वेज मॉडल स्टेजेज़ चलाता है। यदि आपको कई भाषाएँ चाहिए, तो `process()` कॉल करने से **पहले** उन्हें इंजन पर सेट करें। + +--- + +## चरण 7 – स्कैन किए गए पेज से टेक्स्ट निकालें – आउटपुट प्राप्त करना + +अंत में, हम `OcrResult` से पहचाना गया स्ट्रिंग निकालते हैं। इसे कंसोल में प्रिंट करना एक त्वरित डेमो के लिए पर्याप्त है, लेकिन आप इसे फ़ाइल, डेटाबेस में लिख सकते हैं, या डाउनस्ट्रीम NLP पाइपलाइन में फीड कर सकते हैं। + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**अपेक्षित आउटपुट** (संक्षिप्तता के लिए ट्रंकेटेड): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +यदि आउटपुट अभी भी गड़बड़ दिखता है, तो प्री‑प्रोसेसिंग पैरामीटर को फिर से देखें – कभी‑कभी उच्च डिनॉइज़ लेवल या अलग कॉन्ट्रास्ट फ़ैक्टर उल्लेखनीय अंतर लाता है। + +--- + +## पूर्ण कार्यशील उदाहरण + +नीचे पूर्ण, स्व-निहित जावा प्रोग्राम है जिसे आप कॉपी, पेस्ट और रन कर सकते हैं। इसमें आवश्यक इम्पोर्ट्स, एक `main` मेथड, और इनलाइन कमेंट्स शामिल हैं जो प्रत्येक स्टेप को स्पष्ट करते हैं। + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +इसे `OcrAccuracyDemo.java` के रूप में सेव करें, `javac` से कंपाइल करें, और `java` से चलाएँ। यदि सब कुछ सही ढंग से सेट है, तो आपको टर्मिनल में साफ़ किया गया टेक्स्ट प्रिंट होता दिखेगा। + +--- + +## सामान्य प्रश्न और एज केस + +**Q: मेरा स्कैन किया हुआ पेज रंगीन है – क्या मुझे पहले इसे ग्रेस्केल में बदलना चाहिए?** +A: अधिकांश OCR इंजन आंतरिक रूप से ग्रेस्केल में बदलते हैं, लेकिन स्वयं करने से (जैसे `BufferedImage` और `ColorConvertOp` का उपयोग करके) आपको कन्वर्ज़न एल्गोरिद्म पर अधिक नियंत्रण मिलता है, विशेषकर जब बैकग्राउंड समान नहीं होता। + +**Q: आउटपुट में अभी भी अनचाहे प्रतीक हैं। अब क्या करें?** +A: `setDenoiseLevel` को 3 तक बढ़ाने या `setContrastBoost` को 1.6f पर समायोजित करने का प्रयास करें। यदि समस्या बनी रहती है, तो OCR से पहले **binary threshold** (बाइनराइज़ेशन) लागू करने पर विचार करें – कई लाइब्रेरी `setBinarization(true)` विकल्प प्रदान करती हैं। + +**Q: मल्टी‑पेज PDF को कैसे हैंडल करूँ?** +A: प्रत्येक पेज को इमेज में बदलें (उदाहरण के लिए Apache PDFBox का उपयोग करके) और पेजों पर लूप करें, वही `OcrEngine` इंस्टेंस पुनः उपयोग करें लेकिन प्रत्येक इटरेशन में इमेज रीसेट करें। + +--- + +## निष्कर्ष + +आपने अभी जावा में **OCR सटीकता सुधारें** कैसे करें सीखा है, सही ढंग से **load image OCR** करके, डेस्क्यू, डिनॉइज़, और कॉन्ट्रास्ट बूस्ट लागू करके, फिर **perform OCR image** करके और अंत में **extract text scanned page** करके। मुख्य निष्कर्ष यह है कि प्री‑प्रोसेसिंग अक्सर पहचान की गुणवत्ता बढ़ाने का सबसे प्रभावी लीवर होता है – एक अच्छी तरह तैयार इमेज सही अक्षर दर को दो गुना या यहाँ तक कि तीन गुना तक बढ़ा सकती है। + +अगले कदम के लिए तैयार हैं? इनसे प्रयोग करें: + +- भारी ग्रेनी स्कैन के लिए विभिन्न डिनॉइज़ लेवल +- इमेज हिस्टोग्राम विश्लेषण पर आधारित एडेप्टिव कॉन्ट्रास्ट बूस्टिंग +- एक्सट्रैक्शन के बाद भाषा मॉडल (जैसे स्पेल‑चेकिंग) को इंटीग्रेट करना ताकि शेष त्रुटियों को साफ़ किया जा सके + +ये एक्सटेंशन आपके OCR पाइपलाइन को गहरा करेंगे और इसे प्रोडक्शन वर्कलोड के लिए पर्याप्त मजबूत बनाएंगे। + +यदि आपको कोई समस्या आती है या आपके पास कोई चतुर ट्रिक है, तो नीचे टिप्पणी छोड़ें। कोडिंग का आनंद लें, और आपका टेक्स्ट हमेशा पठनीय रहे! + +## आगे आप क्या सीखें? + +निम्नलिखित ट्यूटोरियल्स उन संबंधित विषयों को कवर करते हैं जो इस गाइड में दिखाए गए तकनीकों पर आधारित हैं। प्रत्येक संसाधन में पूर्ण कार्यशील कोड उदाहरण और चरण‑दर‑चरण व्याख्याएँ शामिल हैं जो आपको अतिरिक्त API फीचर्स में महारत हासिल करने और अपने प्रोजेक्ट्स में वैकल्पिक इम्प्लीमेंटेशन एप्रोचेज़ का अन्वेषण करने में मदद करेंगे। + +- [Aspose.OCR का उपयोग करके भाषा के साथ इमेज टेक्स्ट OCR कैसे करें](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose.OCR डिटेक्ट एरिया मोड के साथ जावा में इमेज से टेक्स्ट निकालें](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [Aspose OCR के साथ टेक्स्ट इमेज पहचान – पूर्ण जावा OCR ट्यूटोरियल](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/java/ocr-basics/_index.md b/ocr/hindi/java/ocr-basics/_index.md index 05b77caa4..c2d15a4ff 100644 --- a/ocr/hindi/java/ocr-basics/_index.md +++ b/ocr/hindi/java/ocr-basics/_index.md @@ -110,6 +110,9 @@ Aspose.OCR for Java के साथ OCR सटीकता बढ़ाएँ ### [Aspose.OCR के साथ टेक्स्ट एरिया वाले रेक्टेंगल प्राप्त करना](./get-rectangles-with-text-areas/) Aspose.OCR for Java की शक्ति को अनलॉक करें। इस चरण‑दर‑चरण गाइड में इमेज से टेक्स्ट को सहजता से निकालना सीखें। प्रभावी टेक्स्ट रिकग्निशन के लिए अभी डाउनलोड करें। +### [Java में OCR कैसे करें – इमेज से टेक्स्ट निकालने के लिए पूर्ण गाइड](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +इस व्यापक गाइड में Java में OCR लागू करने, इमेज को प्रोसेस करने और सटीक टेक्स्ट निकालने के सभी चरण सीखें। + --- **अंतिम अपडेट:** 2025-12-08 @@ -121,4 +124,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/hindi/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..8a001a4ec --- /dev/null +++ b/ocr/hindi/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-06-06 +description: जावा में OCR कैसे करें – छवि से जल्दी टेक्स्ट निकालें, छवि को टेक्स्ट + में बदलें, और एक सरल कोड उदाहरण का उपयोग करके JPG से टेक्स्ट पढ़ें। +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: hi +og_description: जावा में OCR कैसे करें – छवि से टेक्स्ट निकालना, छवि को टेक्स्ट में + बदलना, और JPG से टेक्स्ट पढ़ना सीखें, एक तैयार‑चलाने योग्य उदाहरण के साथ। +og_title: जावा में OCR कैसे करें – चरण-दर-चरण मार्गदर्शिका +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: जावा में OCR कैसे करें – छवियों से टेक्स्ट निकालने के लिए पूर्ण गाइड +url: /hi/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# जावा में OCR कैसे करें – छवियों से टेक्स्ट निकालने के लिए पूर्ण गाइड + +क्या आपने कभी सोचा है कि अपने फ़ोन से ली गई तस्वीर पर **how to perform OCR** कैसे किया जाए? आप अकेले नहीं हैं। चाहे आप रसीद‑स्कैनिंग ऐप बना रहे हों या सिर्फ़ स्कैन किए गए PDF से टेक्स्ट निकालना चाहते हों, जावा में **how to perform OCR** एक ऐसा कौशल है जो जल्दी ही फायदेमंद साबित होता है। इस ट्यूटोरियल में हम एक व्यावहारिक उदाहरण के माध्यम से चलेंगे जो **extracts text from image** फ़ाइलों को, **converts image to text**, और यहाँ तक कि आपको दिखाएगा कि **read text from jpg** को कुछ ही कोड लाइनों से कैसे किया जाए। + +> *Pro tip:* वही तरीका PNG, BMP, या किसी भी फ़ॉर्मेट पर काम करता है जो OCR इंजन सपोर्ट करता है—सिर्फ़ फ़ाइल नाम बदल दें। + +## जावा में OCR कैसे करें – अवलोकन + +ऑप्टिकल कैरेक्टर रिकॉग्निशन (OCR) वह तकनीक है जो अक्षरों की तस्वीरों को वास्तविक, खोज योग्य टेक्स्ट में बदल देती है। जावा इकोसिस्टम में कई लाइब्रेरीज़ हैं—Tesseract, Asprise, और कमर्शियल SDKs—जो सभी समान वर्कफ़्लो प्रदान करती हैं: एक इमेज लोड करें, इंजन को बताएं कि किस भाषा की अपेक्षा है, पहचान चलाएँ, और परिणाम प्राप्त करें। नीचे हम एक generic `OcrEngine` क्लास का उपयोग करेंगे ताकि उदाहरण स्पष्ट रहे, लेकिन आप इसे किसी भी concrete implementation से बदल सकते हैं जो वही पैटर्न फॉलो करता हो। + +### आप क्या सीखेंगे + +- एक OCR लाइब्रेरी इंस्टॉल करें (हाँ, **ocr in java** आपके सोच से आसान है)। +- एक OCR इंजन इंस्टेंस बनाएं और कॉन्फ़िगर करें। +- एक JPG (या कोई भी इमेज) लोड करें और भाषा सेट करें। +- इमेज को प्रोसेस करें और **extract text from image** फ़ाइलों को निकालें। +- पहचाने गए स्ट्रिंग को कंसोल पर प्रिंट करें। + +अंत तक आपके पास एक self‑contained जावा प्रोग्राम होगा जिसे आप किसी भी प्रोजेक्ट में डाल सकते हैं और तुरंत चला सकते हैं। + +![OCR करने का उदाहरण](ocr-example.png "जावा में OCR करने का चित्रण") + +## चरण 1 – OCR लाइब्रेरी इंस्टॉल और इम्पोर्ट करें (ocr in java) + +जावा की एक भी लाइन लिखने से पहले, आपको एक ऐसी लाइब्रेरी चाहिए जो वास्तव में भारी काम करे। यदि आप Maven उपयोग कर रहे हैं, तो इस तरह की डिपेंडेंसी जोड़ें ( `com.example.ocr` को अपने चुने हुए SDK के वास्तविक ग्रुप ID से बदलें): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +यदि आप Gradle पसंद करते हैं: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +एक बार JAR आपके क्लासपाथ पर हो जाए, तो उन क्लासेज़ को इम्पोर्ट करें जिनकी आपको आवश्यकता होगी: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +**Why this matters:** सही क्लासेज़ को इम्पोर्ट करने से “cannot find symbol” त्रुटियों से बचा जा सकता है और आपका IDE खुश रहता है—जब आप **convert image to text** करने की कोशिश कर रहे हों तो मिसिंग इम्पोर्ट से अधिक निराशाजनक कुछ नहीं। + +## चरण 2 – OCR इंजन इंस्टेंस बनाएं (how to perform OCR) + +अब जब लाइब्रेरी तैयार है, इंजन को स्पिन अप करें। इंजन को उस दिमाग की तरह सोचें जो पिक्सेल को देखेगा और अक्षरों का अनुमान लगाएगा। + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +इंजन बनाना आमतौर पर सस्ता होता है; अधिकांश SDKs आंतरिक बफ़र्स को लेज़ीली अलोकेट करते हैं, इसलिए यदि आप बैच प्रोसेस कर रहे हैं तो आप कई इमेजेज़ में वही इंस्टेंस सुरक्षित रूप से पुन: उपयोग कर सकते हैं। + +## चरण 3 – इमेज लोड करें और भाषा सेट करें (extract text from image) + +अगला कदम इंजन को पढ़ने के लिए कुछ देना है। यहाँ हम डिस्क से एक JPEG लोड करते हैं और OCR इंजन को बताते हैं कि टेक्स्ट मोंगोलियन में है (ISO 639‑2 कोड “mon”)। आप अपने उपयोग‑केस के अनुसार पाथ या भाषा कोड बदल सकते हैं। + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +**Side note:** यदि आप भाषा सेट नहीं करते, तो इंजन डिफ़ॉल्ट रूप से अंग्रेज़ी लेता है, जो तब सटीकता को काफी घटा सकता है जब टेक्स्ट वास्तव में सिरिलिक या कोई अन्य लिपि हो। जब भी संभव हो, सही भाषा निर्दिष्ट करना हमेशा सुनिश्चित करें। + +## चरण 4 – इमेज प्रोसेस करें और परिणाम प्राप्त करें (convert image to text) + +इमेज और भाषा सेट होने के बाद, इंजन से उसका जादू करने को कहें। `process()` कॉल OCR एल्गोरिद्म चलाता है और एक `OcrResult` ऑब्जेक्ट लौटाता है जिसमें पहचाना गया स्ट्रिंग और कॉन्फिडेंस स्कोर होते हैं। + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +पर्दे के पीछे, इंजन प्री‑प्रोसेसिंग कर सकता है—डेस्क्यूइंग, बाइनराइज़ेशन, नॉइज़ रिडक्शन—ताकि आपको ये कदम खुद लिखने न पड़े। यही कारण है कि अधिकांश आधुनिक OCR लाइब्रेरीज़ **convert image to text** कार्यों के लिए उपयोग करने में आनंद देती हैं। + +## चरण 5 – निकाले गए टेक्स्ट को आउटपुट करें (read text from jpg) + +अंत में, परिणाम से plain‑text निकालें और उसके साथ कुछ उपयोगी करें। इस डेमो में हम इसे सिर्फ़ कंसोल पर प्रिंट करते हैं, लेकिन आप इसे फ़ाइल में लिख सकते हैं, सर्च इंडेक्स में फीड कर सकते हैं, या किसी अन्य सर्विस को पास कर सकते हैं। + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +यह लाइन अकेले यह सिद्ध करती है कि आपने सफलतापूर्वक **read text from jpg** (या कोई भी सपोर्टेड फ़ॉर्मेट) किया है। यदि आउटपुट गड़बड़ दिखे, तो भाषा कोड और इमेज क्वालिटी को दोबारा जांचें। + +## पूर्ण कार्यशील उदाहरण (सभी चरण एक साथ) + +नीचे एक पूर्ण, तैयार‑चलाने योग्य जावा क्लास है जो हर भाग को जोड़ता है। इसे `OcrDemo.java` नाम की फ़ाइल में कॉपी करें, इमेज पाथ और भाषा को समायोजित करें, फिर `javac OcrDemo.java && java OcrDemo` चलाएँ। + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### अपेक्षित आउटपुट + +यदि `input.jpg` में मोंगोलियन वाक्य “Сайн байна уу?” है तो कंसोल में यह दिखेगा: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +यदि इमेज धुंधली है या भाषा कोड गलत है, तो आपको गड़बड़ अक्षर या खाली स्ट्रिंग दिखेगी—सामान्य pitfalls जिन्हें हम आगे चर्चा करेंगे। + +## सामान्य समस्याएँ और उन्हें कैसे ठीक करें + +| लक्षण | संभावित कारण | समाधान | +|---------|--------------|-----| +| गड़बड़ सिरिलिक अक्षर | गलत भाषा कोड (डिफ़ॉल्ट अंग्रेज़ी) | Set `ocrEngine.getSettings().setLanguage("mon")` या उपयुक्त कोड सेट करें। | +| कोई आउटपुट नहीं | इमेज पाथ गलत या फ़ाइल पढ़ी नहीं जा रही | पाथ को सत्यापित करें, सुनिश्चित करें फ़ाइल मौजूद है, और प्रक्रिया के पास पढ़ने की अनुमति है। | +| कम सटीकता (<70 %) | इमेज कम‑कॉन्ट्रास्ट या घुमाई हुई है | इमेज को प्री‑प्रोसेस करें: कॉन्ट्रास्ट बढ़ाएँ, डेस्क्यूइंग करें, या ग्रेस्केल में बदलें इससे पहले कि आप इसे इंजन को दें। | +| `OutOfMemoryError` बड़े PDFs पर | एक साथ कई हाई‑रेज़ोल्यूशन पेज लोड करना | पेज़ को एक‑एक करके प्रोसेस करें, या OCR से पहले इमेज को डाउनस्केल करें। | + +### प्रो टिप: बैच प्रोसेसिंग + +यदि आपको बड़े पैमाने पर **extract text from image** फ़ाइलें निकालनी हों, तो कोर लॉजिक को एक लूप में रैप करें: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +यह स्निपेट दिखाता है कि एक सिंगल JPG से पूरे फ़ोल्डर के स्कैन तक स्केल करना कितना आसान है। + +## आगे क्या देखें – अगला क्या एक्सप्लोर करें? + +- **Language Packs:** अधिकांश OCR SDKs अतिरिक्त भाषा डेटा फ़ाइलें डाउनलोड करने की अनुमति देते हैं। नया पैक जोड़ने से आप **convert image to text** को अंग्रेज़ी और मोंगोलियन से आगे की भाषाओं के लिए कर सकते हैं। +- **PDF OCR:** इस कोड को Apache PDFBox के साथ मिलाएँ ताकि + +## अब आपको क्या सीखना चाहिए? + +निम्नलिखित ट्यूटोरियल्स उन निकट संबंधित विषयों को कवर करते हैं जो इस गाइड में दिखाए गए तकनीकों पर आधारित हैं। प्रत्येक संसाधन में पूर्ण कार्यशील कोड उदाहरण और चरण‑दर‑चरण व्याख्याएँ शामिल हैं जो आपको अतिरिक्त API फीचर्स में महारत हासिल करने और अपने प्रोजेक्ट्स में वैकल्पिक इम्प्लीमेंटेशन अप्रोच को एक्सप्लोर करने में मदद करेंगे। + +- [छवियों से टेक्स्ट निकालें – जावा के लिए Aspose.OCR के साथ OCR बेसिक्स](/ocr/english/java/ocr-basics/) +- [जावा में Aspose.OCR BufferedImage का उपयोग करके इमेज को टेक्स्ट में बदलें](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Aspose.OCR का उपयोग करके भाषा के साथ इमेज टेक्स्ट को OCR कैसे करें](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..3a19ee2f3 100644 --- a/ocr/hindi/java/ocr-operations/_index.md +++ b/ocr/hindi/java/ocr-operations/_index.md @@ -80,6 +80,8 @@ 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 कोड उदाहरणों के साथ। +### [Java में Aspose OCR लाइसेंस लागू करें – OCR वॉटरमार्क हटाएँ](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Java एप्लिकेशन में Aspose OCR लाइसेंस सेट करके वॉटरमार्क हटाने की प्रक्रिया सीखें। ## अक्सर पूछे जाने वाले सवाल diff --git a/ocr/hindi/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/hindi/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..866eb89cb --- /dev/null +++ b/ocr/hindi/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-06-06 +description: जावा में Aspose OCR लाइसेंस लागू करके सभी सुविधाओं को अनलॉक करें और तुरंत + OCR वॉटरमार्क हटाएँ। +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: hi +og_description: जावा में Aspose OCR लाइसेंस लागू करें ताकि मूल्यांकन सीमाएँ समाप्त + हो जाएँ और आपके स्कैन से OCR वॉटरमार्क हटाया जा सके। +og_title: जावा में Aspose OCR लाइसेंस लागू करें – OCR वॉटरमार्क हटाएँ +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: जावा में Aspose OCR लाइसेंस लागू करें – OCR वॉटरमार्क हटाएँ +url: /hi/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# जावा में Aspose OCR लाइसेंस लागू करें – OCR वॉटरमार्क हटाएँ + +क्या आप कभी सोचते थे कि जावा प्रोजेक्ट में **apply Aspose OCR license** कैसे लागू करें बिना डरावने इवैल्यूएशन वॉटरमार्क के? आप अकेले नहीं हैं। जब आप फ्री ट्रायल आज़माते हैं, तो हर स्कैन की गई इमेज पर ग्रे “Aspose Evaluation” ओवरले लग जाता है, और यह सबसे साफ़ दस्तावेज़ को भी अनप्रोफेशनल बना सकता है। + +इस गाइड में हम **apply Aspose OCR license** करने के सटीक चरणों को दिखाएंगे, यह सत्यापित करेंगे कि लाइब्रेरी पूरी तरह अनलॉक हो गई है, और दिखाएंगे कि वॉटरमार्क कैसे स्वचालित रूप से गायब हो जाता है। अंत तक, आप किसी भी इमेज—चाहे रसीद, पासपोर्ट स्कैन, या हाथ से लिखा नोट—पर OCR चला सकेंगे बिना उस बदसूरत ओवरले के। + +## आवश्यकताएँ + +- **Java Development Kit (JDK) 8** या उससे नया स्थापित हो। +- **Aspose OCR for Java** JAR फ़ाइल (Aspose पोर्टल से डाउनलोड करें)। +- आपका **Aspose OCR लाइसेंस फ़ाइल** (`Aspose.OCR.Java.lic`)। +- एक IDE या साधारण टेक्स्ट एडिटर (IntelliJ, Eclipse, VS Code—आपकी पसंद)। + +बस इतना ही। कोई अतिरिक्त Maven प्लगइन या Gradle ट्रिक की जरूरत नहीं, हालांकि आप बाद में चाहें तो जोड़ सकते हैं। + +## प्रोजेक्ट सेटअप (त्वरित अवलोकन) + +1. `AsposeOCRDemo` नाम का नया फ़ोल्डर बनाएँ। +2. `aspose-ocr-*.jar` फ़ाइल को `lib` सब‑फ़ोल्डर में रखें। +3. अपनी `Aspose.OCR.Java.lic` फ़ाइल को कहीं पहुँच योग्य जगह रखें, उदाहरण के लिए `resources/` फ़ोल्डर। +4. एक छोटा `Main.java` फ़ाइल लिखें—यहीं पर जादू होता है। + +यदि आप IDE का उपयोग कर रहे हैं, तो JAR को प्रोजेक्ट की क्लासपाथ में जोड़ें और `resources` फ़ोल्डर को रिसोर्सेज़ रूट के रूप में मार्क करें। यदि आप कमांड लाइन से कंपाइल कर रहे हैं, तो क्लासपाथ कुछ इस तरह दिखेगा: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +अब जब बुनियादी ढांचा तैयार है, चलिए मुख्य बात पर आते हैं। + +## Step 1: **Apply Aspose OCR License** – कोर कोड + +पहला काम यह है कि Aspose OCR इंजन को आपका लाइसेंस फ़ाइल भरोसा दिलाएँ। इस कॉल के बिना, लाइब्रेरी इवैल्यूएशन मोड में रहती है और हर आउटपुट में वह वॉटरमार्क जोड़ती रहती है। + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **यह क्यों महत्वपूर्ण है:** `License` क्लास गेटकीपर है। जैसे ही `setLicense` सफल होता है, OCR इंजन *इवैल्यूएशन* से *फुल* मोड में स्विच कर जाता है। सभी आंतरिक चेक जो सामान्यतः **remove OCR watermark** लॉजिक जोड़ते हैं, निष्क्रिय हो जाते हैं, इसलिए आपको फिर कभी ग्रे ओवरले नहीं दिखेगा। +> +> **प्रो टिप:** लाइसेंस फ़ाइल को स्रोत नियंत्रण से बाहर रखें (जैसे, पर्यावरण‑विशिष्ट फ़ोल्डर में) ताकि आकस्मिक कमिट से बचा जा सके। + +## Step 2: वॉटरमार्क हट गया है यह सत्यापित करें + +`applyAsposeOcrLicense` कॉल करने के बाद, एक त्वरित टेस्ट चलाना अच्छा अभ्यास है। नीचे दिया गया स्निपेट इमेज लोड करता है, OCR करता है, और निकाले गए टेक्स्ट को प्रिंट करता है। यदि लाइसेंस सक्रिय नहीं है, तो Aspose एक एक्सेप्शन थ्रो करेगा या आउटपुट इमेज में वॉटरमार्क एम्बेड करेगा (यदि आप विज़ुअल रिज़ल्ट सेव कर रहे हैं)। + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**अपेक्षित आउटपुट (अंश):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +ध्यान दें कि कहीं भी इवैल्यूएशन वॉटरमार्क का उल्लेख नहीं है। यही **remove OCR watermark** प्रभाव है। + +## Step 3: सामान्य समस्याएँ और किनारे के मामलों + +### 1. लाइसेंस पाथ गलत +यदि आप `setLicense` को गलत पाथ देते हैं, तो मेथड चुपचाप फेल हो जाता है और लाइब्रेरी इवैल्यूएशन मोड में रहती है। हमेशा रिटर्न वैल्यू चेक करें या जैसा कि `LicenseUtil` में दिखाया गया है, एक्सेप्शन को कैच करें। + +### 2. JAR‑आधारित डिप्लॉयमेंट में रिलेटिव पाथ का उपयोग +जब आप अपना एप्लिकेशन एक एक्सीक्यूटेबल JAR के रूप में पैकेज करते हैं, तो रिलेटिव फ़ाइल सिस्टम पाथ टूट सकते हैं। एक सुरक्षित तरीका है लाइसेंस को रिसोर्स स्ट्रीम के रूप में लोड करना: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +`.lic` फ़ाइल को `src/main/resources` में रखें ताकि यह क्लासपाथ पर उपलब्ध हो। + +### 3. मल्टी‑थ्रेडेड परिदृश्य +यदि आपका एप्लिकेशन कई इमेज एक साथ प्रोसेस करता है, तो आपको लाइसेंस **एक बार** JVM में लागू करना पर्याप्त है। कई थ्रेड्स से `setLicense` को दोबारा कॉल करने से थोड़ा प्रदर्शन पर असर पड़ सकता है, लेकिन यह कोई त्रुटि नहीं पैदा करेगा। + +### 4. लाइसेंस समाप्ति +Aspose लाइसेंस आमतौर पर स्थायी होते हैं, लेकिन कुछ ट्रायल या सीमित‑समय वाले लाइसेंस समाप्त हो सकते हैं। जब ऐसा होता है, तो इंजन फिर से इवैल्यूएशन मोड में लौट आता है और **remove OCR watermark** व्यवहार गायब हो जाता है। Aspose पोर्टल में लाइसेंस समाप्ति तिथि पर नजर रखें। + +## Step 4: वास्तविक‑विश्व प्रोजेक्ट्स में लाइसेंस आवेदन को स्वचालित करना + +प्रोडक्शन माइक्रोसर्विस में, आप शायद `LicenseUtil.applyAsposeOcrLicense` को कोडबेस में बिखेरना नहीं चाहेंगे। इसके बजाय, इसे एप्लिकेशन स्टार्टअप के दौरान एक बार इनिशियलाइज़ करें—जैसे Spring Boot के `@PostConstruct` मेथड या एक स्टैटिक इनिशियलाइज़र ब्लॉक में। + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +अब हर कंपोनेंट जो `OcrEngine` का उपयोग करता है, यह मान सकता है कि लाइसेंस पहले से सक्रिय है, जिससे पूरे सर्विस में **remove OCR watermark** की गारंटी मिलती है। + +## Step 5: लाइसेंस इंटीग्रेशन का परीक्षण + +ऑटोमेटेड टेस्ट यह पुष्टि कर सकते हैं कि वॉटरमार्क वास्तव में हट गया है। एक सरल JUnit टेस्ट इस प्रकार दिख सकता है: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +इस टेस्ट को चलाने से आपको यह भरोसा मिलेगा कि आपका डिप्लॉयमेंट पाइपलाइन अनजाने में अनलाइसेंस्ड बिल्ड नहीं भेजेगा। + +## Visual Overview (Optional) + +यदि आप चीज़ों को ग्राफ़िक रूप में देखना पसंद करते हैं, तो यहाँ फ़्लो का एक त्वरित स्कीमैटिक है: + +![Aspose OCR लाइसेंस जावा में लागू करें – लाइसेंस लोडिंग फिर OCR प्रोसेसिंग बिना वॉटरमार्क के दिखाता डायग्राम](apply-aspose-ocr-license.png "Aspose OCR लाइसेंस जावा में लागू करें – लाइसेंस लोडिंग फिर OCR प्रोसेसिंग बिना वॉटरमार्क") + +## निष्कर्ष + +हमने वह सब कवर किया जो आपको जावा वातावरण में **apply Aspose OCR license** करने के लिए चाहिए, और एक सीधा साइड‑इफ़ेक्ट के रूप में सभी प्रोसेस्ड इमेज से **remove OCR watermark** भी। `License` ऑब्जेक्ट बनाना, पाथ क्विर्क्स को संभालना, परिणाम सत्यापित करना, और इसे बड़े एप्लिकेशन में वायर करना—हर कदम को “क्यों” के साथ समझाया गया, न कि सिर्फ “कैसे”। + +अब आप Aspose OCR को किसी भी जावा प्रोजेक्ट में इंटीग्रेट कर सकते हैं, यह भरोसे के साथ कि आपके उपयोगकर्ता फिर कभी उस परेशान करने वाले इवैल्यूएशन टैग को नहीं देखेंगे। + +### अगला क्या? + +- **भाषा पैक्स का अन्वेषण करें:** Aspose OCR 70 से अधिक भाषाओं को सपोर्ट करता है; बस उपयुक्त `OcrEngine` प्रॉपर्टी सेट करें। +- **Aspose PDF के साथ संयोजन:** स्कैन की गई इमेज को सीधे सर्चेबल PDF में बदलें बिना वॉटरमार्क के। +- **प्रदर्शन ट्यूनिंग** + +## अगला आपको क्या सीखना चाहिए? + +निम्नलिखित ट्यूटोरियल्स उन विषयों को कवर करते हैं जो इस गाइड में दिखाए गए तकनीकों पर आधारित हैं। प्रत्येक रिसोर्स में पूर्ण कार्यशील कोड उदाहरण और चरण‑दर‑चरण व्याख्याएँ शामिल हैं, जिससे आप अतिरिक्त API फीचर्स में महारत हासिल कर सकें और अपने प्रोजेक्ट्स में वैकल्पिक इम्प्लीमेंटेशन अप्रोचेज़ को एक्सप्लोर कर सकें। + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..0e9ca520d 100644 --- a/ocr/hongkong/java/advanced-ocr-techniques/_index.md +++ b/ocr/hongkong/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,20 @@ Aspose.OCR for Java 是光學字元辨識 (OCR) 方面的遊戲規則改變者 使用 Aspose.OCR 為您的 Java 應用程式提供精確的文字辨識功能。集成方便,精度高。 ### [在 Aspose.OCR 中指定允許的字符](./specify-allowed-characters/) 使用 Aspose.OCR for Java 無縫解鎖圖片中的文字擷取。請遵循我們的逐步指南以實現高效整合。 +### [如何在 Java OCR 中啟用 GPU – 完整步驟指南](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +使用 Aspose.OCR for Java 啟用 GPU 加速,提升 OCR 效能與速度。完整步驟教學,助您快速整合。 +### [在 Java 中從掃描圖像提取文字 – 完整 Aspose OCR 指南](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +使用 Aspose.OCR for Java 完整指南,從掃描圖像中提取文字,提升 OCR 效能與準確度。 +### [Aspose OCR Java 範例 – 完整指南:載入圖像、拼寫校正與處理 OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +提供完整範例,示範如何載入圖像、進行拼寫校正,並使用 Aspose.OCR for Java 執行 OCR,提升文字辨識準確度。 +### [在 Java 中提升 OCR 準確度 – 完整指南](./improve-ocr-accuracy-in-java-complete-guide/) +本完整指南說明如何透過 Aspose.OCR for Java 優化設定與技巧,提升文字辨識的準確率與效能。 +### [在 Java 中建立可搜尋 PDF – 完整 Aspose OCR 指南](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +使用 Aspose.OCR for Java 完整指南,建立可搜尋的 PDF,提升文件可存取性與搜尋功能。 + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/hongkong/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..cdce52450 --- /dev/null +++ b/ocr/hongkong/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,189 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java 示例展示如何載入圖片 OCR、校正 OCR 錯誤、設定自訂字典,並僅需幾個步驟即可處理圖片 OCR。 +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: zh-hant +og_description: Aspose OCR Java 示例,載入圖像、校正 OCR 錯誤、設定自訂字典,並高效處理圖像 OCR。 +og_title: Aspose OCR Java 範例 – 載入圖像、拼寫校正與處理 OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java 範例 – 完整指南:載入圖像、拼字校正與 OCR 處理 +url: /zh-hant/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java 示例 – 完整指南:載入影像、拼寫校正與處理 OCR + +Ever needed an **Aspose OCR Java example** that actually works out‑of‑the‑box? You’re not alone—developers often stare at a blurry screenshot and wonder why the extracted text is a mess. The good news is that Aspose’s OCR engine already ships with built‑in spell‑correction, and you can even plug in your own word list. In this tutorial we’ll walk through loading an image OCR, enabling the correction feature, optionally setting a custom dictionary, and finally processing image OCR to get clean, readable text. + +We’ll also cover why you might want to **correct OCR errors**, how to **load image OCR** efficiently, the benefits of a **set custom dictionary** call, and what the end‑to‑end **process image OCR** flow looks like. By the end you’ll have a fully runnable Java program you can drop into any Maven or Gradle project. + +--- + +## 您需要的環境 + +- Java 8 或更新版本(API 亦支援 Java 11+) +- Aspose.OCR for Java 程式庫(從 Aspose 官方網站下載最新 JAR,或加入 Maven 依賴) +- 包含文字的影像檔(最好是掃描文件或帶有雜訊的螢幕截圖) +- 可選:純文字字典檔,若想 **set custom dictionary** 用於領域特定術語 + +就這樣——不需要大型 OCR 引擎,亦無本機相依,只要一個 JAR 加上幾行程式碼即可。 + +--- + +## Step 1: Aspose OCR Java Example – Load Image OCR + +要先建立 `OcrEngine` 實例,並指向要分析的檔案。把它想像成在閱讀前先打開一本書。 + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Why this matters:** `setImage` 呼叫是 **load image OCR** 的核心。若影像無效,引擎就沒有可辨識的內容,最終只會得到空字串或拋出例外。 + +![aspose ocr java example loading image](image.png){alt="Aspose OCR Java 示例載入影像"} + +--- + +## Step 2: Enable Spell‑Correction to Correct OCR Errors + +Aspose OCR 預設已開啟拼寫校正,但明確設定仍是好習慣——尤其在示範 **aspose ocr java example** 時。啟用此功能可大幅減少「t1e」或「rec0gn1tion」等亂碼。 + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** 若發現引擎仍誤認某些單字,請再次檢查語言設定或加入自訂字典(下一步)。 + +啟用拼寫校正是 **correct OCR errors** 的最快方式,且不需額外撰寫程式碼。 + +--- + +## Step 3: Set Custom Dictionary for Better Accuracy + +預設字典有時不認識您的行業專有詞彙——例如醫療名詞、產品代碼或品牌名稱。這時 **set custom dictionary** 就派上用場。提供一個純文字檔,每行一個詞,OCR 引擎在校正時會將這些詞視為有效。 + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **When to use it:** 若您在處理發票時公司名稱常被搞亂,將這些名稱放入自訂字典即可讓 **process image OCR** 階段更可靠。 + +--- + +## Step 4: Process Image OCR and Retrieve the Text + +現在引擎已配置完成,該執行辨識了。`process` 方法負責所有重活——偵測文字區塊、套用拼寫校正,最後回傳 `OcrResult` 物件。 + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **What you’ll see:** 主控台會印出乾淨、易讀的字串。若未啟用拼寫校正,您很可能會看到怪異字元,這也是為何提前開啟它對 **correct OCR errors** 如此關鍵。 + +--- + +## Step 5: Run the Example and Verify the Output + +使用您喜愛的 IDE 或在命令列編譯執行此類別: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +您應該會看到類似以下的結果: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +如果輸出仍有拼寫錯誤,請將那些詞加入自訂字典,然後重新執行 **process image OCR** 步驟。 + +--- + +## 常見問題與避免方式 + +| 問題 | 發生原因 | 解決方法 | +|------|----------|----------| +| **空白輸出** | 影像路徑錯誤或不支援的格式 | 確認路徑,使用 PNG/JPEG,並確保檔案可讀取 | +| **雜訊字元** | 拼寫校正未啟用或影像品質低 | 啟用 `setEnableSpellCorrection(true)`,並考慮對影像進行前處理(提升對比度) | +| **領域特定詞彙仍錯誤** | 未使用自訂字典 | 使用 `setCustomDictionary` 並提供包含您詞彙的檔案 | +| **記憶體不足錯誤** | 載入未縮放的超大影像 | 在送入 `OcrEngine` 前先調整影像大小 | + +--- + +## 擴充範例 + +既然已擁有穩固的 **aspose ocr java example**,您可能想要: + +- **批次處理** 整個資料夾的影像,透過迴圈讀取檔名並重複使用同一個 `OcrEngine` 實例。 +- **擷取版面資訊**(表格、欄位),使用 `ocrResult.getPages()` 進行更進階的文件分析。 +- **結合 Apache PDFBox**,將辨識出的文字嵌入回 PDF 中。 + +所有這些延伸都建立在我們已說明的核心步驟上:load image OCR、enable correction、optional set custom dictionary,最後 process image OCR。 + +--- + +## 結論 + +您剛剛完成了一個完整的 **aspose ocr java example**:載入影像、啟用拼寫校正以 **correct OCR errors**、可選 **set custom dictionary**,最後 **process image OCR** 取得乾淨文字。程式碼簡潔、概念清晰,且已具備可擴充為批次作業、UI 整合或雲端微服務的基礎。 + +接下來可以嘗試使用低解析度照片、將產品 SKU 列表加入自訂字典,觀察準確度提升情形。實驗越多,您對影像品質、字典大小與處理速度之間的取捨就會越了解。 + +如有任何問題或想法,歡迎留下評論。祝開發順利! + +## 您接下來可以學什麼? + +以下教學與本指南的技巧緊密相關,提供完整可執行的程式碼範例與逐步說明,協助您掌握更多 API 功能,並在專案中探索其他實作方式。 + +- [如何在 Java 中設定授權並驗證 Aspose.OCR 授權](/ocr/english/java/ocr-basics/set-license/) +- [如何使用 Aspose.OCR 以語言辨識影像文字](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java 示例 – 影像中辨識行](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/hongkong/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..b64fc057b --- /dev/null +++ b/ocr/hongkong/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,276 @@ +--- +category: general +date: 2026-06-06 +description: 使用 Aspose OCR 於 Java 建立可搜尋的 PDF。學習從 PDF 提取文字、提升 OCR 準確度,並高效處理多頁 PDF。 +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: zh-hant +og_description: 使用 Java 與 Aspose OCR 建立可搜尋的 PDF。本指南將帶您逐步提取 PDF 文字、提升 OCR 準確度,並處理多頁 + PDF。 +og_title: 在 Java 中建立可搜尋的 PDF – 完整的 Aspose OCR 教學 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: 在 Java 中建立可搜尋的 PDF – 完整 Aspose OCR 教學 +url: /zh-hant/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 Java 中建立可搜尋 PDF – 完整 Aspose OCR 教學 + +有沒有想過 **直接在 Java 中建立可搜尋的 PDF**,而不必使用數十個指令列工具?你並不孤單。許多開發者在需要將掃描的 PDF 轉換成可文字搜尋的文件時會卡關,尤其是當來源 PDF 有好幾頁時。 + +在本教學中,我們將逐步示範一個完整、可執行的範例,不僅 **建立可搜尋的 PDF**,還會說明如何 **從 PDF 中擷取文字**、**提升 OCR 準確度**,以及如何處理 **OCR 多頁 PDF** 工作流程,全部使用 Aspose OCR 函式庫。完成後,你將擁有一段可直接放入任何 Java 專案的生產等級程式碼。 + +## 需要的環境 + +- Java 17 或更新版本(程式碼在較舊版本亦可編譯,但 JDK 17 為最佳選擇) +- Maven 或 Gradle 以取得 `aspose-ocr` 相依套件 +- 一個範例多頁 PDF(我們稱之為 `sample_multi_page.pdf`) +- 一塊適度的 GPU,或至少具備多核心 CPU 以啟用平行處理 + +不需要額外的原生函式庫——Aspose OCR 已將所有必需的元件打包好。 + +--- + +## 建立可搜尋 PDF – 步驟實作 + +以下將流程切分為多個邏輯區塊。每個區塊都有自己的 H2 標題,方便直接跳至感興趣的部分,且主要關鍵字已放在標題中。 + +### 步驟 1:設定專案並匯入 Aspose OCR + +首先,將 Aspose OCR 的 Maven 套件加入 `pom.xml`。若使用 Gradle,可參考註解中的等價片段。 + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **專業提示:** 請保持相依套件為最新版本;新版通常會帶來準確度提升,直接幫助你 **提升 OCR 準確度**。 + +### 步驟 2:將多頁 PDF 載入 OCR 引擎 + +現在建立 `OcrEngine` 實例,並將要處理的 PDF 傳入。引擎會在內部將每一頁視為影像,這也是 **ocr 多頁 pdf** 情境能順利運作的原因。 + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**為什麼重要:** 只載入一次 PDF,讓引擎自行處理分頁,可避免手動抽取每頁所產生的時間與記憶體開銷。 + +### 步驟 3:啟用進階功能以 **提升 OCR 準確度** + +Aspose OCR 提供多項可調整參數。啟用 GPU 加速、增加執行緒數量、指定多種語言,都能在噪點較多的掃描件上提升辨識率。 + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **如果沒有 GPU 該怎麼辦?** 只要將 `setUseGpu(false)`,引擎會自動回退至純 CPU 模式,同時仍受益於多執行緒。 + +### 步驟 4:前處理影像以獲得更佳結果 + +前處理步驟(如去斜、去噪、提升對比)能顯著 **提升 OCR 準確度**。把它想成在雕刻前先拋光粗糙的石頭。 + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**為什麼這些設定?** `2` 級的去噪在大多數掃描 PDF 上表現良好,而 `1.3×` 的適度對比提升能讓淡墨更清晰,同時不會把背景弄得過白。 + +### 步驟 5:設定輸出以產生可搜尋 PDF + +Aspose OCR 能直接將辨識出的文字層嵌入 PDF,將平面影像檔轉變為 **可搜尋 PDF**。這正是許多開發者詢問「如何製作可搜尋 PDF」的核心。 + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +當 `setGenerateSearchablePdf(true)` 開啟時,函式庫會建立一個隱形的文字層,與視覺內容對應,使最終文件在任何 PDF 閱讀器中皆可搜尋。 + +### 步驟 6:執行 OCR 並寫入結果 + +現在正式處理文件並寫出輸出檔案。`process` 方法會回傳一個 `OcrResult` 物件,內含可搜尋的 PDF 以及抽出的純文字。 + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### 步驟 7:(可選)**從 PDF 中擷取文字** 立即使用 + +若你同時需要原始文字(例如做索引、分析,或直接在網頁上顯示),可以直接從 `OcrResult` 取得。 + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**執行結果會顯示:** 主控台會輸出所有頁面的合併文字,盡可能保留換行。這樣即可滿足 **從 pdf 中擷取文字** 的需求,且不必再跑第二遍。 + +--- + +## 視覺概覽 + +以下是一張簡易流程圖,將每個步驟對應到相應的程式碼區塊,協助你了解輸入 PDF 如何經過前處理、OCR,最終變成可搜尋文件。 + +![建立可搜尋 PDF 流程圖](https://example.com/flow-diagram.png "建立可搜尋 PDF 流程圖") + +*Alt 文字包含主要關鍵字,以符合圖片 SEO 要求。* + +--- + +## 常見問題與邊緣案例 + +| 問題 | 解答 | +|------|------| +| **可以處理超過 100 MB 的 PDF 嗎?** | 可以,但建議改為串流方式讀取頁面,而非一次載入全部。Aspose OCR 內部已支援分頁,但對於極大檔案,你可能需要將 JVM 堆積大小調高(例如 `-Xmx4g`)。 | +| **如果 PDF 含有手寫筆記怎麼辦?** | 預設未啟用手寫辨識。若函式庫版本支援,可改為 `setLanguage("eng,mon,handwritten")`,但準確度會因手寫品質而異。 | +| **使用 Aspose OCR 是否需要授權?** | 評估授權可供測試使用。正式上線請購買商業授權,以移除浮水印並解鎖完整效能。 | +| **如何停用拼寫校正?** | 呼叫 `ocr.getSettings().setEnableSpellCorrection(false);` —— 在需要原始 OCR 輸出作法醫分析時特別有用。 | +| **GPU 支援是必須的嗎?** | 不必。函式庫會自動回退至 CPU;不過在大型多頁文件上,GPU 可將處理時間縮短最高 60 %。 | + +--- + +## 完整可執行範例(直接複製貼上) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**預期輸出** + +- `output_searchable.pdf` – 產生的 PDF 可使用 Ctrl + F 搜尋任何出現在掃描影像中的文字。 +- 主控台日誌 – 原始 PDF 的完整文字內容,適合用於索引或進一步分析。 + +--- + +## 結論 + +我們已示範如何在 Java 中使用 Aspose OCR **建立可搜尋 PDF**,同時說明 **從 PDF 中擷取文字**、**提升 OCR 準確度**,以及高效處理 **OCR 多頁 PDF** 工作流程。上方的完整程式碼可直接放入你的專案,說明則提供了調整設定的依據,讓你能針對特定情境進行最佳化。 + +接下來可以嘗試自訂字型嵌入、加入 OCR 產生的書籤,或將輸出整合至 Elasticsearch 等搜尋引擎。這些主題皆與次要關鍵字——*如何製作可搜尋 PDF* 與 *提升 OCR 準確度*——息息相關,為你提供了深入探索的明確路徑。 + +歡迎在留言區分享你的使用經驗或提出後續問題。祝開發順利,將靜態掃描檔轉變為完整可搜尋、富含文字的 PDF 吧! + +## 接下來該學什麼? + +以下教學與本指南的技術緊密相關,能進一步擴充你的技巧。每篇資源皆提供完整可執行的程式碼範例與逐步說明,協助你掌握更多 API 功能,或在自己的專案中探索替代實作方式。 + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/hongkong/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..26631ede4 --- /dev/null +++ b/ocr/hongkong/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-06-06 +description: 使用 Aspose OCR for Java 從掃描圖像中提取文字。了解如何使用平行處理辨識 TIFF 檔案的文字。 +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: zh-hant +og_description: 使用 Aspose OCR 從掃描圖像中提取文字。本指南說明如何使用 Java 高效辨識 tiff 檔案中的文字。 +og_title: 從掃描圖像提取文字 – Aspose OCR Java 教程 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: 在 Java 中從掃描影像提取文字 – 完整的 Aspose OCR 指南 +url: /zh-hant/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從掃描圖像提取文字 – 完整 Aspose OCR 指南 + +有沒有曾經需要**從掃描圖像提取文字**卻卡在「怎麼做?」上?你並不孤單。無論是數位化舊檔案、從發票中抽取資料,或是建立可搜尋的 PDF 資料庫,從 TIFF 掃描檔取得可靠文字都可能是個痛點。 + +好消息:使用 Aspose OCR for Java,你只需幾行程式碼就能**recognize text from tiff**檔案,甚至透過限制引擎使用少量 CPU 核心來提升速度。在本教學中,我們將一步步說明整個流程——從設定函式庫到處理結果——讓你可以立即 copy‑paste 一個可執行的範例。 + +## 本教學涵蓋內容 + +- 安裝 Aspose OCR for Java(Maven 或手動 JAR) +- 載入大型掃描 TIFF 圖像 +- 設定引擎使用最多 4 個執行緒(平行 OCR) +- 執行 OCR 程序並印出提取的文字 +- 常見問題(記憶體、多頁 TIFF)與避免方式 +- 快速效能小技巧:何時調整 `setMaxThreads` + +完成後,你將能可靠地**extract text from scanned image**檔案,並了解在生產環境中*recognize text from tiff*時為何調整執行緒數量很重要。 + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## 前置條件 + +在開始之前,請確保你已具備: + +1. **Java Development Kit (JDK) 8+** – 任意近期版本皆可。 +2. **Maven**(或手動加入 JAR 的能力)– 本教學以 Maven 為例說明。 +3. 一份 **Aspose OCR for Java** 授權(免費評估版亦可使用,但會加上浮水印)。 +4. 一個 **大型 TIFF 掃描檔**(例如 `large_scan.tif`)供你處理。 + +如果上述任何項目你不熟悉,也別擔心——以下每一步都會詳細說明。 + +## 第 1 步:將 Aspose OCR 加入專案 + +### Maven 使用者 + +在你的 `pom.xml` 中加入以下相依性: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### 手動 JAR 設定 + +從 Aspose 官方網站下載最新的 `aspose-ocr-xx.jar`,並將其放入 classpath。 + +> **專業提示:** 將 JAR 放在 `libs/` 資料夾,並在 IDE 的專案設定中引用。這樣可避免日後出現「class not found」的驚喜。 + +## 第 2 步:建立簡易 Java 類別 + +在你的來源資料夾(`src/main/java`)內建立名為 `ParallelOcrDemo.java` 的檔案。此類別將承載完整的 OCR 工作流程。 + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **為何限制執行緒數量:** 預設情況下 Aspose OCR 會嘗試使用所有核心,這可能會讓共享機器上的其他服務資源不足。設定 `setMaxThreads(4)` 可讓引擎最多同時執行四個平行工作者——在大多數現代 CPU 上即可獲得明顯加速,同時不會壟斷資源。 + +## 第 3 步:編譯與執行 + +在專案根目錄開啟終端機,執行: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +若未使用 Maven,請以 `javac` 編譯後執行: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### 預期輸出 + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +主控台會顯示掃描頁面的純文字版本。若圖像包含多頁,Aspose OCR 會依序串接它們。 + +## 第 4 步:處理多頁 TIFF(邊緣案例) + +常見情況是 **multi‑page TIFF**——例如掃描書本。預設的 `OcrInputImage` 只會讀取第一個影格。若要處理全部頁面,請以 `FileInputStream` 建立 `OcrInputImage`,並啟用多頁支援: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +現在 `ocrEngine.process()` 會回傳單一 `OcrResult`,其中包含每一頁串接後的文字。 + +## 第 5 步:微調辨識準確度 + +如果發現**亂碼**或遺漏字詞,可嘗試以下調整: + +| 設定 | 功能說明 | 使用時機 | +|------|----------|----------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | 強制使用英語語言模型(對英語掃描更快且更準確) | 文件為單語英語時 | +| `ocrEngine.getSettings().setResolution(300)` | 在辨識前將低解析度影像升級 | 掃描解析度低於 200 DPI 時 | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | 嘗試清除斑點與雜訊 | 掃描噪點較多時 | + +範例程式碼: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## 第 6 步:將結果匯出至檔案 + +將結果印到主控台適合示範,但正式程式通常會將輸出寫入有用的檔案: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +如此一來,你就擁有可供搜尋索引、資料庫或下游分析管線使用的純文字檔。 + +--- + +## 常見問題 (FAQ) + +**Q: 這能用於 PNG 或 JPEG 檔案嗎?** +**A:** 完全可以。`OcrInputImage` 接受任何 Java ImageIO 能讀取的格式,只要把路徑的副檔名換成相應的即可。 + +**Q: 我的伺服器有 8 核心——應該設定 `setMaxThreads(8)` 嗎?** +**A:** 雖然可以,但請記得其他服務也需要 CPU 時脈。一般的經驗法則是「總核心數 – 1」給專屬 OCR 工作者較為安全。 + +**Q: 若 OCR 結果是空的該怎麼辦?** +**A:** 請確認影像不是全白、已設定正確的語言,且解析度至少 200 DPI。低品質掃描常需要前置處理(去斜、提升對比)後再交給 Aspose OCR。 + +## 結語 + +我們已使用 Aspose OCR for Java **extract text from scanned image**,並了解如何以平行處理有效**recognize text from tiff**。完整程式碼就在上方的程式碼片段,你可以立即 copy‑paste 到自己的專案中。 + +### 接下來可以做什麼? + +- **批次處理**:遍歷 TIFF 目錄,將每個結果存成獨立檔案。 +- **整合 Elasticsearch**:將提取的文字建立索引,以實現快速全文搜尋。 +- **加入語言偵測**:使用 `OcrLanguage.AutoDetect` 處理多語言文件。 + +試著實作這些想法,你很快就能把大量掃描文件轉換成可搜尋、可操作的資料。 + +祝開發順利,若遇到問題歡迎留言討論! + +## 接下來該學什麼? + +以下教學與本指南所示技術緊密相關,提供完整可執行的程式碼範例與逐步說明,助你掌握更多 API 功能,並在自己的專案中探索其他實作方式。 + +- [如何使用 Aspose.OCR for Java 識別 TIFF](/ocr/english/java/ocr-operations/recognize-tiff/) +- [提取文字圖像 – Aspose.OCR for Java OCR 基礎](/ocr/english/java/ocr-basics/) +- [使用 Aspose.OCR 偵測區域模式的 Java 圖像文字提取](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/hongkong/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..5f17b7e97 --- /dev/null +++ b/ocr/hongkong/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,251 @@ +--- +category: general +date: 2026-06-06 +description: 如何在 Java OCR 中啟用 GPU,並從 JPEG 檔案中擷取文字。請參考此 Java OCR 範例,以 GPU 加速將圖像轉換為文字。 +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: zh-hant +og_description: 如何在 Java OCR 中啟用 GPU,並即時從 JPEG 圖像提取文字。本指南展示了一個完整的 Java OCR 範例,使用 GPU + 加速 OCR。 +og_title: 如何在 Java OCR 中啟用 GPU – 完整程式教學 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: 如何在 Java OCR 中啟用 GPU – 完整逐步指南 +url: /zh-hant/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Java OCR 中啟用 GPU – 完整步驟指南 + +有沒有想過 **how to enable GPU** 在 Java 的光學字符識別 (OCR) 中如何啟用?你並非唯一的提問者——開發者常常問:「能否在不重寫全部程式碼的情況下讓 OCR 更快?」簡短的答案是肯定的,詳細的答案就在此處。在本教學中,我們將逐步說明一個 **java ocr example**,它 **extracts text from JPEG** 檔案,**converts image to text**,並利用 **GPU accelerated OCR** 以極速完成。 + +我們會先設定 Aspose OCR 函式庫、載入範例 JPEG、開啟 GPU 支援、執行引擎,最後印出辨識出的文字。完成後,你將擁有一段可直接放入任何 Java 專案的可重用程式碼片段,並附上一些避免常見陷阱的技巧。沒有冗餘,只有你需要的實作細節。 + +## 前置條件 + +在開始之前,請確保你已具備: + +* 已安裝 Java 8 或更新版本(程式碼使用標準 API,任何較新的 JDK 都可)。 +* 相容且驅動程式為最新的 GPU——大多數現代的 NVIDIA/AMD 顯示卡皆符合條件。 +* Aspose.OCR for Java 函式庫(可從 Maven Central 或 Aspose 官方網站取得)。 +* 一張想要執行 OCR 的 JPEG 圖片——我們稱之為 `sample.jpg`。 + +就這樣。如果其中有任何項目你不熟悉,請先暫停並安裝缺少的部分;本指南的其餘內容假設這些已就緒。 + +## 如何在 Java OCR 中啟用 GPU – 概觀 + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +把 GPU 想成 OCR 引擎的渦輪增壓器——CPU 不再需要逐像素分析,圖形卡會平行處理大量運算。結果是什麼?處理時間更快,尤其是高解析度掃描時。 + +## 步驟 1:設定專案並匯入 Aspose OCR + +首先,建立一個新的 Maven 專案(如果你偏好 Gradle 也可以)。加入 Aspose OCR 相依性: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +如果你不是使用 Maven,請從 Aspose 下載 JAR 並加入 classpath。這一步是任何 **java ocr example** 的基礎,務必確認函式庫能正確解析。 + +## 步驟 2:載入 JPEG 圖片(Extract Text from JPEG) + +現在我們要寫程式碼讀取 JPEG 檔案。`OcrInputImage` 類別接受檔案路徑,我們會把它傳給 `OcrEngine`。 + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Why this matters:** 正確載入圖像是任何 **convert image to text** 工作流程的第一步。若路徑錯誤,引擎會在到達 GPU 階段前拋出例外。 + +## 步驟 3:啟用 GPU 加速(How to Enable GPU) + +以下是本教學的核心——開啟 GPU 支援。`OcrSettings` 物件提供 `setUseGpu` 旗標,只要將它設為 `true` 即可。 + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** 確認你的 GPU 驅動程式為最新。過時的驅動程式常會導致 `setUseGpu(true)` 呼叫靜默失敗,讓你只能使用 CPU。 + +## 步驟 4:執行 OCR 引擎(Java OCR Example) + +圖像已載入且 GPU 已啟用,現在啟動 OCR 程序。引擎會回傳包含辨識文字的 `OcrResult` 物件。 + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +在背後,Aspose 會將圖像切割成多塊,送到 GPU 進行平行推論,然後再把結果拼回。這正是 **gpu accelerated ocr** 體驗比預設 CPU 路徑快得多的原因。 + +## 步驟 5:輸出辨識文字(Convert Image to Text) + +最後,將結果印到主控台。實務上你可能會寫入檔案或資料庫,但為了示範,簡單的 `System.out.println` 已足夠。 + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### 預期輸出 + +假設 `sample.jpg` 包含「Hello, World!」這句話,你應該會看到: + +``` +Recognized text: +Hello, World! +``` + +如果圖像較為複雜(多行、表格等),輸出會保留換行與間距,與原始版面相呼應。這正是 Aspose OCR 引擎的優點——在將圖像轉換為文字的同時保留結構。 + +## 完整可執行範例 + +把所有步驟組合起來,以下是完整、可直接執行的程式: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +將此檔案儲存為 `GpuOcrDemo.java`,使用 `javac` 編譯,然後以 `java` 執行。若一切配置正確,主控台會瞬間顯示擷取出的文字。 + +## 常見問題與邊緣案例 + +### 1. 我的 GPU 沒有被使用 – 為什麼? + +* **Check driver version** – 舊版驅動程式可能不會暴露所需的運算能力。 +* **Validate GPU support** – Aspose 需要支援 CUDA 的 NVIDIA 卡或支援 OpenCL 的 AMD 卡。若你使用的筆記型電腦的獨立 GPU 被停用,請在 BIOS 或顯示卡控制面板中啟用。 +* **Inspect logs** – Aspose 會在 GPU 模式啟動時寫入除錯訊息。可透過 `ocr.getSettings().setLogLevel(LogLevel.Debug)` 開啟日誌。 + +### 2. 低解析度圖像的 OCR 結果亂碼。 + +* **Pre‑process the JPEG** – 將解析度調整至至少 300 dpi,套用對比度增強,或先轉成灰階再送入引擎。 +* **Adjust settings** – 你可以調整 `ocr.getSettings().setLanguage(OcrLanguage.English)`,或啟用 `setUseLanguageDetection(true)` 以提升準確度。 + +### 3. 可以一次批次處理多張圖像嗎? + +當然可以。將載入與處理的程式碼包在迴圈中,重複使用同一個 `OcrEngine` 實例。記得在每次迭代結束後呼叫 `ocr.reset()` 以清除前一張圖像的狀態。 + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. GPU 加速在無頭伺服器上能運作嗎? + +可以,只要伺服器具備支援的 GPU 與正確的驅動程式。在 Linux 上,你可能需要安裝 `nvidia‑utils` 套件,並確保 `CUDA` 工具組已加入 `PATH`。 + +## 生產環境 GPU OCR 的專業提示 + +* **Batch size matters** – 較大的圖像能更好受惠於 GPU 平行運算。若處理的是微小圖示,GPU 資料傳輸的開銷可能抵消效益。 +* **Memory management** – GPU 的 VRAM 有限。對於極大 PDF 或多百萬像素的掃描,請自行將圖像切割成較小的區塊。 +* **Error handling** – 將 OCR 呼叫包在 try‑catch 區塊,若拋出 `UnsupportedOperationException`,可退回 CPU 模式 (`setUseGpu(false)`)。 + +## 結論 + +我們剛剛說明了 **how to enable GPU** 在 **java ocr example** 中的做法,展示了如何 **extract text from JPEG** 檔案,並以 Aspose 的 **gpu accelerated OCR** 引擎提供乾淨的 **convert image to text** 流程。上方的完整程式碼片段已可直接放入任何 Java 專案,搭配本文的技巧能避免常見的頭痛問題。 + +接下來可以嘗試加入語言套件、實驗不同的圖像格式(PNG、TIFF),或將輸出整合至搜尋索引。當 OCR 與 GPU 結合時,可能性無限。 + +如果對 GPU 加速 OCR 有更多疑問或需要調整設定的協助,歡迎留言,祝開發順利! + +![在 Java OCR 中啟用 GPU 的範例](https://example.com/images/gpu-ocr-java.png "在 Java OCR 中啟用 GPU") + +## 接下來該學什麼? + +以下教學與本指南的技巧緊密相關,提供完整可執行的程式碼範例與逐步說明,協助你精通更多 API 功能,並在自己的專案中探索其他實作方式。 + +- [提取文字圖像 – 使用 Aspose.OCR for Java 的 OCR 基礎](/ocr/english/java/ocr-basics/) +- [在 Java 中使用 Aspose.OCR BufferedImage 將圖像轉換為文字](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [使用 Aspose.OCR 以語言 OCR 圖像文字](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/hongkong/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..db2f8eec8 --- /dev/null +++ b/ocr/hongkong/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,262 @@ +--- +category: general +date: 2026-06-06 +description: 提升 Java 中的 OCR 準確度,透過一步一步的指南,示範如何載入圖像 OCR、處理圖像 OCR 以及有效率地擷取掃描頁面的文字。 +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: zh-hant +og_description: 透過實作範例提升 Java OCR 準確度。學習載入影像、前處理,並執行 OCR 以擷取掃描頁面的文字。 +og_title: 提升 Java OCR 準確度 – 完整教學 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: 提升 Java OCR 準確度 – 完整指南 +url: /zh-hant/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 提升 OCR 準確度(Java) – 完整指南 + +有沒有想過在處理舊書掃描或模糊收據時,如何**提升 OCR 準確度**?你並不孤單。在許多實務專案中,OCR 引擎的原始輸出往往是一團亂碼,通常是因為在**執行 OCR 影像**前,圖像的前置處理不夠完善。 + +在本教學中,我們將逐步示範一個實用的 Java 範例,說明如何**載入影像 OCR**、套用幾個聰明的前置處理步驟、**處理影像 OCR**,最後**擷取掃描頁面文字**,得到乾淨的結果。完成後,你不只會知道*寫什麼程式碼*,更會了解*為什麼*每一行程式對提升辨識品質如此重要。 + +## 你將學到 + +- 如何在 Java 中實例化 OCR 引擎 +- 正確的**載入影像 OCR**方式(從磁碟) +- 為何去斜、去噪與提升對比度是**提升 OCR 準確度**的關鍵 +- 如何**執行 OCR 影像**並取得辨識文字 +- 處理不同影像格式與特殊情況的小技巧 + +不需要額外文件 – 所有資訊都在此,完整、可執行的程式碼已放在最下方。 + +## 前置條件 + +- 已在電腦上安裝 Java 17(或任意較新 JDK) +- 提供 `OcrEngine`、`OcrInputImage` 與 `OcrResult` 類別的 OCR 函式庫(範例使用通用 API;如有需要請改為供應商的 jar) +- 一張欲執行 OCR 的掃描影像(PNG、JPEG 或 TIFF),本示範使用位於 `YOUR_DIRECTORY` 資料夾下的 `old_book_page.png` + +若缺少 OCR jar,只要把它放到專案的 `libs` 資料夾並加入 classpath 即可。就這樣簡單。 + +--- + +## 步驟 1 – 提升 OCR 準確度:設定引擎 + +在**處理影像 OCR**之前,我們需要一個全新的引擎實例。建立新的 `OcrEngine` 會得到一個乾淨的環境,確保不會帶入先前執行的設定。 + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*為什麼這很重要*:全新建立的引擎預設會關閉所有前置處理。這是刻意為之,我們只會啟用真正對特定影像有幫助的步驟,這也是**提升 OCR 準確度**的核心。 + +--- + +## 步驟 2 – 載入影像 OCR – 準備你的掃描檔 + +現在正式**載入影像 OCR**。`setImage` 方法需要一個指向磁碟檔案的 `OcrInputImage`。 + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +幾點說明: + +1. **支援格式** – 大多數函式庫接受 PNG、JPEG、BMP 與 TIFF。若是 PDF,請先將第一頁轉成影像。 +2. **路徑處理** – 使用絕對路徑可避免工作目錄變更時出現「找不到檔案」的問題。 + +--- + +## 步驟 3 – 去斜:校正旋轉頁面 + +許多掃描頁面並非完全水平。輕微的旋轉會嚴重影響辨識,因為 OCR 引擎預期文字行是水平的。啟用去斜功能會自動偵測並校正此旋轉。 + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**小技巧**:若事先知道旋轉角度(例如 90°),可以在送入引擎前手動旋轉影像 – 在大量批次作業時通常更快。 + +--- + +## 步驟 4 – 去噪:降低背景雜訊 + +舊文件常帶有紙張紋理、塵埃或壓縮雜訊。`setDenoiseLevel` 方法會套用平滑濾波,去除這些噪聲。對大多數掃描頁面而言,等級 2 是不錯的起點。 + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**為什麼有效**:噪聲會產生偽邊緣,讓 OCR 引擎誤認為是字元。清理影像後,我們**提升 OCR 準確度**,同時不會損失真正的字形。 + +--- + +## 步驟 5 – 提升對比度:讓文字更突出 + +若掃描件顏色黯淡,墨水與紙張的對比度低,引擎就難以分辨前景與背景。將對比度提升至 `1.4f`(增加 40 %)通常能解決問題。 + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*特殊情況*:對於極暗的影像,可將因子調高至 2.0,但要留意過度亮部會被截斷成純白,導致細節遺失。 + +--- + +## 步驟 6 – 執行 OCR 影像 – 核心處理步驟 + +所有前置作業的最終目標,就是在前處理好的影像上執行 OCR 引擎。 + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +在底層,引擎會依序完成分割、字元辨識與語言模型等階段。若需支援多語言,請在呼叫 `process()` 之前先於引擎上設定語言。 + +--- + +## 步驟 7 – 擷取掃描頁面文字 – 取得輸出 + +最後,我們從 `OcrResult` 取得辨識後的字串。將其印到主控台即可快速示範,亦可寫入檔案、資料庫,或送入後續的 NLP 流程。 + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**預期輸出**(為簡潔起見已截斷): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +若輸出仍顯雜亂,請重新檢視前置參數 – 有時提升去噪等級或調整對比因子即可產生顯著差異。 + +--- + +## 完整範例程式 + +以下提供一個完整、獨立的 Java 程式,你可以直接複製、貼上並執行。程式內已包含必要的 import、`main` 方法,以及說明每一步的註解。 + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +將此檔存為 `OcrAccuracyDemo.java`,使用 `javac` 編譯,然後以 `java` 執行。若環境配置正確,終端機會印出已清理的文字內容。 + +--- + +## 常見問題與特殊情況 + +**Q: 我的掃描頁面是彩色的 – 是否需要先轉成灰階?** +A: 大多數 OCR 引擎會在內部自動轉成灰階,但自行使用 `BufferedImage` 搭配 `ColorConvertOp` 轉換,可讓你更精細地控制演算法,特別是背景不均勻時。 + +**Q: 輸出仍有雜訊符號,該怎麼辦?** +A: 嘗試將 `setDenoiseLevel` 提升至 3,或將 `setContrastBoost` 調整為 1.6f。若問題仍在,考慮在 OCR 前先做**二值化**(binary threshold),許多函式庫提供 `setBinarization(true)` 選項。 + +**Q: 如何處理多頁 PDF?** +A: 先將每一頁轉成影像(例如使用 Apache PDFBox),然後在迴圈中逐頁處理,重複使用同一個 `OcrEngine` 實例,但每次迭代前重新設定影像。 + +--- + +## 結論 + +你已學會如何在 Java 中**提升 OCR 準確度**:正確**載入影像 OCR**、套用去斜、去噪與對比度提升,接著**執行 OCR 影像**,最後**擷取掃描頁面文字**。關鍵在於前置處理往往是提升辨識品質最有效的杠桿——一張處理得當的影像,正確字元率可提升一倍甚至三倍。 + +準備好進一步實驗了嗎?可以嘗試以下方向: + +- 為高度顆粒的掃描檔調整不同的去噪等級 +- 依據影像直方圖自動調整對比度提升 +- 在擷取後整合語言模型(例如拼寫檢查)以清理剩餘錯誤 + +這些延伸功能會讓你的 OCR 流程更完整,足以應付生產環境的需求。 + +如果遇到問題或有自己的小技巧,歡迎在下方留言。祝編程愉快,願你的文字永遠清晰可辨! + +## 接下來該學什麼? + +以下教學與本指南所示技巧密切相關,能幫助你進一步掌握 API 功能,並探索在專案中實作的其他方式。 + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/java/ocr-basics/_index.md b/ocr/hongkong/java/ocr-basics/_index.md index 5c8674999..17bb286c8 100644 --- a/ocr/hongkong/java/ocr-basics/_index.md +++ b/ocr/hongkong/java/ocr-basics/_index.md @@ -102,6 +102,9 @@ A: 超過 30 種語言,包括英文、西班牙文、中文、阿拉伯文等 ### [取得 Aspose.OCR 中文字區域的矩形框](./get-rectangles-with-text-areas/) 發掘 Aspose.OCR for Java 的強大功能,逐步學習如何無縫從影像中提取文字。本指南即刻下載,提升文字辨識效率。 +### [如何在 Java 中執行 OCR – 完整指南,從影像提取文字](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +深入了解在 Java 中使用 Aspose.OCR 完整流程,從設定到文字提取,提升影像辨識效果。 + --- **最後更新:** 2025-12-08 @@ -113,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/hongkong/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/hongkong/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..b315741ec --- /dev/null +++ b/ocr/hongkong/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-06-06 +description: 如何在 Java 中執行 OCR – 快速從圖片提取文字、將圖片轉換為文字,並使用簡單程式碼範例讀取 JPG 中的文字。 +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: zh-hant +og_description: 如何在 Java 中執行 OCR – 學習如何從圖像提取文字、將圖像轉換為文字,以及使用即用範例讀取 JPG 中的文字。 +og_title: 如何在 Java 中執行 OCR – 步驟指南 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: 如何在 Java 中執行 OCR – 完整指南:從圖像中提取文字 +url: /zh-hant/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 Java 中執行 OCR – 從圖像提取文字的完整指南 + +有沒有想過 **如何在手機拍攝的圖片上執行 OCR**?你並非唯一的疑問者。無論你是要打造收據掃描應用,或只是需要從掃描的 PDF 中提取文字,**如何在 Java 中執行 OCR**都是一項快速見效的技能。在本教學中,我們將示範一個實用範例,**從圖像檔案中提取文字**、**將圖像轉換為文字**,甚至展示如何僅用幾行程式碼 **從 jpg 讀取文字**。 + +> *小技巧:* 同樣的方法也適用於 PNG、BMP,或任何 OCR 引擎支援的格式——只要更換檔名即可。 + +## 在 Java 中執行 OCR – 概觀 + +光學字符辨識(OCR)是一項將字母圖片轉換為實際、可搜尋文字的技術。在 Java 生態系統中有多個函式庫——Tesseract、Asprise,以及商業 SDK——皆提供類似的工作流程:載入圖像、告訴引擎預期的語言、執行辨識,然後取得結果。以下我們將使用一個通用的 `OcrEngine` 類別來保持範例簡潔,但你可以替換成任何遵循相同模式的具體實作。 + +### 你將學會 + +- 安裝 OCR 函式庫(是的,**ocr in java** 比你想像的更簡單)。 +- 建立並設定 OCR 引擎實例。 +- 載入 JPG(或任何圖像)並設定語言。 +- 處理圖像並 **從圖像提取文字** 檔案。 +- 將辨識出的字串印到主控台。 + +完成後,你將擁有一個獨立的 Java 程式,可直接放入任何專案並立即執行。 + +![如何執行 OCR 範例](ocr-example.png "如何在 Java 中執行 OCR 示意圖") + +## 步驟 1 – 安裝並匯入 OCR 函式庫(ocr in java) + +在撰寫任何 Java 程式碼之前,你需要一個實際負責繁重工作的函式庫。如果你使用 Maven,請加入如下相依性(將 `com.example.ocr` 替換為你所選 SDK 的真實 group ID): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +如果你偏好 Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +將 JAR 放入 classpath 後,匯入你需要的類別: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **為何重要:** 正確匯入類別可避免 “cannot find symbol” 錯誤,讓 IDE 開心——在你嘗試 **將圖像轉換為文字** 時,缺少匯入是最令人沮喪的事。 + +## 步驟 2 – 建立 OCR 引擎實例(how to perform OCR) + +現在函式庫已就緒,啟動引擎。將引擎想像成會觀察像素並猜測字母的大腦。 + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +建立引擎通常成本不高;大多數 SDK 會延遲分配內部緩衝區,因此在批次處理多張圖像時,你可以安全地重複使用同一實例。 + +## 步驟 3 – 載入圖像並設定語言(extract text from image) + +下一步是提供給引擎可讀取的內容。此處我們從磁碟載入 JPEG,並告訴 OCR 引擎文字是蒙古語(ISO 639‑2 代碼 “mon”)。你可以依需求更改路徑或語言代碼。 + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **附註:** 若未設定語言,引擎預設為英語,當文字實際為西里爾字母或其他文字時,準確度會大幅下降。盡可能指定正確的語言。 + +## 步驟 4 – 處理圖像並取得結果(convert image to text) + +在圖像與語言設定完成後,請求引擎施展魔法。`process()` 呼叫會執行 OCR 演算法,並回傳包含辨識字串與信心分數的 `OcrResult` 物件。 + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +在背後,引擎可能會執行前處理——去斜、二值化、降噪——讓你不必自行編寫這些步驟。這也是為何大多數現代 OCR 函式庫在 **將圖像轉換為文字** 任務上使用起來如此愉快。 + +## 步驟 5 – 輸出提取的文字(read text from jpg) + +最後,從結果中取出純文字並加以利用。此示範僅將其印到主控台,但你也可以寫入檔案、送入搜尋索引,或傳遞給其他服務。 + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +僅此一行即證明你已成功 **從 jpg 讀取文字**(或任何支援的格式)。若輸出呈現亂碼,請再次確認語言代碼與圖像品質。 + +## 完整可執行範例(結合所有步驟) + +以下是一個完整、可直接執行的 Java 類別,將所有部份串接起來。將其複製到名為 `OcrDemo.java` 的檔案,調整圖像路徑與語言,然後執行 `javac OcrDemo.java && java OcrDemo`。 + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### 預期輸出 + +若 `input.jpg` 包含蒙古語短句 “Сайн байна уу?”,主控台將顯示: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +若圖像模糊或語言代碼錯誤,將看到亂碼或空字串——這些常見陷阱我們接下來會討論。 + +## 常見問題與解決方法 + +| 症狀 | 可能原因 | 解決方式 | +|---------|--------------|-----| +| 西里爾字元亂碼 | 語言代碼錯誤(預設為英語) | 設定 `ocrEngine.getSettings().setLanguage("mon")` 或相應的語言代碼。 | +| 完全沒有輸出 | 圖像路徑錯誤或檔案無法讀取 | 確認路徑、確保檔案存在且程式具有讀取權限。 | +| 準確度低 (<70 %) | 圖像對比度低或已旋轉 | 前處理圖像:提升對比度、去斜或轉為灰階後再送入引擎。 | +| `OutOfMemoryError` 發生於大型 PDF | 一次載入大量高解析度頁面 | 一次處理單頁,或在 OCR 前將圖像縮小。 | + +### 小技巧:批次處理 + +如果需要批量 **從圖像提取文字** 檔案,將核心邏輯包在迴圈中: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +此程式碼片段示範了從單一 JPG 擴展至整個資料夾掃描檔的簡易性。 + +## 更進一步 – 接下來可以探索什麼? + +- **語言套件:** 大多數 OCR SDK 允許下載額外的語言資料檔。新增語言套件可讓你 **將圖像轉換為文字**,支援除英語與蒙古語之外的其他語言。 +- **PDF OCR:** 結合此程式碼與 Apache PDFBox 以 + +## 接下來應該學什麼? + +以下教學涵蓋與本指南緊密相關的主題,建立在此處示範的技巧之上。每個資源皆提供完整可執行的程式碼範例與逐步說明,協助你精通更多 API 功能,並在自己的專案中探索替代實作方式。 + +- [提取圖像文字 – Aspose.OCR for Java 基礎](/ocr/english/java/ocr-basics/) +- [在 Java 中使用 Aspose.OCR BufferedImage 將圖像轉換為文字](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [使用 Aspose.OCR 以語言 OCR 圖像文字](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..dbd0d9a3b 100644 --- a/ocr/hongkong/java/ocr-operations/_index.md +++ b/ocr/hongkong/java/ocr-operations/_index.md @@ -82,6 +82,7 @@ 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 識別圖像文字。 +### [在 Java 中套用 Aspose OCR 授權 – 移除 OCR 水印](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) ## 常見問題 diff --git a/ocr/hongkong/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/hongkong/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..8e2cdf068 --- /dev/null +++ b/ocr/hongkong/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-06-06 +description: 在 Java 中套用 Aspose OCR 授權,即可立即解鎖全部功能並移除 OCR 水印。 +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: zh-hant +og_description: 在 Java 中套用 Aspose OCR 授權,即可消除評估限制,並移除掃描檔案上的 OCR 水印。 +og_title: 在 Java 中套用 Aspose OCR 授權 – 移除 OCR 水印 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: 在 Java 中套用 Aspose OCR 授權 – 移除 OCR 水印 +url: /zh-hant/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 在 Java 中套用 Aspose OCR 授權 – 移除 OCR 水印 + +有沒有想過如何在 Java 專案中 **套用 Aspose OCR 授權**,而不會碰到令人頭痛的評估版水印?你並不是唯一的使用者。當你試用免費版時,每張掃描的圖片都會被灰色的「Aspose Evaluation」覆蓋,甚至會讓最乾淨的文件看起來也不專業。 + +在本指南中,我們將逐步說明 **套用 Aspose OCR 授權** 的完整流程,驗證函式庫已完全解鎖,並展示水印如何自動消失。完成後,你即可對任何圖片(如收據、護照掃描或手寫筆記)執行 OCR,且不會出現醜陋的覆蓋層。 + +## 先決條件 + +在開始之前,請確保你已具備: + +- **Java Development Kit (JDK) 8** 或更新版本。 +- **Aspose OCR for Java** JAR 檔(從 Aspose 入口網站下載)。 +- 你的 **Aspose OCR 授權檔** (`Aspose.OCR.Java.lic`)。 +- 任一 IDE 或簡易文字編輯器(IntelliJ、Eclipse、VS Code——自行選擇)。 + +就這樣。無需額外的 Maven 外掛或 Gradle 設定,當然如果你願意之後也可以自行加入。 + +## 專案設定(快速概覽) + +1. 建立一個名為 `AsposeOCRDemo` 的新資料夾。 +2. 將 `aspose-ocr-*.jar` 檔案放入 `lib` 子資料夾。 +3. 把你的 `Aspose.OCR.Java.lic` 檔放在可存取的位置,例如 `resources/` 資料夾。 +4. 撰寫一個簡短的 `Main.java` 檔案——這裡就是魔法發生的地方。 + +如果你使用 IDE,只需把 JAR 加入專案的 classpath,並將 `resources` 資料夾標記為資源根目錄。若以指令列編譯,class 路徑大致會是: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +現在腳手架已就緒,讓我們進入重點。 + +## 步驟 1:**套用 Aspose OCR 授權** – 核心程式碼 + +首先必須告訴 Aspose OCR 引擎信任你的授權檔。若未呼叫此方法,函式庫會停留在評估模式,並持續在每個輸出上加上水印。 + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **為什麼這很重要:** `License` 類別是關卡守護者。只要 `setLicense` 成功,OCR 引擎就會從 *evaluation* 轉為 *full* 模式。所有平時會加入 **remove OCR watermark** 邏輯的內部檢查會被停用,從此不會再看到灰色覆蓋層。 +> +> **小技巧:** 將授權檔放在版本控制系統之外(例如環境專屬的資料夾),以免不小心提交。 + +## 步驟 2:驗證水印已移除 + +呼叫 `applyAsposeOcrLicense` 後,最好執行一次快速測試。以下程式碼會載入圖片、執行 OCR,並印出擷取的文字。若授權未生效,Aspose 會拋出例外或在輸出影像(若你保存視覺結果)中嵌入水印。 + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**預期輸出(摘錄):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +可見沒有任何評估水印的痕跡,這正是 **remove OCR watermark** 效果的實際展現。 + +## 步驟 3:常見陷阱與邊緣情況 + +### 1. 授權路徑錯誤 +若傳入錯誤的路徑給 `setLicense`,方法會靜默失敗,函式庫仍處於評估模式。務必檢查回傳值或捕捉例外,如 `LicenseUtil` 中所示。 + +### 2. 在基於 JAR 的部署中使用相對路徑 +將應用程式打包成可執行 JAR 時,檔案系統的相對路徑可能失效。較安全的做法是將授權檔以資源串流載入: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +將 `.lic` 檔放在 `src/main/resources`,讓它隨 classpath 一起打包。 + +### 3. 多執行緒情境 +若你的應用同時處理大量圖片,只需在 JVM 中 **一次** 套用授權。從多個執行緒重複呼叫 `setLicense` 只會產生極小的效能損耗,且不會造成錯誤。 + +### 4. 授權到期 +Aspose 授權通常為永久授權,但部分試用或限時授權會過期。過期後,引擎會回到評估模式,**remove OCR watermark** 的行為也會消失。請留意 Aspose 入口網站上授權的到期日。 + +## 步驟 4:在實務專案中自動套用授權 + +在正式的微服務中,你可能不想在程式碼各處散布 `LicenseUtil.applyAsposeOcrLicense`。較好的做法是於應用啟動時一次性初始化——例如 Spring Boot 的 `@PostConstruct` 方法或靜態初始化區塊。 + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +如此一來,所有使用 `OcrEngine` 的元件都可安全假設授權已啟用,確保整個服務都具備 **remove OCR watermark** 的保證。 + +## 步驟 5:測試授權整合 + +自動化測試可驗證水印確實已移除。以下是一個簡易的 JUnit 測試範例: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +執行此測試即可確保你的部署管線不會意外產出未授權的建置。 + +## 視覺概覽(可選) + +如果你喜歡圖形化的說明,以下是一張流程示意圖: + +![在 Java 中套用 Aspose OCR 授權](apply-aspose-ocr-license.png "在 Java 中套用 Aspose OCR 授權") + +*Alt text: 在 Java 中套用 Aspose OCR 授權 – 示意圖顯示授權載入後 OCR 處理不會產生水印。* + +## 結論 + +我們已完整說明在 Java 環境中 **套用 Aspose OCR 授權** 的所有步驟,並直接達成 **remove OCR watermark** 的效果。從建立 `License` 物件、處理路徑細節、驗證結果,到將其整合至大型應用程式,每一步皆說明「為什麼」而不僅是「怎麼做」。 + +現在,你可以將 Aspose OCR 整合到任何 Java 專案,且确信使用者永遠不會看到那個令人分心的評估標籤。 + +### 接下來的步驟? + +- **探索語言套件:** Aspose OCR 支援超過 70 種語言,只需設定相應的 `OcrEngine` 屬性。 +- **結合 Aspose PDF:** 直接將掃描圖轉換為可搜尋的 PDF,且不會有水印。 +- **效能調校** + +## 接下來該學什麼? + +以下教學與本指南所示技巧緊密相關,能幫助你進一步掌握 API 功能,並在自己的專案中探索其他實作方式。每個資源皆提供完整可執行的程式碼範例與逐步說明。 + +- [如何在 Java 中設定與驗證 Aspose.OCR 授權](/ocr/english/java/ocr-basics/set-license/) +- [使用 Aspose OCR 文字辨識 – 完整 Java OCR 教學](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [使用 Aspose OCR Java 計算傾斜角度 – 完整指南](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..249f287f1 100644 --- a/ocr/hungarian/java/advanced-ocr-techniques/_index.md +++ b/ocr/hungarian/java/advanced-ocr-techniques/_index.md @@ -35,7 +35,7 @@ Fedezze fel az Aspose.OCR for Java erejét az OCR végrehajtásáról szóló ú ## [Téglalapok előkészítése OCR-hez az Aspose.OCR-ben](./prepare-rectangles-for-ocr/) -Hatékonyan készítsen téglalapokat az OCR-hez az Aspose.OCR for Java segítségével átfogó útmutatónk segítségével. Fejlessze Java-alkalmazásait a szövegfelismerésben rejlő lehetőségek teljes kihasználásával. Kövesse a lépésről lépésre szóló utasításokat a zökkenőmentes integráció és a továbbfejlesztett OCR-képesség érdekében. +Hatékonyan készítsen téglalapokat az OCR-hez az Aspose.OCR for Java segítségével átfogó útmutatónk segítségével. Fejlessze Java-alkalmazásait a szövegfelismerésben rejlő lehetőségek teljes kihasználásával. Kövesse a lépésről‑lépésre szóló utasításokat a zökkenőmentes integráció és a továbbfejlesztett OCR-képesség érdekében. ## [Vonalak felismerése az Aspose.OCR for Java-ban](./recognize-lines/) @@ -43,7 +43,9 @@ Engedélyezze Java-alkalmazásait az Aspose.OCR segítségével a pontos szöveg ## [Engedélyezett karakterek megadása az Aspose.OCR-ben](./specify-allowed-characters/) -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. +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 Java OCR-ben – Teljes lépésről‑lépésre útmutató](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) ## Következtetés @@ -54,16 +56,26 @@ 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 Java OCR-ben – Teljes lépésről‑lépésre útmutató](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Ismerje meg, hogyan használhatja a GPU-t az Aspose.OCR for Java-ban a teljesítmény növeléséhez, részletes lépésekkel. +### [Szöveg kinyerése beolvasott képből Java-ban – Teljes Aspose OCR útmutató](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Könnyedén nyerjen ki szöveget beolvasott képekről Java-ban az Aspose.OCR teljes útmutatójával. Javítsa alkalmazásai OCR képességét. +### [Aspose OCR Java példa – Teljes útmutató a kép betöltéséhez, helyesírás‑javításhoz és OCR feldolgozáshoz](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +### [Az OCR pontosságának javítása Java-ban – Teljes útmutató](./improve-ocr-accuracy-in-java-complete-guide/) +Fedezze fel, hogyan növelheti az OCR pontosságát Java-ban részletes lépésekkel és tippekkel. +### [Kereshető PDF létrehozása Java-ban – Teljes Aspose OCR útmutató](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Készítsen kereshető PDF-et Java-val az Aspose OCR segítségével, lépésről‑lépésre útmutató a teljes folyamathoz. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/hungarian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..9cdbd3522 --- /dev/null +++ b/ocr/hungarian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,177 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java példa, amely bemutatja, hogyan töltsük be a kép OCR-jét, + javítsuk az OCR hibákat, állítsunk be egyedi szótárat, és néhány lépésben dolgozzuk + fel a kép OCR-jét. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: hu +og_description: Aspose OCR Java példa, amely betölt egy képet, javítja az OCR hibákat, + egyéni szótárat állít be, és hatékonyan dolgozza fel a kép OCR-ét. +og_title: Aspose OCR Java példa – Kép betöltése, helyesírási javítás és OCR feldolgozása +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java példa – Teljes útmutató a kép betöltéséhez, helyesírási javításhoz + és OCR feldolgozáshoz +url: /hu/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java példa – Teljes útmutató a kép betöltéséhez, helyesírási javításhoz és OCR feldolgozáshoz + +Valaha szükséged volt egy **Aspose OCR Java példára**, amely tényleg működik azonnal? Nem vagy egyedül – a fejlesztők gyakran egy homályos képernyőképre bámulnak, és azon tűnődnek, miért olyan rendetlen a kinyert szöveg. A jó hír, hogy az Aspose OCR motor már beépített helyesírási javítással érkezik, és akár saját szószedetet is csatlakoztathatsz. Ebben az útmutatóban végigvezetünk a kép OCR betöltésén, a javítási funkció engedélyezésén, opcionálisan egy egyéni szótár beállításán, és végül a kép OCR feldolgozásán, hogy tiszta, olvasható szöveget kapj. + +Rá fogunk térni, miért lehet hasznos a **OCR hibák javítása**, hogyan **töltsük be a kép OCR-t** hatékonyan, a **set custom dictionary** hívás előnyeire, és hogy néz ki a vég‑től‑végig **process image OCR** folyamat. A végére egy teljesen futtatható Java programot kapsz, amelyet bármely Maven vagy Gradle projektbe beilleszthetsz. + +--- + +## Amire szükséged lesz + +- Java 8 vagy újabb (az API Java 11+‑vel is működik) +- Aspose.OCR for Java könyvtár (töltsd le a legújabb JAR-t az Aspose weboldaláról, vagy add hozzá Maven függőségként) +- Egy szöveget tartalmazó képfájl (lehetőleg beolvasott dokumentum vagy egy bizonyos zajjal rendelkező képernyőkép) +- Opcionálisan egy egyszerű szöveges szótárfájl, ha **set custom dictionary**‑t szeretnél használni domain‑specifikus kifejezésekhez + +Ennyi—nincs nehéz OCR motor, nincs natív függőség, csak egyetlen JAR és néhány sor kód. + +## 1. lépés: Aspose OCR Java példa – Kép OCR betöltése + +Az első dolog, amit tenned kell, egy `OcrEngine` példány létrehozása, és rámutatni arra a fájlra, amelyet elemezni szeretnél. Gondolj rá úgy, mint egy könyv kinyitására, mielőtt elkezdenéd olvasni. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Miért fontos:** A `setImage` hívás a **load image OCR** szíve. Érvényes kép nélkül a motornak nincs mit felismert, és egy üres karakterláncot vagy kivételt kapsz. + +![aspose ocr java example loading image](image.png){alt="aspose ocr java példa kép betöltése"} + +## 2. lépés: Helyesírási javítás engedélyezése az OCR hibák javításához + +Az Aspose OCR alapértelmezés szerint bekapcsolt helyesírási javítással érkezik, de sosem árt egyértelműen beállítani – különösen, ha egy **aspose ocr java példát** mutatsz be. Ennek a funkciónak az engedélyezése drámaian csökkenti az olyan értelmetlen szövegeket, mint a „t1e” vagy a „rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tipp:** Ha észreveszed, hogy a motor még mindig hibásan ismer fel bizonyos szavakat, ellenőrizd a nyelvi beállításokat, vagy adj hozzá egy egyéni szótárat (következő lépés). + +A helyesírási javítás engedélyezése a leggyorsabb módja a **correct OCR errors** elérésének anélkül, hogy extra kódot írnál. + +## 3. lépés: Egyéni szótár beállítása a jobb pontosságért + +Néha az alapértelmezett szótár nem ismeri az iparágspecifikus zsargont – gondolj orvosi kifejezésekre, termékkódokra vagy márkanevekre. Itt jön képbe a **set custom dictionary**. Adj meg egy egyszerű szöveges fájlt, soronként egy szóval, és az OCR motor ezeket a bejegyzéseket érvényesnek tekinti a javítás során. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Mikor érdemes használni:** Ha számlákat dolgozol fel, és a cégnevek állandóan eltorzulnak, egy egyéni szótár, amely ezeket a neveket tartalmazza, sokkal megbízhatóbbá teszi a **process image OCR** szakaszt. + +## 4. lépés: Kép OCR feldolgozása és a szöveg lekérése + +Miután a motor be van állítva, itt az ideje ténylegesen futtatni a felismerést. A `process` metódus végzi el a nehéz munkát – felismeri a szövegdobozokat, alkalmazza a helyesírási javítást, és visszaad egy `OcrResult` objektumot. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Mit fogsz látni:** A konzol egy tiszta, ember által olvasható karakterláncot ír ki. Ha kihagytad volna a helyesírási javítást, valószínűleg furcsa karaktereket látnál, ezért a korábbi engedélyezése kulcsfontosságú a **correct OCR errors** érdekében. + +## 5. lépés: Példa futtatása és a kimenet ellenőrzése + +Fordítsd le és futtasd a osztályt a kedvenc IDE-dben vagy a parancssorból: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Valami ilyesmit kell látnod: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Ha a kimenet még mindig hibás írásmódot tartalmaz, próbáld meg hozzáadni ezeket a szavakat az egyéni szótáradhoz, és futtasd újra a **process image OCR** lépést. + +## Gyakori buktatók és hogyan kerüld el őket + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Üres kimenet** | A képfájl útvonala hibás vagy a formátum nem támogatott | Ellenőrizd az útvonalat, használj PNG/JPEG formátumot, és győződj meg róla, hogy a fájl olvasható | +| **Felesleges karakterek** | A helyesírási javítás le van tiltva vagy alacsony minőségű a kép | Engedélyezd a `setEnableSpellCorrection(true)`-t és fontold meg a kép előfeldolgozását (kontraszt növelése) | +| **Domain‑specifikus szavak még mindig hibásak** | Nincs egyéni szótár | Használd a `setCustomDictionary`-t egy olyan fájllal, amely tartalmazza a kifejezéseidet | +| **Memóriahiányos hibák** | Nagyon nagy képek betöltése méretezés nélkül | Méretezd át a képet, mielőtt átadod az `OcrEngine`-nek | + +## A példa bővítése + +Miután egy stabil **aspose ocr java példával** rendelkezel, lehet, hogy szeretnéd: + +- **Kötegelt feldolgozás** egy mappában lévő képekhez, a fájlneveken iterálva és ugyanazt a `OcrEngine` példányt újrahasználva. +- **Elrendezési információk kinyerése** (táblázatok, oszlopok) a `ocrResult.getPages()` használatával a fejlettebb dokumentumelemzéshez. +- **Integráció az Apache PDFBox-szal**, hogy a felismert szöveget visszaágyazd egy PDF-be. + +Mindezek a kiterjesztések ugyanazon alaplépésekre épülnek, amelyeket bemutattunk: kép OCR betöltése, javítás engedélyezése, opcionálisan egyéni szótár beállítása, és kép OCR feldolgozása. + +## Következtetés + +Most egy teljes **aspose ocr java példát** építettél, amely betölti a képet, engedélyezi a helyesírási javítást a **correct OCR errors** érdekében, opcionálisan **set custom dictionary**, és végül **process image OCR**, hogy tiszta szöveget kapjon. A kód rövid, a koncepciók világosak, és most már van egy alapod, amelyet bővíthetsz kötegelt feladatokra, UI integrációkra vagy akár felhő mikro‑szolgáltatásokra. + +Mi a következő? Próbáld meg alacsony felbontású fotóval táplálni a motort, adj hozzá egy termék‑SKU listát az egyéni szótáradhoz, és nézd meg, hogyan javul a pontosság. Minél többet kísérletezel, annál jobban megérted a képminőség, a szótár mérete és a feldolgozási sebesség közötti kompromisszumokat. + +Nyugodtan írj egy megjegyzést, ha elakadsz vagy ötleteid vannak további fejlesztésekhez. Boldog kódolást! + +## Mit érdemes legközelebb megtanulni? + +A következő oktatóanyagok szorosan kapcsolódó témákat fednek le, amelyek a jelen útmutatóban bemutatott technikákra épülnek. Minden forrás tartalmaz teljesen működő kódrészleteket lépésről‑lépésre magyarázatokkal, hogy segítsenek elsajátítani további API funkciókat és alternatív megvalósítási megközelítéseket a saját projektjeidben. + +- [Hogyan állíts be licencet és ellenőrizd az Aspose.OCR licencet Java-ban](/ocr/english/java/ocr-basics/set-license/) +- [Hogyan OCR-elj képszöveget nyelvvel az Aspose.OCR használatával](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java példa – Sorok felismerése képeken](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/hungarian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..955f6ed06 --- /dev/null +++ b/ocr/hungarian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Készíts kereshető PDF-et Java-val az Aspose OCR használatával. Tanulja + meg, hogyan nyerjen ki szöveget PDF-ből, növelje az OCR pontosságát, és hatékonyan + dolgozzon többoldalas PDF-ekkel. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: hu +og_description: Készíts kereshető PDF-et Java-val az Aspose OCR használatával. Ez + az útmutató végigvezet a PDF-ből történő szövegkivonáson, az OCR pontosságának növelésén + és a többoldalas PDF-ek kezelésén. +og_title: Kereshető PDF létrehozása Java-ban – Teljes Aspose OCR útmutató +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Kereshető PDF létrehozása Java-ban – Teljes Aspose OCR útmutató +url: /hu/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Kereshető PDF létrehozása Java-ban – Teljes Aspose OCR útmutató + +Valaha is elgondolkodtál, hogyan lehet **kereshető PDF** fájlokat közvetlenül Java-ból anélkül, hogy tucatnyi parancssori eszközzel kellene bajlódni? Nem vagy egyedül. Sok fejlesztő akad el, amikor beolvasott PDF-eket kell szövegkereshető dokumentumokká alakítani, különösen ha a forrás PDF-ek több oldalasak. + +Ebben az útmutatóban egy teljes, futtatható példán keresztül mutatjuk be, hogyan **hozzunk létre kereshető PDF** fájlokat, valamint azt, hogyan **nyerjünk ki szöveget PDF‑ből**, **növeljük az OCR pontosságát**, és hogyan kezeljünk egy **OCR többoldalas PDF** munkafolyamatot az Aspose OCR könyvtár segítségével. A végére egy stabil, termék‑kész 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 JDK 17 a legoptimálisabb) +- Maven vagy Gradle a `aspose-ocr` függőség lehívásához +- Egy minta többoldalas PDF (ezt `sample_multi_page.pdf`‑nek hívjuk) +- Egy szerény GPU vagy legalább többmagos CPU, ha párhuzamos feldolgozást szeretnél engedélyezni + +Nem szükséges további natív könyvtár – az Aspose OCR mindent magában tart, amire szükséged van. + +--- + +## Kereshető PDF létrehozása – Lépésről‑lépésre megvalósítás + +Az alábbiakban a folyamatot logikai egységekre bontjuk. Minden szakasz saját H2 címmel rendelkezik, így közvetlenül arra a részre ugorhatsz, amelyik érdekel, és a kulcsszó már a címben is megjelenik. + +### 1. lépés: A projekt beállítása és az Aspose OCR importálása + +Először add hozzá az Aspose OCR Maven artefaktumot a `pom.xml`‑hez. Ha Gradle‑t részesíted előnyben, az ekvivalens kódrészlet a megjegyzésekben található. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tipp:** Tartsd naprakészen a függőségeket; az újabb kiadások gyakran hoznak pontosságjavulást, ami közvetlenül segít **növelni az OCR pontosságát**. + +### 2. lépés: A többoldalas PDF betöltése az OCR motorba + +Most létrehozunk egy `OcrEngine` példányt, és betápláljuk a feldolgozni kívánt PDF‑et. A motor belsőleg minden oldalt képként kezel, ezért ez a megközelítés működik egy **ocr multi page pdf** szcenárióban. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Miért fontos:** A PDF egyszeri betöltése és a motorra bízott oldalkezelés elkerüli a manuális oldal‑kivonásból eredő terhelést, így időt és memóriát takarít meg. + +### 3. lépés: Haladó funkciók engedélyezése a **OCR pontosság növeléséhez** + +Az Aspose OCR számos beállítást kínál. A GPU gyorsítás, a szálak számának növelése és a több nyelv megadása mind jobb felismerési arányt eredményez, különösen zajos beolvasások esetén. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Mi van, ha nincs GPU‑m?** Egyszerűen állítsd be a `setUseGpu(false)`‑t; a motor CPU‑only módra vált vissza, miközben továbbra is profitál a többmagos feldolgozásból. + +### 4. lépés: Képek előfeldolgozása a jobb eredményekért + +Az előfeldolgozó lépések, mint a ferdekorrekció, zajszűrés és kontraszt növelés drámaian **növelik az OCR pontosságát** a beolvasott dokumentumokon. Olyan, mintha egy nyers köveket csiszolnád meg a faragás előtt. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Miért ezek a beállítások?** A `2` szintű zajszűrés a legtöbb beolvasott PDF‑hez jól működik, míg egy mérsékelt kontraszt növelés (1,3×) kiemeli a halvány tintát anélkül, hogy a háttér elmosódna. + +### 5. lépés: A kimenet konfigurálása kereshető PDF generálásához + +Az Aspose OCR képes a felismert szövegréteget közvetlenül egy PDF‑be beágyazni, így egy lapos képfájlt **kereshető PDF**‑vé alakítva. Ez a „hogyan készítsünk kereshető PDF‑t” kérdés központja, amelyet sok fejlesztő feltesz. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Amikor a `setGenerateSearchablePdf(true)` be van kapcsolva, a könyvtár egy láthatatlan szövegréteget hoz létre, amely tükrözi a vizuális tartalmat, így a végső dokumentum bármely PDF‑olvasóban kereshető lesz. + +### 6. lépés: OCR futtatása és az eredmény mentése + +Most ténylegesen feldolgozzuk a dokumentumot, és kiírjuk a kimeneti fájlt. A `process` metódus egy `OcrResult` objektumot ad vissza, amely tartalmazza mind a kereshető PDF‑et, mind a kinyert egyszerű szöveget. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### 7. lépés: (Opcionális) **Szöveg kinyerése PDF‑ből** az azonnali használathoz + +Ha a nyers szövegre is szükséged van – indexelés, analitika vagy egyszerűen egy weboldalon való megjelenítés céljából – közvetlenül a `OcrResult`‑ból nyerheted ki. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Mit fogsz látni:** A konzol kiírja az összes oldal összefűzött szövegét, ahol csak lehetséges, megőrizve a sortöréseket. Ez teljesíti a **extract text from pdf** követelményt anélkül, hogy második átfutásra lenne szükség. + +--- + +## Vizuális áttekintés + +Az alábbi egyszerű folyamatábra minden lépést a megfelelő kódrészlethez kapcsol, segít megérteni, hogyan halad a bemeneti PDF az előfeldolgozáson, az OCR‑en, és végül kereshető dokumentummá alakul. + +![Kereshető PDF folyamatábra](https://example.com/flow-diagram.png "Kereshető PDF folyamatábra") + +*Az alt szöveg tartalmazza a fő kulcsszót a kép SEO‑optimalizálás érdekében.* + +--- + +## Gyakori kérdések és szélhelyzetek + +| Kérdés | Válasz | +|----------|--------| +| **Feldolgozhatok-e 100 MB‑nál nagyobb PDF‑eket?** | Igen, de érdemes az oldalakat streamelni a teljes fájl memóriába töltése helyett. Az Aspose OCR belsőleg kezeli az oldalak lapozását, de nagyon nagy fájlok esetén érdemes növelni a JVM heap‑et (`-Xmx4g`). | +| **Mi van, ha a PDF‑ben kézírásos jegyzetek vannak?** | A kézírás felismerése alapértelmezés szerint nincs engedélyezve. Átállhatsz a `setLanguage("eng,mon,handwritten")`‑re, ha a könyvtár verziója támogatja, bár a pontosság változó lehet. | +| **Szükségem van licencre az Aspose OCR‑hez?** | Ideiglenes értékelő licenc elegendő a teszteléshez. Termelésben kereskedelmi licencre van szükség a vízjelek eltávolításához és a teljes teljesítmény kihasználásához. | +| **Hogyan tilthatom le a helyesírás‑javítást?** | Hívd meg a `ocr.getSettings().setEnableSpellCorrection(false);`‑t – ez hasznos, ha a nyers OCR‑kimenetre van szükséged forenzikai célokra. | +| **Kötelező-e a GPU támogatás?** | Nem. A könyvtár elegánsan visszatér a CPU‑ra. Azonban a GPU akár 60 %-kal is csökkentheti a feldolgozási időt nagy, többoldalas dokumentumok esetén. | + +--- + +## Teljes működő példa (másolás‑beillesztés kész) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Várható kimenet** + +- `output_searchable.pdf` – egy PDF, ahol a Ctrl + F‑et használva megtalálhatod a beolvasott képeken megjelenő bármely szót. +- Konzol‑log – az eredeti PDF teljes szöveges tartalma, tökéletes indexeléshez vagy további elemzéshez. + +--- + +## Következtetés + +Most bemutattuk, hogyan **hozzunk létre kereshető PDF** fájlokat Java‑ban az Aspose OCR segítségével, miközben megmutattuk, hogyan **nyerjünk ki szöveget PDF‑ből**, **növeljük az OCR pontosságát**, és hatékonyan kezeljünk egy **OCR többoldalas PDF** munkafolyamatot. A fenti kódrészlet készen áll a projektedbe való beillesztésre, a magyarázatok pedig bizalmat adnak a beállítások saját igényeidhez való finomhangolásához. + +Mi a következő lépés? Kísérletezz egyedi betűtípus‑beágyazással, adj hozzá OCR‑generált könyvjelzőket, vagy integráld a kimenetet egy keresőmotorral, például az Elasticsearch‑kel. Mindegyik téma visszautal a másodlagos kulcsszavainkra – *hogyan készítsünk kereshető PDF‑t* és *növeljük az OCR pontosságát* – így világos útmutatót kapsz a mélyebb felfedezéshez. + +Oszd meg tapasztalataidat vagy tegyél fel további kérdéseket a megjegyzésekben. Jó kódolást, és élvezd a statikus beolvasott anyagok teljesen kereshető, szöveggel gazdag PDF‑vé alakítását! + +## Mit érdemes legközelebb megtanulni? + +Az alábbi oktatóanyagok szorosan kapcsolódó témákat fednek le, amelyek a jelen útmutatóban bemutatott technikákra épülnek. Minden forrás komplett, működő kódrészleteket és lépésről‑lépésre magyarázatokat tartalmaz, hogy könnyedén elsajátíthasd az API további funkcióit, illetve alternatív megvalósítási megközelítéseket a saját projektjeidben. + +- [PDF szöveg felismerése – OCR műveletek Aspose.OCR for Java használatával](/ocr/english/java/ocr-operations/) +- [PDF dokumentumok OCR felismerése Aspose.OCR for Java-ban](/ocr/english/java/ocr-operations/recognize-pdf/) +- [PDF dokumentumok OCR felismerése Aspose.OCR for Java-ban (spanyol)](/ocr/spanish/java/ocr-operations/recognize-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/hungarian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/hungarian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..6cf92d663 --- /dev/null +++ b/ocr/hungarian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,272 @@ +--- +category: general +date: 2026-06-06 +description: Kinyerhet szöveget a beolvasott képből az Aspose OCR for Java használatával. + Tanulja meg, hogyan ismerje fel a szöveget tiff fájlokból párhuzamos feldolgozással. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: hu +og_description: Szöveg kinyerése beolvasott képből az Aspose OCR-rel. Ez az útmutató + bemutatja, hogyan lehet hatékonyan felismerni a szöveget TIFF-fájlokból Java használatával. +og_title: Szöveg kinyerése beolvasott képből – Aspose OCR Java útmutató +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Szöveg kinyerése beolvasott képből Java-ban – Teljes Aspose OCR útmutató +url: /hu/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Képről szöveg kinyerése – Teljes Aspose OCR útmutató + +Valaha is kellett **képről szöveget kinyerni**, de elakadtál a „hogyan?” kérdésben? Nem vagy egyedül. Legyen szó régi archívumok digitalizálásáról, számlák adatainak kinyeréséről vagy kereshető PDF könyvtár építéséről, a megbízható szöveg kinyerése egy TIFF beolvasásból gyakran nehézkes feladat. + +Jó hír: az Aspose OCR for Java-val **tiff fájlokból szöveget ismerhetsz fel** néhány sor kóddal, sőt még nagyobb sebességet is elérhetsz, ha a motor csak néhány CPU magra korlátozod. Ebben a bemutatóban végigvezetünk a teljes folyamaton – a könyvtár beállításától az eredmény kezeléséig – hogy azonnal másolhass és beilleszthess egy működő példát. + +## Mit fed le ez a bemutató + +- Aspose OCR for Java telepítése (Maven vagy kézi JAR) +- Nagy méretű beolvasott TIFF kép betöltése +- A motor konfigurálása legfeljebb 4 szál használatára (párhuzamos OCR) +- OCR folyamat futtatása és a kinyert szöveg kiírása +- Gyakori buktatók (memória, többoldalas TIFF-ek) és azok elkerülése +- Gyors teljesítmény tipp: mikor érdemes finomhangolni a `setMaxThreads`‑t + +A végére **megbízhatóan ki tudod nyerni a szöveget a beolvasott képfájlokból**, és megérted, miért fontos a szálak számának beállítása, amikor **tiff‑ből szöveget ismersz fel** egy termelési környezetben. + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Előfeltételek + +Mielőtt belevágnánk, győződj meg róla, hogy rendelkezel a következőkkel: + +1. **Java Development Kit (JDK) 8+** – bármely friss verzió megfelelő. +2. **Maven** (vagy a JAR‑ok kézi hozzáadása) – a egyszerűség kedvéért Maven‑t használunk. +3. **Aspose OCR for Java** licenc (az ingyenes értékelő verzió is működik, de vízjelet ad). +4. **Nagy méretű TIFF beolvasás** (pl. `large_scan.tif`), amelyet feldolgozni szeretnél. + +Ha valamelyik pont ismeretlennek tűnik, ne aggódj – minden lépést alább részletezünk. + +## 1. lépés: Aspose OCR hozzáadása a projekthez + +### Maven felhasználók + +Add hozzá a következő függőséget a `pom.xml`‑hez: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Kézi JAR beállítás + +Töltsd le a legújabb `aspose-ocr-xx.jar`‑t az Aspose weboldaláról, és helyezd el a classpath‑on. + +> **Pro tipp:** Tedd a JAR‑t egy `libs/` mappába, és hivatkozz rá az IDE projektbeállításaiban. Így elkerülheted a későbbi „class not found” hibákat. + +## 2. lépés: Egyszerű Java osztály létrehozása + +Hozz létre egy `ParallelOcrDemo.java` nevű fájlt a forráskönyvtáradban (`src/main/java`). Ez az osztály tartalmazni fogja az egész OCR munkafolyamatot. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Miért korlátozzuk a szálakat:** Alapértelmezés szerint az Aspose OCR megpróbálja az összes magot használni, ami egy megosztott gépen más szolgáltatásokat elnyomhat. A `setMaxThreads(4)` beállítás azt mondja a motornak, hogy legfeljebb négy párhuzamos munkavégzőt indítson – ez a legtöbb modern CPU‑n már jelentős gyorsulást eredményez anélkül, hogy a forrásokat kizárólag az OCR-re fordítaná. + +## 3. lépés: Fordítás és futtatás + +Nyiss egy terminált a projekt gyökerében, és hajtsd végre: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Ha nem Maven‑t használsz, fordítsd a `javac`‑vel és futtasd: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Várható kimenet + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +A konzol a beolvasott oldal(ak) szövegét jeleníti meg egyszerű szövegként. Ha a kép több oldalt tartalmaz, az Aspose OCR a szövegeket sorrendben összefűzi. + +## 4. lépés: Többoldalas TIFF‑ek kezelése (szélsőséges eset) + +Gyakori eset egy **többoldalas TIFF** – például egy beolvasott könyv. Alapértelmezés szerint az `OcrInputImage` csak az első keretet olvassa be. Az összes oldal feldolgozásához használd az `OcrInputImage`‑t `FileInputStream`‑mel, és engedélyezd a többoldalas támogatást: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Most az `ocrEngine.process()` egyetlen `OcrResult`‑ot ad vissza, amely az összes oldal szövegét tartalmazza. + +## 5. lépés: Felismerési pontosság finomhangolása + +Ha **torz karaktereket** vagy hiányzó szavakat észlelsz, próbáld ki a következő beállításokat: + +| Beállítás | Mit csinál | Mikor érdemes használni | +|-----------|------------|------------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Angol nyelvi modellt kényszerít (gyorsabb, pontosabb angol beolvasásoknál) | A dokumentum egynyelvű, angol | +| `ocrEngine.getSettings().setResolution(300)` | Alacsony felbontású képeket felskáláz a felismerés előtt | 200 DPI alatti beolvasások | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Megpróbálja eltávolítani a szórásokat és hibákat | Erősen zajos beolvasások | + +Példa kódrészlet: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## 6. lépés: Eredmények exportálása fájlba + +A konzolra írás jó demókhoz, de a termelési kódban általában valahová hasznos helyre kell menteni a kimenetet: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Most már van egy egyszerű szövegfájlod, amelyet betáplálhatsz keresőindexbe, adatbázisba vagy egy downstream analitikai csővezetékbe. + +--- + +## Gyakran Ismételt Kérdések (GYIK) + +**K: Működik ez PNG vagy JPEG fájlokkal is?** +A: Természetesen. Az `OcrInputImage` bármilyen formátumot elfogad, amelyet a Java ImageIO képes beolvasni. Csak cseréld ki a fájlkiterjesztést az útvonalban. + +**K: A szerveremen 8 mag van – állítsam `setMaxThreads(8)`‑ra?** +A: Beállíthatod, de ne feledd, hogy más szolgáltatások is igényelhetnek CPU‑ciklusokat. Egy jó szabály: „összes mag – 1” dedikált OCR munkavégzők esetén. + +**K: Mit tegyek, ha az OCR eredmény üres?** +A: Ellenőrizd, hogy a kép ne legyen teljesen fehér, hogy a megfelelő nyelvet állítottad‑e be, és hogy a felbontás legalább 200 DPI legyen. Az alacsony minőségű beolvasások gyakran igényelnek előfeldolgozást (kiegyenesítés, kontraszt növelés) az Aspose OCR‑hez való átadás előtt. + +--- + +## Összegzés + +Most **kivettük a szöveget a beolvasott képfájlokból** az Aspose OCR for Java segítségével, és tudod, hogyan **tiff‑ből szöveget ismerj fel** hatékonyan párhuzamos feldolgozással. A teljes kód a fenti kódrészletekben található, és azonnal beillesztheted a saját projektedbe. + +### Mi a következő lépés? + +- **Kötegelt feldolgozás**: Egy könyvtárban lévő TIFF‑ek bejárása, minden eredmény külön fájlba mentése. +- **Integráció Elasticsearch‑kel**: Indexeld a kinyert szöveget a gyors teljes szöveges kereséshez. +- **Nyelvfelismerés hozzáadása**: Használd az `OcrLanguage.AutoDetect`‑et többnyelvű dokumentumokhoz. + +Kísérletezz ezekkel az ötletekkel, és hamarosan a hegyeknyi beolvasott papírmunka kereshető, felhasználható adatokká alakul. + +Boldog kódolást, és nyugodtan írj kommentet, ha elakadsz! + +## Mit érdemes még tanulni? + +Az alábbi oktatóanyagok szorosan kapcsolódó témákat fednek le, amelyek a jelen útmutatóban bemutatott technikákra épülnek. Minden forrás komplett, működő kódrészleteket és lépésről‑lépésre magyarázatokat tartalmaz, hogy könnyedén elsajátíthasd az API további funkcióit és alternatív megvalósítási módokat a saját projektjeidben. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/hungarian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..28855b42d --- /dev/null +++ b/ocr/hungarian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-06-06 +description: Hogyan engedélyezzük a GPU-t a Java OCR-ben, és hogyan nyerjünk ki szöveget + JPEG fájlokból. Kövesse ezt a Java OCR példát a kép szöveggé alakításához GPU gyorsítással. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: hu +og_description: Hogyan engedélyezzük a GPU-t a Java OCR-ben, és azonnal kinyerhetünk + szöveget JPEG képekből. Ez az útmutató egy teljes Java OCR példát mutat be GPU-gyorsított + OCR-rel. +og_title: Hogyan lehet engedélyezni a GPU-t a Java OCR-ben – Teljes programozási útmutató +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Hogyan engedélyezzük a GPU-t a Java OCR-ben – Teljes lépésről lépésre útmutató +url: /hu/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-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 a Java OCR‑ben – Teljes lépésről‑lépésre útmutató + +Valaha is elgondolkodtál **hogyan engedélyezheted a GPU‑t** az optikai karakterfelismeréshez Java‑ban? Nem vagy egyedül – a fejlesztők gyakran kérdezik: „Gyorsíthatom‑e az OCR‑t anélkül, hogy mindent újraírnék?” A rövid válasz igen, a részletes válasz pedig itt van. Ebben a tutorialban egy **java ocr example**‑t mutatunk be, amely **szöveget nyer ki JPEG** fájlokból, **képet konvertál szöveggé**, és **GPU‑gyorsított OCR‑t** használ a villámgyors eredményekért. + +Először beállítjuk az Aspose OCR könyvtárat, betöltünk egy mint JPEG‑et, bekapcsoljuk a GPU‑támogatást, futtatjuk a motort, majd kiírjuk a felismert szöveget. A végére egy újrahasználható kódrészletet kapsz, amit bármely Java projektbe beilleszthetsz, valamint néhány tippet, amelyek megakadályozzák a gyakori buktatókat. Nincs felesleges szöveg, csak a lényeg, amire szükséged van a kezdéshez. + +## Prerequisites + +Mielőtt belevágnánk, győződj meg róla, hogy a következők telepítve vannak: + +* Java 8 vagy újabb (a kód standard API‑kat használ, így bármely friss JDK megfelelő). +* Kompatibilis GPU naprakész driverekkel – a legtöbb modern NVIDIA/AMD kártya megfelel. +* Az Aspose.OCR for Java könyvtár (letölthető a Maven Central‑ról vagy az Aspose weboldaláról). +* Egy JPEG kép, amelyen OCR‑t szeretnél futtatni – nevezzük `sample.jpg`‑nak. + +Ennyi. Ha valamelyik ismeretlennek tűnik, állj meg, és telepítsd a hiányzó elemet; a további útmutató feltételezi, hogy már mind megvan. + +## How to enable GPU in Java OCR – Overview + +Az alábbi gyors áttekintés mutatja, mit fogunk elérni: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Gondolj a GPU‑ra, mint egy turbófeltöltőre az OCR motorod számára – ahelyett, hogy a CPU minden pixel‑ről‑pixel elemzést végezne, a grafikus kártya párhuzamosan veszi át a nehéz munkát. Az eredmény? Gyorsabb feldolgozási idők, különösen nagy felbontású szkenneléseknél. + +## Step 1: Set Up the Project and Import Aspose OCR + +Először is, hozz létre egy új Maven projektet (vagy Gradle‑t, ha azt részesíted előnyben). Add hozzá az Aspose OCR függőséget: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Ha nem Maven‑t használsz, töltsd le a JAR‑t az Aspose‑tól, és add hozzá a classpath‑hoz. Ez a lépés minden **java ocr example** alapja, ezért ellenőrizd, hogy a könyvtár helyesen feloldódik. + +## Step 2: Load the JPEG Image (Extract Text from JPEG) + +Most írunk kódot egy JPEG fájl beolvasásához. Az `OcrInputImage` osztály egy útvonalat fogad, és ezt átadjuk az `OcrEngine`‑nek. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Miért fontos:** A kép helyes betöltése az első lépés minden **convert image to text** munkafolyamatban. Ha az útvonal hibás, a motor kivételt dob még a GPU szakasz elérése előtt. + +## Step 3: Enable GPU Acceleration (How to Enable GPU) + +Itt jön a tutorial középpontja – a GPU támogatás bekapcsolása. Az `OcrSettings` objektum egy `setUseGpu` jelzőt biztosít. Állítsd `true`‑ra, és már használhatod is. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tipp:** Ellenőrizd, hogy a GPU driver naprakész legyen. Elavult driverek gyakran okozzák, hogy a `setUseGpu(true)` hívás csendben sikertelen, és csak CPU‑s teljesítményt kapsz. + +## Step 4: Run the OCR Engine (Java OCR Example) + +Miután a kép betöltődött és a GPU engedélyezve van, indítsd el az OCR folyamatot. A motor egy `OcrResult` objektumot ad vissza, amely a felismert szöveget tartalmazza. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +A háttérben az Aspose a képet csempékre bontja, ezeket a GPU‑ra küldi párhuzamos inferenciához, majd az eredményeket újra összefűzi. Ez teszi a **gpu accelerated ocr** élményt jelentősen gyorsabbá, mint az alap CPU útvonal. + +## Step 5: Output the Recognized Text (Convert Image to Text) + +Végül írd ki az eredményt a konzolra. Egy valós alkalmazásban valószínűleg fájlba vagy adatbázisba írnád, de demonstrációként egy egyszerű `System.out.println` is elég. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Expected Output + +Tegyük fel, hogy a `sample.jpg` a „Hello, World!” szöveget tartalmazza, akkor a következőt kell látnod: + +``` +Recognized text: +Hello, World! +``` + +Ha a kép összetettebb (több sor, táblázatok stb.), a kimenet sortöréseket és szóközöket fog tartalmazni, amelyek tükrözik az eredeti elrendezést. Ez az Aspose OCR motor szépsége – megőrzi a struktúrát, miközben a képet szöveggé konvertálja. + +## Full Working Example + +Összegezve, itt a teljes, futtatható program: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Mentsd el `GpuOcrDemo.java`‑ként, fordítsd `javac`‑vel, és futtasd `java`‑val. Ha minden helyesen van beállítva, a konzol villámgyorsan megjeleníti a kinyert szöveget. + +## Common Questions & Edge Cases + +### 1. My GPU isn’t being used – what gives? + +* **Ellenőrizd a driver verziót** – a régebbi driverek nem biztos, hogy biztosítják a szükséges számítási képességeket. +* **Győződj meg a GPU támogatásról** – az Aspose CUDA‑kompatibilis NVIDIA vagy OpenCL‑kompatibilis AMD kártyát igényel. Ha egy laptopon a dedikált GPU le van tiltva, engedélyezd a BIOS‑ban vagy a grafikus vezérlőpulton. +* **Nézd meg a naplókat** – az Aspose debug sort ír, amikor a GPU mód aktív. Engedélyezd a naplózást a `ocr.getSettings().setLogLevel(LogLevel.Debug)`‑el. + +### 2. The OCR result is garbled on a low‑resolution image. + +* **Előfeldolgozás** – méretezd át legalább 300 dpi‑re, alkalmazz kontrasztjavítást, vagy konvertáld szürkeárnyalatba, mielőtt a motorba adod. +* **Beállítások finomhangolása** – módosíthatod például `ocr.getSettings().setLanguage(OcrLanguage.English)`‑t vagy engedélyezheted a `setUseLanguageDetection(true)`‑t a pontosság növeléséhez. + +### 3. Can I process multiple images in a batch? + +Természetesen. Csomagold a betöltési és feldolgozási blokkokat egy ciklusba, és használd ugyanazt az `OcrEngine` példányt. Ne felejtsd el a `ocr.reset()` hívást az iterációk között, hogy töröld az előző képet. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Does GPU acceleration work on headless servers? + +Igen, amennyiben a szerveren van támogatott GPU és a megfelelő driverek. Linuxon előfordulhat, hogy telepítened kell a `nvidia‑utils` csomagot, és a `CUDA` eszközkészletnek a `PATH`‑ban kell lennie. + +## Pro Tips for Production‑Ready GPU OCR + +* **A batch mérete számít** – nagyobb képek jobban profitálnak a GPU párhuzamosságából. Ha apró ikonokat dolgozol fel, a GPU‑átvitel overheadje meghaladhatja a nyereséget. +* **Memóriakezelés** – a GPU‑knak korlátozott VRAM‑je van. Nagyon nagy PDF‑ek vagy több‑megapixeles szkennelések esetén oszd fel a képet kisebb csempékre kézzel. +* **Hibakezelés** – tedd az OCR hívást try‑catch blokkba, és ha `UnsupportedOperationException` keletkezik, térj vissza CPU módra (`setUseGpu(false)`). + +## Conclusion + +Most már tudod, **hogyan engedélyezd a GPU‑t** egy **java ocr example**‑ben, megmutattuk, hogyan **szöveget nyerj ki JPEG** fájlokból, és bemutattuk, hogyan **konvertálj képet szöveggé** az Aspose **gpu accelerated OCR** motorjával. A fenti kódrészlet készen áll arra, hogy bármely Java projektbe beilleszd, a mellékelt tippek pedig segítenek elkerülni a szokásos fejfájásokat. + +Mi a következő lépés? Próbálj ki nyelvi csomagokat, kísérletezz különböző képformátumokkal (PNG, TIFF), vagy integráld a kimenetet egy keresőindexbe. A határ csak a képzeleted, ha OCR‑t a GPU erejével párosítod. + +További kérdéseid vannak a GPU‑gyorsított OCR‑rel kapcsolatban, vagy segítségre van szükséged a beállítások finomhangolásában? Hagyj egy megjegyzést, és jó kódolást! + +![Hogyan engedélyezd a GPU‑t a Java OCR példában](https://example.com/images/gpu-ocr-java.png "Hogyan engedélyezd a GPU‑t a Java OCR") + +## What Should You Learn Next? + +Az alábbi tutorialok szorosan kapcsolódó témákat fednek le, amelyek a jelen útmutató technikáira építenek. Minden forrás komplett, működő kódpéldákat tartalmaz lépésről‑lépésre magyarázatokkal, hogy segítsenek további API‑funkciók elsajátításában és alternatív megvalósítási megközelítések felfedezésében saját projektjeidben. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/hungarian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..00f643591 --- /dev/null +++ b/ocr/hungarian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-06-06 +description: Javítsa az OCR pontosságát Java-ban egy lépésről‑lépésre útmutatóval, + amely megmutatja, hogyan töltsön be képet OCR-hez, hogyan dolgozza fel a képet OCR-rel, + és hogyan nyerjen ki hatékonyan szöveget a szkennelt oldalról. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: hu +og_description: Növelje az OCR pontosságát Java-ban egy gyakorlati példával. Tanulja + meg, hogyan töltsön be képet OCR-hez, előfeldolgozza, és hajtson végre OCR-t a képen + a szkennelt oldal szövegének kinyeréséhez. +og_title: Az OCR pontosságának javítása Java-ban – Teljes útmutató +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Az OCR pontosságának javítása Java-ban – Teljes útmutató +url: /hu/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java-ban az OCR pontosságának javítása – Teljes útmutató + +Gondolkodtál már azon, hogyan **javítható az OCR pontossága**, ha régi könyvszkennel vagy homályos nyugtákkal dolgozol? Nem vagy egyedül. Sok valós projektben az OCR motor nyers kimenete titokzatos káoszként jelenik meg, és ez általában azért van, mert a képet nem előfeldolgozták megfelelően, mielőtt **perform OCR image**-t hajtanál végre. + +Ebben az útmutatóban egy gyakorlati Java példán keresztül mutatjuk be, hogyan kell **load image OCR**-t végrehajtani, néhány okos előfeldolgozási lépést alkalmazni, **process image OCR**-t végrehajtani, és végül **extract text scanned page**-t tiszta eredménnyel kinyerni. A végére nem csak azt fogod tudni, *mit* kell kódolni, hanem azt is, *miért* fontos minden egyes sor a felismerési minőség növeléséhez. + +## Mit fogsz megtanulni + +- Hogyan hozhatsz létre OCR motor példányt Java-ban +- A helyes módja a **load image OCR** betöltésének a lemezről +- Miért elengedhetetlenek a ferde javítás, zajcsökkentés és kontraszt növelés a **improve OCR accuracy** érdekében +- Hogyan kell **perform OCR image**-t végrehajtani és lekérni a felismert szöveget +- Tippek különböző képarányok és szélsőséges esetek kezelésére + +Külső dokumentációra nincs szükség – minden, amire szükséged van, itt található, és a teljes, futtatható kód a végén szerepel. + +## Előfeltételek + +- Java 17 (vagy bármely friss JDK) telepítve a gépeden +- Egy OCR könyvtár, amely biztosítja az `OcrEngine`, `OcrInputImage` és `OcrResult` osztályokat (a példa egy általános API-t használ; szükség esetén cseréld le a saját gyártód jar-jára) +- Egy beolvasott kép (PNG, JPEG vagy TIFF), amelyen OCR-t szeretnél futtatni – a bemutatóhoz a `old_book_page.png` fájlt használjuk, amely a `YOUR_DIRECTORY` nevű mappában található + +Ha hiányzik az OCR jar, egyszerűen helyezd a projekt `libs` mappájába, és add hozzá a classpath-hoz. Ennyire egyszerű. + +--- + +## 1. lépés – OCR pontosságának javítása: Motor beállítása + +Mielőtt **process image OCR**-t végrehajthatnánk, szükségünk van egy friss motor példányra. Egy új `OcrEngine` létrehozása tiszta lapot biztosít, elkerülve a korábbi futásokból maradt beállításokat. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Miért fontos*: Egy frissen létrehozott motor alapértelmezés szerint letiltott előfeldolgozással indul. Ez szándékos – csak azokat a lépéseket akarjuk engedélyezni, amelyek valóban segítik a konkrét képet, ami a **improve OCR accuracy** sarokköve. + +--- + +## 2. lépés – Kép betöltése OCR-hez – A szkennelés előkészítése + +Most ténylegesen **load image OCR**-t hajtunk végre. A `setImage` metódus egy `OcrInputImage`-t vár, amely a lemezen lévő fájlra mutat. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +**Támogatott formátumok** – a legtöbb könyvtár elfogadja a PNG, JPEG, BMP és TIFF formátumokat. Ha PDF-ed van, először konvertáld az első oldalt képpé. +**Útvonal kezelése** – abszolút útvonal használata elkerüli a “file not found” hibát, amikor a munkakönyvtár megváltozik. + +--- + +## 3. lépés – Ferde javítás: Elforgatott oldalak kiegyenesítése + +Sok beolvasott oldal nem teljesen vízszintes. Egy kis elforgatás megbéníthatja a felismerést, mivel az OCR motor a szövegsorokat vízszintnek várja. A ferde javítás engedélyezése automatikusan felismeri és korrigálja ezt az elforgatást. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tipp**: Ha előre tudod a forgási szöget (pl. 90°), manuálisan elfordíthatod a képet, mielőtt a motorba adod – gyakran gyorsabb kötegelt feladatoknál. + +--- + +## 4. lépés – Zajcsökkentés: Háttérzaj csökkentése + +A régi dokumentumok gyakran tartalmaznak papírtextúrát, port vagy tömörítési hibákat. A `setDenoiseLevel` metódus egy szűrőt alkalmaz, amely kisimítja ezt a zajt. A 2-es szint jó kiindulási pont a legtöbb beolvasott oldalhoz. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Miért segít**: A zaj hamis éleket hoz létre, amelyeket az OCR motor karakterként értelmezhet. A kép tisztításával **improve OCR accuracy**-t érünk el anélkül, hogy a tényleges glifformákat feláldoznánk. + +--- + +## 5. lépés – Kontraszt növelése: A szöveg kiemelése + +Ha a szkennelés elhalványult, a tinta és a papír közötti kontraszt alacsony, és a motor nehezen tudja megkülönböztetni az előtér és a háttér elemeit. Egy szerény `1.4f` (40 % növekedés) kontraszt növelés általában megoldja a problémát. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Szélsőséges eset*: Nagyon sötét képek esetén egy magasabb tényező (akár 2.0-ig) hasznos lehet, de vigyázz a levágásra – a túl fényes területek tiszta fehérvé válhatnak, ezzel elpusztítva a finom részleteket. + +--- + +## 6. lépés – OCR kép végrehajtása – A fő feldolgozási lépés + +Minden előkészítés erre a sorra vezet: a OCR motor tényleges futtatása az előfeldolgozott képen. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +A motor a háttérben szegmentálási, karakterfelismerési és nyelvi modell szakaszokat hajt végre. Ha több nyelvre van szükséged, állítsd be őket a motoron **mielőtt** meghívod a `process()`-t. + +--- + +## 7. lépés – Szkennelt oldal szövegének kinyerése – Az eredmény lekérése + +Végül kinyerjük a felismert karakterláncot az `OcrResult`-ból. A konzolra való kiírás elegendő egy gyors demóhoz, de akár fájlba, adatbázisba is írhatod, vagy továbbíthatod egy downstream NLP csővezetékbe. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Várható kimenet** (rövidítve a tömörség kedvéért): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Ha a kimenet még mindig kusza, nézd át újra az előfeldolgozási paramétereket – néha egy magasabb zajcsökkentési szint vagy egy másik kontraszt tényező jelentős különbséget eredményez. + +--- + +## Teljes működő példa + +Az alábbiakban a teljes, önálló Java program található, amelyet másolhatsz, beilleszthetsz és futtathatsz. Tartalmazza a szükséges importokat, egy `main` metódust, és beágyazott megjegyzéseket, amelyek tisztázzák az egyes lépéseket. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Mentsd el `OcrAccuracyDemo.java` néven, fordítsd le `javac`-vel, és futtasd `java`-val. Ha minden helyesen van beállítva, a tisztított szöveget a terminálon fogod látni. + +--- + +## Gyakori kérdések és szélsőséges esetek + +**K: A szkennelt oldalam színes – először szürkeárnyalatúra kell konvertálni?** +V: A legtöbb OCR motor belsőleg szürkeárnyalatúra konvertál, de ha magad végzed (pl. `BufferedImage` és `ColorConvertOp` használatával), finomabb irányítást kapsz a konverziós algoritmus felett, különösen ha a háttér nem egységes. + +**K: A kimenet még mindig tartalmaz idegen szimbólumokat. Mi legyen?** +V: Próbáld meg növelni a `setDenoiseLevel` értékét 3-ra vagy állítsd be a `setContrastBoost`-ot 1.6f-ra. Ha a probléma továbbra is fennáll, fontold meg egy **bináris küszöb** (binarizálás) alkalmazását OCR előtt – sok könyvtár `setBinarization(true)` opciót kínál. + +**K: Hogyan kezeljem a többoldalas PDF-eket?** +V: Konvertáld minden oldalt képpé (például Apache PDFBox használatával), majd iterálj az oldalakon, újra felhasználva ugyanazt az `OcrEngine` példányt, de minden iterációban állítsd vissza a képet. + +--- + +## Összegzés + +Most megtanultad, hogyan **javítható az OCR pontossága** Java-ban a helyes **load image OCR** alkalmazásával, a ferde javítás, zajcsökkentés és kontraszt növelés után, majd **perform OCR image**, végül **extract text scanned page**. A fő tanulság, hogy az előfeldolgozás gyakran a leghatékonyabb eszköz a felismerési minőség növelésére – egy jól előkészített kép megduplázhatja vagy akár háromszorozhatja a helyes karakterek arányát. + +Készen állsz a következő lépésre? Próbálj ki kísérleteket a következőkkel: + +- Különböző zajcsökkentési szintek erősen szemcsés szkennelésekhez +- Adaptív kontraszt növelés képhistogram elemzés alapján +- Nyelvi modell integrálása (pl. helyesírás-ellenőrzés) a kinyerés után a maradék hibák tisztításához + +Ezek a kiegészítések mélyítik az OCR folyamatot, és elég robusztusá teszik a termelési feladatokhoz. + +Ha elakadsz, vagy van egy saját trükköd, hagyj megjegyzést alább. Boldog kódolást, és legyen a szöveged mindig olvasható! + +## Mit érdemes legközelebb megtanulni? + +Az alábbi oktatóanyagok szorosan kapcsolódó témákat fednek le, amelyek a jelen útmutatóban bemutatott technikákra épülnek. Minden forrás teljes működő kódpéldákat tartalmaz lépésről‑lépésre magyarázatokkal, hogy elsajátíthasd a további API funkciókat és alternatív megvalósítási megközelítéseket a saját projektjeidben. + +- [Hogyan OCR-elj képszöveget nyelvvel az Aspose.OCR használatával](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Szöveg kinyerése képből Java-val az Aspose.OCR Detect Areas mód használatával](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [Szöveg felismerése képen az Aspose OCR-rel – Teljes Java OCR útmutató](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/java/ocr-basics/_index.md b/ocr/hungarian/java/ocr-basics/_index.md index 8e8e844a2..59ffd74bb 100644 --- a/ocr/hungarian/java/ocr-basics/_index.md +++ b/ocr/hungarian/java/ocr-basics/_index.md @@ -101,6 +101,8 @@ 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. +### [Hogyan hajtsunk végre OCR-t Java-ban – Teljes útmutató a képek szöveggé alakításához](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Teljes körű útmutató az OCR végrehajtásához Java-ban, a képek szöveggé alakításának minden lépésével. --- @@ -113,4 +115,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/hungarian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..f3417122a --- /dev/null +++ b/ocr/hungarian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-06-06 +description: Hogyan végezzünk OCR-t Java-ban – gyorsan szöveget nyerjünk ki képből, + konvertáljuk a képet szöveggé, és olvassuk el a szöveget JPG-ből egy egyszerű kódrészlet + segítségével. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: hu +og_description: hogyan hajtsunk végre OCR-t Java-ban – tanulja meg, hogyan nyerjen + ki szöveget képből, konvertálja a képet szöveggé, és olvassa el a szöveget jpg-ből + egy kész példával. +og_title: Hogyan végezzünk OCR-t Java-ban – Lépésről lépésre útmutató +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Hogyan végezzünk OCR-t Java-ban – Teljes útmutató a képekből szöveg kinyeréséhez +url: /hu/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan végezzünk OCR-t Java-ban – Teljes útmutató a képekből történő szöveg kinyeréséhez + +Gondolkodtál már azon, **how to perform OCR** a telefonoddal készített képen? Nem vagy egyedül. Akár egy nyugták beolvasását végző alkalmazást építesz, akár csak szöveget kell kinyerned egy beolvasott PDF-ből, a **how to perform OCR** Java-ban egy olyan készség, amely gyorsan megtérül. Ebben a tutorialban egy gyakorlati példán keresztül vezetünk, amely **extracts text from image** fájlokból, **converts image to text**, és még azt is megmutatja, hogyan **read text from jpg** csak néhány kódsorral. + +> *Pro tipp:* Ugyanez a megközelítés működik PNG, BMP vagy bármely, az OCR motor által támogatott formátummal – csak cseréld ki a fájlnevet. + +## Hogyan végezzünk OCR-t Java-ban – Áttekintés + +Az Optikai Karakterfelismerés (OCR) egy olyan technológia, amely a betűket ábrázoló képeket valós, kereshető szöveggé alakítja. A Java ökoszisztémában több könyvtár is létezik – Tesseract, Asprise és kereskedelmi SDK-k – amelyek hasonló munkafolyamatot kínálnak: betölt egy képet, megadja a motor számára a várt nyelvet, futtatja a felismerést, és lekéri az eredményt. Az alábbiakban egy általános `OcrEngine` osztályt használunk, hogy a példát tisztán tartsuk, de bármely konkrét megvalósítással helyettesítheted, amely követi ugyanazt a mintát. + +### Mit fogsz megtanulni + +- Telepíts egy OCR könyvtárat (igen, **ocr in java** könnyebb, mint gondolnád). +- Hozz létre és konfigurálj egy OCR motor példányt. +- Tölts be egy JPG-t (vagy bármilyen képet), és állítsd be a nyelvet. +- Feldolgozd a képet és **extract text from image** fájlokból. +- Írd ki a felismert karakterláncot a konzolra. + +A végére egy önálló Java programod lesz, amelyet bármely projektbe beilleszthetsz és azonnal futtathatsz. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## 1. lépés – OCR könyvtár telepítése és importálása (ocr in java) + +Mielőtt egyetlen Java sort is írnál, szükséged van egy könyvtárra, amely ténylegesen elvégzi a nehéz munkát. Ha Maven-t használsz, adj hozzá egy függőséget így (cseréld le a `com.example.ocr`-t a választott SDK valódi csoportazonosítójára): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Ha inkább Gradle-t használsz: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Miután a JAR a classpath-on van, importáld a szükséges osztályokat: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Miért fontos:** A megfelelő osztályok importálása megakadályozza a „cannot find symbol” hibákat, és boldoggá teszi az IDE-det – semmi sem frusztrálóbb, mint egy hiányzó import, amikor **convert image to text** próbálsz. + +## 2. lépés – OCR motor példány létrehozása (how to perform OCR) + +Most, hogy a könyvtár készen áll, indítsd el a motort. Tekintsd a motort az agynak, amely a pixeleket nézve kitalálja a betűket. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +A motor létrehozása általában olcsó; a legtöbb SDK belső puffereket lusta módon allokál, így biztonságosan újra felhasználhatod ugyanazt a példányt sok kép esetén, ha kötegelt feldolgozást végzel. + +## 3. lépés – Kép betöltése és nyelv beállítása (extract text from image) + +A következő lépés, hogy adjunk a motorhoz valamit, amit olvashat. Itt egy JPEG-et töltünk be a lemezről, és megmondjuk az OCR motornak, hogy a szöveg mongol (ISO 639‑2 kód: “mon”). A útvonalat vagy a nyelvkódot módosíthatod a saját felhasználási esetedhez. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Megjegyzés:** Ha nem állítasz be nyelvet, a motor alapértelmezés szerint angolt használ, ami drámaian csökkentheti a pontosságot, ha a szöveg valójában cirill vagy más írásrendszer. Mindig add meg a helyes nyelvet, ha lehetséges. + +## 4. lépés – Kép feldolgozása és az eredmény lekérése (convert image to text) + +Miután a kép és a nyelv be van állítva, kérd meg a motort, hogy végezze el a varázslatot. A `process()` hívás lefuttatja az OCR algoritmust, és egy `OcrResult` objektumot ad vissza, amely a felismert karakterláncot és a megbízhatósági pontszámokat tartalmazza. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +A háttérben a motor előfeldolgozást végezhet – kiegyenesítés, binarizálás, zajcsökkentés – így neked nem kell ezeket a lépéseket megírnod. Ezért a legtöbb modern OCR könyvtár öröm használni **convert image to text** feladatokhoz. + +## 5. lépés – Kinyert szöveg kiírása (read text from jpg) + +Végül vedd ki a nyers szöveget az eredményből, és használd fel valami hasznosra. Ebben a demóban egyszerűen a konzolra nyomtatjuk, de fájlba is írhatod, keresőindexbe betáplálhatod, vagy egy másik szolgáltatásnak átadhatod. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Ez a sor önmagában bizonyítja, hogy sikeresen **read text from jpg** (vagy bármely támogatott formátum). Ha a kimenet torznak tűnik, ellenőrizd újra a nyelvkódot és a kép minőségét. + +## Teljes működő példa (Minden lépés egyben) + +Az alábbiakban egy teljes, azonnal futtatható Java osztály található, amely minden részt összekapcsol. Másold be egy `OcrDemo.java` nevű fájlba, állítsd be a kép útvonalát és a nyelvet, majd futtasd a `javac OcrDemo.java && java OcrDemo` parancsot. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Várható kimenet + +Ha az `input.jpg` a mongol „Сайн байна уу?” kifejezést tartalmazza, a konzol a következőt fogja mutatni: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Ha a kép elmosódott vagy a nyelvkód hibás, torz karaktereket vagy egy üres karakterláncot fogsz látni – gyakori hibák, amelyeket a következőkben tárgyalunk. + +## Gyakori hibák és megoldások + +| Symptom | Likely Cause | Fix | +|---------|--------------|-----| +| Torz Cyrillic karakterek | Helytelen nyelvkód (alapértelmezett angol) | Állítsd be `ocrEngine.getSettings().setLanguage("mon")` vagy a megfelelő kódot. | +| Egyáltalán nem jelenik meg kimenet | A kép útvonala hibás vagy a fájl nem olvasható | Ellenőrizd az útvonalat, győződj meg róla, hogy a fájl létezik, és a folyamatnak olvasási jogosultsága van. | +| Alacsony pontosság (<70 %) | A kép alacsony kontrasztú vagy elfordított | Előfeldolgozd a képet: növeld a kontrasztot, kiegyenesítsd, vagy konvertáld szürkeárnyalatossá, mielőtt a motorhoz adnád. | +| `OutOfMemoryError` nagy PDF-eken | Sok nagy felbontású oldal betöltése egyszerre | Dolgozd fel az oldalakat egyenként, vagy méretezd le a képeket OCR előtt. | + +### Pro tipp: Kötetes feldolgozás + +Ha nagy mennyiségben kell **extract text from image** fájlokat feldolgozni, csomagold a fő logikát egy ciklusba: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Ez a kódrészlet bemutatja, milyen egyszerű skálázni egyetlen JPG-ról egy teljes mappa beolvasására. + +## Továbbfejlesztés – Mit érdemes még felfedezni? + +- **Language Packs:** A legtöbb OCR SDK lehetővé teszi további nyelvi adatfájlok letöltését. Új csomag hozzáadásával **convert image to text** olyan nyelvekhez, amelyek túlmutatnak az angolon és a mongolon. +- **PDF OCR:** Kombináld ezt a kódot az Apache PDFBox-szal, hogy + +## Mit érdemes legközelebb megtanulni? + +A következő tutorialok szorosan kapcsolódó témákat fednek le, amelyek a jelen útmutatóban bemutatott technikákra épülnek. Minden forrás tartalmaz teljes működő kódpéldákat lépésről‑lépésre magyarázatokkal, hogy segítsenek elsajátítani további API funkciókat és alternatív megvalósítási megközelítéseket a saját projektjeidben. + +- [Képek szövegének kinyerése – OCR alapok Aspose.OCR Java-hoz](/ocr/english/java/ocr-basics/) +- [Kép konvertálása szöveggé Java-ban az Aspose.OCR BufferedImage használatával](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Hogyan OCR-eljünk képszöveget nyelvvel az Aspose.OCR használatával](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..6e654f823 100644 --- a/ocr/hungarian/java/ocr-operations/_index.md +++ b/ocr/hungarian/java/ocr-operations/_index.md @@ -83,6 +83,8 @@ 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ó. +### [Aspose OCR licenc alkalmazása Java-ban – OCR vízjel eltávolítása](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Tanulja meg, hogyan alkalmazzon licencet az Aspose OCR Java-ban, és távolítsa el a vízjelet a kimeneti képekről. ## Gyakran Ismételt Kérdések diff --git a/ocr/hungarian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/hungarian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..976eec2d5 --- /dev/null +++ b/ocr/hungarian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-06-06 +description: Az Aspose OCR licenc alkalmazása Java-ban a teljes funkciók feloldásához + és az OCR vízjel azonnali eltávolításához. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: hu +og_description: Alkalmazza az Aspose OCR licencet Java-ban, hogy megszüntesse a kiértékelési + korlátokat és eltávolítsa az OCR vízjelet a szkennekről. +og_title: Aspose OCR licenc alkalmazása Java-ban – OCR vízjel eltávolítása +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Aspose OCR licenc alkalmazása Java-ban – OCR vízjel eltávolítása +url: /hu/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR licenc alkalmazása Java-ban – OCR vízjel eltávolítása + +Gondolkodtál már azon, hogyan **alkalmazhatod az Aspose OCR licencet** egy Java projektben anélkül, hogy a rettegett értékelő vízjelre bukkannál? Nem vagy egyedül. Amint kipróbálod az ingyenes próbaverziót, minden beolvasott kép megkapja azt a szürke „Aspose Evaluation” átfedést, ami még a legkorszerűbb dokumentumot is professzionálissá teheti. + +Ebben az útmutatóban lépésről lépésre bemutatjuk, hogyan **alkalmazhatod az Aspose OCR licencet**, hogyan ellenőrizheted, hogy a könyvtár teljesen fel van oldva, és megmutatjuk, hogyan tűnik el automatikusan a vízjel. A végére képes leszel OCR-t futtatni bármilyen képen – legyen az egy nyugta, útlevél szkennelés vagy kézírásos jegyzet – anélkül, hogy a csúnya átfedés megjelenne. + +## Előfeltételek + +- **Java Development Kit (JDK) 8** vagy újabb telepítve. +- **Aspose OCR for Java** JAR fájl (letöltés az Aspose portálról). +- A saját **Aspose OCR licencfájlod** (`Aspose.OCR.Java.lic`). +- Egy IDE vagy egyszerű szövegszerkesztő (IntelliJ, Eclipse, VS Code – a te választásod). + +Ennyi. Nem szükséges extra Maven plugin vagy Gradle trükk, bár később nyugodtan hozzáadhatod, ha szeretnéd. + +## Projekt beállítása (Gyors áttekintés) + +1. Hozz létre egy új mappát `AsposeOCRDemo` néven. +2. Tedd a `aspose-ocr-*.jar` fájlt egy `lib` alkönyvtárba. +3. Helyezd el a `Aspose.OCR.Java.lic` fájlodat egy elérhető helyre, például a `resources/` mappába. +4. Írj egy kis `Main.java` fájlt – itt történik a varázslat. + +Ha IDE-t használsz, egyszerűen add hozzá a JAR-t a projekt classpath-jához, és jelöld meg a `resources` mappát resources rootként. Ha a parancssorból fordítod, a classpath valahogy így néz ki: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Most, hogy a váz készen áll, térjünk rá a lényegre. + +## 1. lépés: **Aspose OCR licenc alkalmazása** – A fő kód + +Az első dolog, amit meg kell tenned, hogy elmondd az Aspose OCR motornak, hogy bízzon a licencfájlodban. Enélkül a hívás nélkül a könyvtár értékelő módban marad, és minden kimenethez hozzáadja a vízjelet. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Miért fontos:** A `License` osztály a kapuőr. Amint a `setLicense` sikeres, az OCR motor *értékelő* módról *teljes* módra vált. Minden belső ellenőrzés, amely általában a **remove OCR watermark** logikát hozzáadja, letiltásra kerül, így többé nem fogod látni a szürke átfedést. +> +> **Pro tipp:** Tartsd a licencfájlt a forráskód verziókezelésen kívül (pl. egy környezet‑specifikus mappában), hogy elkerüld a véletlen commit-okat. + +## 2. lépés: Ellenőrizd, hogy a vízjel eltűnt-e + +Miután meghívtad a `applyAsposeOcrLicense`-t, jó gyakorlat egy gyors tesztet futtatni. Az alábbi kódrészlet betölt egy képet, OCR-t hajt végre, és kiírja a kinyert szöveget. Ha a licenc nincs aktív, az Aspose kivételt dob vagy vízjelet ágyaz be a kimeneti képbe (ha vizuális eredményt mentesz). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Várható kimenet (részlet):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Figyeld meg, hogy sehol nincs említés az értékelő vízjelnél. Ez a **remove OCR watermark** hatás működés közben. + +## 3. lépés: Gyakori hibák és széljegyek + +### 1. Hibás licencút +Ha hibás útvonalat adsz meg a `setLicense`-nek, a metódus csendben meghiúsul, és a könyvtár értékelő módban marad. Mindig ellenőrizd a visszatérési értéket vagy kezeld a kivételt, ahogy a `LicenseUtil`‑ben látható. + +### 2. Relatív útvonal használata JAR‑alapú telepítésnél +Amikor az alkalmazásodat futtatható JAR‑ként csomagolod, a relatív fájlrendszer‑útvonalak hibásak lehetnek. Egy biztonságosabb megközelítés, ha a licencet erőforrás‑streamként töltöd be: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Helyezd a `.lic` fájlt a `src/main/resources` könyvtárba, hogy a classpath‑ra kerüljön. + +### 3. Többszálú helyzetek +Ha az alkalmazásod sok képet dolgoz fel egyszerre, a licencet csak **egyszer** kell alkalmazni JVM‑enként. A `setLicense` többszöri hívása több szálból kis teljesítménycsökkenést okozhat, de nem fog semmit tönkretenni. + +### 4. Licenc lejárása +Az Aspose licencek általában örökösek, de néhány próba vagy időkorlátos licenc lejárhat. Ilyenkor a motor visszatér az értékelő módba, és a **remove OCR watermark** viselkedés eltűnik. Figyeld a licenc lejárati dátumát az Aspose portálon. + +## 4. lépés: Licenc alkalmazás automatizálása valós projektekben + +Egy éles mikroservice esetén valószínűleg nem szeretnéd szórni a `LicenseUtil.applyAsposeOcrLicense` hívásokat a kódbázisban. Ehelyett egyszer inicializáld az alkalmazás indításakor – gondolj a Spring Boot `@PostConstruct` metódusára vagy egy statikus inicializáló blokkra. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Most minden, a `OcrEngine`‑t használó komponens biztonságosan feltételezheti, hogy a licenc már aktív, így a **remove OCR watermark** garancia teljes szolgáltatásra kiterjed. + +## 5. lépés: A licenc integráció tesztelése + +Az automatizált tesztek megerősíthetik, hogy a vízjel valóban eltűnt. Egy egyszerű JUnit teszt így nézhet ki: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +A teszt futtatása biztosítja, hogy a telepítési folyamat nem küld el véletlenül licenc nélküli buildet. + +## Vizuális áttekintés (Opcionális) + +Ha szeretsz grafikusan látni a folyamatot, itt egy gyors vázlat a folyamatáról: + +![Aspose OCR licenc alkalmazása Java-ban](apply-aspose-ocr-license.png "Aspose OCR licenc alkalmazása Java-ban") + +*Alt szöveg: Aspose OCR licenc alkalmazása Java-ban – diagram, amely a licenc betöltését és az OCR feldolgozást vízjel nélkül mutatja.* + +## Következtetés + +Mindezt lefedtük, ami ahhoz szükséges, hogy **alkalmazd az Aspose OCR licencet** egy Java környezetben, és közvetlen mellékhatásként **eltávolítsd az OCR vízjelet** az összes feldolgozott képről. A `License` objektum létrehozásától, az útvonal‑különbségek kezelésén át, az eredmény ellenőrzéséig, egészen a nagyobb alkalmazásba való beágyazásig – minden lépést a „miért” magyarázatával, nem csak a „hogyan” részletezésével mutattunk be. + +Most már integrálhatod az Aspose OCR‑t bármely Java projektbe, biztosítva, hogy a felhasználók soha többé ne lássák azt a zavaró értékelő feliratot. + +### Mi a következő? + +- **Fedezd fel a nyelvi csomagokat:** Az Aspose OCR több mint 70 nyelvet támogat; csak állítsd be a megfelelő `OcrEngine` tulajdonságot. +- **Kombináld az Aspose PDF‑el:** A beolvasott képeket közvetlenül kereshető PDF‑ekké konvertálhatod vízjel nélkül. +- **Teljesítményhangolás** + +## Mit érdemes még megtanulni? + +A következő oktatóanyagok szorosan kapcsolódó témákat fednek le, amelyek a jelen útmutatóban bemutatott technikákra épülnek. Minden forrás teljes, működő kódpéldákat tartalmaz lépésről‑lépésre magyarázatokkal, hogy segítsenek elsajátítani további API‑funkciókat és alternatív megvalósítási megközelítéseket a saját projektjeidben. + +- [Hogyan állíts be licencet és ellenőrizd az Aspose.OCR licencet Java-ban](/ocr/english/java/ocr-basics/set-license/) +- [szöveg felismerése képen Aspose OCR‑rel – Teljes Java OCR oktatóanyag](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Dőlésszög kiszámítása Aspose OCR Java‑val – Teljes útmutató](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..4bff1f1d1 100644 --- a/ocr/indonesian/java/advanced-ocr-techniques/_index.md +++ b/ocr/indonesian/java/advanced-ocr-techniques/_index.md @@ -42,28 +42,26 @@ Siapkan persegi panjang secara efisien untuk OCR dengan Aspose.OCR untuk Java me Berdayakan aplikasi Java Anda dengan Aspose.OCR untuk pengenalan teks yang tepat. Tutorial ini memandu Anda melalui integrasi yang mudah dan akurasi tinggi dalam mengenali garis. Tingkatkan proyek Anda dengan efisiensi dan keandalan Aspose.OCR. ## [Menentukan Karakter yang Diizinkan di Aspose.OCR](./specify-allowed-characters/) - -Ekstrak teks dari gambar dengan mudah dengan menentukan karakter yang diizinkan dengan Aspose.OCR untuk Java. Ikuti panduan langkah demi langkah kami untuk integrasi yang efisien, memastikan pengalaman pengenalan teks yang lancar. Tingkatkan aplikasi Java Anda dengan kemampuan Aspose.OCR. - -## Kesimpulan - -Dengan Aspose.OCR untuk Java, menguasai teknik OCR tingkat lanjut tidak pernah semudah ini. Selami tutorial ini, dan buka potensi penuh pengenalan teks dalam proyek Java Anda. Tingkatkan aplikasi Anda dengan integrasi yang lancar, akurasi tinggi, dan kemampuan ekstraksi teks serbaguna. Unduh sekarang dan ambil langkah pertama menuju keunggulan OCR dengan Aspose.OCR untuk Java! -## Tutorial Teknik OCR Tingkat Lanjut -### [Melakukan OCR pada BufferedImage di Aspose.OCR untuk Java](./perform-ocr-buffered-image/) -Lakukan OCR pada BufferedImage dengan mudah menggunakan Aspose.OCR untuk Java. Ekstrak teks dari gambar dengan mulus. Unduh sekarang untuk pengalaman pengenalan teks serbaguna. -### [Melakukan OCR pada Gambar dari URL di Aspose.OCR untuk Java](./perform-ocr-image-from-url/) -Buka kunci ekstraksi teks gambar yang lancar di Java dengan Aspose.OCR. OCR akurasi tinggi dengan integrasi mudah. -### [Melakukan OCR pada Halaman Tertentu di Aspose.OCR](./perform-ocr-on-page/) -Buka kecanggihan Aspose.OCR untuk Java dengan panduan langkah demi langkah kami dalam melakukan OCR pada halaman tertentu. Ekstrak teks dengan mudah dari gambar dan tingkatkan proyek Java Anda. -### [Mempersiapkan Persegi Panjang untuk OCR di Aspose.OCR](./prepare-rectangles-for-ocr/) -Buka kekuatan pengenalan teks dengan Aspose.OCR untuk Java. Ikuti panduan langkah demi langkah kami untuk integrasi yang lancar. Tingkatkan aplikasi Java Anda dengan kemampuan OCR yang efisien. -### [Mengenali Garis di Aspose.OCR untuk Java](./recognize-lines/) -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. + +### [Ekstrak Teks dari Gambar Pindai di Java – Panduan Lengkap Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Ekstrak teks dari gambar yang dipindai dengan mudah menggunakan Aspose.OCR untuk Java. Ikuti panduan lengkap kami untuk hasil akurat. + +### [Cara Mengaktifkan GPU di OCR Java – Panduan Lengkap Langkah demi Langkah](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Aktifkan GPU untuk meningkatkan kinerja OCR di Java dengan panduan langkah demi langkah yang lengkap. + +### [Contoh Aspose OCR Java – Panduan Lengkap Memuat Gambar, Memperbaiki Ejaan, dan Memproses OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Pelajari cara memuat gambar, memperbaiki ejaan, dan menjalankan OCR dengan Aspose OCR untuk Java dalam panduan lengkap ini. + +### [Meningkatkan Akurasi OCR di Java – Panduan Lengkap](./improve-ocr-accuracy-in-java-complete-guide/) +Tingkatkan akurasi OCR di Java dengan panduan lengkap kami, mencakup teknik dan pengaturan optimal. + +### [Buat PDF yang Dapat Dicari di Java – Panduan Lengkap Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Buat PDF yang dapat dicari dari gambar menggunakan Aspose OCR untuk Java. Ikuti panduan lengkap kami untuk hasil 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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/indonesian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..df7aabfe5 --- /dev/null +++ b/ocr/indonesian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,193 @@ +--- +category: general +date: 2026-06-06 +description: Contoh Aspose OCR Java yang menunjukkan cara memuat OCR gambar, memperbaiki + kesalahan OCR, mengatur kamus khusus, dan memproses OCR gambar dalam beberapa langkah + saja. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: id +og_description: Contoh Aspose OCR Java yang memuat gambar, memperbaiki kesalahan OCR, + mengatur kamus khusus, dan memproses OCR gambar secara efisien. +og_title: Contoh OCR Aspose Java – Muat Gambar, Koreksi Ejaan & Proses OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Contoh Aspose OCR Java – Panduan Lengkap untuk Memuat Gambar, Memperbaiki Ejaan, + dan Memproses OCR +url: /id/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – Panduan Lengkap Memuat Gambar, Memperbaiki Ejaan, dan Memproses OCR + +Pernah membutuhkan **Aspose OCR Java example** yang benar‑benar berfungsi langsung? Anda tidak sendirian—para pengembang sering menatap screenshot yang buram dan bertanya‑tanya mengapa teks yang diekstrak berantakan. Kabar baiknya, mesin OCR Aspose sudah dilengkapi dengan koreksi ejaan bawaan, dan Anda bahkan dapat menambahkan daftar kata Anda sendiri. Dalam tutorial ini kami akan menjelaskan cara memuat gambar OCR, mengaktifkan fitur koreksi, secara opsional mengatur kamus khusus, dan akhirnya memproses gambar OCR untuk mendapatkan teks yang bersih dan dapat dibaca. + +Kami juga akan membahas mengapa Anda mungkin ingin **correct OCR errors**, cara **load image OCR** secara efisien, manfaat dari pemanggilan **set custom dictionary**, dan seperti apa alur **process image OCR** end‑to‑end. Pada akhir tutorial, Anda akan memiliki program Java yang dapat dijalankan sepenuhnya dan dapat dimasukkan ke dalam proyek Maven atau Gradle mana pun. + +--- + +## Apa yang Anda Butuhkan + +- Java 8 atau lebih baru (API juga berfungsi dengan Java 11+). +- Perpustakaan Aspose.OCR untuk Java (unduh JAR terbaru dari situs web Aspose atau tambahkan dependensi Maven). +- File gambar yang berisi teks (sebaiknya dokumen yang dipindai atau screenshot dengan sedikit noise). +- Opsional: file kamus teks biasa jika Anda ingin **set custom dictionary** untuk istilah khusus domain. + +Itu saja—tanpa mesin OCR berat, tanpa dependensi native, hanya satu JAR dan beberapa baris kode. + +--- + +## Langkah 1: Aspose OCR Java Example – Memuat Gambar OCR + +Hal pertama yang harus Anda lakukan adalah membuat instance `OcrEngine` dan menunjukannya ke file yang ingin Anda analisis. Anggap ini seperti membuka buku sebelum mulai membaca. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Mengapa ini penting:** Pemanggilan `setImage` adalah inti dari **load image OCR**. Tanpa gambar yang valid, mesin tidak memiliki apa pun untuk dikenali, dan Anda akan mendapatkan string kosong atau pengecualian. + +![contoh aspose ocr java memuat gambar](image.png){alt="contoh aspose ocr java memuat gambar"} + +--- + +## Langkah 2: Aktifkan Spell‑Correction untuk Correct OCR Errors + +Aspose OCR dilengkapi dengan spell‑correction yang diaktifkan secara default, tetapi tidak ada salahnya menyatakannya secara eksplisit—terutama saat Anda mendemonstrasikan **aspose ocr java example**. Mengaktifkan fitur ini secara dramatis mengurangi teks tak terbaca seperti “t1e” atau “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Tips profesional:** Jika Anda melihat mesin masih salah mengenali kata tertentu, periksa kembali pengaturan bahasa atau tambahkan kamus khusus (langkah berikutnya). + +Mengaktifkan spell‑correction adalah cara tercepat untuk **correct OCR errors** tanpa menulis kode tambahan. + +--- + +## Langkah 3: Set Custom Dictionary untuk Akurasi Lebih Baik + +Kadang kamus default tidak mengenal jargon spesifik industri Anda—misalnya istilah medis, kode produk, atau nama merek. Di sinilah **set custom dictionary** berperan. Sediakan file teks biasa, satu kata per baris, dan mesin OCR akan memperlakukan entri tersebut sebagai valid selama koreksi. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Kapan menggunakannya:** Jika Anda memproses faktur dan nama perusahaan terus terdistorsi, kamus khusus yang berisi nama-nama tersebut akan membuat tahap **process image OCR** jauh lebih dapat diandalkan. + +--- + +## Langkah 4: Process Image OCR dan Mengambil Teks + +Sekarang mesin sudah dikonfigurasi, saatnya menjalankan pengenalan. Metode `process` melakukan semua pekerjaan berat—mendeteksi blok teks, menerapkan spell‑correction, dan mengembalikan objek `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Apa yang akan Anda lihat:** Konsol mencetak string yang bersih dan dapat dibaca manusia. Jika Anda melewatkan spell‑correction, kemungkinan besar akan muncul karakter aneh, itulah mengapa mengaktifkannya sebelumnya sangat penting untuk **correct OCR errors**. + +--- + +## Langkah 5: Jalankan Contoh dan Verifikasi Output + +Kompilasi dan jalankan kelas dengan IDE favorit Anda atau dari command line: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Anda akan melihat sesuatu seperti: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Jika output masih mengandung kesalahan ejaan, coba tambahkan kata‑kata tersebut ke kamus khusus Anda dan jalankan kembali langkah **process image OCR**. + +--- + +## Kesalahan Umum dan Cara Menghindarinya + +| Masalah | Mengapa Terjadi | Solusi | +|---------|-----------------|--------| +| **Blank output** | Path gambar salah atau format tidak didukung | Verifikasi path, gunakan PNG/JPEG, dan pastikan file dapat dibaca | +| **Garbage characters** | Spell‑correction dinonaktifkan atau gambar ber kualitas rendah | Aktifkan `setEnableSpellCorrection(true)` dan pertimbangkan pra‑pemrosesan gambar (tingkatkan kontras) | +| **Domain‑specific words still wrong** | Tidak ada kamus khusus | Gunakan `setCustomDictionary` dengan file yang berisi istilah Anda | +| **Out‑of‑memory errors** | Gambar sangat besar dimuat tanpa skala | Ubah ukuran gambar sebelum memberi ke `OcrEngine` | + +--- + +## Memperluas Contoh + +Sekarang Anda memiliki **aspose ocr java example** yang solid, Anda mungkin ingin: + +- **Batch process** folder gambar dengan melakukan loop pada nama file dan menggunakan kembali instance `OcrEngine` yang sama. +- **Extract layout information** (tabel, kolom) menggunakan `ocrResult.getPages()` untuk analisis dokumen yang lebih maju. +- **Integrate with Apache PDFBox** untuk menyematkan teks yang dikenali kembali ke dalam PDF. + +Semua ekstensi ini dibangun di atas langkah inti yang sama yang kami bahas: load image OCR, enable correction, secara opsional set custom dictionary, dan process image OCR. + +--- + +## Kesimpulan + +Anda baru saja membuat **aspose ocr java example** lengkap yang memuat gambar, mengaktifkan spell‑correction untuk **correct OCR errors**, secara opsional **set custom dictionary**, dan akhirnya **process image OCR** untuk mengambil teks bersih. Kodenya singkat, konsepnya jelas, dan kini Anda memiliki fondasi yang dapat dikembangkan untuk pekerjaan batch, integrasi UI, atau bahkan micro‑service cloud. + +Apa selanjutnya? Coba beri mesin foto ber resolusi rendah, tambahkan daftar SKU produk ke kamus khusus Anda, dan lihat bagaimana akurasi meningkat. Semakin banyak Anda bereksperimen, semakin baik Anda memahami trade‑offs antara kualitas gambar, ukuran kamus, dan kecepatan pemrosesan. + +Jangan ragu meninggalkan komentar jika Anda mengalami kendala atau memiliki ide untuk peningkatan lebih lanjut. Selamat coding! + +## Apa yang Harus Anda Pelajari Selanjutnya? + +Tutorial berikut mencakup topik terkait yang membangun teknik yang ditunjukkan dalam panduan ini. Setiap sumber menyertakan contoh kode lengkap yang berfungsi dengan penjelasan langkah demi langkah untuk membantu Anda menguasai fitur API tambahan dan mengeksplorasi pendekatan implementasi alternatif dalam proyek Anda. + +- [Cara Mengatur Lisensi dan Memverifikasi Lisensi Aspose.OCR di Java](/ocr/english/java/ocr-basics/set-license/) +- [Cara OCR Teks Gambar dengan Bahasa Menggunakan Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Mengenali Garis dalam Gambar](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/indonesian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..ddff77acf --- /dev/null +++ b/ocr/indonesian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Buat PDF yang dapat dicari dengan Java menggunakan Aspose OCR. Pelajari + cara mengekstrak teks dari PDF, meningkatkan akurasi OCR, dan memproses PDF multi‑halaman + secara efisien. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: id +og_description: Buat PDF yang dapat dicari dengan Java menggunakan Aspose OCR. Panduan + ini memandu Anda melalui proses mengekstrak teks dari PDF, meningkatkan akurasi + OCR, dan menangani PDF multi‑halaman. +og_title: Buat PDF yang Dapat Dicari di Java – Tutorial Lengkap Aspose OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Buat PDF yang Dapat Dicari di Java – Panduan Lengkap Aspose OCR +url: /id/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Membuat PDF Dapat Dicari di Java – Panduan Lengkap Aspose OCR + +Pernah bertanya-tanya bagaimana cara **membuat PDF dapat dicari** langsung dari Java tanpa harus mengelola puluhan alat command‑line? Anda tidak sendirian. Banyak pengembang mengalami kebuntuan ketika harus mengubah PDF yang dipindai menjadi dokumen yang dapat dicari teksnya, terutama ketika PDF sumber memiliki beberapa halaman. + +Dalam tutorial ini kami akan menelusuri contoh lengkap yang dapat dijalankan yang tidak hanya **membuat PDF dapat dicari** tetapi juga menunjukkan cara **mengekstrak teks dari PDF**, **meningkatkan akurasi OCR**, dan menangani alur kerja **OCR multi page PDF** menggunakan pustaka Aspose OCR. Pada akhir tutorial Anda akan memiliki potongan kode siap produksi yang dapat Anda masukkan ke proyek Java mana pun. + +## Apa yang Anda Butuhkan + +- Java 17 atau lebih baru (kode dapat dikompilasi dengan versi lebih lama, tetapi JDK 17 adalah pilihan terbaik) +- Maven atau Gradle untuk mengambil dependensi `aspose-ocr` +- Contoh PDF multi‑halaman (kami akan menyebutnya `sample_multi_page.pdf`) +- GPU sederhana atau setidaknya CPU multicore jika Anda ingin mengaktifkan pemrosesan paralel + +Tidak ada pustaka native tambahan yang diperlukan—Aspose OCR sudah menyertakan semua yang Anda perlukan. + +--- + +## Membuat PDF Dapat Dicari – Implementasi Langkah‑per‑Langkah + +Di bawah ini kami membagi proses menjadi bagian‑bagian logis. Setiap bagian memiliki header H2 sendiri sehingga Anda dapat langsung melompat ke bagian yang Anda butuhkan, dan kata kunci utama muncul tepat di sini pada judul. + +### Langkah 1: Siapkan Proyek dan Impor Aspose OCR + +Pertama, tambahkan artefak Maven Aspose OCR ke `pom.xml` Anda. Jika Anda lebih suka Gradle, cuplikan setara disediakan dalam komentar. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Jaga dependensi Anda tetap terbaru; rilis yang lebih baru sering membawa peningkatan akurasi yang secara langsung membantu Anda **meningkatkan akurasi OCR**. + +### Langkah 2: Muat PDF Multi‑Halaman ke dalam OCR Engine + +Sekarang kami membuat instance `OcrEngine` dan memberinya PDF yang ingin diproses. Mesin memperlakukan setiap halaman sebagai gambar secara internal, itulah mengapa pendekatan ini bekerja untuk skenario **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Mengapa ini penting:** Memuat PDF sekali dan membiarkan mesin menangani pagination menghindari beban ekstra mengekstrak tiap halaman secara manual, sehingga menghemat waktu dan memori. + +### Langkah 3: Aktifkan Fitur Lanjutan untuk **Meningkatkan Akurasi OCR** + +Aspose OCR menawarkan beberapa pengaturan yang dapat Anda ubah. Mengaktifkan akselerasi GPU, meningkatkan jumlah thread, dan menentukan banyak bahasa semuanya berkontribusi pada tingkat pengenalan yang lebih baik, terutama pada pemindaian yang berisik. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Bagaimana jika Anda tidak memiliki GPU?** Cukup setel `setUseGpu(false)`; mesin akan beralih ke mode CPU‑only sambil tetap memanfaatkan multithreading. + +### Langkah 4: Pra‑proses Gambar untuk Hasil yang Lebih Baik + +Langkah pra‑pemrosesan seperti deskewing, denoising, dan peningkatan kontras secara dramatis **meningkatkan akurasi OCR** pada dokumen yang dipindai. Anggap saja ini seperti memoles batu kasar sebelum dipahat. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Mengapa pengaturan ini?** Tingkat denoise `2` bekerja baik untuk kebanyakan PDF yang dipindai, sementara peningkatan kontras yang moderat (1.3×) mengangkat tinta yang pudar tanpa membuat latar belakang terlalu terang. + +### Langkah 5: Konfigurasi Output untuk Menghasilkan PDF Dapat Dicari + +Aspose OCR dapat menyematkan lapisan teks yang dikenali langsung ke dalam PDF, mengubah file gambar datar menjadi **PDF dapat dicari**. Inilah inti dari pertanyaan “bagaimana cara membuat searchable pdf” yang sering diajukan pengembang. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Ketika `setGenerateSearchablePdf(true)` diaktifkan, pustaka membuat lapisan teks tak terlihat yang mencerminkan konten visual, sehingga dokumen akhir dapat dicari di semua penampil PDF. + +### Langkah 6: Jalankan OCR dan Simpan Hasilnya + +Sekarang kami benar‑benar memproses dokumen dan menulis file output. Metode `process` mengembalikan objek `OcrResult` yang berisi baik PDF dapat dicari maupun teks polos yang diekstrak. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Langkah 7: (Opsional) **Ekstrak Teks dari PDF** untuk Penggunaan Langsung + +Jika Anda juga memerlukan teks mentah—untuk pengindeksan, analitik, atau sekadar menampilkannya di halaman web—Anda dapat mengambilnya langsung dari `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Apa yang akan Anda lihat:** Konsol akan menampilkan teks yang digabungkan dari semua halaman, mempertahankan jeda baris bila memungkinkan. Ini memenuhi kebutuhan **extract text from pdf** tanpa harus melakukan proses kedua. + +--- + +## Gambaran Visual + +Berikut adalah diagram alur sederhana yang memetakan setiap langkah ke blok kode yang bersesuaian. Diagram ini membantu Anda memvisualisasikan bagaimana PDF input melewati pra‑pemrosesan, OCR, dan akhirnya menjadi dokumen yang dapat dicari. + +![Create searchable PDF flow diagram](https://example.com/flow-diagram.png "Create searchable PDF flow diagram") + +*Alt text contains the primary keyword to satisfy image SEO.* + +--- + +## Pertanyaan Umum & Kasus Tepi + +| Pertanyaan | Jawaban | +|------------|---------| +| **Bisakah saya memproses PDF lebih besar dari 100 MB?** | Ya, tetapi pertimbangkan streaming halaman alih‑alih memuat seluruh file ke memori. Aspose OCR secara internal mengelola paging, namun Anda mungkin ingin menambah heap JVM (`-Xmx4g`) untuk file yang sangat besar. | +| **Bagaimana jika PDF saya berisi catatan tulisan tangan?** | Pengenalan tulisan tangan tidak diaktifkan secara default. Anda dapat beralih ke `setLanguage("eng,mon,handwritten")` jika versi pustaka mendukungnya, meskipun akurasinya akan bervariasi. | +| **Apakah saya memerlukan lisensi untuk Aspose OCR?** | Lisensi evaluasi sementara berfungsi untuk pengujian. Untuk produksi, dapatkan lisensi komersial untuk menghilangkan watermark dan membuka kinerja penuh. | +| **Bagaimana cara menonaktifkan koreksi ejaan?** | Panggil `ocr.getSettings().setEnableSpellCorrection(false);` – berguna ketika Anda memerlukan output OCR mentah untuk keperluan forensik. | +| **Apakah dukungan GPU wajib?** | Tidak. Pustaka akan beralih ke CPU secara mulus. Namun, GPU dapat memotong waktu pemrosesan hingga 60 % pada dokumen multi‑halaman yang besar. | + +--- + +## Contoh Lengkap yang Siap Pakai (Copy‑Paste) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Output yang Diharapkan** + +- `output_searchable.pdf` – PDF di mana Anda dapat menekan Ctrl + F dan menemukan kata apa pun yang muncul dalam gambar yang dipindai. +- Log konsol – konten teks lengkap dari PDF asli, sempurna untuk pengindeksan atau analisis lebih lanjut. + +--- + +## Kesimpulan + +Kami baru saja mendemonstrasikan cara **membuat PDF dapat dicari** di Java menggunakan Aspose OCR, sekaligus menunjukkan cara **mengekstrak teks dari PDF**, **meningkatkan akurasi OCR**, dan menangani alur kerja **OCR multi page PDF** secara efisien. Potongan kode lengkap di atas siap dimasukkan ke proyek Anda, dan penjelasan yang diberikan memberi Anda kepercayaan untuk menyesuaikan pengaturan sesuai kebutuhan spesifik. + +Apa selanjutnya? Cobalah bereksperimen dengan penyematan font khusus, tambahkan bookmark yang dihasilkan OCR, atau integrasikan output dengan mesin pencari seperti Elasticsearch. Setiap topik tersebut kembali ke kata kunci sekunder kami—*how to make searchable pdf* dan *increase OCR accuracy*—sehingga Anda memiliki jalur yang jelas untuk eksplorasi lebih dalam. + +Silakan bagikan pengalaman Anda atau ajukan pertanyaan lanjutan di kolom komentar. Selamat coding, dan nikmati mengubah pemindaian statis menjadi PDF yang kaya teks dan dapat dicari! + +## Apa yang Harus Anda Pelajari Selanjutnya? + +Tutorial berikut mencakup topik terkait yang membangun teknik yang ditunjukkan dalam panduan ini. Setiap sumber menyertakan contoh kode lengkap dengan penjelasan langkah‑demi‑langkah untuk membantu Anda menguasai fitur API tambahan dan mengeksplorasi pendekatan implementasi alternatif dalam proyek Anda. + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/indonesian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/indonesian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..02d098c1c --- /dev/null +++ b/ocr/indonesian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: Ekstrak teks dari gambar yang dipindai menggunakan Aspose OCR untuk Java. + Pelajari cara mengenali teks dari file TIFF dengan pemrosesan paralel. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: id +og_description: Ekstrak teks dari gambar yang dipindai dengan Aspose OCR. Panduan + ini menunjukkan cara mengenali teks dari file TIFF secara efisien menggunakan Java. +og_title: Ekstrak Teks dari Gambar Pindai – Tutorial Aspose OCR Java +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Ekstrak Teks dari Gambar Pindai di Java – Panduan Lengkap Aspose OCR +url: /id/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ekstrak Teks dari Gambar yang Dipindai – Panduan Lengkap Aspose OCR + +Pernah membutuhkan untuk **mengekstrak teks dari gambar yang dipindai** tetapi merasa terhambat pada “bagaimana?”? Anda tidak sendirian. Baik Anda sedang mendigitalkan arsip lama, mengambil data dari faktur, atau membangun perpustakaan PDF yang dapat dicari, mendapatkan teks yang dapat diandalkan dari pemindaian TIFF dapat menjadi titik masalah. + +Berita baik: dengan Aspose OCR untuk Java Anda dapat **mengenali teks dari tiff** dalam beberapa baris kode, bahkan dapat meningkatkan kecepatan dengan membatasi mesin ke beberapa inti CPU. Dalam tutorial ini kami akan membahas seluruh proses—dari menyiapkan pustaka hingga menangani hasil—sehingga Anda dapat menyalin‑tempel contoh yang berfungsi langsung. + +## Apa yang Dibahas dalam Tutorial Ini + +- Menginstal Aspose OCR untuk Java (Maven atau JAR manual) +- Memuat gambar TIFF yang dipindai berukuran besar +- Mengonfigurasi mesin untuk menggunakan hingga 4 thread (OCR paralel) +- Menjalankan proses OCR dan mencetak teks yang diekstrak +- Kesulitan umum (memori, TIFF multi‑halaman) dan cara menghindarinya +- Tips kinerja cepat: kapan menyesuaikan `setMaxThreads` + +Pada akhir tutorial Anda akan dapat **mengekstrak teks dari gambar yang dipindai** secara andal, dan Anda akan memahami mengapa penyesuaian jumlah thread penting saat Anda *mengenali teks dari tiff* dalam alur produksi. + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Prasyarat + +Sebelum kita mulai, pastikan Anda memiliki: + +1. **Java Development Kit (JDK) 8+** – versi terbaru apa pun dapat digunakan. +2. **Maven** (atau kemampuan menambahkan JAR secara manual) – kami akan menggunakan Maven untuk kemudahan. +3. Lisensi **Aspose OCR untuk Java** (evaluasi gratis dapat digunakan, tetapi akan menambahkan watermark). +4. **Pemindaian TIFF besar** (misalnya `large_scan.tif`) yang ingin Anda proses. + +Jika ada yang belum familiar, jangan khawatir—setiap langkah dijelaskan di bawah ini. + +## Langkah 1: Tambahkan Aspose OCR ke Proyek Anda + +### Pengguna Maven + +Tambahkan dependensi berikut ke `pom.xml` Anda: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Pengaturan JAR Manual + +Unduh `aspose-ocr-xx.jar` terbaru dari situs Aspose dan letakkan di classpath Anda. + +> **Pro tip:** Simpan JAR di folder `libs/` dan referensikan di pengaturan proyek IDE Anda. Ini menghindari kejutan “class not found” di kemudian hari. + +## Langkah 2: Buat Kelas Java Sederhana + +Buat file bernama `ParallelOcrDemo.java` di folder sumber Anda (`src/main/java`). Kelas ini akan menampung seluruh alur kerja OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Mengapa kami membatasi thread:** Secara default Aspose OCR akan mencoba menggunakan semua inti, yang dapat menghambat layanan lain pada mesin bersama. Menetapkan `setMaxThreads(4)` memberi tahu mesin untuk menjalankan hingga empat pekerja paralel—cukup untuk percepatan yang terasa pada kebanyakan CPU modern tanpa memonopoli sumber daya. + +## Langkah 3: Kompilasi dan Jalankan + +Buka terminal di root proyek dan jalankan: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Jika Anda tidak menggunakan Maven, kompilasi dengan `javac` dan jalankan: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Output yang Diharapkan + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Konsol akan menampilkan versi teks biasa dari apa pun yang ada pada halaman yang dipindai. Jika gambar berisi beberapa halaman, Aspose OCR akan menggabungkannya secara berurutan. + +## Langkah 4: Menangani TIFF Multi‑Halaman (Kasus Tepi) + +Skenario umum adalah **TIFF multi‑halaman**—bayangkan sebuah buku yang dipindai. Secara default `OcrInputImage` hanya membaca frame pertama. Untuk memproses semua halaman, gunakan `OcrInputImage` dengan `FileInputStream` dan aktifkan dukungan multi‑halaman: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Sekarang `ocrEngine.process()` akan mengembalikan satu `OcrResult` yang berisi teks yang digabungkan dari setiap halaman. + +## Langkah 5: Penyetelan Halus Akurasi Pengenalan + +Jika Anda melihat **karakter kacau** atau kata yang hilang, coba penyesuaian berikut: + +| Setting | Apa yang Dilakukan | Kapan Digunakan | +|---------|--------------------|-----------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Memaksa model bahasa Inggris (lebih cepat, lebih akurat untuk pemindaian bahasa Inggris) | Dokumen Anda berbahasa Inggris monolingual | +| `ocrEngine.getSettings().setResolution(300)` | Meningkatkan resolusi gambar beresolusi rendah sebelum pengenalan | Pemindaian di bawah 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Mencoba membersihkan bintik‑bintik dan artefak | Pemindaian dengan noise berat | + +Contoh potongan kode: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Langkah 6: Mengekspor Hasil ke File + +Mencetak ke konsol cukup untuk demo, tetapi kode produksi biasanya menulis output ke tempat yang berguna: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Sekarang Anda memiliki file teks biasa yang dapat Anda masukkan ke indeks pencarian, basis data, atau alur analitik hilir. + +## Pertanyaan yang Sering Diajukan (FAQ) + +**Q: Apakah ini bekerja dengan file PNG atau JPEG?** +A: Tentu saja. `OcrInputImage` menerima format apa pun yang dapat dibaca oleh ImageIO Java. Cukup ganti ekstensi file pada path. + +**Q: Server saya memiliki 8 inti—haruskah saya mengatur `setMaxThreads(8)`?** +A: Anda bisa, tetapi ingat layanan lain mungkin membutuhkan siklus CPU. Aturan praktis adalah “total inti – 1” untuk pekerja OCR yang berdedikasi. + +**Q: Bagaimana jika hasil OCR kosong?** +A: Periksa apakah gambar tidak sepenuhnya putih, apakah Anda telah mengatur bahasa yang tepat, dan apakah resolusinya setidaknya 200 DPI. Pemindaian berkualitas rendah sering memerlukan pra‑pemrosesan (deskew, peningkatan kontras) sebelum diberikan ke Aspose OCR. + +## Kesimpulan + +Kami baru saja **mengekstrak teks dari gambar yang dipindai** menggunakan Aspose OCR untuk Java, dan Anda kini tahu cara **mengenali teks dari tiff** secara efisien dengan pemrosesan paralel. Kode lengkap terdapat dalam potongan di atas, dan Anda dapat menyalin‑tempelnya ke proyek Anda segera. + +### Apa Selanjutnya? + +- **Pemrosesan batch**: Loop melalui direktori TIFF, simpan setiap hasil ke file terpisah. +- **Integrasi dengan Elasticsearch**: Indeks teks yang diekstrak untuk pencarian full‑text yang cepat. +- **Tambahkan deteksi bahasa**: Gunakan `OcrLanguage.AutoDetect` untuk dokumen multibahasa. + +Cobalah ide‑ide tersebut, dan Anda akan dengan cepat mengubah tumpukan dokumen yang dipindai menjadi data yang dapat dicari dan dapat ditindaklanjuti. + +Selamat coding, dan jangan ragu meninggalkan komentar jika Anda mengalami kendala! + +## Apa yang Harus Anda Pelajari Selanjutnya? + +Tutorial berikut mencakup topik terkait yang membangun teknik yang ditunjukkan dalam panduan ini. Setiap sumber menyertakan contoh kode lengkap yang berfungsi dengan penjelasan langkah‑demi‑langkah untuk membantu Anda menguasai fitur API tambahan dan mengeksplorasi pendekatan implementasi alternatif dalam proyek Anda sendiri. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/indonesian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..6d385d8fd --- /dev/null +++ b/ocr/indonesian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,256 @@ +--- +category: general +date: 2026-06-06 +description: Cara mengaktifkan GPU dalam Java OCR dan mengekstrak teks dari file JPEG. + Ikuti contoh Java OCR ini untuk mengonversi gambar menjadi teks dengan percepatan + GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: id +og_description: Cara mengaktifkan GPU dalam Java OCR dan langsung mengekstrak teks + dari gambar JPEG. Panduan ini menunjukkan contoh lengkap Java OCR dengan OCR yang + dipercepat GPU. +og_title: Cara mengaktifkan GPU di OCR Java – Panduan Pemrograman Lengkap +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Cara Mengaktifkan GPU di Java OCR – Panduan Lengkap Langkah demi Langkah +url: /id/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Mengaktifkan GPU di Java OCR – Panduan Lengkap Langkah‑per‑Langkah + +Pernah bertanya‑tanya **bagaimana cara mengaktifkan GPU** untuk optical character recognition di Java? Anda tidak sendirian—para pengembang terus bertanya, “Bisakah saya membuat OCR lebih cepat tanpa menulis ulang semuanya?” Jawaban singkatnya ya, dan jawaban panjangnya ada di sini. Dalam tutorial ini kami akan membahas **contoh java ocr** yang **mengekstrak teks dari file JPEG**, **mengonversi gambar menjadi teks**, dan memanfaatkan **GPU accelerated OCR** untuk hasil yang super cepat. + +Kami akan memulai dengan menyiapkan pustaka Aspose OCR, memuat contoh JPEG, mengaktifkan dukungan GPU, menjalankan mesin, dan akhirnya mencetak teks yang dikenali. Pada akhir tutorial Anda akan memiliki potongan kode yang dapat dipakai kembali di proyek Java mana pun, plus beberapa tips yang mencegah jebakan umum. Tanpa basa‑basi, hanya inti yang Anda butuhkan untuk mulai bergerak. + +## Prasyarat + +Sebelum kita melangkah lebih jauh, pastikan Anda memiliki: + +* Java 8 atau yang lebih baru terpasang (kode menggunakan API standar, jadi JDK terbaru mana pun dapat dipakai). +* GPU yang kompatibel dengan driver terbaru – kebanyakan kartu NVIDIA/AMD modern memenuhi syarat. +* Pustaka Aspose.OCR untuk Java (bisa diunduh dari Maven Central atau situs Aspose). +* Gambar JPEG yang ingin Anda proses dengan OCR – kami akan menyebutnya `sample.jpg`. + +Itu saja. Jika ada yang belum Anda miliki, hentikan sejenak dan instal bagian yang kurang; sisanya diasumsikan sudah tersedia. + +## Cara Mengaktifkan GPU di Java OCR – Gambaran Umum + +Berikut cuplikan cepat apa yang akan kita capai: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Anggap GPU sebagai turbo‑charger untuk mesin OCR Anda—alih-alih CPU yang menganalisis setiap piksel satu per satu, kartu grafis menangani beban berat secara paralel. Hasilnya? Waktu pemrosesan lebih cepat, terutama pada pemindaian beresolusi tinggi. + +## Langkah 1: Siapkan Proyek dan Impor Aspose OCR + +Langkah pertama, buat proyek Maven baru (atau Gradle, bila Anda lebih suka). Tambahkan dependensi Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Jika Anda tidak memakai Maven, unduh JAR dari Aspose dan tambahkan ke classpath Anda. Langkah ini adalah fondasi bagi **contoh java ocr** apa pun yang akan Anda tulis, jadi pastikan pustaka ter‑resolve dengan benar. + +## Langkah 2: Muat Gambar JPEG (Ekstrak Teks dari JPEG) + +Sekarang kita akan menulis kode untuk membaca file JPEG. Kelas `OcrInputImage` menerima sebuah path, dan kita akan memberikannya ke `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Mengapa ini penting:** Memuat gambar dengan benar adalah langkah pertama dalam alur kerja **convert image to text** apa pun. Jika path salah, mesin akan melempar pengecualian sebelum sampai ke tahap GPU. + +## Langkah 3: Aktifkan Akselerasi GPU (Cara Mengaktifkan GPU) + +Berikut inti tutorial—mengaktifkan dukungan GPU. Objek `OcrSettings` menyediakan flag `setUseGpu`. Cukup set ke `true` dan Anda siap. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Tips pro:** Pastikan driver GPU Anda terbaru. Driver yang usang sering menyebabkan pemanggilan `setUseGpu(true)` gagal secara diam‑diam, sehingga Anda hanya mendapatkan performa CPU. + +## Langkah 4: Jalankan Mesin OCR (Contoh Java OCR) + +Dengan gambar sudah dimuat dan GPU diaktifkan, jalankan proses OCR. Mesin akan mengembalikan objek `OcrResult` yang berisi teks yang dikenali. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Di balik layar, Aspose membagi gambar menjadi ubin, mengirimnya ke GPU untuk inferensi paralel, dan menyatukan kembali hasilnya. Inilah yang membuat pengalaman **gpu accelerated ocr** terasa jauh lebih cepat dibanding jalur CPU default. + +## Langkah 5: Keluarkan Teks yang Dikenali (Convert Image to Text) + +Akhirnya, cetak hasilnya ke konsol. Pada aplikasi dunia nyata Anda mungkin akan menulisnya ke file atau basis data, tetapi untuk ilustrasi `System.out.println` sederhana sudah cukup. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Output yang Diharapkan + +Jika `sample.jpg` berisi frasa “Hello, World!”, Anda akan melihat: + +``` +Recognized text: +Hello, World! +``` + +Jika gambar lebih kompleks (banyak baris, tabel, dll.), output akan berisi pemisah baris dan spasi yang mencerminkan tata letak asli. Itulah keunggulan mesin OCR Aspose—mempertahankan struktur sambil **convert image to text**. + +## Contoh Lengkap yang Siap Dijalan + +Menggabungkan semuanya, berikut program lengkap yang siap dijalankan: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Simpan sebagai `GpuOcrDemo.java`, kompilasi dengan `javac`, dan jalankan dengan `java`. Jika semua sudah terhubung dengan benar, konsol akan menampilkan teks yang diekstrak dalam sekejap. + +## Pertanyaan Umum & Kasus Khusus + +### 1. GPU saya tidak dipakai – kenapa? + +* **Periksa versi driver** – driver lama mungkin tidak menyediakan kemampuan komputasi yang diperlukan. +* **Validasi dukungan GPU** – Aspose memerlukan kartu NVIDIA yang kompatibel CUDA atau kartu AMD yang kompatibel OpenCL. Jika Anda menggunakan laptop dengan GPU diskrit yang dinonaktifkan, aktifkan lewat BIOS atau panel kontrol grafis. +* **Periksa log** – Aspose menulis baris debug ketika mode GPU aktif. Aktifkan logging lewat `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. Hasil OCR berantakan pada gambar beresolusi rendah. + +* **Pra‑proses JPEG** – ubah ukuran minimal 300 dpi, tingkatkan kontras, atau konversi ke grayscale sebelum memberi ke mesin. +* **Sesuaikan pengaturan** – Anda dapat mengubah `ocr.getSettings().setLanguage(OcrLanguage.English)` atau mengaktifkan `setUseLanguageDetection(true)` untuk akurasi lebih baik. + +### 3. Bisakah saya memproses banyak gambar sekaligus? + +Tentu saja. Bungkus blok pemuatan dan pemrosesan dalam loop, gunakan kembali instance `OcrEngine` yang sama. Ingat untuk memanggil `ocr.reset()` di antara iterasi agar gambar sebelumnya dibersihkan. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Apakah akselerasi GPU bekerja di server tanpa tampilan (headless)? + +Ya, selama server memiliki GPU yang didukung dan driver yang tepat. Di Linux, Anda mungkin perlu memasang paket `nvidia‑utils` dan memastikan toolkit `CUDA` berada di `PATH`. + +## Tips Pro untuk GPU OCR Siap Produksi + +* **Ukuran batch penting** – gambar besar lebih diuntungkan oleh paralelisme GPU. Jika Anda memproses ikon kecil, overhead transfer ke GPU mungkin melebihi keuntungan. +* **Manajemen memori** – GPU memiliki VRAM terbatas. Untuk PDF sangat besar atau pemindaian multi‑megapiksel, bagi gambar menjadi ubin‑ubin lebih kecil secara manual. +* **Penanganan error** – bungkus panggilan OCR dalam blok try‑catch dan beralih ke mode CPU (`setUseGpu(false)`) bila terjadi `UnsupportedOperationException`. + +## Kesimpulan + +Kami baru saja membahas **cara mengaktifkan GPU** dalam **contoh java ocr**, menunjukkan cara **mengekstrak teks dari JPEG**, dan mendemonstrasikan cara **convert image to text** menggunakan mesin **gpu accelerated OCR** Aspose. Potongan kode lengkap di atas siap disisipkan ke proyek Java mana pun, dan tips yang menyertainya akan melindungi Anda dari masalah umum. + +Apa selanjutnya? Coba tambahkan paket bahasa, bereksperimen dengan format gambar lain (PNG, TIFF), atau integrasikan output ke indeks pencarian. Langit adalah batasnya ketika Anda menggabungkan OCR dengan kekuatan GPU. + +Punya pertanyaan lebih lanjut tentang OCR yang dipercepat GPU atau butuh bantuan menyesuaikan pengaturan? Tinggalkan komentar, dan selamat coding! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## Apa yang Harus Anda Pelajari Selanjutnya? + +Tutorial berikut mencakup topik terkait yang memperluas teknik yang ditunjukkan dalam panduan ini. Setiap sumber menyertakan contoh kode lengkap dengan penjelasan langkah‑per‑langkah untuk membantu Anda menguasai fitur API tambahan dan mengeksplorasi pendekatan implementasi alternatif dalam proyek Anda. + +- [Ekstrak Teks dari Gambar – Dasar-dasar OCR dengan Aspose.OCR untuk Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text di Java menggunakan Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Cara OCR Teks Gambar dengan Bahasa Menggunakan Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/indonesian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..1cf238a30 --- /dev/null +++ b/ocr/indonesian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: Tingkatkan akurasi OCR di Java dengan panduan langkah demi langkah yang + menunjukkan cara memuat OCR gambar, memproses OCR gambar, dan mengekstrak teks halaman + yang dipindai secara efisien. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: id +og_description: Tingkatkan akurasi OCR di Java dengan contoh praktis. Pelajari cara + memuat gambar OCR, melakukan pra‑pemrosesan, dan melakukan OCR pada gambar untuk + mengekstrak teks dari halaman yang dipindai. +og_title: Tingkatkan Akurasi OCR di Java – Tutorial Lengkap +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Tingkatkan Akurasi OCR di Java – Panduan Lengkap +url: /id/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tingkatkan Akurasi OCR di Java – Panduan Lengkap + +Pernah bertanya-tanya bagaimana cara **improve OCR accuracy** ketika Anda menangani pemindaian buku lama atau kwitansi yang buram? Anda tidak sendirian. Dalam banyak proyek dunia nyata output mentah dari mesin OCR terlihat seperti kumpulan kode yang tidak jelas, dan itu biasanya karena gambar tidak dipra‑proses dengan benar sebelum Anda **perform OCR image**. + +Dalam tutorial ini kami akan membahas contoh Java praktis yang menunjukkan secara tepat cara **load image OCR**, menerapkan beberapa langkah pra‑pemrosesan cerdas, **process image OCR**, dan akhirnya **extract text scanned page** dengan hasil yang bersih. Pada akhir tutorial Anda akan memahami tidak hanya *apa* yang harus dikodekan, tetapi *mengapa* setiap baris penting untuk meningkatkan kualitas pengenalan. + +## Apa yang Akan Anda Pelajari + +- Cara menginstansiasi mesin OCR di Java +- Cara yang tepat untuk **load image OCR** dari disk +- Mengapa deskewing, denoising, dan contrast boosting penting untuk **improve OCR accuracy** +- Cara **perform OCR image** dan mengambil teks yang dikenali +- Tips untuk menangani berbagai format gambar dan edge‑cases + +Tidak diperlukan dokumentasi eksternal – semua yang Anda butuhkan ada di sini, dan kode lengkap yang dapat dijalankan disertakan di bagian bawah. + +## Prasyarat + +- Java 17 (atau JDK terbaru) terinstal di mesin Anda +- Pustaka OCR yang menyediakan kelas `OcrEngine`, `OcrInputImage`, dan `OcrResult` (contoh menggunakan API generik; ganti dengan jar vendor Anda jika diperlukan) +- Gambar hasil pemindaian (PNG, JPEG, atau TIFF) yang ingin Anda jalankan OCR – untuk demo kami akan menggunakan `old_book_page.png` yang berada di folder bernama `YOUR_DIRECTORY` + +Jika Anda belum memiliki jar OCR, cukup letakkan di folder `libs` proyek Anda dan tambahkan ke classpath. Itu saja. + +--- + +## Langkah 1 – Improve OCR Accuracy: Siapkan Mesin + +Sebelum kita dapat **process image OCR**, kita memerlukan instance mesin yang baru. Membuat `OcrEngine` baru memberikan kita kanvas bersih, memastikan tidak ada pengaturan sisa dari run sebelumnya. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Mengapa ini penting*: Mesin yang baru dibuat memulai dengan pra‑pemrosesan default dinonaktifkan. Itu disengaja – kami ingin mengaktifkan hanya langkah‑langkah yang benar‑benar membantu gambar spesifik kami, yang merupakan dasar dari **improve OCR accuracy**. + +--- + +## Langkah 2 – Load Image OCR – Menyiapkan Pemindaian Anda + +Sekarang kita benar‑benar **load image OCR**. Metode `setImage` mengharapkan sebuah `OcrInputImage` yang menunjuk ke file di disk. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +1. **Supported formats** – kebanyakan pustaka menerima PNG, JPEG, BMP, dan TIFF. Jika Anda memiliki PDF, konversi halaman pertama ke gambar terlebih dahulu. +2. **Path handling** – menggunakan path absolut menghindari jebakan “file not found” ketika direktori kerja berubah. + +--- + +## Langkah 3 – Deskew: Meluruskan Halaman yang Diputar + +Banyak halaman yang dipindai tidak sepenuhnya horizontal. Rotasi kecil dapat mengganggu pengenalan karena mesin OCR mengharapkan baris teks berada pada level. Mengaktifkan deskew secara otomatis mendeteksi dan memperbaiki rotasi tersebut. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: Jika Anda mengetahui sudut rotasi sebelumnya (misalnya, 90°), Anda dapat memutar gambar secara manual sebelum memasukkannya ke mesin – seringkali lebih cepat untuk pekerjaan batch. + +--- + +## Langkah 4 – Denoise: Mengurangi Grain Latar Belakang + +Dokumen lama sering mengandung tekstur kertas, debu, atau artefak kompresi. Metode `setDenoiseLevel` menerapkan filter yang menghaluskan noise ini. Level 2 adalah titik awal yang baik untuk kebanyakan halaman yang dipindai. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Mengapa ini membantu**: Noise menciptakan tepi palsu yang dapat diinterpretasikan mesin OCR sebagai karakter. Dengan membersihkan gambar, kita **improve OCR accuracy** tanpa mengorbankan bentuk glyph yang sebenarnya. + +--- + +## Langkah 5 – Boost Contrast: Membuat Teks Menonjol + +Jika pemindaian pudar, kontras antara tinta dan kertas rendah, dan mesin kesulitan membedakan latar depan dari latar belakang. Peningkatan kontras moderat sebesar `1.4f` (peningkatan 40 %) biasanya cukup efektif. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Edge case*: Untuk gambar yang sangat gelap, faktor yang lebih tinggi (hingga 2.0) dapat bermanfaat, tetapi hati-hati dengan clipping – area yang terlalu terang dapat menjadi putih murni, menghapus detail halus. + +--- + +## Langkah 6 – Perform OCR Image – Langkah Pemrosesan Inti + +Semua persiapan mengarah ke baris ini: menjalankan mesin OCR pada gambar yang telah dipra‑proses. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Di balik layar mesin menjalankan tahap segmentasi, pengenalan karakter, dan model bahasa. Jika Anda membutuhkan banyak bahasa, atur mereka pada mesin **sebelum** memanggil `process()`. + +--- + +## Langkah 7 – Extract Text Scanned Page – Mendapatkan Output + +Akhirnya, kami mengambil string yang dikenali dari `OcrResult`. Mencetaknya ke konsol sudah cukup untuk demo cepat, tetapi Anda juga dapat menuliskannya ke file, basis data, atau memasukkannya ke pipeline NLP selanjutnya. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Output yang diharapkan** (dipotong untuk singkatnya): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Jika output masih terlihat berantakan, tinjau kembali parameter pra‑pemrosesan – terkadang level denoise yang lebih tinggi atau faktor kontras yang berbeda memberikan perbedaan yang signifikan. + +--- + +## Contoh Lengkap yang Berfungsi + +Berikut adalah program Java lengkap yang berdiri sendiri yang dapat Anda salin, tempel, dan jalankan. Program ini mencakup impor yang diperlukan, metode `main`, dan komentar inline yang menjelaskan setiap langkah. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Simpan ini sebagai `OcrAccuracyDemo.java`, kompilasi dengan `javac`, dan jalankan dengan `java`. Jika semuanya telah diatur dengan benar, Anda akan melihat teks yang telah dibersihkan dicetak ke terminal. + +--- + +## Pertanyaan Umum & Edge Cases + +**Q: Halaman yang saya pindai berwarna – apakah saya harus mengonversinya ke grayscale terlebih dahulu?** +A: Kebanyakan mesin OCR secara internal mengonversi ke grayscale, tetapi melakukannya sendiri (misalnya, menggunakan `BufferedImage` dan `ColorConvertOp`) dapat memberi Anda kontrol yang lebih halus atas algoritma konversi, terutama ketika latar belakang tidak seragam. + +**Q: Output masih mengandung simbol asing. Apa yang harus dilakukan?** +A: Coba tingkatkan `setDenoiseLevel` menjadi 3 atau sesuaikan `setContrastBoost` menjadi 1.6f. Jika masalah tetap ada, pertimbangkan menerapkan **binary threshold** (binarisasi) sebelum OCR – banyak pustaka menyediakan opsi `setBinarization(true)`. + +**Q: Bagaimana cara menangani PDF multi‑halaman?** +A: Konversi setiap halaman menjadi gambar (misalnya menggunakan Apache PDFBox) dan lakukan loop pada halaman‑halaman tersebut, menggunakan kembali instance `OcrEngine` yang sama tetapi mereset gambar pada setiap iterasi. + +--- + +## Kesimpulan + +Anda baru saja mempelajari cara **improve OCR accuracy** di Java dengan benar **load image OCR**, menerapkan deskew, denoise, dan contrast boost, kemudian **perform OCR image** dan akhirnya **extract text scanned page**. Inti utama adalah bahwa pra‑pemrosesan sering menjadi tuas paling efektif untuk meningkatkan kualitas pengenalan – gambar yang dipersiapkan dengan baik dapat menggandakan atau bahkan melipatgandakan tingkat karakter yang benar. + +Siap untuk langkah berikutnya? Cobalah bereksperimen dengan: + +- Level denoise yang berbeda untuk pemindaian yang sangat bergrain +- Boost kontras adaptif berdasarkan analisis histogram gambar +- Mengintegrasikan model bahasa (misalnya, pemeriksaan ejaan) setelah ekstraksi untuk membersihkan kesalahan residual + +Ekstensi ini akan memperdalam pipeline OCR Anda dan membuatnya cukup kuat untuk beban kerja produksi. + +Jika Anda mengalami kendala atau memiliki trik cerdas sendiri, tinggalkan komentar di bawah. Selamat coding, semoga teks Anda selalu terbaca! + +--- + +## Apa yang Harus Anda Pelajari Selanjutnya? + +Tutorial berikut mencakup topik terkait erat yang membangun teknik yang ditunjukkan dalam panduan ini. Setiap sumber mencakup contoh kode lengkap yang berfungsi dengan penjelasan langkah demi langkah untuk membantu Anda menguasai fitur API tambahan dan mengeksplorasi pendekatan implementasi alternatif dalam proyek Anda. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/java/ocr-basics/_index.md b/ocr/indonesian/java/ocr-basics/_index.md index 37667f523..49f16b8d7 100644 --- a/ocr/indonesian/java/ocr-basics/_index.md +++ b/ocr/indonesian/java/ocr-basics/_index.md @@ -97,11 +97,16 @@ Ingat, perjalanan tidak berhenti di sini—Aspose.OCR menawarkan fitur lanjutan ## Tutorial Dasar-dasar OCR ### [Cara Mengatur Lisensi untuk Aspose.OCR di Java](./set-license/) Buka potensi Aspose.OCR untuk Java dengan panduan langkah‑demi‑langkah ini. Atur lisensi Anda dengan mudah dan tingkatkan kemampuan OCR Anda. + ### [Menghitung Sudut Kemiringan dalam Aspose.OCR untuk Java](./calculate-skew-angle/) 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. +### [Cara Melakukan OCR di Java – Panduan Lengkap untuk Mengekstrak Teks dari Gambar](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Pelajari cara melakukan OCR di Java secara menyeluruh, mengekstrak teks dari gambar dengan langkah‑langkah praktis. + --- **Last Updated:** 2025-12-08 @@ -113,4 +118,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/indonesian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..29c2a46b0 --- /dev/null +++ b/ocr/indonesian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-06-06 +description: cara melakukan OCR di Java – dengan cepat mengekstrak teks dari gambar, + mengonversi gambar menjadi teks, dan membaca teks dari jpg menggunakan contoh kode + sederhana. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: id +og_description: cara melakukan OCR di Java – pelajari cara mengekstrak teks dari gambar, + mengonversi gambar menjadi teks, dan membaca teks dari jpg dengan contoh siap‑jalankan. +og_title: Cara Melakukan OCR di Java – Panduan Langkah demi Langkah +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Cara Melakukan OCR di Java – Panduan Lengkap untuk Mengekstrak Teks dari Gambar +url: /id/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Melakukan OCR di Java – Panduan Lengkap untuk Mengekstrak Teks dari Gambar + +Pernah bertanya-tanya **bagaimana melakukan OCR** pada gambar yang Anda ambil dengan ponsel? Anda tidak sendirian. Baik Anda sedang membuat aplikasi pemindaian struk atau hanya perlu mengekstrak teks dari PDF yang dipindai, **bagaimana melakukan OCR** di Java adalah keterampilan yang cepat memberi hasil. Dalam tutorial ini kami akan membahas contoh praktis yang **mengekstrak teks dari gambar** file, **mengubah gambar menjadi teks**, dan bahkan menunjukkan cara **membaca teks dari jpg** dengan hanya beberapa baris kode. + +> *Pro tip:* Pendekatan yang sama bekerja untuk PNG, BMP, atau format apa pun yang didukung mesin OCR—cukup ganti nama file. + +## Cara Melakukan OCR di Java – Gambaran Umum + +Optical Character Recognition (OCR) adalah teknologi yang mengubah gambar huruf menjadi teks yang sebenarnya dan dapat dicari. Dalam ekosistem Java terdapat beberapa pustaka—Tesseract, Asprise, dan SDK komersial—semua menawarkan alur kerja serupa: memuat gambar, memberi tahu mesin bahasa apa yang diharapkan, menjalankan pengenalan, dan mengambil hasilnya. Di bawah ini kami akan menggunakan kelas generik `OcrEngine` untuk menjaga contoh tetap jelas, tetapi Anda dapat menggantinya dengan implementasi konkret apa pun yang mengikuti pola yang sama. + +### Apa yang Akan Anda Pelajari + +- Menginstal pustaka OCR (ya, **ocr in java** lebih mudah daripada yang Anda kira). +- Membuat dan mengonfigurasi instance mesin OCR. +- Memuat JPG (atau gambar apa pun) dan mengatur bahasa. +- Memproses gambar dan **mengekstrak teks dari gambar** file. +- Mencetak string yang dikenali ke konsol. + +Pada akhir tutorial Anda akan memiliki program Java mandiri yang dapat Anda masukkan ke proyek apa pun dan jalankan secara instan. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## Langkah 1 – Instal dan Impor Pustaka OCR (ocr in java) + +Sebelum Anda menulis satu baris kode Java, Anda memerlukan pustaka yang benar‑benar melakukan pekerjaan berat. Jika Anda menggunakan Maven, tambahkan dependensi seperti ini (ganti `com.example.ocr` dengan ID grup yang sebenarnya dari SDK yang Anda pilih): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Jika Anda lebih suka Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Setelah JAR berada di classpath Anda, impor kelas‑kelas yang diperlukan: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Mengapa ini penting:** Mengimpor kelas yang tepat mencegah error “cannot find symbol” dan membuat IDE Anda senang—tidak ada yang lebih menjengkelkan daripada impor yang hilang ketika Anda sedang mencoba **mengubah gambar menjadi teks**. + +## Langkah 2 – Buat Instance Mesin OCR (how to perform OCR) + +Sekarang pustaka sudah siap, jalankan mesin. Anggap mesin sebagai otak yang akan melihat piksel dan menebak hurufnya. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Membuat mesin biasanya murah; kebanyakan SDK mengalokasikan buffer internal secara malas, sehingga Anda dapat dengan aman menggunakan kembali instance yang sama untuk banyak gambar jika Anda memproses batch. + +## Langkah 3 – Muat Gambar dan Atur Bahasa (extract text from image) + +Langkah selanjutnya adalah memberi mesin sesuatu untuk dibaca. Di sini kami memuat JPEG dari disk dan memberi tahu mesin OCR bahwa teksnya berbahasa Mongolia (kode ISO 639‑2 “mon”). Anda dapat mengubah jalur atau kode bahasa sesuai kebutuhan Anda. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Catatan samping:** Jika Anda tidak mengatur bahasa, mesin secara default menggunakan bahasa Inggris, yang dapat secara drastis menurunkan akurasi ketika teks sebenarnya berbahasa Cyrillic atau skrip lain. Selalu tentukan bahasa yang tepat bila memungkinkan. + +## Langkah 4 – Proses Gambar dan Dapatkan Hasilnya (convert image to text) + +Dengan gambar dan bahasa yang sudah diatur, minta mesin melakukan magisnya. Pemanggilan `process()` menjalankan algoritma OCR dan mengembalikan objek `OcrResult` yang berisi string yang dikenali serta skor kepercayaan. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Di balik layar, mesin mungkin melakukan pra‑pemrosesan—deskewing, binarisasi, pengurangan noise—sehingga Anda tidak perlu menulis langkah‑langkah tersebut sendiri. Itulah mengapa kebanyakan pustaka OCR modern menyenangkan untuk digunakan dalam tugas **mengubah gambar menjadi teks**. + +## Langkah 5 – Keluarkan Teks yang Diekstrak (read text from jpg) + +Akhirnya, ambil teks polos dari hasil dan lakukan sesuatu yang berguna dengannya. Untuk demo ini kami cukup mencetaknya ke konsol, tetapi Anda bisa menulisnya ke file, memasukkannya ke indeks pencarian, atau mengirimkannya ke layanan lain. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Baris itu saja membuktikan bahwa Anda berhasil **membaca teks dari jpg** (atau format yang didukung apa pun). Jika output terlihat berantakan, periksa kembali kode bahasa dan kualitas gambar. + +## Contoh Lengkap yang Berfungsi (Semua Langkah Digabung) + +Berikut adalah kelas Java lengkap yang siap dijalankan dan menggabungkan semua bagian. Salin ke file bernama `OcrDemo.java`, sesuaikan jalur gambar dan bahasa, lalu jalankan `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Output yang Diharapkan + +Jika `input.jpg` berisi frasa Mongolia “Сайн байна уу?” konsol akan menampilkan: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Jika gambar blur atau kode bahasa salah, Anda akan melihat karakter berantakan atau string kosong—permasalahan umum yang akan kami bahas selanjutnya. + +## Masalah Umum dan Cara Memperbaikinya + +| Gejala | Penyebab Kemungkinan | Solusi | +|---------|----------------------|--------| +| Karakter Cyrillic berantakan | Kode bahasa salah (default ke Inggris) | Atur `ocrEngine.getSettings().setLanguage("mon")` atau kode yang sesuai. | +| Tidak ada output sama sekali | Jalur gambar tidak tepat atau file tidak dapat dibaca | Verifikasi jalur, pastikan file ada, dan proses memiliki izin membaca. | +| Akurasi rendah (<70 %) | Gambar berkontras rendah atau terrotasi | Pra‑proses gambar: tingkatkan kontras, deskew, atau ubah ke grayscale sebelum diberikan ke mesin. | +| `OutOfMemoryError` pada PDF besar | Memuat banyak halaman resolusi tinggi sekaligus | Proses halaman satu per satu, atau turunkan resolusi gambar sebelum OCR. | + +### Pro Tip: Pemrosesan Batch + +Jika Anda perlu **mengekstrak teks dari gambar** file secara massal, bungkus logika inti dalam sebuah loop: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Potongan kode itu menunjukkan betapa mudahnya meningkatkan skala dari satu JPG ke seluruh folder pemindaian. + +## Melangkah Lebih Jauh – Apa yang Harus Dijelajahi Selanjutnya? + +- **Paket Bahasa:** Kebanyakan SDK OCR memungkinkan Anda mengunduh file data bahasa tambahan. Menambahkan paket baru memungkinkan Anda **mengubah gambar menjadi teks** untuk bahasa di luar Inggris dan Mongolia. +- **PDF OCR:** Gabungkan kode ini dengan Apache PDFBox untuk + +## Apa yang Harus Anda Pelajari Selanjutnya? + +Tutorial berikut mencakup topik terkait yang membangun teknik yang ditunjukkan dalam panduan ini. Setiap sumber menyertakan contoh kode lengkap dengan penjelasan langkah‑demi‑langkah untuk membantu Anda menguasai fitur API tambahan dan mengeksplorasi pendekatan implementasi alternatif dalam proyek Anda sendiri. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..c2582f75c 100644 --- a/ocr/indonesian/java/ocr-operations/_index.md +++ b/ocr/indonesian/java/ocr-operations/_index.md @@ -81,6 +81,8 @@ 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. +### [Terapkan Lisensi Aspose OCR di Java – Hapus Watermark OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Cara mengaktifkan lisensi Aspose OCR di Java untuk menghilangkan watermark OCR pada hasil. ## Pertanyaan yang Sering Diajukan diff --git a/ocr/indonesian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/indonesian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..7664721c3 --- /dev/null +++ b/ocr/indonesian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: Terapkan Lisensi Aspose OCR di Java untuk membuka semua fitur dan menghapus + watermark OCR secara instan. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: id +og_description: Terapkan Lisensi Aspose OCR di Java untuk menghilangkan batas evaluasi + dan menghapus watermark OCR dari pemindaian Anda. +og_title: Terapkan Lisensi Aspose OCR di Java – Hapus Watermark OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Terapkan Lisensi Aspose OCR di Java – Hapus Watermark OCR +url: /id/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Terapkan Lisensi Aspose OCR di Java – Hapus Watermark OCR + +Pernah bertanya-tanya bagaimana **menerapkan lisensi Aspose OCR** dalam proyek Java tanpa harus melihat watermark evaluasi yang mengganggu? Anda tidak sendirian. Begitu Anda mencoba versi percobaan gratis, setiap gambar yang dipindai akan ditandai dengan overlay abu‑abu “Aspose Evaluation”, dan hal itu dapat membuat dokumen paling bersih pun terlihat tidak profesional. + +Dalam panduan ini kami akan membahas langkah‑langkah tepat untuk **menerapkan lisensi Aspose OCR**, memverifikasi bahwa perpustakaan sudah sepenuhnya terbuka, dan menunjukkan bagaimana watermark secara otomatis menghilang. Pada akhir tutorial, Anda akan dapat menjalankan OCR pada gambar apa pun—baik itu struk, pemindaian paspor, atau catatan tulisan tangan—tanpa overlay yang menjengkelkan. + +## Prasyarat + +Sebelum kita mulai, pastikan Anda memiliki: + +- **Java Development Kit (JDK) 8** atau yang lebih baru terpasang. +- **Aspose OCR for Java** file JAR (unduh dari portal Aspose). +- File **lisensi Aspose OCR** Anda (`Aspose.OCR.Java.lic`). +- IDE atau editor teks sederhana (IntelliJ, Eclipse, VS Code—pilihan Anda). + +Itu saja. Tidak diperlukan plugin Maven atau trik Gradle tambahan, meskipun Anda dapat menambahkannya nanti jika diinginkan. + +## Penyiapan Proyek (Gambaran Singkat) + +1. Buat folder baru bernama `AsposeOCRDemo`. +2. Letakkan file `aspose-ocr-*.jar` ke dalam sub‑folder `lib`. +3. Simpan file `Aspose.OCR.Java.lic` Anda di tempat yang dapat dijangkau, misalnya folder `resources/`. +4. Tulis file `Main.java` kecil—di sinilah keajaiban terjadi. + +Jika Anda menggunakan IDE, cukup tambahkan JAR ke classpath proyek dan tandai folder `resources` sebagai root sumber daya. Jika Anda mengompilasi dari command line, classpath‑nya akan terlihat seperti: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Setelah kerangka kerja siap, mari masuk ke inti permasalahan. + +## Langkah 1: **Terapkan Lisensi Aspose OCR** – Kode Inti + +Hal pertama yang harus Anda lakukan adalah memberi tahu mesin Aspose OCR untuk mempercayai file lisensi Anda. Tanpa pemanggilan ini, perpustakaan tetap berada dalam mode evaluasi dan akan terus menambahkan watermark pada setiap output. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Mengapa ini penting:** Kelas `License` adalah penjaga gerbang. Begitu `setLicense` berhasil, mesin OCR beralih dari *evaluation* ke *full* mode. Semua pemeriksaan internal yang biasanya menambahkan logika **remove OCR watermark** dinonaktifkan, sehingga Anda tidak akan lagi melihat overlay abu‑abu tersebut. + +> **Tip profesional:** Simpan file lisensi di luar kontrol sumber (misalnya, di folder khusus lingkungan) untuk menghindari commit yang tidak sengaja. + +## Langkah 2: Verifikasi Bahwa Watermark Sudah Hilang + +Setelah Anda memanggil `applyAsposeOcrLicense`, sebaiknya jalankan tes cepat. Potongan kode berikut memuat gambar, melakukan OCR, dan mencetak teks yang diekstrak. Jika lisensi tidak aktif, Aspose akan melempar pengecualian atau menyisipkan watermark pada gambar output (jika Anda menyimpan hasil visual). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Output yang diharapkan (kutipan):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Perhatikan tidak ada penyebutan watermark evaluasi di mana pun. Itulah efek **remove OCR watermark** yang berfungsi. + +## Langkah 3: Kesalahan Umum & Kasus Tepi + +### 1. Jalur Lisensi Salah +Jika Anda memberikan jalur yang tidak tepat ke `setLicense`, metode tersebut akan gagal secara diam‑diam dan perpustakaan tetap dalam mode evaluasi. Selalu periksa nilai kembali atau tangkap pengecualian, seperti yang ditunjukkan pada `LicenseUtil`. + +### 2. Menggunakan Jalur Relatif pada Deploymen Berbasis JAR +Saat Anda mengemas aplikasi menjadi JAR yang dapat dieksekusi, jalur sistem file relatif dapat rusak. Pendekatan yang lebih aman adalah memuat lisensi sebagai aliran sumber daya: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Letakkan file `.lic` di `src/main/resources` sehingga berada di classpath. + +### 3. Skenario Multi‑Thread +Jika aplikasi Anda memproses banyak gambar secara bersamaan, Anda hanya perlu menerapkan lisensi **sekali** per JVM. Memanggil kembali `setLicense` dari banyak thread dapat menimbulkan sedikit penurunan performa, meskipun tidak akan merusak apa pun. + +### 4. Kedaluwarsa Lisensi +Lisensi Aspose biasanya bersifat perpetual, namun beberapa lisensi percobaan atau terbatas waktu dapat kedaluwarsa. Ketika itu terjadi, mesin kembali ke mode evaluasi dan perilaku **remove OCR watermark** menghilang. Pantau tanggal kedaluwarsa lisensi di portal Aspose. + +## Langkah 4: Mengotomatiskan Penerapan Lisensi pada Proyek Dunia Nyata + +Dalam microservice produksi, Anda mungkin tidak ingin menaburkan `LicenseUtil.applyAsposeOcrLicense` di seluruh basis kode. Sebaiknya inisialisasi sekali saat aplikasi mulai—misalnya pada metode `@PostConstruct` Spring Boot atau blok inisialisasi statik. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Sekarang setiap komponen yang menggunakan `OcrEngine` dapat berasumsi bahwa lisensi sudah aktif, menjamin **remove OCR watermark** di seluruh layanan. + +## Langkah 5: Menguji Integrasi Lisensi + +Tes otomatis dapat memastikan bahwa watermark memang sudah hilang. Sebuah tes JUnit sederhana dapat terlihat seperti ini: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Menjalankan tes ini memberi Anda keyakinan bahwa pipeline deployment tidak akan secara tidak sengaja mengirimkan build tanpa lisensi. + +## Gambaran Visual (Opsional) + +Jika Anda suka melihat hal secara grafis, berikut skema cepat alur kerja: + +![Apply Aspose OCR License in Java](apply-aspose-ocr-license.png "Apply Aspose OCR License in Java") + +*Alt text: Apply Aspose OCR License in Java – diagram menunjukkan pemuatan lisensi lalu pemrosesan OCR tanpa watermark.* + +## Kesimpulan + +Kami telah membahas semua yang Anda perlukan untuk **menerapkan lisensi Aspose OCR** di lingkungan Java dan, sebagai efek samping langsung, **menghapus watermark OCR** dari semua gambar yang diproses. Dari pembuatan objek `License`, penanganan keanehan jalur, verifikasi hasil, hingga mengintegrasikannya ke dalam aplikasi yang lebih besar—setiap langkah dijelaskan dengan “mengapa” di baliknya, bukan sekadar “bagaimana”. + +Sekarang Anda dapat mengintegrasikan Aspose OCR ke proyek Java apa pun, yakin bahwa pengguna Anda tidak akan pernah lagi melihat tag evaluasi yang mengganggu. + +### Apa Selanjutnya? + +- **Jelajahi paket bahasa:** Aspose OCR mendukung lebih dari 70 bahasa; cukup atur properti `OcrEngine` yang sesuai. +- **Kombinasikan dengan Aspose PDF:** Konversi gambar yang dipindai langsung ke PDF yang dapat dicari tanpa watermark. +- **Optimasi performa** + +## Apa yang Harus Anda Pelajari Selanjutnya? + + +Tutorial berikut mencakup topik terkait yang membangun teknik yang ditunjukkan dalam panduan ini. Setiap sumber daya menyertakan contoh kode lengkap dengan penjelasan langkah‑demi‑langkah untuk membantu Anda menguasai fitur API tambahan dan mengeksplorasi pendekatan implementasi alternatif dalam proyek Anda sendiri. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..99186ea23 100644 --- a/ocr/italian/java/advanced-ocr-techniques/_index.md +++ b/ocr/italian/java/advanced-ocr-techniques/_index.md @@ -43,27 +43,26 @@ Potenzia le tue applicazioni Java con Aspose.OCR per un riconoscimento preciso d ## [Specifica dei caratteri consentiti in Aspose.OCR](./specify-allowed-characters/) -Estrai facilmente il testo dalle immagini specificando i caratteri consentiti con Aspose.OCR per Java. Segui la nostra guida passo passo per un'integrazione efficiente, garantendo un'esperienza di riconoscimento del testo senza interruzioni. Migliora le tue applicazioni Java con le funzionalità Aspose.OCR. - -## Conclusione - -Con Aspose.OCR per Java, padroneggiare le tecniche OCR avanzate non è mai stato così facile. Tuffati in questi tutorial e sblocca tutto il potenziale del riconoscimento del testo nei tuoi progetti Java. Migliora le tue applicazioni con integrazione perfetta, elevata precisione e funzionalità versatili di estrazione del testo. Scaricalo ora e fai il primo passo verso l'eccellenza dell'OCR con Aspose.OCR per Java! -## Tutorial sulle tecniche OCR avanzate -### [Esecuzione dell'OCR su BufferedImage in Aspose.OCR per Java](./perform-ocr-buffered-image/) -Esegui l'OCR su BufferedImage senza sforzo con Aspose.OCR per Java. Estrai testo dalle immagini senza problemi. Scaricalo ora per un'esperienza versatile di riconoscimento del testo. -### [Esecuzione dell'OCR sull'immagine dall'URL in Aspose.OCR per Java](./perform-ocr-image-from-url/) -Sblocca l'estrazione perfetta del testo dell'immagine in Java con Aspose.OCR. OCR ad alta precisione con facile integrazione. -### [Esecuzione dell'OCR su una pagina specifica in Aspose.OCR](./perform-ocr-on-page/) -Sblocca la potenza di Aspose.OCR per Java con la nostra guida passo passo sull'esecuzione dell'OCR su pagine specifiche. Estrai testo senza sforzo dalle immagini e migliora i tuoi progetti Java. -### [Preparazione dei rettangoli per l'OCR in Aspose.OCR](./prepare-rectangles-for-ocr/) -Sblocca la potenza del riconoscimento del testo con Aspose.OCR per Java. Segui la nostra guida passo passo per un'integrazione perfetta. Migliora le tue applicazioni Java con efficienti funzionalità OCR. -### [Riconoscimento delle linee in Aspose.OCR per Java](./recognize-lines/) -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. + +## [Migliora l'accuratezza OCR in Java – Guida completa](./improve-ocr-accuracy-in-java-complete-guide/) + +Scopri come aumentare la precisione dell'OCR in Java con Aspose.OCR grazie a tecniche avanzate passo‑passo. + +### [Estrai testo da immagine scannerizzata in Java – Guida completa Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Scopri come estrarre testo da immagini scannerizzate in Java usando Aspose.OCR con una guida passo‑passo completa. + +### [Come abilitare la GPU in OCR Java – Guida completa passo‑passo](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Scopri come attivare l'accelerazione GPU per l'OCR in Java con Aspose.OCR, migliorando velocità e precisione passo dopo passo. + +### [Esempio Aspose OCR Java – Guida completa per caricare l'immagine, correggere l'ortografia e processare l'OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Scopri come caricare un'immagine, correggere l'ortografia e eseguire l'OCR con Aspose OCR per Java in una guida passo‑passo. + +### [Crea PDF Ricercabile in Java – Guida completa Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/italian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..386d3b802 --- /dev/null +++ b/ocr/italian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,195 @@ +--- +category: general +date: 2026-06-06 +description: Esempio Aspose OCR Java che mostra come caricare l'OCR dell'immagine, + correggere gli errori OCR, impostare un dizionario personalizzato e processare l'OCR + dell'immagine in pochi passaggi. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: it +og_description: Esempio Aspose OCR Java che carica un'immagine, corregge gli errori + OCR, imposta un dizionario personalizzato e elabora l'OCR dell'immagine in modo + efficiente. +og_title: Esempio Aspose OCR Java – Carica immagine, correzione ortografica e elaborazione + OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Esempio Aspose OCR Java – Guida completa per caricare l'immagine, correggere + l'ortografia e processare l'OCR +url: /it/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – Guida Completa per Caricare Immagine, Correggere Ortograficamente e Processare OCR + +Hai mai avuto bisogno di un **Aspose OCR Java example** che funzioni davvero subito? Non sei solo—gli sviluppatori spesso fissano uno screenshot sfocato e si chiedono perché il testo estratto è un caos. La buona notizia è che il motore OCR di Aspose include già la correzione ortografica integrata, e puoi persino collegare la tua lista di parole. In questo tutorial vedremo come caricare un'immagine OCR, abilitare la funzione di correzione, impostare opzionalmente un dizionario personalizzato e infine processare l'immagine OCR per ottenere testo pulito e leggibile. + +Tratteremo anche perché potresti voler **correct OCR errors**, come **load image OCR** in modo efficiente, i vantaggi di una chiamata **set custom dictionary** e come appare il flusso end‑to‑end **process image OCR**. Alla fine avrai un programma Java completamente eseguibile da inserire in qualsiasi progetto Maven o Gradle. + +--- + +## Cosa Ti Serve + +- Java 8 o versioni successive (l'API funziona anche con Java 11+) +- Aspose.OCR for Java library (scarica l'ultimo JAR dal sito Aspose o aggiungi la dipendenza Maven) +- Un file immagine contenente testo (preferibilmente un documento scansionato o uno screenshot con un po' di rumore) +- Opzionale: un file dizionario in testo semplice se desideri **set custom dictionary** per termini specifici del dominio + +È tutto—nessun motore OCR pesante, nessuna dipendenza nativa, solo un singolo JAR e un paio di righe di codice. + +--- + +## Passo 1: Aspose OCR Java Example – Caricare Immagine OCR + +La prima cosa da fare è creare un'istanza di `OcrEngine` e puntarla al file che vuoi analizzare. Pensalo come aprire un libro prima di cominciare a leggere. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Why this matters:** La chiamata `setImage` è il cuore di **load image OCR**. Senza un'immagine valida, il motore non ha nulla da riconoscere e otterrai una stringa vuota o un'eccezione. + +![aspose ocr java example loading image](image.png){alt="aspose ocr java example loading image"} + +--- + +## Passo 2: Abilitare la Correzione Ortografica per Correggere gli Errori OCR + +Aspose OCR include la correzione ortografica attiva per impostazione predefinita, ma non guasta mai essere espliciti—soprattutto quando si dimostra un **aspose ocr java example**. Abilitare questa funzionalità riduce drasticamente il nonsense come “t1e” o “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** Se noti che il motore continua a riconoscere male alcune parole, ricontrolla le impostazioni della lingua o aggiungi un dizionario personalizzato (passo successivo). + +Abilitare la correzione ortografica è il modo più rapido per **correct OCR errors** senza scrivere codice aggiuntivo. + +--- + +## Passo 3: Impostare un Dizionario Personalizzato per Maggiore Precisione + +A volte il dizionario predefinito non conosce il gergo specifico del tuo settore—pensa a termini medici, codici prodotto o nomi di brand. È qui che **set custom dictionary** brilla. Fornisci un file di testo semplice, una parola per riga, e il motore OCR tratterà quelle voci come valide durante la correzione. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **When to use it:** Se stai processando fatture e i nomi delle aziende continuano a venire deformati, un dizionario personalizzato contenente quei nomi renderà la fase **process image OCR** molto più affidabile. + +--- + +## Passo 4: Processare l'Immagine OCR e Recuperare il Testo + +Ora che il motore è configurato, è il momento di eseguire effettivamente il riconoscimento. Il metodo `process` fa tutto il lavoro pesante—rileva i blocchi di testo, applica la correzione ortografica e restituisce un oggetto `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **What you’ll see:** La console stampa una stringa pulita e leggibile. Se avessi disabilitato la correzione ortografica, avresti probabilmente visto caratteri strani, ed è per questo che abilitarla prima è fondamentale per **correct OCR errors**. + +--- + +## Passo 5: Eseguire l'Esempio e Verificare l'Uscita + +Compila ed esegui la classe con il tuo IDE preferito o dalla riga di comando: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Dovresti vedere qualcosa del genere: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Se l'output contiene ancora errori, prova ad aggiungere quelle parole al tuo dizionario personalizzato e riesegui il passo **process image OCR**. + +--- + +## Problemi Comuni e Come Evitarli + +| Problema | Perché accade | Soluzione | +|----------|----------------|-----------| +| **Blank output** | Percorso immagine errato o formato non supportato | Verifica il percorso, usa PNG/JPEG e assicurati che il file sia leggibile | +| **Garbage characters** | Correzione ortografica disabilitata o immagine di bassa qualità | Abilita `setEnableSpellCorrection(true)` e considera un pre‑processing dell'immagine (aumenta il contrasto) | +| **Domain‑specific words still wrong** | Nessun dizionario personalizzato | Usa `setCustomDictionary` con un file contenente i tuoi termini | +| **Out‑of‑memory errors** | Immagini molto grandi caricate senza ridimensionamento | Ridimensiona l'immagine prima di passarla a `OcrEngine` | + +--- + +## Estendere l'Esempio + +Ora che hai un solido **aspose ocr java example**, potresti voler: + +- **Batch process** una cartella di immagini iterando sui nomi dei file e riutilizzando la stessa istanza di `OcrEngine`. +- **Extract layout information** (tabelle, colonne) usando `ocrResult.getPages()` per analisi documenti più avanzate. +- **Integrate with Apache PDFBox** per incorporare il testo riconosciuto nuovamente in un PDF. + +Tutte queste estensioni si basano sugli stessi passaggi fondamentali che abbiamo coperto: caricare immagine OCR, abilitare la correzione, opzionalmente impostare un dizionario personalizzato e processare l'immagine OCR. + +--- + +## Conclusione + +Hai appena costruito un **aspose ocr java example** completo che carica un'immagine, abilita la correzione ortografica per **correct OCR errors**, opzionalmente **set custom dictionary**, e infine **process image OCR** per recuperare testo pulito. Il codice è breve, i concetti sono chiari, e ora disponi di una base che puoi espandere per lavori batch, integrazioni UI o persino micro‑servizi cloud. + +Cosa fare dopo? Prova a fornire al motore una foto a bassa risoluzione, aggiungi una lista di SKU di prodotto al tuo dizionario personalizzato e osserva come migliora l'accuratezza. Più sperimenti, più comprenderai i compromessi tra qualità dell'immagine, dimensione del dizionario e velocità di elaborazione. + +Sentiti libero di lasciare un commento se incontri difficoltà o hai idee per ulteriori miglioramenti. Buona programmazione! + +## Cosa Dovresti Imparare Dopo? + +I tutorial seguenti trattano argomenti strettamente correlati che si basano sulle tecniche dimostrate in questa guida. Ogni risorsa include esempi di codice completi e funzionanti con spiegazioni passo‑passo per aiutarti a padroneggiare funzionalità API aggiuntive e a esplorare approcci di implementazione alternativi nei tuoi progetti. + +- [Come Impostare la Licenza e Verificare la Licenza Aspose.OCR in Java](/ocr/english/java/ocr-basics/set-license/) +- [Come Eseguire OCR su Testo Immagine con Lingua Usando Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Riconoscere le Linee nelle Immagini](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/italian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..f9022444d --- /dev/null +++ b/ocr/italian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,278 @@ +--- +category: general +date: 2026-06-06 +description: Crea PDF ricercabili con Java usando Aspose OCR. Impara a estrarre testo + da PDF, migliorare l'accuratezza OCR e gestire PDF multipagina in modo efficiente. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: it +og_description: Crea PDF ricercabili con Java usando Aspose OCR. Questa guida ti accompagna + nell'estrazione del testo da PDF, nel migliorare l'accuratezza dell'OCR e nella + gestione di PDF multipagina. +og_title: Crea PDF Ricercabile in Java – Tutorial Completo di OCR Aspose +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Crea PDF Ricercabile in Java – Guida Completa a Aspose OCR +url: /it/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Crea PDF Ricercabile in Java – Guida Completa a Aspose OCR + +Ti sei mai chiesto come **creare PDF ricercabili** direttamente da Java senza dover gestire decine di strumenti da riga di comando? Non sei solo. Molti sviluppatori si trovano in difficoltà quando devono trasformare PDF scansionati in documenti ricercabili per testo, soprattutto quando i PDF di origine hanno diverse pagine. + +In questo tutorial percorreremo un esempio completo e eseguibile che non solo **crea PDF ricercabili**, ma mostra anche come **estrarre testo da PDF**, **aumentare la precisione OCR** e gestire un flusso di lavoro **OCR multi pagina PDF** utilizzando la libreria Aspose OCR. Alla fine avrai uno snippet solido, pronto per la produzione, da inserire in qualsiasi progetto Java. + +## Cosa Ti Serve + +- Java 17 o versioni successive (il codice si compila anche con versioni precedenti, ma JDK 17 è l'opzione ideale) +- Maven o Gradle per includere la dipendenza `aspose-ocr` +- Un PDF di esempio multi‑pagina (lo chiameremo `sample_multi_page.pdf`) +- Una GPU modesta o almeno una CPU multicore se desideri abilitare l'elaborazione parallela + +Non sono richieste librerie native aggiuntive—Aspose OCR include tutto il necessario. + +--- + +## Creare PDF Ricercabile – Implementazione Passo‑per‑Passo + +Di seguito suddividiamo il processo in blocchi logici. Ogni sezione ha il proprio header H2 così puoi andare direttamente alla parte di tuo interesse, e la parola chiave principale appare proprio qui nell'intestazione. + +### Passo 1: Configura il Progetto e Importa Aspose OCR + +Per prima cosa, aggiungi l'artifact Maven di Aspose OCR al tuo `pom.xml`. Se preferisci Gradle, lo snippet equivalente è fornito nei commenti. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +**Suggerimento:** Mantieni le dipendenze aggiornate; le versioni più recenti spesso introducono miglioramenti di precisione che ti aiutano direttamente a **aumentare la precisione OCR**. + +### Passo 2: Carica il PDF Multi‑Pagina nel Motore OCR + +Ora creiamo un'istanza di `OcrEngine` e le forniamo il PDF da elaborare. Il motore tratta ogni pagina come un'immagine internamente, ed è per questo che questo approccio funziona in uno scenario **ocr multi pagina pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Perché è importante:** Caricare il PDF una sola volta e lasciare che il motore gestisca la paginazione evita l'overhead di estrarre manualmente ogni pagina, risparmiando tempo e memoria. + +### Passo 3: Abilita Funzionalità Avanzate per **Aumentare la Precisione OCR** + +Aspose OCR offre diverse impostazioni regolabili. Abilitare l'accelerazione GPU, aumentare il numero di thread e specificare più lingue contribuiscono tutti a tassi di riconoscimento migliori, soprattutto su scansioni rumorose. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +**E se non hai una GPU?** Basta impostare `setUseGpu(false)`; il motore tornerà alla modalità solo CPU mantenendo comunque i vantaggi del multithreading. + +### Passo 4: Pre‑processa le Immagini per Migliori Risultati + +Le fasi di pre‑processing come la correzione di inclinazione, la riduzione del rumore e l'aumento del contrasto aumentano notevolmente la **precisione OCR** sui documenti scansionati. Pensalo come levigare una pietra grezza prima di scolpirla. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Perché queste impostazioni?** Un livello di riduzione del rumore di `2` funziona bene per la maggior parte dei PDF scansionati, mentre un moderato aumento del contrasto (1.3×) rende più visibile l'inchiostro tenue senza sovraesporre lo sfondo. + +### Passo 5: Configura l'Uscita per Generare un PDF Ricercabile + +Aspose OCR può incorporare il livello di testo riconosciuto direttamente in un PDF, trasformando un file immagine piatto in un **PDF ricercabile**. Questo è il fulcro della domanda “come creare PDF ricercabile” che molti sviluppatori pongono. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Quando `setGenerateSearchablePdf(true)` è abilitato, la libreria crea un livello di testo invisibile che rispecchia il contenuto visivo, rendendo il documento finale ricercabile in qualsiasi visualizzatore PDF. + +### Passo 6: Esegui l'OCR e Salva il Risultato + +Ora elaboriamo effettivamente il documento e scriviamo il file di output. Il metodo `process` restituisce un oggetto `OcrResult` che contiene sia il PDF ricercabile sia il testo semplice estratto. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Passo 7: (Opzionale) **Estrarre Testo da PDF** per Uso Immediato + +Se hai anche bisogno del testo grezzo—per indicizzazione, analisi o semplicemente per visualizzarlo su una pagina web—puoi prelevarlo direttamente dall'`OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Cosa vedrai:** La console stamperà il testo concatenato di tutte le pagine, preservando i ritorni a capo dove possibile. Questo soddisfa il requisito di **estrarre testo da pdf** senza una seconda passata. + +--- + +## Panoramica Visiva + +Di seguito trovi un semplice diagramma di flusso che associa ogni passo al relativo blocco di codice. Ti aiuta a visualizzare come il PDF di input attraversa il pre‑processing, l'OCR e infine diventa un documento ricercabile. + +![Diagramma di flusso per creare PDF ricercabile](https://example.com/flow-diagram.png "Diagramma di flusso per creare PDF ricercabile") + +*Il testo alternativo contiene la parola chiave principale per soddisfare la SEO dell'immagine.* + +--- + +## Domande Frequenti & Casi Limite + +| Domanda | Risposta | +|----------|--------| +| **Posso elaborare PDF più grandi di 100 MB?** | Sì, ma considera lo streaming delle pagine invece di caricare l'intero file in memoria. Aspose OCR gestisce internamente la paginazione, ma potresti voler aumentare l'heap JVM (`-Xmx4g`) per file molto grandi. | +| **E se il mio PDF contiene note scritte a mano?** | La riconoscimento della scrittura a mano non è abilitato di default. Puoi passare a `setLanguage("eng,mon,handwritten")` se la versione della libreria lo supporta, anche se la precisione può variare. | +| **Ho bisogno di una licenza per Aspose OCR?** | Una licenza di valutazione temporanea è sufficiente per i test. Per la produzione, procurati una licenza commerciale per rimuovere le filigrane e sbloccare le prestazioni complete. | +| **Come disabilito la correzione ortografica?** | Esegui `ocr.getSettings().setEnableSpellCorrection(false);` – utile quando hai bisogno dell'output OCR grezzo per scopi forensi. | +| **Il supporto GPU è obbligatorio?** | No. La libreria ricade elegantemente sulla CPU. Tuttavia, la GPU può ridurre i tempi di elaborazione fino al 60 % su documenti multi‑pagina di grandi dimensioni. | + +--- + +## Esempio Completo (Pronto per Copia‑Incolla) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Output Atteso** + +- `output_searchable.pdf` – un PDF in cui puoi premere Ctrl + F e trovare qualsiasi parola presente nelle immagini scansionate. +- Log della console – il contenuto testuale completo del PDF originale, perfetto per l'indicizzazione o ulteriori analisi. + +--- + +## Conclusione + +Abbiamo appena dimostrato come **creare PDF ricercabili** in Java usando Aspose OCR, mostrando anche come **estrarre testo da PDF**, **aumentare la precisione OCR**, e gestire in modo efficiente un flusso di lavoro **OCR multi pagina PDF**. Lo snippet di codice completo sopra è pronto per essere inserito nel tuo progetto, e le spiegazioni ti danno la sicurezza di modificare le impostazioni per il tuo caso d'uso specifico. + +Qual è il prossimo passo? Prova a sperimentare con l'incorporamento di font personalizzati, aggiungi segnalibri generati dall'OCR, o integra l'output con un motore di ricerca come Elasticsearch. Ognuno di questi argomenti ricollega alle nostre parole chiave secondarie—*come creare PDF ricercabile* e *aumentare la precisione OCR*—offrendoti un percorso chiaro per un'esplorazione più approfondita. + +Sentiti libero di condividere le tue esperienze o fare domande di follow‑up nei commenti. Buon coding e divertiti a trasformare quelle scansioni statiche in PDF completamente ricercabili e ricchi di testo! + +## Cosa Dovresti Imparare Dopo? + +I seguenti tutorial coprono argomenti strettamente correlati che si basano sulle tecniche dimostrate in questa guida. Ogni risorsa include esempi di codice completi e funzionanti con spiegazioni passo‑passo per aiutarti a padroneggiare funzionalità API aggiuntive ed esplorare approcci di implementazione alternativi nei tuoi progetti. + +- [Riconosci Testo PDF – Operazioni OCR con Aspose.OCR per Java](/ocr/english/java/ocr-operations/) +- [Riconoscimento OCR di Documenti PDF in Aspose.OCR per Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Riconoscimento OCR di documenti PDF in Aspose.OCR per Java](/ocr/spanish/java/ocr-operations/recognize-pdf/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/italian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..3604db4c4 --- /dev/null +++ b/ocr/italian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,273 @@ +--- +category: general +date: 2026-06-06 +description: Estrai il testo da un'immagine scansionata usando Aspose OCR per Java. + Scopri come riconoscere il testo da file TIFF con elaborazione parallela. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: it +og_description: Estrai il testo da un'immagine scannerizzata con Aspose OCR. Questa + guida mostra come riconoscere il testo da file TIFF in modo efficiente usando Java. +og_title: Estrai testo da immagine scansionata – Tutorial Java OCR Aspose +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Estrai il testo da un'immagine scannerizzata in Java – Guida completa Aspose + OCR +url: /it/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Estrai testo da immagine scansionata – Guida completa Aspose OCR + +Hai mai avuto bisogno di **estrarre testo da un'immagine scansionata** ma ti sei sentito bloccato sul “come?”? Non sei l'unico. Che tu stia digitalizzando vecchi archivi, estraendo dati da fatture, o creando una libreria PDF ricercabile, ottenere testo affidabile da una scansione TIFF può essere un punto dolente. + +Buone notizie: con Aspose OCR per Java puoi **riconoscere testo da tiff** in pochi righi, e persino ottenere velocità extra limitando il motore a un piccolo numero di core CPU. In questo tutorial percorreremo l'intero processo—dalla configurazione della libreria alla gestione del risultato—così potrai copiare‑incollare un esempio funzionante subito. + +## Cosa copre questo tutorial + +- Installare Aspose OCR per Java (Maven o JAR manuale) +- Caricare una grande immagine TIFF scansionata +- Configurare il motore per usare fino a 4 thread (OCR parallelo) +- Eseguire il processo OCR e stampare il testo estratto +- Problemi comuni (memoria, TIFF multi‑pagina) e come evitarli +- Suggerimento rapido sulle prestazioni: quando regolare `setMaxThreads` + +Alla fine sarai in grado di **estrarre testo da file di immagini scansionate** in modo affidabile, e comprenderai perché regolare il numero di thread è importante quando *riconosci testo da tiff* in una pipeline di produzione. + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Prerequisiti + +Prima di immergerci, assicurati di avere: + +1. **Java Development Kit (JDK) 8+** – qualsiasi versione recente funziona. +2. **Maven** (o la possibilità di aggiungere JAR manualmente) – useremo Maven per semplicità. +3. Una licenza **Aspose OCR per Java** (la valutazione gratuita funziona, ma aggiunge una filigrana). +4. Una **scansione TIFF grande** (ad es. `large_scan.tif`) che vuoi elaborare. + +Se qualcuno di questi ti è sconosciuto, non preoccuparti—ogni passo è spiegato di seguito. + +## Passo 1: Aggiungi Aspose OCR al tuo progetto + +### Utenti Maven + +Aggiungi la seguente dipendenza al tuo `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Configurazione JAR manuale + +Scarica l'ultimo `aspose-ocr-xx.jar` dal sito Aspose e posizionalo nel tuo classpath. + +> **Suggerimento professionale:** Mantieni il JAR in una cartella `libs/` e riferiscilo nelle impostazioni del progetto del tuo IDE. Questo evita sorprese “classe non trovata” in seguito. + +## Passo 2: Crea una classe Java semplice + +Crea un file chiamato `ParallelOcrDemo.java` nella tua cartella sorgente (`src/main/java`). Questa classe conterrà l'intero flusso di lavoro OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Perché limitiamo i thread:** Per impostazione predefinita Aspose OCR cercherà di usare tutti i core, il che può privare di risorse altri servizi su una macchina condivisa. Impostare `setMaxThreads(4)` indica al motore di eseguire fino a quattro worker in parallelo—sufficiente per un notevole aumento di velocità sulla maggior parte delle CPU moderne senza monopolizzare le risorse. + +## Passo 3: Compila ed esegui + +Apri un terminale nella radice del progetto ed esegui: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Se non usi Maven, compila con `javac` ed esegui: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Output previsto + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +La console mostrerà la versione in testo semplice di ciò che era sulla pagina scansionata. Se l'immagine contiene più pagine, Aspose OCR le concatena in ordine. + +## Passo 4: Gestione dei TIFF multi‑pagina (caso limite) + +Uno scenario comune è un **TIFF multi‑pagina**—pensa a un libro scansionato. Per impostazione predefinita `OcrInputImage` legge solo il primo frame. Per elaborare tutte le pagine, usa `OcrInputImage` con un `FileInputStream` e abilita il supporto multi‑pagina: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Ora `ocrEngine.process()` restituirà un singolo `OcrResult` che contiene il testo concatenato da ogni pagina. + +## Passo 5: Ottimizzazione fine della precisione di riconoscimento + +Se noti **caratteri illeggibili** o parole mancanti, prova questi aggiustamenti: + +| Impostazione | Cosa fa | Quando usarla | +|--------------|---------|---------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Forza il modello linguistico inglese (più veloce, più preciso per scansioni in inglese) | Il documento è monolingue inglese | +| `ocrEngine.getSettings().setResolution(300)` | Aumenta la risoluzione delle immagini a bassa risoluzione prima del riconoscimento | Scansioni sotto 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Tenta di pulire macchie e artefatti | Scansioni con molto rumore | + +Example snippet: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Passo 6: Esportare i risultati in un file + +Stampare sulla console va bene per le demo, ma il codice di produzione solitamente scrive l'output in un luogo utile: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Ora hai un file di testo semplice che puoi inviare a un indice di ricerca, a un database, o a una pipeline di analisi a valle. + +--- + +## Domande frequenti (FAQ) + +**D: Funziona con file PNG o JPEG?** +R: Assolutamente. `OcrInputImage` accetta qualsiasi formato che ImageIO di Java può leggere. Basta sostituire l'estensione del file nel percorso. + +**D: Il mio server ha 8 core—dovrei impostare `setMaxThreads(8)`?** +R: Potresti, ma ricorda che altri servizi potrebbero aver bisogno di cicli CPU. Una buona regola pratica è “core totali – 1” per worker OCR dedicati. + +**D: E se il risultato OCR è vuoto?** +R: Verifica che l'immagine non sia completamente bianca, che tu abbia impostato la lingua corretta, e che la risoluzione sia almeno 200 DPI. Scansioni di bassa qualità spesso necessitano di pre‑elaborazione (raddrizzamento, aumento del contrasto) prima di passarle ad Aspose OCR. + +--- + +## Conclusione + +Abbiamo appena **estratto testo da file di immagini scansionate** usando Aspose OCR per Java, e ora sai come **riconoscere testo da tiff** in modo efficiente con l'elaborazione parallela. Il codice completo è nei frammenti sopra, e puoi copiarlo‑incollarlo nel tuo progetto subito. + +### Cosa segue? + +- **Elaborazione batch**: Scorri una directory di TIFF, salva ogni risultato in un file separato. +- **Integra con Elasticsearch**: Indicizza il testo estratto per una ricerca full‑text veloce. +- **Aggiungi rilevamento della lingua**: Usa `OcrLanguage.AutoDetect` per documenti multilingue. + +Sperimenta con queste idee, e trasformerai rapidamente una montagna di documenti scansionati in dati ricercabili e azionabili. + +Buon coding, e sentiti libero di lasciare un commento se incontri difficoltà! + +## Cosa dovresti imparare dopo? + +I seguenti tutorial coprono argomenti strettamente correlati che si basano sulle tecniche dimostrate in questa guida. Ogni risorsa include esempi di codice completi e funzionanti con spiegazioni passo‑passo per aiutarti a padroneggiare funzionalità API aggiuntive ed esplorare approcci di implementazione alternativi nei tuoi progetti. + +- [Come riconoscere tiff con Aspose.OCR per Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Estrai testo da immagini – Nozioni di base OCR con Aspose.OCR per Java](/ocr/english/java/ocr-basics/) +- [Estrai testo da immagine Java con Aspose.OCR Modalità Rileva Aree](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/italian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..60f638dc3 --- /dev/null +++ b/ocr/italian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-06-06 +description: Come abilitare la GPU in Java OCR ed estrarre testo da file JPEG. Segui + questo esempio di Java OCR per convertire l'immagine in testo con accelerazione + GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: it +og_description: Come abilitare la GPU in Java OCR ed estrarre istantaneamente il testo + da immagini JPEG. Questa guida mostra un esempio completo di OCR in Java con OCR + accelerato da GPU. +og_title: Come abilitare la GPU in Java OCR – Guida completa alla programmazione +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Come abilitare la GPU in Java OCR – Guida completa passo passo +url: /it/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come abilitare la GPU in Java OCR – Guida completa passo‑passo + +Ti sei mai chiesto **come abilitare la GPU** per il riconoscimento ottico dei caratteri in Java? Non sei l'unico—gli sviluppatori chiedono continuamente, “Posso rendere l'OCR più veloce senza riscrivere tutto?” La risposta breve è sì, e quella lunga è proprio qui. In questo tutorial percorreremo un **java ocr example** che **estrae testo da file JPEG**, **converte l'immagine in testo**, e sfrutta **GPU accelerated OCR** per risultati rapidissimi. + +Inizieremo configurando la libreria Aspose OCR, caricando un JPEG di esempio, attivando il supporto GPU, eseguendo il motore e infine stampando il testo riconosciuto. Alla fine avrai uno snippet riutilizzabile da inserire in qualsiasi progetto Java, oltre a una serie di consigli per evitare le insidie più comuni. Nessun superfluo, solo il nitty‑gritty di cui hai bisogno per partire. + +## Prerequisiti + +* Java 8 o versioni successive installato (il codice usa API standard, quindi qualsiasi JDK recente funziona). +* Una GPU compatibile con driver aggiornati – la maggior parte delle schede NVIDIA/AMD moderne è idonea. +* La libreria Aspose.OCR per Java (puoi scaricarla da Maven Central o dal sito Aspose). +* Un'immagine JPEG su cui eseguire l'OCR – la chiameremo `sample.jpg`. + +È tutto. Se qualcosa ti è sconosciuto, fermati e installa la parte mancante; il resto della guida presuppone che siano già presenti. + +## Come abilitare la GPU in Java OCR – Panoramica + +Di seguito trovi una rapida panoramica di ciò che otterremo: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Considera la GPU come un turbocompressore per il tuo motore OCR—anziché la CPU eseguire l'analisi pixel per pixel, la scheda grafica gestisce il lavoro pesante in parallelo. Il risultato? Tempi di elaborazione più rapidi, soprattutto su scansioni ad alta risoluzione. + +## Passo 1: Configurare il progetto e importare Aspose OCR + +Prima di tutto, crea un nuovo progetto Maven (o Gradle, se preferisci). Aggiungi la dipendenza Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Se non usi Maven, scarica il JAR da Aspose e aggiungilo al tuo classpath. Questo passo è la base di qualsiasi **java ocr example** che scriverai, quindi verifica che la libreria venga risolta correttamente. + +## Passo 2: Caricare l'immagine JPEG (Estrarre testo da JPEG) + +Ora scriveremo il codice per leggere un file JPEG. La classe `OcrInputImage` accetta un percorso, e lo passeremo a `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Perché è importante:** Caricare correttamente l'immagine è il primo passo in qualsiasi flusso di lavoro **convert image to text**. Se il percorso è errato, il motore lancia un'eccezione prima ancora di arrivare alla fase GPU. + +## Passo 3: Abilitare l'accelerazione GPU (Come abilitare la GPU) + +Ecco il cuore del tutorial—attivare il supporto GPU. L'oggetto `OcrSettings` espone un flag `setUseGpu`. Basta impostarlo a `true` e sei pronto. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Consiglio professionale:** Verifica che il driver della tua GPU sia aggiornato. I driver obsoleti spesso causano il fallimento silenzioso della chiamata `setUseGpu(true)`, lasciandoti con prestazioni solo CPU. + +## Passo 4: Eseguire il motore OCR (Java OCR Example) + +Con l'immagine caricata e la GPU abilitata, avvia il processo OCR. Il motore restituisce un oggetto `OcrResult` che contiene il testo riconosciuto. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Dietro le quinte, Aspose suddivide l'immagine in tasselli, li invia alla GPU per l'inferenza parallela e ricompone i risultati. Questo è ciò che rende l'esperienza **gpu accelerated ocr** notevolmente più veloce rispetto al percorso CPU predefinito. + +## Passo 5: Output del testo riconosciuto (Convert Image to Text) + +Infine, stampa il risultato sulla console. In un'applicazione reale probabilmente lo scriveresti su un file o in un database, ma per illustrazione un semplice `System.out.println` è sufficiente. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Output previsto + +Assumendo che `sample.jpg` contenga la frase “Hello, World!”, dovresti vedere: + +``` +Recognized text: +Hello, World! +``` + +Se l'immagine è più complessa (più linee, tabelle, ecc.), l'output conterrà interruzioni di riga e spaziature che rispecchiano il layout originale. Questa è la bellezza del motore OCR di Aspose—preserva la struttura mentre converte l'immagine in testo. + +## Esempio completo funzionante + +Mettendo tutto insieme, ecco il programma completo, pronto per l'esecuzione: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Salva questo come `GpuOcrDemo.java`, compila con `javac` e avvia con `java`. Se tutto è configurato correttamente, la console mostrerà il testo estratto in un lampo. + +## Domande comuni e casi limite + +### 1. La mia GPU non viene utilizzata – cosa succede? + +* **Controlla la versione del driver** – i driver più vecchi potrebbero non esporre le capacità di calcolo richieste. +* **Verifica il supporto GPU** – Aspose richiede una scheda NVIDIA compatibile CUDA o una scheda AMD compatibile OpenCL. Se sei su un laptop con GPU discreta disabilitata, abilitala nel BIOS o nel pannello di controllo grafico. +* **Ispeziona i log** – Aspose scrive una riga di debug quando la modalità GPU è attiva. Abilita il logging tramite `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. Il risultato OCR è illeggibile su un'immagine a bassa risoluzione. + +* **Pre‑processa il JPEG** – ridimensiona a almeno 300 dpi, applica un miglioramento del contrasto o convertilo in scala di grigi prima di passarlo al motore. +* **Regola le impostazioni** – puoi modificare `ocr.getSettings().setLanguage(OcrLanguage.English)` o abilitare `setUseLanguageDetection(true)` per una maggiore precisione. + +### 3. Posso elaborare più immagini in batch? + +Assolutamente. Avvolgi i blocchi di caricamento e elaborazione in un ciclo, riutilizzando la stessa istanza `OcrEngine`. Ricorda solo di chiamare `ocr.reset()` tra le iterazioni per cancellare l'immagine precedente. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. L'accelerazione GPU funziona su server headless? + +Sì, purché il server abbia una GPU supportata e i driver corretti. Su Linux, potresti dover installare il pacchetto `nvidia‑utils` e assicurarti che il toolkit `CUDA` sia nel `PATH`. + +## Consigli professionali per OCR GPU pronto per la produzione + +* **La dimensione del batch è importante** – le immagini più grandi beneficiano maggiormente del parallelismo GPU. Se elabori icone piccole, l'overhead del trasferimento GPU potrebbe superare i vantaggi. +* **Gestione della memoria** – le GPU hanno VRAM limitata. Per PDF molto grandi o scansioni multi‑megapixel, suddividi manualmente l'immagine in tasselli più piccoli. +* **Gestione degli errori** – avvolgi la chiamata OCR in un blocco try‑catch e ricorri alla modalità CPU (`setUseGpu(false)`) se viene lanciata un'`UnsupportedOperationException`. + +## Conclusione + +Abbiamo appena coperto **come abilitare la GPU** in un **java ocr example**, mostrato come **estrarre testo da JPEG** e dimostrato un modo pulito per **convert image to text** usando il motore **gpu accelerated OCR** di Aspose. Lo snippet completo sopra è pronto per essere inserito in qualsiasi progetto Java, e i consigli allegati dovrebbero evitarti i soliti problemi. + +Cosa fare dopo? Prova ad aggiungere pacchetti linguistici, sperimenta con diversi formati immagine (PNG, TIFF), o integra l'output in un indice di ricerca. Il cielo è il limite quando abbini OCR con la potenza della GPU. + +Hai altre domande sull'OCR accelerato da GPU o hai bisogno di aiuto per regolare le impostazioni? Lascia un commento, e buona programmazione! + +![Come abilitare la GPU in un esempio OCR Java](https://example.com/images/gpu-ocr-java.png "Come abilitare la GPU in OCR Java") + +## Cosa dovresti imparare dopo? + +I seguenti tutorial coprono argomenti strettamente correlati che si basano sulle tecniche dimostrate in questa guida. Ogni risorsa include esempi di codice completi e funzionanti con spiegazioni passo‑passo per aiutarti a padroneggiare funzionalità API aggiuntive ed esplorare approcci di implementazione alternativi nei tuoi progetti. + +- [Estrai testo dalle immagini – Nozioni di base OCR con Aspose.OCR per Java](/ocr/english/java/ocr-basics/) +- [Converti immagine in testo in Java usando Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Come eseguire OCR su testo immagine con lingua usando Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/italian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..5ad3e5aa3 --- /dev/null +++ b/ocr/italian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,252 @@ +--- +category: general +date: 2026-06-06 +description: Migliora l'accuratezza dell'OCR in Java con una guida passo‑passo che + mostra come caricare l'OCR dell'immagine, elaborare l'OCR dell'immagine ed estrarre + il testo della pagina scansionata in modo efficiente. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: it +og_description: Migliora l'accuratezza OCR in Java con un esempio pratico. Impara + a caricare l'immagine per l'OCR, a preelaborarla e a eseguire l'OCR per estrarre + il testo da una pagina scansionata. +og_title: Migliora l'accuratezza OCR in Java – Tutorial completo +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Migliora l'accuratezza OCR in Java – Guida completa +url: /it/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Migliorare la precisione OCR in Java – Guida completa + +Ti sei mai chiesto come **improve OCR accuracy** quando lavori con scansioni di vecchi libri o ricevute sfocate? Non sei solo. In molti progetti reali l'output grezzo di un motore OCR appare come un caos criptico, e questo è di solito perché l'immagine non è stata pre‑elaborata correttamente prima di **perform OCR image**. + +In questo tutorial percorreremo un esempio pratico in Java che mostra esattamente come **load image OCR**, applicare alcuni passaggi intelligenti di pre‑elaborazione, **process image OCR**, e infine **extract text scanned page** con un risultato pulito. Alla fine comprenderai non solo *cosa* codificare, ma anche *perché* ogni riga è importante per migliorare la qualità del riconoscimento. + +## Cosa imparerai + +- Come istanziare un motore OCR in Java +- Il modo corretto per **load image OCR** dal disco +- Perché la correzione dell'inclinazione, la riduzione del rumore e il potenziamento del contrasto sono essenziali per **improve OCR accuracy** +- Come **perform OCR image** e recuperare il testo riconosciuto +- Suggerimenti per gestire diversi formati di immagine e casi limite + +Non è necessaria documentazione esterna – tutto ciò che ti serve è qui, e il codice completo e eseguibile è incluso in fondo. + +## Prerequisiti + +- Java 17 (o qualsiasi JDK recente) installato sulla tua macchina +- Una libreria OCR che fornisce le classi `OcrEngine`, `OcrInputImage` e `OcrResult` (l'esempio utilizza un'API generica; sostituiscila con il jar del tuo fornitore se necessario) +- Un'immagine scansionata (PNG, JPEG o TIFF) su cui vuoi eseguire l'OCR – per la demo useremo `old_book_page.png` situato in una cartella chiamata `YOUR_DIRECTORY` + +Se ti manca il jar OCR, basta copiarlo nella cartella `libs` del tuo progetto e aggiungerlo al classpath. È tutto. + +--- + +## Passo 1 – Migliorare la precisione OCR: Configurare il motore + +Prima di poter **process image OCR**, abbiamo bisogno di una nuova istanza del motore. Creare un nuovo `OcrEngine` ci fornisce una base pulita, garantendo che non rimangano impostazioni residue da esecuzioni precedenti. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Perché è importante*: Un motore appena creato parte con la pre‑elaborazione predefinita disabilitata. È intenzionale – vogliamo abilitare solo i passaggi che realmente aiutano la nostra immagine specifica, che è la pietra angolare di **improve OCR accuracy**. + +## Passo 2 – Caricare l'immagine OCR – Preparare la scansione + +Ora carichiamo effettivamente **load image OCR**. Il metodo `setImage` si aspetta un `OcrInputImage` che punti al file su disco. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Un paio di note: + +1. **Formati supportati** – la maggior parte delle librerie accetta PNG, JPEG, BMP e TIFF. Se hai un PDF, converti prima la prima pagina in immagine. +2. **Gestione dei percorsi** – usare un percorso assoluto evita il problema “file non trovato” quando la directory di lavoro cambia. + +## Passo 3 – Correzione inclinazione: Raddrizzare le pagine ruotate + +Molte pagine scansionate non sono perfettamente orizzontali. Una leggera rotazione può compromettere il riconoscimento perché il motore OCR si aspetta linee di testo livellate. Abilitare la correzione dell'inclinazione rileva e corregge automaticamente quella rotazione. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Suggerimento professionale**: Se conosci l'angolo di rotazione in anticipo (ad esempio 90°), puoi ruotare manualmente l'immagine prima di passarla al motore – spesso più veloce per lavori batch. + +## Passo 4 – Riduzione rumore: Diminuire la grana di sfondo + +I vecchi documenti contengono frequentemente la trama della carta, polvere o artefatti di compressione. Il metodo `setDenoiseLevel` applica un filtro che smussa questo rumore. Il livello 2 è un buon punto di partenza per la maggior parte delle pagine scansionate. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Perché aiuta**: Il rumore crea bordi falsi che il motore OCR può interpretare come caratteri. Pulendo l'immagine, **improve OCR accuracy** senza sacrificare le forme reali dei glifi. + +## Passo 5 – Aumentare il contrasto: Far risaltare il testo + +Se la scansione è sbiadita, il contrasto tra inchiostro e carta è basso, e il motore fatica a distinguere il primo piano dallo sfondo. Un modesto aumento del contrasto di `1.4f` (incremento del 40 %) di solito risolve. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Caso limite*: Per immagini molto scure, un fattore più alto (fino a 2.0) può essere utile, ma attenzione al clipping – le regioni troppo luminose possono diventare bianco puro, cancellando i dettagli fini. + +## Passo 6 – Perform OCR Image – Il passaggio centrale di elaborazione + +Tutta la preparazione porta a questa riga: eseguire effettivamente il motore OCR sull'immagine pre‑elaborata. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Nel suo interno il motore esegue le fasi di segmentazione, riconoscimento dei caratteri e modello linguistico. Se ti servono più lingue, impostale sul motore **prima** di chiamare `process()`. + +## Passo 7 – Extract Text Scanned Page – Ottenere l'output + +Infine, estraiamo la stringa riconosciuta da `OcrResult`. Stamparla sulla console è sufficiente per una demo veloce, ma potresti anche scriverla su un file, un database o inserirla in una pipeline NLP a valle. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +Expected output (truncated for brevity): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Se l'output appare ancora confuso, rivedi i parametri di pre‑elaborazione – a volte un livello di denoise più alto o un fattore di contrasto diverso fanno una differenza notevole. + +## Esempio completo funzionante + +Di seguito trovi il programma Java completo e autonomo che puoi copiare, incollare ed eseguire. Include gli import necessari, un metodo `main` e commenti in linea che chiariscono ogni passaggio. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Salva questo come `OcrAccuracyDemo.java`, compila con `javac` e eseguilo con `java`. Se tutto è configurato correttamente, vedrai il testo pulito stampato sul terminale. + +--- + +## Domande comuni e casi limite + +**Q: La mia pagina scansionata è a colori – dovrei convertirla in scala di grigi prima?** +A: La maggior parte dei motori OCR converte internamente in scala di grigi, ma farlo manualmente (ad es., usando `BufferedImage` e `ColorConvertOp`) può darti un controllo più fine sull'algoritmo di conversione, specialmente quando lo sfondo non è uniforme. + +**Q: L'output contiene ancora simboli estranei. Cosa fare?** +A: Prova ad aumentare `setDenoiseLevel` a 3 o a regolare `setContrastBoost` a 1.6f. Se il problema persiste, considera di applicare una **binary threshold** (binarizzazione) prima dell'OCR – molte librerie espongono un'opzione `setBinarization(true)`. + +**Q: Come gestisco i PDF multi‑pagina?** +A: Converti ogni pagina in un'immagine (usando, ad esempio, Apache PDFBox) e itera sulle pagine, riutilizzando la stessa istanza di `OcrEngine` ma reimpostando l'immagine ad ogni iterazione. + +--- + +## Conclusione + +Hai appena imparato come **improve OCR accuracy** in Java caricando correttamente **load image OCR**, applicando la correzione dell'inclinazione, la riduzione del rumore e il potenziamento del contrasto, poi **perform OCR image** e infine **extract text scanned page**. Il punto chiave è che la pre‑elaborazione è spesso la leva più efficace per aumentare la qualità del riconoscimento – un'immagine ben preparata può raddoppiare o addirittura triplicare il tasso di caratteri corretti. + +Pronto per il passo successivo? Prova a sperimentare con: + +- Diversi livelli di denoise per scansioni molto granulose +- Potenziamento adattivo del contrasto basato sull'analisi dell'istogramma dell'immagine +- Integrazione di un modello linguistico (ad es., correzione ortografica) dopo l'estrazione per pulire gli errori residui + +Queste estensioni approfondiranno la tua pipeline OCR e la renderanno sufficientemente robusta per carichi di lavoro in produzione. + +Se incontri un problema o hai un trucco intelligente da condividere, lascia un commento qui sotto. Buon coding, e che il tuo testo sia sempre leggibile! + +## Cosa dovresti imparare dopo? + +I seguenti tutorial coprono argomenti strettamente correlati che si basano sulle tecniche dimostrate in questa guida. Ogni risorsa include esempi di codice completo e funzionante con spiegazioni passo‑passo per aiutarti a padroneggiare funzionalità API aggiuntive ed esplorare approcci di implementazione alternativi nei tuoi progetti. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/java/ocr-basics/_index.md b/ocr/italian/java/ocr-basics/_index.md index 9cda394b6..c6714c222 100644 --- a/ocr/italian/java/ocr-basics/_index.md +++ b/ocr/italian/java/ocr-basics/_index.md @@ -105,6 +105,9 @@ 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. +### [Come eseguire OCR in Java – Guida completa per estrarre testo dalle immagini](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Scopri passo passo come utilizzare Aspose.OCR in Java per estrarre testo da qualsiasi immagine con precisione. + --- **Ultimo aggiornamento:** 2025-12-08 @@ -116,4 +119,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/italian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..81c2ea4c4 --- /dev/null +++ b/ocr/italian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-06-06 +description: come eseguire OCR in Java – estrarre rapidamente il testo da un'immagine, + convertire l'immagine in testo e leggere il testo da un jpg usando un semplice esempio + di codice. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: it +og_description: come eseguire OCR in Java – impara come estrarre testo da un'immagine, + convertire l'immagine in testo e leggere il testo da un jpg con un esempio pronto + all'uso. +og_title: Come eseguire l'OCR in Java – Guida passo passo +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Come eseguire OCR in Java – Guida completa per estrarre testo dalle immagini +url: /it/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come eseguire OCR in Java – Guida completa per estrarre testo dalle immagini + +Ti sei mai chiesto **come eseguire OCR** su una foto scattata con il tuo telefono? Non sei il solo. Che tu stia creando un'app per la scansione di ricevute o abbia semplicemente bisogno di estrarre testo da un PDF scansionato, **come eseguire OCR** in Java è una competenza che ripaga rapidamente. In questo tutorial percorreremo un esempio pratico che **estrae testo da file immagine**, **converte immagine in testo**, e mostra anche come **leggere testo da jpg** con poche righe di codice. + +> *Suggerimento professionale:* Lo stesso approccio funziona per PNG, BMP o qualsiasi formato supportato dal motore OCR—basta cambiare il nome del file. + +## Come eseguire OCR in Java – Panoramica + +Il riconoscimento ottico dei caratteri (OCR) è la tecnologia che trasforma le immagini di lettere in testo reale e ricercabile. Nell'ecosistema Java esistono diverse librerie—Tesseract, Asprise e SDK commerciali—che espongono un flusso di lavoro simile: caricare un'immagine, indicare al motore la lingua prevista, eseguire il riconoscimento e ottenere il risultato. Di seguito useremo una classe generica `OcrEngine` per mantenere l'esempio chiaro, ma puoi sostituirla con qualsiasi implementazione concreta che segua lo stesso schema. + +### Cosa imparerai + +- Installa una libreria OCR (sì, **ocr in java** è più facile di quanto pensi). +- Crea e configura un'istanza del motore OCR. +- Carica un JPG (o qualsiasi immagine) e imposta la lingua. +- Elabora l'immagine e **estrarre testo da immagine**. +- Stampa la stringa riconosciuta sulla console. + +Alla fine avrai un programma Java autonomo che potrai inserire in qualsiasi progetto e eseguire immediatamente. + +![esempio di come eseguire OCR](ocr-example.png "illustrazione di come eseguire OCR in Java") + +## Passo 1 – Installa e importa una libreria OCR (ocr in java) + +Prima di scrivere una sola riga di Java, ti serve una libreria che faccia effettivamente il lavoro pesante. Se usi Maven, aggiungi una dipendenza come questa (sostituisci `com.example.ocr` con il vero group ID del SDK scelto): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Se preferisci Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Una volta che il JAR è nel tuo classpath, importa le classi di cui avrai bisogno: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Perché è importante:** Importare le classi corrette evita errori “cannot find symbol” e rende felice il tuo IDE—nulla è più frustrante di un import mancante quando stai cercando di **convertire immagine in testo**. + +## Passo 2 – Crea l'istanza del motore OCR (come eseguire OCR) + +Ora che la libreria è pronta, avvia il motore. Considera il motore come il cervello che guarderà i pixel e indovinerà le lettere. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Creare il motore è solitamente poco costoso; la maggior parte degli SDK alloca buffer interni in modo pigro, così puoi riutilizzare in sicurezza la stessa istanza per molte immagini se stai elaborando un batch. + +## Passo 3 – Carica l'immagine e imposta la lingua (estrarre testo da immagine) + +Il passo successivo è fornire al motore qualcosa da leggere. Qui carichiamo un JPEG dal disco e indichiamo al motore OCR che il testo è in mongolo (codice ISO 639‑2 “mon”). Puoi modificare il percorso o il codice lingua per adattarlo al tuo caso d'uso. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Nota a margine:** Se non imposti una lingua, il motore usa per default l'inglese, il che può ridurre drasticamente l'accuratezza quando il testo è in realtà cirillico o in un altro script. Specifica sempre la lingua corretta quando puoi. + +## Passo 4 – Elabora l'immagine e ottieni il risultato (convertire immagine in testo) + +Con l'immagine e la lingua impostate, chiedi al motore di fare la sua magia. La chiamata `process()` esegue l'algoritmo OCR e restituisce un oggetto `OcrResult` contenente la stringa riconosciuta e i punteggi di confidenza. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Dietro le quinte, il motore può eseguire pre‑elaborazione—raddrizzamento, binarizzazione, riduzione del rumore—così non devi scrivere questi passaggi tu stesso. Ecco perché la maggior parte delle librerie OCR moderne è un piacere da usare per attività di **convertire immagine in testo**. + +## Passo 5 – Output del testo estratto (leggere testo da jpg) + +Infine, estrai il testo semplice dal risultato e fai qualcosa di utile con esso. Per questa demo lo stampiamo semplicemente sulla console, ma potresti scriverlo su un file, inviarlo a un indice di ricerca o passarne a un altro servizio. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Quella riga dimostra da sola che hai **letto testo da jpg** (o qualsiasi formato supportato) con successo. Se l'output appare confuso, ricontrolla il codice lingua e la qualità dell'immagine. + +## Esempio completo funzionante (tutti i passi combinati) + +Di seguito trovi una classe Java completa, pronta per l'esecuzione, che collega tutti i componenti. Copiala in un file chiamato `OcrDemo.java`, regola il percorso dell'immagine e la lingua, quindi esegui `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Output previsto + +Se `input.jpg` contiene la frase mongola “Сайн байна уу?” la console mostrerà: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Se l'immagine è sfocata o il codice lingua è errato, vedrai caratteri confusi o una stringa vuota—problemi comuni che discuteremo subito dopo. + +## Problemi comuni e come risolverli + +| Sintomo | Causa probabile | Risoluzione | +|---------|-----------------|-------------| +| Caratteri cirillici confusi | Codice lingua errato (default a inglese) | Imposta `ocrEngine.getSettings().setLanguage("mon")` o il codice appropriato. | +| Nessun output | Percorso immagine errato o file illeggibile | Verifica il percorso, assicurati che il file esista e che il processo abbia i permessi di lettura. | +| Bassa accuratezza (<70 %) | L'immagine ha basso contrasto o è ruotata | Pre‑elabora l'immagine: aumenta il contrasto, raddrizza o converti in scala di grigi prima di passarla al motore. | +| `OutOfMemoryError` su PDF grandi | Caricamento di molte pagine ad alta risoluzione contemporaneamente | Elabora le pagine una alla volta, o ridimensiona le immagini prima dell'OCR. | + +### Suggerimento professionale: Elaborazione batch + +Se hai bisogno di **estrarre testo da immagine** file in blocco, avvolgi la logica principale in un ciclo: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +## Approfondimenti – Cosa esplorare dopo? + +- **Language Packs:** La maggior parte degli SDK OCR ti permette di scaricare file di dati lingua aggiuntivi. Aggiungere un nuovo pacchetto ti consente di **convertire immagine in testo** per lingue oltre l'inglese e il mongolo. +- **PDF OCR:** Combina questo codice con Apache PDFBox per + +## Cosa dovresti imparare dopo? + +I seguenti tutorial coprono argomenti strettamente correlati che si basano sulle tecniche dimostrate in questa guida. Ogni risorsa include esempi di codice completi e funzionanti con spiegazioni passo passo per aiutarti a padroneggiare funzionalità API aggiuntive ed esplorare approcci di implementazione alternativi nei tuoi progetti. + +- [Estrarre testo da immagini – Nozioni di base OCR con Aspose.OCR per Java](/ocr/english/java/ocr-basics/) +- [Convertire immagine in testo in Java usando Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Come fare OCR su testo immagine con lingua usando Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..c9b7d8932 100644 --- a/ocr/italian/java/ocr-operations/_index.md +++ b/ocr/italian/java/ocr-operations/_index.md @@ -81,6 +81,8 @@ 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. +### [Applicare la licenza Aspose OCR in Java – Rimuovere il watermark OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Scopri come applicare la licenza Aspose OCR in Java per rimuovere il watermark OCR dalle tue immagini. ## Domande Frequenti diff --git a/ocr/italian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/italian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..dacbfbff3 --- /dev/null +++ b/ocr/italian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-06-06 +description: Applica la licenza Aspose OCR in Java per sbloccare tutte le funzionalità + e rimuovere immediatamente la filigrana OCR. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: it +og_description: Applica la licenza Aspose OCR in Java per eliminare i limiti di valutazione + e rimuovere la filigrana OCR dalle tue scansioni. +og_title: Applicare la licenza Aspose OCR in Java – Rimuovere la filigrana OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Applicare la licenza Aspose OCR in Java – Rimuovere la filigrana OCR +url: /it/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Applicare la licenza Aspose OCR in Java – Rimuovere il watermark OCR + +Ti sei mai chiesto come **applicare la licenza Aspose OCR** in un progetto Java senza incorrere nel temuto watermark di valutazione? Non sei il solo. Nel momento in cui provi la versione di prova gratuita, ogni immagine scansionata è contrassegnata da quella sovrapposizione grigia “Aspose Evaluation”, e può far apparire anche il documento più pulito in modo poco professionale. + +In questa guida percorreremo passo passo le istruzioni per **applicare la licenza Aspose OCR**, verificare che la libreria sia completamente sbloccata e mostrare come il watermark scompaia automaticamente. Alla fine, sarai in grado di eseguire OCR su qualsiasi immagine — che si tratti di una ricevuta, di una scansione di passaporto o di una nota scritta a mano — senza la fastidiosa sovrapposizione. + +## Prerequisiti + +Prima di iniziare, assicurati di avere: + +- **Java Development Kit (JDK) 8** o versioni successive installate. +- **Aspose OCR for Java** file JAR (scaricabile dal portale Aspose). +- Il tuo **file di licenza Aspose OCR** (`Aspose.OCR.Java.lic`). +- Un IDE o un semplice editor di testo (IntelliJ, Eclipse, VS Code — a tua scelta). + +Tutto qui. Non servono plugin Maven aggiuntivi né trucchi Gradle, anche se potrai aggiungerli in seguito se lo desideri. + +## Configurazione del progetto (Panoramica rapida) + +1. Crea una nuova cartella chiamata `AsposeOCRDemo`. +2. Inserisci il file `aspose-ocr-*.jar` in una sottocartella `lib`. +3. Posiziona il tuo file `Aspose.OCR.Java.lic` in una posizione raggiungibile, ad esempio nella cartella `resources/`. +4. Scrivi un piccolo file `Main.java` — è qui che avviene la magia. + +Se usi un IDE, aggiungi semplicemente il JAR al classpath del progetto e imposta la cartella `resources` come radice delle risorse. Se compili dalla riga di comando, il classpath avrà un aspetto simile a: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Ora che lo scheletro è pronto, passiamo al nocciolo della questione. + +## Passo 1: **Applicare la licenza Aspose OCR** – Il codice principale + +La prima cosa da fare è dire al motore Aspose OCR di fidarsi del tuo file di licenza. Senza questa chiamata, la libreria rimane in modalità valutazione e continuerà ad aggiungere il watermark a ogni output. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Perché è importante:** La classe `License` è il guardiano. Non appena `setLicense` ha successo, il motore OCR passa dalla modalità *evaluation* a quella *full*. Tutti i controlli interni che normalmente aggiungono la logica **remove OCR watermark** vengono disattivati, così non vedrai più la sovrapposizione grigia. +> +> **Suggerimento professionale:** Mantieni il file di licenza al di fuori del controllo di versione (ad esempio in una cartella specifica per l’ambiente) per evitare commit accidentali. + +## Passo 2: Verificare che il watermark sia scomparso + +Dopo aver chiamato `applyAsposeOcrLicense`, è buona pratica eseguire un rapido test. Il frammento seguente carica un’immagine, esegue l’OCR e stampa il testo estratto. Se la licenza non è attiva, Aspose lancerà un’eccezione o inserirà un watermark nell’immagine di output (se salvi un risultato visivo). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Output previsto (estratto):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Nota che non compare alcun riferimento a un watermark di valutazione. Questo è l’effetto **remove OCR watermark** in azione. + +## Passo 3: Problemi comuni e casi particolari + +### 1. Percorso della licenza errato +Se fornisci un percorso errato a `setLicense`, il metodo fallisce silenziosamente e la libreria rimane in modalità valutazione. Controlla sempre il valore di ritorno o cattura l’eccezione, come mostrato in `LicenseUtil`. + +### 2. Uso di un percorso relativo in un deployment basato su JAR +Quando impacchetti la tua applicazione in un JAR eseguibile, i percorsi relativi al file system possono rompersi. Un approccio più sicuro è caricare la licenza come stream di risorsa: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Posiziona il file `.lic` in `src/main/resources` così da includerlo nel classpath. + +### 3. Scenari multi‑thread +Se la tua applicazione elabora molte immagini contemporaneamente, devi applicare la licenza **una sola volta** per JVM. Richiamare `setLicense` da più thread può provocare un leggero calo di prestazioni, ma non interrompe il funzionamento. + +### 4. Scadenza della licenza +Le licenze Aspose sono solitamente perpetue, ma alcune licenze di prova o a tempo limitato possono scadere. Quando ciò accade, il motore torna in modalità valutazione e il comportamento **remove OCR watermark** scompare. Tieni d’occhio la data di scadenza della licenza nel portale Aspose. + +## Passo 4: Automatizzare l’applicazione della licenza in progetti reali + +In un microservizio di produzione, probabilmente non vuoi spargere `LicenseUtil.applyAsposeOcrLicense` in tutto il codice. Invece, inizializzala una sola volta all’avvio dell’applicazione — ad esempio nel metodo `@PostConstruct` di Spring Boot o in un blocco di inizializzazione statico. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Ora ogni componente che utilizza `OcrEngine` può presumere che la licenza sia già attiva, garantendo la rimozione del watermark **remove OCR watermark** in tutto il servizio. + +## Passo 5: Testare l’integrazione della licenza + +I test automatizzati possono confermare che il watermark sia effettivamente assente. Un semplice test JUnit potrebbe assomigliare a questo: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Eseguendo questo test avrai la certezza che la tua pipeline di distribuzione non rilasci accidentalmente una build non licenziata. + +## Panoramica visiva (opzionale) + +Se ti piace vedere le cose graficamente, ecco uno schema rapido del flusso: + +![Applica la licenza Aspose OCR in Java](apply-aspose-ocr-license.png "Applica la licenza Aspose OCR in Java") + +*Testo alternativo: Applica la licenza Aspose OCR in Java – diagramma che mostra il caricamento della licenza seguito dall’elaborazione OCR senza watermark.* + +## Conclusione + +Abbiamo coperto tutto ciò che serve per **applicare la licenza Aspose OCR** in un ambiente Java e, come effetto collaterale diretto, **rimuovere il watermark OCR** da tutte le immagini elaborate. Dalla creazione dell’oggetto `License`, alla gestione delle particolarità dei percorsi, alla verifica del risultato, fino all’integrazione in un’applicazione più ampia — ogni passaggio è stato spiegato con il “perché” dietro il “come”, non solo con il “come”. + +Ora puoi integrare Aspose OCR in qualsiasi progetto Java, sicuro che i tuoi utenti non vedranno più quel fastidioso tag di valutazione. + +### Cosa fare dopo? + +- **Esplora i pacchetti linguistici:** Aspose OCR supporta oltre 70 lingue; basta impostare la proprietà appropriata di `OcrEngine`. +- **Combina con Aspose PDF:** Converti immagini scansionate direttamente in PDF ricercabili senza watermark. +- **Ottimizzazione delle prestazioni** + +## Cosa dovresti imparare dopo? + + +I tutorial seguenti trattano argomenti strettamente correlati che si basano sulle tecniche dimostrate in questa guida. Ogni risorsa include esempi di codice completi e funzionanti con spiegazioni passo‑passo per aiutarti a padroneggiare ulteriori funzionalità dell’API ed esplorare approcci di implementazione alternativi nei tuoi progetti. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..7e915a084 100644 --- a/ocr/japanese/java/advanced-ocr-techniques/_index.md +++ b/ocr/japanese/java/advanced-ocr-techniques/_index.md @@ -41,7 +41,7 @@ Aspose.OCR for Java を使用して、URL からの画像に対して OCR を実 Aspose.OCR を使用して Java アプリケーションを強化し、正確なテキスト認識を実現します。このチュートリアルでは、簡単な統合と高精度で線を認識する方法を説明します。 Aspose.OCR の効率性と信頼性でプロジェクトを強化します。 -## [Aspose.OCR で許可される文字を指定する](./specify-allowed-characters/) +## [Aspose OCR で許可される文字を指定する](./specify-allowed-characters/) Aspose.OCR for Java で許可された文字を指定することで、画像からテキストを簡単に抽出できます。ステップバイステップのガイドに従って効率的に統合し、シームレスなテキスト認識エクスペリエンスを確保します。 Aspose.OCR 機能を使用して Java アプリケーションを強化します。 @@ -59,11 +59,22 @@ Aspose.OCR を使用して、Java でのシームレスな画像テキスト抽 Aspose.OCR for Java でテキスト認識の能力を解放します。シームレスな統合については、ステップバイステップのガイドに従ってください。効率的な OCR 機能で Java アプリケーションを強化します。 ### [Aspose.OCR for Java での行の認識](./recognize-lines/) Aspose.OCR を使用して Java アプリケーションを強化し、正確なテキスト認識を実現します。簡単な統合、高精度。 -### [Aspose.OCR で許可される文字を指定する](./specify-allowed-characters/) +### [Aspose OCR で許可される文字を指定する](./specify-allowed-characters/) Aspose.OCR for Java を使用して、画像からのテキスト抽出をシームレスに解除します。効率的に統合するには、ステップバイステップのガイドに従ってください。 +### [Java OCR で GPU を有効にする方法 – 完全ステップバイステップガイド](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Aspose.OCR for Java で GPU を活用し、OCR 処理を高速化する手順を詳しく解説します。簡単に設定できる完全ガイドです。 +### [Java でスキャン画像からテキストを抽出する – 完全 Aspose OCR ガイド](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Aspose.OCR for Java を使用して、スキャン画像からテキストを正確に抽出する手順を詳しく解説します。簡単に導入できる完全ガイドです。 +### [Aspose OCR Java 例 – 画像の読み込み、スペル補正、OCR 処理の完全ガイド](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Aspose OCR for Java を使用して画像を読み込み、スペル補正を行い、OCR を実行する手順を完全に解説します。 +### [Java で OCR の精度を向上させる – 完全ガイド](./improve-ocr-accuracy-in-java-complete-guide/) +Aspose.OCR for Java を活用し、OCR の精度を最大化するための詳細な手順とベストプラクティスを解説します。 +### [Java で検索可能な PDF を作成 – 完全 Aspose OCR ガイド](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Aspose.OCR for Java を使用して、検索可能な PDF を作成し、テキスト抽出と保存をシームレスに実現する完全ガイドです。 + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/japanese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..131f64c4d --- /dev/null +++ b/ocr/japanese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,190 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java のサンプルで、画像 OCR の読み込み、OCR エラーの修正、カスタム辞書の設定、そして数ステップで画像 + OCR を処理する方法を示しています。 +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: ja +og_description: 画像を読み込み、OCRエラーを修正し、カスタム辞書を設定して、画像OCRを効率的に処理するAspose OCR Javaのサンプル。 +og_title: Aspose OCR Java の例 – 画像を読み込み、スペル補正して OCR を処理 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java の例 – 画像の読み込み、スペル補正、OCR 処理の完全ガイド +url: /ja/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – 画像の読み込み、スペル補正、OCR処理の完全ガイド + +実際にすぐ使える **Aspose OCR Java example** が欲しいことはありませんか?開発者はしばしばぼやけたスクリーンショットを見て、抽出されたテキストがめちゃくちゃになることに悩まされています。朗報です。Aspose の OCR エンジンはすでに組み込みのスペル補正機能を備えており、独自の単語リストをプラグインすることも可能です。このチュートリアルでは、画像 OCR の読み込み、補正機能の有効化、必要に応じてカスタム辞書の設定、そして最終的に画像 OCR を処理してクリーンなテキストを取得する手順を順に解説します。 + +また、**OCR エラーを修正する理由**、**画像 OCR を効率的に読み込む方法**、**カスタム辞書を設定するメリット**、そしてエンドツーエンドの **画像 OCR 処理** フローがどのようになるかについても説明します。最後まで読めば、Maven や Gradle プロジェクトにそのまま組み込める完全に実行可能な Java プログラムが手に入ります。 + +--- + +## 必要なもの + +- Java 8 以上(API は Java 11+ でも動作します) +- Aspose.OCR for Java ライブラリ(Aspose のウェブサイトから最新の JAR をダウンロードするか、Maven 依存関係を追加) +- テキストを含む画像ファイル(できればスキャンした文書やノイズのあるスクリーンショット) +- 任意:ドメイン固有の用語用に **カスタム辞書** を設定したい場合はプレーンテキストの辞書ファイル + +以上です。重い OCR エンジンやネイティブ依存関係は不要で、JAR 1 本と数行のコードだけで始められます。 + +--- + +## Step 1: Aspose OCR Java Example – Load Image OCR + +最初に行うべきことは `OcrEngine` インスタンスを作成し、解析したいファイルを指定することです。これは本を開いて読む前の「本を開く」操作に相当します。 + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **ポイント:** `setImage` 呼び出しは **画像 OCR の読み込み** の核心です。有効な画像が無ければエンジンは何も認識できず、空文字列または例外が返ります。 + +![aspose ocr java example loading image](image.png){alt="Aspose OCR Java の画像読み込み例"} + +--- + +## Step 2: Enable Spell‑Correction to Correct OCR Errors + +Aspose OCR はデフォルトでスペル補正が有効になっていますが、**Aspose OCR Java example** を示す際には明示的に設定しておくと安心です。補正機能を有効にすると、「t1e」や「rec0gn1tion」のような意味不明な文字列が劇的に減少します。 + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **プロのコツ:** エンジンが特定の単語を依然として誤認識する場合は、言語設定を再確認するか、カスタム辞書(次のステップ)を追加してください。 + +スペル補正を有効にするだけで、余計なコードを書かずに **OCR エラーを修正** できます。 + +--- + +## Step 3: Set Custom Dictionary for Better Accuracy + +デフォルト辞書では業界固有の専門用語が認識されないことがあります。医療用語、製品コード、ブランド名などが該当します。ここで **カスタム辞書** の出番です。1 行に 1 単語のプレーンテキストファイルを用意すれば、OCR エンジンは補正時にそれらを有効な語として扱います。 + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **使用シーン:** 請求書を処理していて会社名が頻繁に乱れる場合、該当する会社名を含むカスタム辞書を用意すれば **画像 OCR 処理** の信頼性が大幅に向上します。 + +--- + +## Step 4: Process Image OCR and Retrieve the Text + +エンジンの設定が完了したら、いよいよ認識を実行します。`process` メソッドが重い処理をすべて担い、テキストブロックの検出、スペル補正の適用、そして `OcrResult` オブジェクトの返却を行います。 + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **期待される出力:** コンソールに人間が読めるクリーンな文字列が表示されます。スペル補正を無効にしたままだと奇妙な文字が出力されるため、**OCR エラーを修正** するために前段で有効化しておくことが重要です。 + +--- + +## Step 5: Run the Example and Verify the Output + +好きな IDE もしくはコマンドラインからクラスをコンパイル・実行してください。 + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +期待される出力例: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +出力にまだ誤字が残る場合は、該当単語をカスタム辞書に追加してから **画像 OCR 処理** ステップを再実行してください。 + +--- + +## よくある落とし穴と回避策 + +| 問題 | 発生理由 | 対策 | +|------|----------|------| +| **空の出力** | 画像パスが間違っている、または非対応フォーマット | パスを確認し、PNG/JPEG を使用し、ファイルの読み取り権限を確保 | +| **文字化け** | スペル補正が無効、または画像品質が低い | `setEnableSpellCorrection(true)` を有効化し、コントラスト増加など前処理を検討 | +| **業界固有語が誤認識** | カスタム辞書未使用 | 用語を列挙したファイルで `setCustomDictionary` を呼び出す | +| **メモリ不足** | 非縮小の大画像を直接読み込んでいる | 画像をリサイズしてから `OcrEngine` に渡す | + +--- + +## サンプルの拡張例 + +この **Aspose OCR Java example** をベースに、次のような拡張が可能です。 + +- **バッチ処理**:フォルダー内の画像をループで処理し、同一 `OcrEngine` インスタンスを再利用 +- **レイアウト情報の抽出**:`ocrResult.getPages()` を使ってテーブルやカラム情報を取得し、高度な文書解析に活用 +- **Apache PDFBox との統合**:認識したテキストを PDF に埋め込む + +これらすべては、画像 OCR の読み込み、補正の有効化、必要に応じたカスタム辞書設定、そして画像 OCR の処理という基本ステップに基づいています。 + +--- + +## 結論 + +これで **Aspose OCR Java example** が完成しました。画像を読み込み、スペル補正で **OCR エラーを修正**、必要なら **カスタム辞書を設定**、最後に **画像 OCR 処理** でクリーンなテキストを取得できます。コードはシンプルで概念も明快です。これを土台にバッチジョブ、UI 連携、クラウドマイクロサービスなどへと拡張できます。 + +次のステップは?低解像度の写真を試す、製品 SKU のリストをカスタム辞書に追加して精度向上を体感してください。画像品質、辞書サイズ、処理速度のトレードオフを実験すればするほど、理解が深まります。 + +質問や改善アイデアがあればコメントで教えてください。ハッピーコーディング! + +## 次に学ぶべきこと + +以下のチュートリアルは、本ガイドで示した手法を応用した関連トピックを扱っています。各リソースには完全な動作コードとステップバイステップの解説が含まれており、API の追加機能習得や代替実装アプローチの探求に役立ちます。 + +- [Java で Aspose.OCR ライセンスを設定し、ライセンスを検証する方法](/ocr/english/java/ocr-basics/set-license/) +- [Aspose.OCR を使用して言語指定で画像テキストを OCR する方法](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – 画像内の行を認識する](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/japanese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..07373d85d --- /dev/null +++ b/ocr/japanese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,277 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR を使用して Java で検索可能な PDF を作成します。PDF からテキストを抽出し、OCR の精度を向上させ、マルチページ + PDF を効率的に処理する方法を学びましょう。 +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: ja +og_description: Aspose OCR を使用して Java で検索可能な PDF を作成します。このガイドでは、PDF からテキストを抽出し、OCR + の精度を向上させ、マルチページ PDF を処理する方法を解説します。 +og_title: Javaで検索可能なPDFを作成する – 完全なAspose OCRチュートリアル +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Javaで検索可能なPDFを作成 – 完全なAspose OCRガイド +url: /ja/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java で検索可能な PDF を作成 – 完全 Aspose OCR ガイド + +スキャンした PDF をテキスト検索可能なドキュメントに変換したいのに、何十ものコマンドラインツールを使いこなす必要があると感じたことはありませんか?同じ悩みを抱える開発者は多いです。特に、ソース PDF が複数ページにわたる場合は壁にぶつかりやすいです。 + +このチュートリアルでは、**検索可能な PDF** を作成するだけでなく、**PDF からテキストを抽出**、**OCR の精度を向上**、そして **OCR マルチページ PDF** ワークフローの処理方法を示す、完全に実行可能なサンプルを段階的に解説します。最後まで読めば、任意の Java プロジェクトにすぐ組み込める本番レベルのコードが手に入ります。 + +## 必要な環境 + +- Java 17 以上(コードは古いバージョンでもコンパイルできますが、JDK 17 が推奨) +- `aspose-ocr` 依存関係を取得できる Maven または Gradle +- サンプル用のマルチページ PDF(例: `sample_multi_page.pdf`) +- 並列処理を有効にしたい場合は、適度な GPU もしくはマルチコア CPU + +追加のネイティブライブラリは不要です — Aspose OCR が必要なものはすべて同梱しています。 + +--- + +## 検索可能な PDF の作成 – 手順別実装 + +以下では処理を論理的なチャンクに分割しています。各セクションは H2 見出しで区切られているので、必要な部分だけすぐに参照できます。 + +### 手順 1: プロジェクトをセットアップし Aspose OCR をインポート + +まず、`pom.xml` に Aspose OCR の Maven アーティファクトを追加します。Gradle を使う場合はコメント内に同等のスニペットがあります。 + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **プロのコツ:** 依存関係は常に最新に保ちましょう。新しいリリースは精度向上をもたらすことが多く、**OCR の精度を向上**させる直接的な助けになります。 + +### 手順 2: マルチページ PDF を OCR エンジンにロード + +次に `OcrEngine` インスタンスを作成し、処理対象の PDF を渡します。エンジンは各ページを内部的に画像として扱うため、**ocr マルチページ pdf** シナリオに適しています。 + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**重要ポイント:** PDF を一度だけロードし、エンジンにページ分割を任せることで、手動でページを抽出するオーバーヘッドを回避し、時間とメモリの両方を節約できます。 + +### 手順 3: **OCR の精度を向上** させる高度機能を有効化 + +Aspose OCR には調整可能なオプションが多数あります。GPU 加速の有効化、スレッド数の増加、複数言語の指定は、特にノイズの多いスキャンで認識率を高めます。 + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **GPU がない場合は?** `setUseGpu(false)` と設定すれば、エンジンは CPU のみモードにフォールバックし、マルチスレッドは引き続き利用できます。 + +### 手順 4: 結果向上のために画像を前処理 + +デスキュー、ノイズ除去、コントラスト強調といった前処理は、スキャン文書の **OCR の精度を向上** させる鍵です。粗い石を彫刻する前に磨くイメージです。 + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**設定理由:** ノイズ除去レベル `2` はほとんどのスキャン PDF に適し、コントラストブースト 1.3 倍は薄いインクを背景から際立たせつつ、過度な白飛びを防ぎます。 + +### 手順 5: 出力を設定して検索可能な PDF を生成 + +Aspose OCR は認識したテキスト層を直接 PDF に埋め込むことができ、画像だけのファイルを **検索可能な PDF** に変換します。これは多くの開発者が抱く「検索可能な PDF の作り方」質問の核心です。 + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +`setGenerateSearchablePdf(true)` を有効にすると、ライブラリは視覚的コンテンツと同一位置に見えないテキスト層を作成し、任意の PDF ビューアで検索可能にします。 + +### 手順 6: OCR を実行し結果を保存 + +いよいよ文書を処理し、出力ファイルを書き出します。`process` メソッドは `OcrResult` オブジェクトを返し、検索可能な PDF と抽出されたプレーンテキストの両方が格納されています。 + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### 手順 7: (任意) **PDF からテキストを抽出** してすぐに利用 + +インデックス作成や分析、Web ページへの表示など、テキストが必要な場合は `OcrResult` から直接取得できます。 + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**出力例:** コンソールには全ページの結合テキストが改行をできるだけ保持した状態で表示されます。これにより **PDF からテキストを抽出** する要件を二度手間なく満たせます。 + +--- + +## ビジュアル概要 + +以下は各手順と対応するコードブロックをマッピングしたシンプルなフローダイアグラムです。入力 PDF が前処理 → OCR → 検索可能ドキュメントへと流れる様子を視覚化できます。 + +![検索可能な PDF フローダイアグラム](https://example.com/flow-diagram.png "検索可能な PDF フローダイアグラム") + +*Alt テキストは主要キーワードを含めて画像 SEO に対応しています。* + +--- + +## よくある質問 & エッジケース + +| 質問 | 回答 | +|----------|--------| +| **100 MB を超える PDF を処理できますか?** | はい。ただし、ファイル全体をメモリに読み込むのではなくページ単位でストリーミングすることを検討してください。Aspose OCR は内部でページングを管理しますが、非常に大きなファイルの場合は JVM ヒープ (`-Xmx4g`) を増やすと安心です。 | +| **PDF に手書きのメモが含まれています。** | 手書き認識はデフォルトで無効です。ライブラリが対応していれば `setLanguage("eng,mon,handwritten")` に切り替えられますが、精度はケースバイケースです。 | +| **Aspose OCR のライセンスは必要ですか?** | 評価ライセンスでテストは可能です。商用利用の場合はウォーターマーク除去とフルパフォーマンス解放のために正式ライセンスを取得してください。 | +| **スペル補正を無効にしたい場合は?** | `ocr.getSettings().setEnableSpellCorrection(false);` を呼び出します。法医学的に生データが必要なときに便利です。 | +| **GPU サポートは必須ですか?** | 必須ではありません。CPU にフォールバックしますが、GPU を利用すると大規模なマルチページ文書で最大 60 % の処理時間短縮が期待できます。 | + +--- + +## 完全動作サンプル (コピー&ペースト可) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**期待される出力** + +- `output_searchable.pdf` – スキャン画像に含まれる任意の単語を Ctrl + F で検索できる PDF。 +- コンソールログ – 元 PDF の全文テキスト。インデックス作成や追加分析に最適です。 + +--- + +## まとめ + +本稿では Aspose OCR を用いて Java で **検索可能な PDF** を作成する方法を実演し、同時に **PDF からテキストを抽出**、**OCR の精度を向上**、そして **OCR マルチページ PDF** ワークフローの効率的な処理手順を示しました。上記のコードスニペットはそのままプロジェクトに組み込めますし、各設定項目の解説により独自のユースケースに合わせたチューニングが可能です。 + +次のステップは? カスタムフォント埋め込みや OCR 生成ブックマークの追加、Elasticsearch など検索エンジンとの統合を試してみましょう。これらのトピックはすべて **検索可能な PDF の作り方** と **OCR の精度を向上** という二次キーワードに結びつくので、さらなる学習の道筋が明確です。 + +コメントで体験談や追加質問をぜひ共有してください。コーディングを楽しみながら、静的なスキャンをテキストリッチな検索可能 PDF に変換しましょう! + +## 次に学ぶべきこと + +以下のチュートリアルは、本ガイドで示したテクニックを応用した関連トピックを扱っています。各リソースには完全なコード例とステップバイステップの解説が含まれており、API の追加機能習得や代替実装アプローチの探求に役立ちます。 + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/japanese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..dbf0bf175 --- /dev/null +++ b/ocr/japanese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR for Java を使用してスキャン画像からテキストを抽出します。並列処理で TIFF ファイルからテキストを認識する方法を学びましょう。 +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: ja +og_description: Aspose OCRでスキャン画像からテキストを抽出します。このガイドでは、Javaを使用してTIFFファイルからテキストを効率的に認識する方法を示します。 +og_title: スキャン画像からテキストを抽出 – Aspose OCR Java チュートリアル +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Javaでスキャン画像からテキストを抽出する – 完全なAspose OCRガイド +url: /ja/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# スキャン画像からテキストを抽出 – 完全な Aspose OCR ガイド + +スキャン画像から **テキストを抽出** したいと思ったことはありませんか?しかし「どうやって?」で行き詰まっていませんか?あなただけではありません。古いアーカイブをデジタル化したり、請求書からデータを抽出したり、検索可能な PDF ライブラリを構築したりする場合、TIFF スキャンから信頼できるテキストを取得するのは課題となります。 + +良いニュースです:Aspose OCR for Java を使えば、数行のコードで **tiff からテキストを認識** でき、エンジンを少数の CPU コアに限定することでさらに速度を向上させることができます。このチュートリアルでは、ライブラリの設定から結果の処理までの全工程を解説するので、すぐに動作するサンプルをコピー&ペーストできます。 + +## このチュートリアルでカバーする内容 + +- Aspose OCR for Java のインストール (Maven または手動 JAR) +- 大きなスキャン TIFF 画像の読み込み +- エンジンを最大 4 スレッドで使用するように設定 (並列 OCR) +- OCR プロセスを実行し、抽出したテキストを出力 +- 一般的な落とし穴 (メモリ、マルチページ TIFF) と回避方法 +- パフォーマンス向上のヒント: `setMaxThreads` の調整タイミング + +このチュートリアルの最後までに、**スキャン画像からテキストを抽出** できるようになり、プロダクションパイプラインで *tiff からテキストを認識* する際にスレッド数を調整する重要性が理解できるようになります。 + +![スキャン画像からテキストを抽出した例](example.png "スキャンされた TIFF 画像から抽出されたテキストを示すスクリーンショット") + +## 前提条件 + +始める前に、以下が揃っていることを確認してください: + +1. **Java Development Kit (JDK) 8+** – 任意の最新バージョンで動作します。 +2. **Maven**(または手動で JAR を追加できる環境) – 簡単のため Maven を使用します。 +3. **Aspose OCR for Java** ライセンス(無料評価版でも動作しますが、透かしが付加されます)。 +4. 処理したい **大きな TIFF スキャン**(例: `large_scan.tif`)。 + +これらのいずれかに心当たりがなくても心配いりません—各ステップは以下で説明します。 + +## ステップ 1: Aspose OCR をプロジェクトに追加 + +### Maven ユーザー + +`pom.xml` に以下の依存関係を追加してください: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### 手動 JAR 設定 + +Aspose のウェブサイトから最新の `aspose-ocr-xx.jar` をダウンロードし、クラスパスに配置してください。 + +> **プロのコツ:** JAR を `libs/` フォルダーに保管し、IDE のプロジェクト設定で参照してください。これにより、後で「class not found」のエラーを防げます。 + +## ステップ 2: シンプルな Java クラスを作成 + +`src/main/java` フォルダーに `ParallelOcrDemo.java` という名前のファイルを作成します。このクラスが OCR ワークフロー全体を保持します。 + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **スレッドを制限する理由:** デフォルトでは Aspose OCR はすべてのコアを使用しようとし、共有マシン上の他のサービスがリソース不足になる可能性があります。`setMaxThreads(4)` を設定すると、エンジンは最大4つの並列ワーカーで実行され、ほとんどの最新 CPU で目に見える速度向上が得られますが、リソースを独占しません。 + +## ステップ 3: コンパイルと実行 + +プロジェクトのルートでターミナルを開き、以下を実行してください: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Maven を使用しない場合は、`javac` でコンパイルし、実行してください: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### 期待される出力 + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +コンソールには、スキャンされたページ上のテキストがプレーンテキストとして表示されます。画像に複数ページが含まれる場合、Aspose OCR は順番に結合して出力します。 + +## ステップ 4: マルチページ TIFF の処理(エッジケース) + +一般的なシナリオは **マルチページ TIFF** です—スキャンした本を想像してください。デフォルトでは `OcrInputImage` は最初のフレームのみを読み取ります。すべてのページを処理するには、`FileInputStream` と共に `OcrInputImage` を使用し、マルチページサポートを有効にします: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +これで `ocrEngine.process()` は、すべてのページの結合テキストを含む単一の `OcrResult` を返します。 + +## ステップ 5: 認識精度の微調整 + +**文字化け** や欠落した単語が見られる場合は、以下の調整を試してください: + +| Setting | 機能 | 使用するタイミング | +|---------|------|-------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | 英語の言語モデルを強制します(英語スキャンに対して高速かつ高精度) | 文書が英語のみの場合 | +| `ocrEngine.getSettings().setResolution(300)` | 認識前に低解像度画像を拡大します | 200 DPI 未満のスキャン | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | ノイズやアーティファクトの除去を試みます | ノイズが多いスキャン | + +例のスニペット: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## ステップ 6: 結果をファイルへエクスポート + +デモではコンソールへの出力で問題ありませんが、本番コードでは通常、出力を有用な場所に書き込みます: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +これで検索インデックス、データベース、または下流の分析パイプラインに投入できるプレーンテキストファイルが得られます。 + +--- + +## よくある質問 (FAQ) + +**Q: PNG や JPEG ファイルでも動作しますか?** +A: もちろんです。`OcrInputImage` は Java の ImageIO が読み取れるすべての形式を受け付けます。パスのファイル拡張子を置き換えるだけです。 + +**Q: サーバーに 8 コアがありますが、`setMaxThreads(8)` にすべきですか?** +A: 設定は可能ですが、他のサービスも CPU サイクルを必要とすることを忘れないでください。専用の OCR ワーカーの場合、目安は「総コア数 – 1」です。 + +**Q: OCR の結果が空の場合はどうすればいいですか?** +A: 画像が完全に白くないか、正しい言語が設定されているか、解像度が少なくとも 200 DPI であるかを確認してください。低品質のスキャンは、Aspose OCR に渡す前に前処理(傾き補正、コントラスト強化)が必要なことが多いです。 + +--- + +## まとめ + +私たちは Aspose OCR for Java を使用して **スキャン画像からテキストを抽出** しました。また、並列処理で **tiff からテキストを認識** する効率的な方法も理解できました。完全なコードは上記のスニペットにあり、すぐに自分のプロジェクトにコピー&ペーストできます。 + +### 次にやることは? + +- **バッチ処理**: TIFF ディレクトリをループし、各結果を個別のファイルに保存します。 +- **Elasticsearch との統合**: 抽出したテキストをインデックス化し、高速な全文検索を実現します。 +- **言語検出の追加**: マルチリンガル文書には `OcrLanguage.AutoDetect` を使用します。 + +これらのアイデアを試すことで、膨大なスキャン書類を検索可能で活用できるデータにすぐに変換できます。 + +コーディングを楽しんでください。問題が発生したら遠慮なくコメントを残してください! + +## 次に学ぶべきことは? + +以下のチュートリアルは、本ガイドで示した手法を基にした密接に関連するトピックを扱っています。各リソースには、ステップバイステップの解説と完全な動作コード例が含まれており、追加の API 機能を習得し、独自プロジェクトで代替実装アプローチを検討するのに役立ちます。 + +- [Aspose.OCR for Java で tiff を認識する方法](/ocr/english/java/ocr-operations/recognize-tiff/) +- [テキスト画像抽出 – Aspose.OCR for Java の OCR 基礎](/ocr/english/java/ocr-basics/) +- [Aspose.OCR Detect Areas モードで Java の画像からテキストを抽出](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/japanese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..4b00b83d9 --- /dev/null +++ b/ocr/japanese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-06-06 +description: Java OCRでGPUを有効にし、JPEGファイルからテキストを抽出する方法。GPUアクセラレーションを使用して画像をテキストに変換するこのJava + OCRの例に従ってください。 +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: ja +og_description: Java OCRでGPUを有効にし、JPEG画像からテキストを瞬時に抽出する方法。このガイドでは、GPUアクセラレーションされたOCRを使用した完全なJava + OCRの例を示します。 +og_title: Java OCRでGPUを有効にする方法 – 完全プログラミングチュートリアル +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Java OCRでGPUを有効化する方法 – 完全ステップバイステップガイド +url: /ja/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java OCR で GPU を有効にする方法 – 完全ステップバイステップガイド + +Java で光学文字認識(OCR)に **GPU を有効にする方法** を考えたことはありませんか? あなただけではありません—開発者は常に「すべてを書き直さずに OCR を高速化できないか?」と質問します。 短い答えは「はい」、長い答えはここにあります。このチュートリアルでは、**java ocr example** を使って **JPEG からテキストを抽出** し、**画像をテキストに変換** し、**GPU 加速 OCR** を利用して驚くほど高速な結果を得る方法を順を追って説明します。 + +まず Aspose OCR ライブラリをセットアップし、サンプル JPEG を読み込み、GPU サポートをオンにし、エンジンを実行し、最後に認識されたテキストを出力します。 終了時には、任意の Java プロジェクトに貼り付けられる再利用可能なスニペットと、一般的な落とし穴を回避するためのヒントが手に入ります。 無駄な説明は省き、実践に必要な核心だけを提供します。 + +## 前提条件 + +始める前に以下を確認してください: + +* Java 8 以上がインストールされていること(コードは標準 API を使用しているので、最近の JDK であれば問題ありません)。 +* ドライバが最新の対応 GPU が搭載されていること—ほとんどの最新 NVIDIA/AMD カードが対象です。 +* Aspose.OCR for Java ライブラリ(Maven Central または Aspose のウェブサイトから取得可能)。 +* OCR を実行したい JPEG 画像—ここでは `sample.jpg` と呼びます。 + +以上です。 もしどれかが不明な場合は、まずそれをインストールしてください。 残りのガイドはすでに環境が整っている前提で進めます。 + +## Java OCR で GPU を有効にする方法 – 概要 + +以下は実現する内容の簡単なスナップショットです: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +GPU は OCR エンジンのターボチャージャーのようなものです—CPU がピクセル単位の解析をすべて行う代わりに、グラフィックカードが並列で重い処理を担当します。その結果、特に高解像度スキャンで処理時間が大幅に短縮されます。 + +## 手順 1: プロジェクトをセットアップし Aspose OCR をインポート + +まずは新しい Maven プロジェクト(または好みで Gradle)を作成します。 Aspose OCR の依存関係を追加します: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Maven を使用しない場合は、Aspose から JAR をダウンロードしてクラスパスに追加してください。 これは今後書く **java ocr example** の土台になるので、ライブラリが正しく解決されているか必ず確認しましょう。 + +## 手順 2: JPEG 画像を読み込む(JPEG からテキストを抽出) + +次に JPEG ファイルを読み込むコードを書きます。 `OcrInputImage` クラスはパスを受け取り、`OcrEngine` に渡します。 + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **重要ポイント:** 画像を正しく読み込むことは、**convert image to text** ワークフローの最初のステップです。 パスが間違っていると、GPU ステージに入る前にエンジンが例外をスローします。 + +## 手順 3: GPU 加速を有効にする(GPU を有効にする方法) + +チュートリアルの核心—GPU サポートをオンにします。 `OcrSettings` オブジェクトの `setUseGpu` フラグを `true` に設定すれば完了です。 + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **プロのコツ:** GPU ドライバが最新であることを確認してください。 古いドライバは `setUseGpu(true)` 呼び出しが黙って失敗し、CPU のみのパフォーマンスになることがあります。 + +## 手順 4: OCR エンジンを実行する(Java OCR Example) + +画像がロードされ、GPU が有効になったら OCR 処理を開始します。 エンジンは認識されたテキストを含む `OcrResult` オブジェクトを返します。 + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +内部では、Aspose が画像をタイルに分割し、GPU に並列推論を依頼し、結果を再び結合します。 これが **gpu accelerated ocr** がデフォルトの CPU パスよりも目に見えて速い理由です。 + +## 手順 5: 認識結果を出力する(画像をテキストに変換) + +最後に結果をコンソールに出力します。 実際のアプリではファイルやデータベースに書き込むことが多いですが、ここではシンプルに `System.out.println` で表示します。 + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### 期待される出力 + +`sample.jpg` に「Hello, World!」というフレーズが含まれていると仮定すると、次のように表示されます: + +``` +Recognized text: +Hello, World! +``` + +画像が複数行や表など複雑な構造を持つ場合、出力には元のレイアウトを反映した改行やスペースが含まれます。 これが Aspose の OCR エンジンの魅力で、画像をテキストに変換しながら構造を保持します。 + +## 完全動作サンプル + +すべてをまとめた、実行可能なプログラムは以下の通りです: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +`GpuOcrDemo.java` として保存し、`javac` でコンパイル、`java` で実行してください。 正しく配線されていれば、コンソールに瞬時に抽出テキストが表示されます。 + +## よくある質問とエッジケース + +### 1. GPU が使用されていない – 何が問題? + +* **ドライババージョンを確認** – 古いドライバは必要な計算能力を公開しないことがあります。 +* **GPU のサポートを検証** – Aspose は CUDA 対応 NVIDIA カードまたは OpenCL 対応 AMD カードを必要とします。 ノートパソコンでディスクリート GPU が無効化されている場合は、BIOS またはグラフィックコントロールパネルで有効にしてください。 +* **ログを確認** – GPU モードが有効になると Aspose がデバッグ行を出力します。 `ocr.getSettings().setLogLevel(LogLevel.Debug)` でロギングを有効にしましょう。 + +### 2. 低解像度画像で OCR 結果が乱れる。 + +* **JPEG を前処理** – 300 dpi 以上にリサイズし、コントラスト強調やグレースケール変換を行ってからエンジンに渡します。 +* **設定を調整** – `ocr.getSettings().setLanguage(OcrLanguage.English)` や `setUseLanguageDetection(true)` を有効にすると精度が向上します。 + +### 3. 複数画像をバッチ処理したい。 + +もちろん可能です。 読み込みと処理のブロックをループで囲み、同じ `OcrEngine` インスタンスを再利用します。 ただしイテレーション間で `ocr.reset()` を呼び出し、前の画像情報をクリアすることを忘れずに。 + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. ヘッドレスサーバーでも GPU 加速は動作するか? + +はい、サーバーに対応 GPU と適切なドライバがあれば動作します。 Linux 環境では `nvidia-utils` パッケージをインストールし、`CUDA` ツールキットが `PATH` に含まれていることを確認してください。 + +## 本番環境向け GPU OCR のプロティップ + +* **バッチサイズが重要** – 大きな画像ほど GPU の並列処理の恩恵を受けます。 小さなアイコンを処理する場合は、GPU 転送のオーバーヘッドが利益を上回ることがあります。 +* **メモリ管理** – GPU の VRAM は限られています。 非常に大きな PDF や数メガピクセルのスキャンの場合は、画像を手動で小さなタイルに分割してください。 +* **エラーハンドリング** – OCR 呼び出しを try‑catch で囲み、`UnsupportedOperationException` がスローされたら CPU モード (`setUseGpu(false)`) にフォールバックするロジックを入れましょう。 + +## 結論 + +ここでは **java ocr example** における **GPU を有効にする方法** を解説し、**JPEG からテキストを抽出** する手順と、Aspose の **gpu accelerated OCR** エンジンを使って **画像をテキストに変換** するクリーンな方法を示しました。 上記のスニペットは任意の Java プロジェクトにすぐに組み込め、提示したヒントは一般的なトラブルを回避するのに役立ちます。 + +次は何をしますか? 言語パックを追加したり、別の画像形式(PNG、TIFF)で実験したり、出力を検索インデックスに統合したりしてみてください。 OCR と GPU の組み合わせで可能性は無限です。 + +GPU 加速 OCR についてさらに質問がある、または設定調整のサポートが必要な場合はコメントを残してください。 Happy coding! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## 次に学ぶべきこと + +以下のチュートリアルは、本ガイドで示したテクニックを基にした関連トピックを扱っています。 各リソースには完全な動作コード例とステップバイステップの解説が含まれており、追加の API 機能を習得したり、別の実装アプローチを自分のプロジェクトで試したりするのに役立ちます。 + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/japanese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..493c4cc89 --- /dev/null +++ b/ocr/japanese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,262 @@ +--- +category: general +date: 2026-06-06 +description: JavaでOCR精度を向上させる、画像OCRの読み込み、画像OCRの処理、スキャンしたページからテキストを効率的に抽出するステップバイステップガイド。 +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: ja +og_description: ハンズオンの例でJavaにおけるOCR精度を向上させましょう。画像の読み込み、前処理、OCRによる画像からスキャンページのテキスト抽出方法を学びます。 +og_title: JavaでOCR精度を向上させる – 完全チュートリアル +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: JavaでOCRの精度を向上させる – 完全ガイド +url: /ja/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JavaでOCR精度を向上させる – 完全ガイド + +古い書籍のスキャンやぼやけたレシートを扱うときに **improve OCR accuracy** が必要だと感じたことはありませんか? あなただけではありません。実務での多くのプロジェクトでは、OCRエンジンからの生データが暗号のように乱雑に見えることが多く、これは通常、 **perform OCR image** を実行する前に画像が適切に前処理されていないためです。 + +このチュートリアルでは、実践的な Java の例を通して、 **load image OCR** の方法、いくつかの賢い前処理手順の適用、 **process image OCR** の実行、そして最終的に **extract text scanned page** でクリーンな結果を得るまでを順を追って解説します。最後まで読むと、*何を* コーディングすべきかだけでなく、*なぜ* それぞれの行が認識品質向上に重要なのかが理解できるようになります。 + +## What You’ll Learn + +- Java で OCR エンジンをインスタンス化する方法 +- ディスクから **load image OCR** する正しい手順 +- デスクュー、デノイズ、コントラスト強調が **improve OCR accuracy** に不可欠な理由 +- **perform OCR image** を実行して認識テキストを取得する方法 +- さまざまな画像フォーマットやエッジケースへの対処法 + +外部ドキュメントは不要です – 必要なものはすべてここにあり、完全に実行可能なコードが最後に含まれています。 + +## Prerequisites + +- Java 17(または最近の JDK)をマシンにインストール済み +- `OcrEngine`、`OcrInputImage`、`OcrResult` クラスを提供する OCR ライブラリ(サンプルは汎用 API を使用しています。必要に応じてベンダー提供の jar に置き換えてください) +- OCR を実行したいスキャン画像(PNG、JPEG、または TIFF)。デモでは `YOUR_DIRECTORY` フォルダー内の `old_book_page.png` を使用します + +OCR 用 jar が不足している場合は、プロジェクトの `libs` フォルダーにドロップし、クラスパスに追加するだけです。これで完了です。 + +--- + +## Step 1 – Improve OCR Accuracy: Set Up the Engine + +**process image OCR** を実行する前に、新しいエンジンインスタンスを用意する必要があります。新規 `OcrEngine` を作成すると、クリーンな状態から開始でき、前回の実行で残った設定が引き継がれません。 + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Why this matters*: 新しく作成したエンジンはデフォルトで前処理が無効化されています。これは意図的な設計で、特定の画像に本当に効果的なステップだけを有効化できるようにするためで、 **improve OCR accuracy** の基礎となります。 + +--- + +## Step 2 – Load Image OCR – Preparing Your Scan + +ここで実際に **load image OCR** を行います。`setImage` メソッドは、ディスク上のファイルを指す `OcrInputImage` を受け取ります。 + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +いくつか注意点があります: + +1. **Supported formats** – ほとんどのライブラリは PNG、JPEG、BMP、TIFF をサポートしています。PDF がある場合は、最初のページを画像に変換してから使用してください。 +2. **Path handling** – 絶対パスを使用すると、作業ディレクトリが変わったときに起こりがちな “file not found” の落とし穴を回避できます。 + +--- + +## Step 3 – Deskew: Straightening Rotated Pages + +多くのスキャンページは完全に水平ではありません。わずかな回転でも、OCR エンジンはテキスト行が水平であることを前提としているため、認識精度が大幅に低下します。デスクューを有効にすると、回転角度を自動検出して補正します。 + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: 事前に回転角度(例:90°)が分かっている場合は、エンジンに渡す前に手動で画像を回転させると、バッチ処理ではより高速になることがあります。 + +--- + +## Step 4 – Denoise: Reducing Background Grain + +古い文書には紙の質感、ほこり、圧縮アーティファクトが頻繁に含まれます。`setDenoiseLevel` メソッドは、これらのノイズを平滑化するフィルタを適用します。レベル 2 はほとんどのスキャンページにとって良い出発点です。 + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Why it helps**: ノイズは偽のエッジを生成し、OCR エンジンが文字として誤認識する原因になります。画像をクリーンにすることで、実際の字形を犠牲にせずに **improve OCR accuracy** が期待できます。 + +--- + +## Step 5 – Boost Contrast: Making Text Pop + +スキャンが薄くなっていると、インクと紙のコントラストが低くなり、エンジンは前景と背景を区別しにくくなります。`1.4f`(40 % 増加)の適度なコントラスト強化で多くの場合効果が得られます。 + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Edge case*: 非常に暗い画像の場合は、係数を 2.0 まで上げても効果的ですが、クリッピングに注意してください。過度に明るい領域が純白になり、細部が失われる恐れがあります。 + +--- + +## Step 6 – Perform OCR Image – The Core Processing Step + +ここまでの準備がすべて、この行で **perform OCR image** を実行し、前処理済み画像に対して OCR エンジンを走らせます。 + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +内部ではエンジンがセグメンテーション、文字認識、言語モデルの各段階を順に実行します。複数言語が必要な場合は、`process()` を呼び出す **before** にエンジンに言語を設定してください。 + +--- + +## Step 7 – Extract Text Scanned Page – Getting the Output + +最後に `OcrResult` から認識された文字列を取得します。コンソールへの出力だけでもデモとしては十分ですが、ファイルやデータベースへの保存、あるいは下流の NLP パイプラインへの入力として利用することも可能です。 + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Expected output** (truncated for brevity): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +出力がまだ乱雑に見える場合は、前処理パラメータを再調整してください。デノイズレベルを上げるか、コントラスト係数を変えるだけで目に見える改善が得られることがあります。 + +--- + +## Full Working Example + +以下は、コピーして貼り付け、すぐに実行できる完全な Java プログラムです。必要なインポート、`main` メソッド、各ステップを説明するインラインコメントが含まれています。 + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +`OcrAccuracyDemo.java` として保存し、`javac` でコンパイル、`java` で実行してください。環境が正しく設定されていれば、端末にクリーンアップされたテキストが表示されます。 + +--- + +## Common Questions & Edge Cases + +**Q: My scanned page is in color – should I convert it to grayscale first?** +A: 多くの OCR エンジンは内部でグレースケール変換を行いますが、`BufferedImage` と `ColorConvertOp` を使って自前で変換すると、背景が均一でない場合などに変換アルゴリズムを細かく制御できます。 + +**Q: The output still contains stray symbols. What now?** +A: `setDenoiseLevel` を 3 に上げるか、`setContrastBoost` を 1.6f に調整してみてください。問題が続く場合は、OCR 前に **binary threshold**(二値化)を適用することを検討してください。多くのライブラリは `setBinarization(true)` オプションを提供しています。 + +**Q: How do I handle multi‑page PDFs?** +A: 各ページを画像に変換(例:Apache PDFBox を使用)し、ページごとにループ処理します。同じ `OcrEngine` インスタンスを再利用しつつ、各イテレーションで画像だけをリセットすれば済みます。 + +--- + +## Conclusion + +Java で **improve OCR accuracy** を実現するために、正しく **load image OCR** し、デスクュー、デノイズ、コントラスト強化を施し、**perform OCR image** を実行、最後に **extract text scanned page** で結果を取得する手順を学びました。前処理は認識品質を向上させる最も効果的なレバーであり、適切に処理された画像は文字認識率を 2 倍、場合によっては 3 倍にまで高めることができます。 + +次のステップに進む準備はできましたか?以下を試してみてください: + +- 粒状が激しいスキャン向けにデノイズレベルを調整 +- 画像ヒストグラム解析に基づく適応的コントラスト強化 +- 抽出後に言語モデル(例:スペルチェック)を統合し、残存エラーを除去 + +これらの拡張により OCR パイプラインがさらに強化され、プロダクション環境でも安定して利用できるようになります。 + +質問や独自のテクニックがあれば、ぜひコメントで共有してください。Happy coding、そしてテキストが常に読みやすい状態でありますように! + +## What Should You Learn Next? + +以下のチュートリアルは、本ガイドで示したテクニックを基にした、密接に関連するトピックを扱っています。各リソースには、ステップバイステップの解説と完全な動作コード例が含まれており、API の追加機能をマスターしたり、独自プロジェクトで代替実装アプローチを探求したりするのに役立ちます。 + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/java/ocr-basics/_index.md b/ocr/japanese/java/ocr-basics/_index.md index c21721186..f8b5a28aa 100644 --- a/ocr/japanese/java/ocr-basics/_index.md +++ b/ocr/japanese/java/ocr-basics/_index.md @@ -105,6 +105,9 @@ Aspose.OCR for Java で OCR の精度を向上させます。傾き角度の計 ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) Aspose.OCR for Java の力を引き出します。このステップバイステップガイドで画像からテキストをシームレスに抽出する方法を学び、効率的なテキスト認識のために今すぐダウンロードしてください。 +### [Java で OCR を実行する方法 – 画像からテキストを抽出する完全ガイド](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Java を使って画像からテキストを抽出する手順を詳細に解説し、OCR の全プロセスを網羅します。 + --- **Last Updated:** 2025-12-08 @@ -116,4 +119,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/japanese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..e068ab152 --- /dev/null +++ b/ocr/japanese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-06-06 +description: JavaでOCRを実行する方法 – 画像からテキストを素早く抽出し、画像をテキストに変換し、シンプルなコード例を使ってJPGからテキストを読み取る。 +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: ja +og_description: JavaでOCRを実行する方法 – 画像からテキストを抽出し、画像をテキストに変換し、JPGからテキストを読み取る方法を、すぐに実行できるサンプルで学びましょう。 +og_title: JavaでOCRを実行する方法 – ステップバイステップガイド +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: JavaでOCRを実行する方法 – 画像からテキストを抽出する完全ガイド +url: /ja/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# JavaでOCRを実行する方法 – 画像からテキストを抽出する完全ガイド + +スマートフォンで撮影した写真に対して **OCR を実行する方法** を考えたことがありますか? あなただけではありません。レシートスキャンアプリを作る場合でも、スキャンした PDF からテキストを抽出したいだけの場合でも、Javaで **OCR を実行する方法** はすぐに役立つスキルです。このチュートリアルでは、実用的な例として **画像ファイルからテキストを抽出** し、**画像をテキストに変換** し、さらに数行のコードで **JPG からテキストを読み取る** 方法を示します。 + +> *プロのコツ:* 同じアプローチは PNG、BMP、または OCR エンジンがサポートする任意の形式でも機能します—ファイル名を差し替えるだけです。 + +## JavaでOCRを実行する方法 – 概要 + +光学文字認識(OCR)は、文字の画像を実際の検索可能なテキストに変換する技術です。Java エコシステムには Tesseract、Asprise、商用 SDK など複数のライブラリがあり、すべて似たようなワークフローを提供します:画像を読み込み、エンジンに期待する言語を指定し、認識を実行し、結果を取得します。以下では例を分かりやすくするために汎用的な `OcrEngine` クラスを使用しますが、同じパターンに従う任意の実装に置き換えることができます。 + +### 学べること + +- OCR ライブラリをインストールする(はい、**ocr in java** は思ったより簡単です)。 +- OCR エンジンのインスタンスを作成し、設定する。 +- JPG(または任意の画像)を読み込み、言語を設定する。 +- 画像を処理し、**extract text from image** ファイルからテキストを抽出する。 +- 認識された文字列をコンソールに出力する。 + +最後まで読むと、任意のプロジェクトにすぐに組み込んで実行できる、自己完結型の Java プログラムが手に入ります。 + +![OCR 実行例](ocr-example.png "JavaでのOCR実行イラスト") + +## ステップ 1 – OCR ライブラリのインストールとインポート (ocr in java) + +Java のコードを書く前に、実際に重い処理を行うライブラリが必要です。Maven を使用している場合は、次のように依存関係を追加します(`com.example.ocr` は選択した SDK の実際のグループ ID に置き換えてください)。 + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Gradle を好む場合は、次のようにします: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +JAR がクラスパスに追加されたら、必要なクラスをインポートします: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **なぜ重要か:** 正しいクラスをインポートすることで “cannot find symbol” エラーを防ぎ、IDE が快適に動作します—**convert image to text** を試みているときにインポートが欠けているより苛立たしいことはありません。 + +## ステップ 2 – OCR エンジンインスタンスの作成 (how to perform OCR) + +ライブラリの準備ができたら、エンジンを起動します。エンジンはピクセルを見て文字を推測する脳のようなものです。 + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +エンジンの作成は通常コストが低く、ほとんどの SDK は内部バッファを遅延割り当てするため、バッチ処理を行う場合でも同じインスタンスを多数の画像で安全に再利用できます。 + +## ステップ 3 – 画像の読み込みと言語設定 (extract text from image) + +次のステップは、エンジンに読み取らせる対象を与えることです。ここではディスクから JPEG を読み込み、OCR エンジンにテキストがモンゴル語(ISO 639‑2 コード “mon”)であることを伝えます。パスや言語コードは使用ケースに合わせて変更できます。 + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **補足:** 言語を設定しない場合、エンジンはデフォルトで英語を使用します。実際のテキストがキリル文字や他のスクリプトの場合、精度が大幅に低下する可能性があります。可能な限り正しい言語を指定してください。 + +## ステップ 4 – 画像を処理して結果を取得 (convert image to text) + +画像と設定した言語が揃ったら、エンジンに処理を依頼します。`process()` 呼び出しは OCR アルゴリズムを実行し、認識された文字列と信頼度スコアを含む `OcrResult` オブジェクトを返します。 + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +内部では、エンジンが前処理(傾き補正、二値化、ノイズ除去)を行うことがあるため、これらのステップを自分で実装する必要はありません。そのため、最新の OCR ライブラリは **convert image to text** タスクに対して非常に使いやすいのです。 + +## ステップ 5 – 抽出したテキストの出力 (read text from jpg) + +最後に、結果からプレーンテキストを取り出し、何らかの有用な処理を行います。このデモでは単にコンソールに出力しますが、ファイルに書き込んだり、検索インデックスに投入したり、別のサービスに渡したりすることも可能です。 + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +この一行だけで、**read text from jpg**(またはサポートされている任意の形式)に成功したことが確認できます。出力が文字化けしている場合は、言語コードと画像品質を再確認してください。 + +## 完全な動作例(すべてのステップを統合) + +以下は、すべての要素を結合した、完全で実行可能な Java クラスです。`OcrDemo.java` という名前のファイルにコピーし、画像パスと使用言語を調整した後、`javac OcrDemo.java && java OcrDemo` を実行してください。 + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### 期待される出力 + +`input.jpg` にモンゴル語のフレーズ “Сайн байна уу?” が含まれている場合、コンソールには次のように表示されます: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +画像がぼやけているか言語コードが間違っている場合、文字化けした文字や空文字列が表示されます—次に説明する一般的な落とし穴です。 + +## よくある落とし穴とその対処法 + +| 症状 | 考えられる原因 | 対策 | +|------|----------------|------| +| 文字化けしたキリル文字 | 言語コードが誤っている(デフォルトで英語になる) | `ocrEngine.getSettings().setLanguage("mon")` もしくは適切なコードを設定してください。 | +| 出力が全くない | 画像パスが間違っているかファイルが読めない | パスを確認し、ファイルが存在し、プロセスに読み取り権限があることを確認してください。 | +| 精度が低い(<70 %) | 画像のコントラストが低い、または回転している | 画像を前処理してください:コントラストを上げ、傾きを補正し、またはエンジンに渡す前にグレースケールに変換します。 | +| `OutOfMemoryError` が大きな PDF で発生 | 高解像度ページを一度に多数読み込んでいる | ページを1つずつ処理するか、OCR 前に画像を縮小してください。 | + +### プロのコツ: バッチ処理 + +大量に **extract text from image** ファイルを処理する必要がある場合は、コアロジックをループで囲んでください: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +このスニペットは、単一の JPG からスキャンしたフォルダ全体へとスケールアップするのがいかに簡単かを示しています。 + +## 次のステップ – さらに学ぶべきことは? + +- **Language Packs:** ほとんどの OCR SDK では追加の言語データファイルをダウンロードできます。新しいパックを追加することで、英語やモンゴル語以外の言語でも **convert image to text** が可能になります。 +- **PDF OCR:** このコードを Apache PDFBox と組み合わせて + +## 次に学ぶべきことは? + +以下のチュートリアルは、本ガイドで示した手法を基にした密接に関連するトピックを取り上げています。各リソースには、ステップバイステップの解説と完全な動作コード例が含まれており、追加の API 機能を習得し、独自プロジェクトで代替実装アプローチを探求するのに役立ちます。 + +- [画像からテキスト抽出 – Aspose.OCR for Java の OCR 基礎](/ocr/english/java/ocr-basics/) +- [Aspose.OCR BufferedImage を使用した Java での画像からテキストへの変換](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Aspose.OCR を使用した言語付き画像テキスト OCR の方法](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..d89c752ca 100644 --- a/ocr/japanese/java/ocr-operations/_index.md +++ b/ocr/japanese/java/ocr-operations/_index.md @@ -80,6 +80,8 @@ 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 チュートリアルです。ステップバイステップで実装方法を解説します。 +### [Java で Aspose OCR ライセンスを適用 – OCR ウォーターマークを削除](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Aspose OCR のライセンスを Java アプリに適用し、OCR 透かしを除去してクリーンな出力を得る手順を解説します。 ## よくある質問 diff --git a/ocr/japanese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/japanese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..7149c670f --- /dev/null +++ b/ocr/japanese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-06-06 +description: JavaでAspose OCRライセンスを適用し、すべての機能を有効化してOCR透かしを即座に削除します。 +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: ja +og_description: JavaでAspose OCRライセンスを適用し、評価制限を解除してスキャン画像からOCR透かしを除去します。 +og_title: JavaでAspose OCRライセンスを適用 – OCR透かしを削除 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: JavaでAspose OCRライセンスを適用する – OCRの透かしを削除 +url: /ja/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java で Aspose OCR ライセンスを適用する – OCR の透かしを削除する + +Java プロジェクトで **apply Aspose OCR license** を行い、評価用の透かしに直面することなく実行できるか、考えたことはありませんか? あなただけではありません。無料トライアルを試すと、すべてのスキャン画像に灰色の “Aspose Evaluation” オーバーレイが付与され、最もきれいなドキュメントさえもプロらしくなくなります。 + +このガイドでは、**apply Aspose OCR license** の正確な手順を順に説明し、ライブラリが完全にアンロックされていることを確認し、透かしが自動的に消える様子を示します。最後まで読めば、レシート、パスポートのスキャン、手書きメモなど、どんな画像でも透かしなしで OCR を実行できるようになります。 + +## 前提条件 + +- **Java Development Kit (JDK) 8** 以上がインストールされていること。 +- **Aspose OCR for Java** の JAR ファイル(Aspose ポータルからダウンロード)。 +- 使用する **Aspose OCR ライセンス ファイル** (`Aspose.OCR.Java.lic`)。 +- IDE またはシンプルなテキストエディタ(IntelliJ、Eclipse、VS Code など)。 + +以上です。Maven プラグインや Gradle の特殊な設定は不要ですが、必要に応じて後から追加することは可能です。 + +## Project Setup (Quick Overview) + +1. `AsposeOCRDemo` という名前の新しいフォルダーを作成します。 +2. `aspose-ocr-*.jar` ファイルを `lib` サブフォルダーに配置します。 +3. `Aspose.OCR.Java.lic` ファイルをアクセス可能な場所に置きます。例: `resources/` フォルダー。 +4. 小さな `Main.java` ファイルを書きます—ここが実際に動作する場所です。 + +IDE を使用している場合は、JAR をプロジェクトのクラスパスに追加し、`resources` フォルダーをリソースルートとしてマークするだけで済みます。コマンドラインでコンパイルする場合、クラスパスは次のようになります: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +これで土台は整いました。さあ、本題に入りましょう。 + +## Step 1: **Apply Aspose OCR License** – コアコード + +最初に行うべきことは、Aspose OCR エンジンにライセンスファイルを信頼させることです。この呼び出しがなければ、ライブラリは評価モードのままで、出力ごとに透かしが付加され続けます。 + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Why this matters:** `License` クラスはゲートキーパーです。`setLicense` が成功すると、OCR エンジンは *evaluation* から *full* モードへ切り替わります。通常透かしを付加する内部チェックが無効になるため、灰色のオーバーレイは二度と表示されません。 +> +> **Pro tip:** ライセンスファイルはソース管理の外(例: 環境固有のフォルダー)に置き、誤ってコミットしないようにしてください。 + +## Step 2: Verify That the Watermark Is Gone + +`applyAsposeOcrLicense` を呼び出した後は、簡単なテストを実行するのがベストプラクティスです。以下のスニペットは画像を読み込み OCR を実行し、抽出されたテキストを出力します。ライセンスが有効でない場合、Aspose は例外をスローするか、出力画像に透かしを埋め込みます(視覚的な結果を保存する場合)。 + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**期待される出力(抜粋):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +評価用の透かしに関する記述がどこにもないことに注目してください。これが **remove OCR watermark** の効果です。 + +## Step 3: Common Pitfalls & Edge Cases + +### 1. ライセンス パスが間違っている +`setLicense` に誤ったパスを渡すと、メソッドは黙って失敗し、ライブラリは評価モードのままです。`LicenseUtil` の例のように、戻り値を確認するか例外を捕捉してください。 + +### 2. JAR ベースのデプロイで相対パスを使用する +アプリを実行可能 JAR としてパッケージ化すると、相対ファイルシステムパスが壊れることがあります。より安全な方法は、ライセンスをリソースストリームとしてロードすることです: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +`.lic` ファイルは `src/main/resources` に配置し、クラスパスに含めてください。 + +### 3. マルチスレッド シナリオ +多数の画像を同時に処理する場合でも、JVM あたり **一度** ライセンスを適用すれば十分です。複数スレッドから `setLicense` を再呼び出すとわずかなパフォーマンス低下が発生しますが、機能が壊れることはありません。 + +### 4. ライセンスの有効期限 +Aspose のライセンスは通常永久ですが、トライアルや期間限定のライセンスは期限切れになることがあります。その場合、エンジンは評価モードに戻り、**remove OCR watermark** の動作が消失します。Aspose ポータルで有効期限を確認しておきましょう。 + +## Step 4: Automating License Application in Real‑World Projects + +本番のマイクロサービスでは、`LicenseUtil.applyAsposeOcrLicense` をコードベース全体に散らばらせたくないでしょう。代わりに、アプリ起動時に一度だけ初期化します—たとえば Spring Boot の `@PostConstruct` メソッドや static イニシャライザブロックを使います。 + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +これで `OcrEngine` を使用するすべてのコンポーネントは、ライセンスが既に有効であることを前提に安全に動作し、サービス全体で **remove OCR watermark** が保証されます。 + +## Step 5: Testing the License Integration + +自動テストで透かしが確実に消えていることを確認できます。シンプルな JUnit テストの例は次のとおりです: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +このテストを実行すれば、デプロイパイプラインが誤って未ライセンスのビルドを出荷することがないことを保証できます。 + +## Visual Overview (Optional) + +視覚的に流れを確認したい方のために、簡易的なフローチャートを用意しました: + +![Java で Aspose OCR ライセンスを適用する](apply-aspose-ocr-license.png "Java で Aspose OCR ライセンスを適用する") + +*Alt text: Java で Aspose OCR ライセンスを適用する – ライセンスのロードと透かしなしの OCR 処理を示す図* + +## Conclusion + +**apply Aspose OCR license** を Java 環境で行うために必要なすべての手順と、その直接的な副作用としてすべての処理画像から **remove OCR watermark** を除去する方法を網羅しました。`License` オブジェクトの作成、パスの取り扱い、結果の検証、そして大規模アプリへの組み込みまで、各ステップの「なぜ」も併せて解説しています。 + +これで Aspose OCR を任意の Java プロジェクトに統合でき、ユーザーが評価用タグに悩まされることはなくなります。 + +### 次にやることは? + +- **言語パックを探る:** Aspose OCR は 70 以上の言語をサポートしています。適切な `OcrEngine` プロパティを設定するだけです。 +- **Aspose PDF と組み合わせる:** スキャン画像を透かしなしで検索可能な PDF に直接変換できます。 +- **パフォーマンスチューニング** + +## What Should You Learn Next? + +以下のチュートリアルは、本ガイドで示した手法を基にした関連トピックを扱っています。各リソースには完全な動作コード例とステップバイステップの解説が含まれており、追加の API 機能を習得したり、独自プロジェクトで代替実装アプローチを探求したりするのに役立ちます。 + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..da6f6e8db 100644 --- a/ocr/korean/java/advanced-ocr-techniques/_index.md +++ b/ocr/korean/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,20 @@ Java용 Aspose.OCR을 사용하여 텍스트 인식 기능을 활용하세요. 정확한 텍스트 인식을 위해 Aspose.OCR로 Java 애플리케이션을 강화하세요. 통합이 쉽고 정확도가 높습니다. ### [Aspose.OCR에서 허용되는 문자 지정](./specify-allowed-characters/) Java용 Aspose.OCR을 사용하여 이미지에서 텍스트 추출을 원활하게 잠금 해제하세요. 효율적인 통합을 위한 단계별 가이드를 따르세요. +### [Java OCR에서 GPU 활성화 방법 – 완전 단계별 가이드](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Java용 Aspose.OCR에서 GPU를 활성화하여 인식 속도와 정확성을 높이는 방법을 단계별로 안내합니다. +### [Java에서 스캔된 이미지에서 텍스트 추출 – 완전 Aspose OCR 가이드](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Java용 Aspose OCR을 활용해 스캔된 이미지에서 텍스트를 정확히 추출하는 전체 가이드를 제공합니다. +### [Aspose OCR Java 예제 – 이미지 로드, 맞춤법 교정 및 OCR 처리 완전 가이드](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Aspose OCR Java를 사용하여 이미지를 로드하고 맞춤법 교정 후 OCR을 수행하는 전체 가이드를 제공합니다. +### [Java에서 OCR 정확도 향상 – 완전 가이드](./improve-ocr-accuracy-in-java-complete-guide/) +Java용 OCR의 정확도를 높이는 방법을 단계별로 안내하는 완전 가이드입니다. +### [Java에서 검색 가능한 PDF 만들기 – 전체 Aspose OCR 가이드](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Aspose OCR을 활용해 Java에서 검색 가능한 PDF를 생성하고 텍스트를 추출하는 전체 과정을 단계별로 안내합니다. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/korean/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..f15358d2b --- /dev/null +++ b/ocr/korean/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,191 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java 예제는 이미지 OCR을 로드하고, OCR 오류를 수정하며, 사용자 사전을 설정하고, 몇 단계만으로 + 이미지 OCR을 처리하는 방법을 보여줍니다. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: ko +og_description: 이미지를 로드하고 OCR 오류를 수정하며 사용자 사전을 설정하고 이미지 OCR을 효율적으로 처리하는 Aspose OCR + Java 예제. +og_title: Aspose OCR Java 예제 – 이미지 로드, 맞춤법 교정 및 OCR 처리 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java 예제 – 이미지 로드, 맞춤법 교정 및 OCR 처리 완전 가이드 +url: /ko/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java 예제 – 이미지 로드, 맞춤법 교정 및 OCR 처리 완전 가이드 + +실제로 바로 사용할 수 있는 **Aspose OCR Java 예제**가 필요하셨나요? 여러분만 그런 것이 아닙니다—개발자들은 흐릿한 스크린샷을 보며 추출된 텍스트가 엉망인 이유를 고민하곤 합니다. 좋은 소식은 Aspose의 OCR 엔진에 이미 맞춤법 교정 기능이 내장되어 있으며, 필요에 따라 자체 단어 목록을 연결할 수도 있다는 점입니다. 이번 튜토리얼에서는 이미지 OCR을 로드하고, 교정 기능을 활성화하며, 선택적으로 사용자 사전을 설정하고, 최종적으로 이미지 OCR을 처리해 깔끔하고 읽기 쉬운 텍스트를 얻는 과정을 단계별로 살펴보겠습니다. + +또한 **OCR 오류를 교정**해야 하는 이유, **이미지 OCR 로드**를 효율적으로 수행하는 방법, **사용자 사전 설정** 호출의 장점, 그리고 전체 **이미지 OCR 처리** 흐름이 어떻게 되는지에 대해서도 다룹니다. 튜토리얼을 마치면 Maven이나 Gradle 프로젝트에 바로 넣어 실행할 수 있는 완전한 Java 프로그램을 얻게 됩니다. + +--- + +## 준비물 + +- Java 8 이상 (API는 Java 11+에서도 동작) +- Aspose.OCR for Java 라이브러리 (Aspose 웹사이트에서 최신 JAR를 다운로드하거나 Maven 의존성을 추가) +- 텍스트가 포함된 이미지 파일 (가능하면 스캔 문서나 약간의 노이즈가 있는 스크린샷) +- 선택 사항: 도메인‑특화 용어를 위한 **사용자 사전** 파일(플레인 텍스트 형식) + +이것만 있으면 됩니다—무거운 OCR 엔진도, 네이티브 의존성도 필요 없으며, 단일 JAR와 몇 줄의 코드만 있으면 됩니다. + +--- + +## 1단계: Aspose OCR Java 예제 – 이미지 OCR 로드 + +먼저 `OcrEngine` 인스턴스를 생성하고 분석하려는 파일을 지정해야 합니다. 책을 읽기 전에 책을 여는 것과 같은 개념입니다. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **왜 중요한가:** `setImage` 호출은 **이미지 OCR 로드**의 핵심입니다. 유효한 이미지가 없으면 엔진은 인식할 것이 없으며, 빈 문자열이나 예외가 발생합니다. + +![aspose ocr java example loading image](image.png){alt="Aspose OCR Java 예제 이미지 로드"} + +--- + +## 2단계: 맞춤법 교정 활성화로 OCR 오류 교정 + +Aspose OCR은 기본적으로 맞춤법 교정이 켜져 있지만, **Aspose OCR Java 예제**를 보여줄 때는 명시적으로 설정하는 것이 좋습니다. 이 기능을 활성화하면 “t1e”나 “rec0gn1tion” 같은 난독을 크게 줄일 수 있습니다. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **프로 팁:** 엔진이 여전히 특정 단어를 잘못 인식한다면 언어 설정을 다시 확인하거나 사용자 사전을 추가하세요(다음 단계). + +맞춤법 교정을 활성화하는 것은 **OCR 오류를 교정**하는 가장 빠른 방법이며, 추가 코드를 작성할 필요가 없습니다. + +--- + +## 3단계: 정확도 향상을 위한 사용자 사전 설정 + +기본 사전에는 산업‑특화 용어가 포함되지 않을 수 있습니다—예를 들어 의료 용어, 제품 코드, 브랜드명 등. 이때 **사용자 사전 설정**이 빛을 발합니다. 한 줄에 하나씩 단어를 적은 플레인 텍스트 파일을 제공하면 OCR 엔진이 교정 과정에서 해당 단어들을 유효한 것으로 인식합니다. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **사용 시점:** 청구서를 처리하면서 회사 이름이 계속 뒤틀린다면, 해당 이름들을 포함한 사용자 사전을 사용하면 **이미지 OCR 처리** 단계가 훨씬 신뢰성 있게 동작합니다. + +--- + +## 4단계: 이미지 OCR 처리 및 텍스트 추출 + +엔진 구성이 끝났으니 이제 실제 인식을 실행할 차례입니다. `process` 메서드는 텍스트 블록 감지, 맞춤법 교정 적용, `OcrResult` 객체 반환 등 모든 무거운 작업을 수행합니다. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **출력 예시:** 콘솔에 깔끔하고 사람이 읽을 수 있는 문자열이 출력됩니다. 맞춤법 교정을 생략했다면 이상한 문자들이 보일 것이며, 이는 앞서 **OCR 오류를 교정**하기 위해 교정을 활성화해야 하는 이유와 같습니다. + +--- + +## 5단계: 예제 실행 및 결과 확인 + +선호하는 IDE나 커맨드 라인에서 클래스를 컴파일하고 실행하세요: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +다음과 같은 결과가 표시됩니다: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +출력에 아직도 오타가 있다면 해당 단어들을 사용자 사전에 추가하고 **이미지 OCR 처리** 단계를 다시 실행해 보세요. + +--- + +## 흔히 발생하는 문제와 해결 방법 + +| 문제 | 발생 원인 | 해결 방법 | +|------|----------|-----------| +| **빈 출력** | 이미지 경로 오류 또는 지원되지 않는 형식 | 경로를 확인하고 PNG/JPEG 형식을 사용하며 파일 접근 권한을 확인 | +| **깨진 문자** | 맞춤법 교정 비활성화 또는 저품질 이미지 | `setEnableSpellCorrection(true)` 로 교정 활성화하고 이미지 전처리(대비 증가) 고려 | +| **도메인‑특화 단어 오류** | 사용자 사전 미설정 | `setCustomDictionary` 로 해당 용어가 포함된 파일을 지정 | +| **메모리 부족** | 스케일링 없이 매우 큰 이미지 로드 | `OcrEngine`에 전달하기 전에 이미지 크기를 조정 | + +--- + +## 예제 확장하기 + +기본 **Aspose OCR Java 예제**를 완성했으니 다음과 같은 확장을 고려해 보세요: + +- **배치 처리**: 폴더에 있는 이미지들을 순회하면서 동일한 `OcrEngine` 인스턴스를 재사용 +- **레이아웃 정보 추출**: `ocrResult.getPages()` 를 활용해 표나 컬럼 등 구조적 정보를 얻음 +- **Apache PDFBox와 통합**: 인식된 텍스트를 PDF에 다시 삽입 + +이 모든 확장은 앞서 다룬 핵심 단계—이미지 OCR 로드, 교정 활성화, 선택적 사용자 사전 설정, 이미지 OCR 처리—를 기반으로 합니다. + +--- + +## 결론 + +이제 **Aspose OCR Java 예제**를 완성했습니다. 이미지를 로드하고, 맞춤법 교정을 활성화해 **OCR 오류를 교정**하며, 필요에 따라 **사용자 사전 설정**을 하고, 최종적으로 **이미지 OCR 처리**를 통해 깨끗한 텍스트를 추출했습니다. 코드 양은 적고 개념은 명확하며, 배치 작업, UI 연동, 클라우드 마이크로서비스 등으로 확장할 수 있는 기반이 마련되었습니다. + +다음 단계는 무엇일까요? 저해상도 사진을 엔진에 넣어 보고, 제품 SKU 목록을 사용자 사전에 추가해 정확도가 어떻게 향상되는지 확인해 보세요. 실험을 많이 할수록 이미지 품질, 사전 크기, 처리 속도 사이의 트레이드오프를 더 잘 이해하게 될 것입니다. + +궁금한 점이나 개선 아이디어가 있으면 댓글로 알려 주세요. 즐거운 코딩 되세요! + +## 다음에 배울 내용은? + +다음 튜토리얼들은 이번 가이드에서 다룬 기술을 기반으로 하며, 단계별 코드 예제와 상세 설명을 제공해 추가 API 기능을 마스터하고 다양한 구현 방식을 탐색할 수 있도록 도와줍니다. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) → **Java에서 Aspose.OCR 라이선스 설정 및 확인 방법** +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) → **Aspose.OCR을 사용해 언어별 이미지 텍스트 OCR 수행 방법** +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) → **Aspose OCR Java 예제 – 이미지에서 라인 인식하기** + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/korean/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..3ec51de2e --- /dev/null +++ b/ocr/korean/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,271 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR을 사용하여 Java로 검색 가능한 PDF 만들기. PDF에서 텍스트를 추출하고, OCR 정확도를 높이며, + 다중 페이지 PDF를 효율적으로 처리하는 방법을 배우세요. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: ko +og_description: Aspose OCR을 사용하여 Java로 검색 가능한 PDF 만들기. 이 가이드는 PDF에서 텍스트를 추출하고, OCR + 정확도를 높이며, 다중 페이지 PDF를 처리하는 방법을 안내합니다. +og_title: Java에서 검색 가능한 PDF 만들기 – 완전한 Aspose OCR 튜토리얼 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Java에서 검색 가능한 PDF 만들기 – 전체 Aspose OCR 가이드 +url: /ko/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java에서 검색 가능한 PDF 만들기 – 전체 Aspose OCR 가이드 + +Java에서 수십 개의 명령줄 도구를 사용하지 않고 바로 **searchable PDF** 파일을 만드는 방법이 궁금하셨나요? 당신만 그런 것이 아닙니다. 많은 개발자들이 스캔된 PDF를 텍스트 검색이 가능한 문서로 변환해야 할 때, 특히 원본 PDF가 여러 페이지에 걸쳐 있을 때 벽에 부딪히곤 합니다. + +이 튜토리얼에서는 **searchable PDF** 파일을 생성할 뿐만 아니라 **PDF에서 텍스트 추출**, **OCR 정확도 향상**, 그리고 Aspose OCR 라이브러리를 사용한 **OCR multi page PDF** 워크플로우를 처리하는 완전하고 실행 가능한 예제를 단계별로 살펴보겠습니다. 끝까지 진행하면 어떤 Java 프로젝트에도 바로 넣어 사용할 수 있는 견고하고 프로덕션 준비된 코드 조각을 얻게 됩니다. + +## 필요 사항 + +- Java 17 이상 (코드는 이전 버전에서도 컴파일되지만 JDK 17이 가장 적합합니다) +- Maven 또는 Gradle을 사용해 `aspose-ocr` 의존성을 가져오기 +- 샘플 다중 페이지 PDF (`sample_multi_page.pdf` 라고 부릅니다) +- 병렬 처리를 원한다면 적당한 GPU 또는 최소한 멀티코어 CPU + +추가적인 네이티브 라이브러리는 필요하지 않습니다—Aspose OCR이 필요한 모든 것을 포함하고 있습니다. + +--- + +## 검색 가능한 PDF 만들기 – 단계별 구현 + +아래에서는 과정을 논리적인 청크로 나눕니다. 각 섹션은 자체 H2 헤더를 가지고 있어 원하는 부분으로 바로 이동할 수 있으며, 주요 키워드가 헤더에 바로 표시됩니다. + +### 단계 1: 프로젝트 설정 및 Aspose OCR 가져오기 + +먼저, Aspose OCR Maven 아티팩트를 `pom.xml`에 추가합니다. Gradle을 선호한다면, 주석에 해당 스니펫이 제공됩니다. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** 의존성을 최신 상태로 유지하세요; 최신 릴리스는 정확도 향상을 가져와 **OCR 정확도 향상**에 직접 도움이 됩니다. + +### 단계 2: 다중 페이지 PDF를 OCR 엔진에 로드하기 + +이제 `OcrEngine` 인스턴스를 생성하고 처리하려는 PDF를 전달합니다. 엔진은 각 페이지를 내부적으로 이미지로 취급하므로 이 접근 방식이 **ocr multi page pdf** 시나리오에 적합합니다. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**왜 중요한가:** PDF를 한 번만 로드하고 엔진이 페이지 처리를 담당하게 하면 각 페이지를 수동으로 추출하는 오버헤드를 피할 수 있어 시간과 메모리를 절약합니다. + +### 단계 3: **OCR 정확도 향상**을 위한 고급 기능 활성화 + +Aspose OCR은 조정할 수 있는 여러 옵션을 제공합니다. GPU 가속을 활성화하고, 스레드 수를 늘리며, 여러 언어를 지정하면 특히 노이즈가 많은 스캔에서 인식률이 향상됩니다. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **GPU가 없으면 어떻게 하나요?** `setUseGpu(false)` 로 설정하면 엔진이 CPU 전용 모드로 전환되지만 여전히 멀티스레딩의 이점을 누릴 수 있습니다. + +### 단계 4: 더 나은 결과를 위한 이미지 전처리 + +디스키우, 노이즈 제거, 대비 강화와 같은 전처리 단계는 스캔 문서에서 **OCR 정확도 향상**을 크게 도와줍니다. 마치 조각하기 전에 거친 돌을 다듬는 것과 같습니다. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**왜 이러한 설정인가?** `2` 수준의 노이즈 제거는 대부분의 스캔 PDF에 잘 작동하며, 적당한 대비 강화(1.3배)는 배경을 망치지 않으면서 옅은 잉크를 살려줍니다. + +### 단계 5: 검색 가능한 PDF 생성을 위한 출력 구성 + +Aspose OCR은 인식된 텍스트 레이어를 PDF에 직접 삽입하여 평면 이미지 파일을 **searchable PDF** 로 변환할 수 있습니다. 이는 많은 개발자들이 묻는 “searchable pdf 만드는 방법” 질문의 핵심입니다. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +`setGenerateSearchablePdf(true)` 를 활성화하면 라이브러리는 시각적 내용과 일치하는 보이지 않는 텍스트 레이어를 생성하여 최종 문서를 모든 PDF 뷰어에서 검색 가능하게 만듭니다. + +### 단계 6: OCR 실행 및 결과 저장 + +이제 실제로 문서를 처리하고 출력 파일을 기록합니다. `process` 메서드는 검색 가능한 PDF와 추출된 일반 텍스트를 모두 포함하는 `OcrResult` 객체를 반환합니다. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### 단계 7: (선택) **Extract Text from PDF** 를 즉시 사용하기 + +인덱싱, 분석, 혹은 웹 페이지에 표시하기 위해 원시 텍스트가 필요하다면 `OcrResult` 에서 바로 가져올 수 있습니다. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**출력 내용:** 콘솔에 모든 페이지의 연결된 텍스트가 출력되며 가능한 경우 줄 바꿈을 유지합니다. 이는 두 번째 과정을 거치지 않고도 **extract text from pdf** 요구 사항을 충족합니다. + +--- + +## 시각적 개요 + +아래는 각 단계를 해당 코드 블록에 매핑한 간단한 흐름도입니다. 입력 PDF가 전처리, OCR을 거쳐 최종적으로 검색 가능한 문서가 되는 과정을 시각화하는 데 도움이 됩니다. + +![검색 가능한 PDF 흐름도](https://example.com/flow-diagram.png "검색 가능한 PDF 흐름도") + +*Alt 텍스트에는 주요 키워드가 포함되어 이미지 SEO를 만족합니다.* + +## 일반 질문 및 엣지 케이스 + +| 질문 | 답변 | +|----------|--------| +| **100 MB보다 큰 PDF를 처리할 수 있나요?** | 예, 전체 파일을 메모리에 로드하는 대신 페이지를 스트리밍하는 것을 고려하세요. Aspose OCR은 내부적으로 페이지 관리를 수행하지만, 매우 큰 파일의 경우 JVM 힙(`-Xmx4g`)을 늘리는 것이 좋습니다. | +| **PDF에 손글씨 메모가 포함되어 있으면 어떻게 하나요?** | 손글씨 인식은 기본적으로 비활성화되어 있습니다. 라이브러리 버전이 지원한다면 `setLanguage("eng,mon,handwritten")` 로 전환할 수 있지만 정확도는 다를 수 있습니다. | +| **Aspose OCR에 라이선스가 필요합니까?** | 임시 평가 라이선스로 테스트는 가능하지만, 프로덕션에서는 워터마크를 제거하고 전체 성능을 활용하려면 상용 라이선스를 구매해야 합니다. | +| **맞춤법 교정을 비활성화하려면?** | `ocr.getSettings().setEnableSpellCorrection(false);` 를 호출하세요 – 포렌식 목적 등 원시 OCR 출력이 필요할 때 유용합니다. | +| **GPU 지원이 필수인가요?** | 아니요. 라이브러리는 CPU로 자동 전환합니다. 그러나 GPU를 사용하면 대형 다중 페이지 문서에서 처리 시간을 최대 60 %까지 단축할 수 있습니다. | + +## 전체 작업 예제 (복사‑붙여넣기 준비됨) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**예상 출력** + +- `output_searchable.pdf` – 스캔된 이미지에 나타난 모든 단어를 Ctrl + F 로 검색할 수 있는 PDF. +- 콘솔 로그 – 원본 PDF의 전체 텍스트 내용으로, 인덱싱이나 추가 분석에 적합합니다. + +## 결론 + +우리는 Aspose OCR을 사용해 Java에서 **searchable PDF** 파일을 만드는 방법을 시연했으며, **PDF에서 텍스트 추출**, **OCR 정확도 향상**, 그리고 **OCR multi page PDF** 워크플로우를 효율적으로 처리하는 방법도 보여주었습니다. 위의 전체 코드 스니펫은 프로젝트에 바로 삽입할 수 있으며, 설명을 통해 특정 사용 사례에 맞게 설정을 조정할 자신감을 얻을 수 있습니다. + +다음은 무엇인가요? 사용자 정의 폰트 임베딩을 실험해 보거나, OCR 생성 북마크를 추가하거나, Elasticsearch와 같은 검색 엔진에 출력을 통합해 보세요. 이러한 주제들은 모두 우리의 보조 키워드인 *how to make searchable pdf*와 *increase OCR accuracy*와 연결되어 있어 보다 깊이 탐구할 수 있는 명확한 길을 제공합니다. + +댓글에 경험을 공유하거나 추가 질문을 자유롭게 남겨 주세요. 즐거운 코딩 되시고, 정적인 스캔을 완전한 검색 가능하고 텍스트가 풍부한 PDF로 변환하는 즐거움을 누리세요! + +## 다음에 배워야 할 내용은? + +다음 튜토리얼들은 이 가이드에서 시연한 기술을 기반으로 하는 밀접한 관련 주제를 다룹니다. 각 자료는 단계별 설명과 함께 완전한 작업 코드 예제를 포함하여 추가 API 기능을 마스터하고 프로젝트에서 대체 구현 방식을 탐색하는 데 도움을 줍니다. + +- [PDF 텍스트 인식 – Aspose.OCR for Java의 OCR 작업](/ocr/english/java/ocr-operations/) +- [Aspose.OCR for Java에서 PDF 문서 OCR 인식](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Aspose.OCR for Java에서 PDF 문서 OCR 인식 (스페인어)](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/korean/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..ad75e1392 --- /dev/null +++ b/ocr/korean/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,270 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR for Java를 사용하여 스캔된 이미지에서 텍스트를 추출합니다. 병렬 처리를 통해 tiff 파일에서 텍스트를 + 인식하는 방법을 배워보세요. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: ko +og_description: Aspose OCR로 스캔된 이미지에서 텍스트를 추출합니다. 이 가이드는 Java를 사용하여 TIFF 파일에서 텍스트를 + 효율적으로 인식하는 방법을 보여줍니다. +og_title: 스캔된 이미지에서 텍스트 추출 – Aspose OCR Java 튜토리얼 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Java에서 스캔된 이미지에서 텍스트 추출 – 완전한 Aspose OCR 가이드 +url: /ko/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 스캔 이미지에서 텍스트 추출 – 완전한 Aspose OCR 가이드 + +스캔 이미지에서 **텍스트를 추출**해야 했지만 “어떻게?”에 막혔던 적이 있나요? 당신만 그런 것이 아닙니다. 오래된 아카이브를 디지털화하거나, 청구서에서 데이터를 추출하거나, 검색 가능한 PDF 라이브러리를 구축할 때, TIFF 스캔에서 신뢰할 수 있는 텍스트를 얻는 것은 어려운 점이 될 수 있습니다. + +좋은 소식: Aspose OCR for Java를 사용하면 **tiff에서 텍스트를 인식**할 수 있는 코드를 몇 줄만으로 작성할 수 있으며, 엔진을 몇 개의 CPU 코어에만 제한함으로써 추가 속도를 얻을 수도 있습니다. 이 튜토리얼에서는 라이브러리 설정부터 결과 처리까지 전체 과정을 단계별로 안내하므로 바로 복사‑붙여넣기 가능한 예제를 바로 사용할 수 있습니다. + +## 이 튜토리얼에서 다루는 내용 + +- Aspose OCR for Java 설치 (Maven 또는 수동 JAR) +- 대용량 스캔 TIFF 이미지 로드 +- 엔진을 최대 4개의 스레드 사용하도록 구성 (병렬 OCR) +- OCR 프로세스를 실행하고 추출된 텍스트 출력 +- 일반적인 함정(메모리, 다중 페이지 TIFF) 및 회피 방법 +- 빠른 성능 팁: `setMaxThreads` 조정 시점 + +튜토리얼을 마치면 **스캔 이미지 파일에서 텍스트를 안정적으로 추출**할 수 있게 되고, 프로덕션 파이프라인에서 *tiff에서 텍스트를 인식*할 때 스레드 수를 조정하는 것이 왜 중요한지도 이해하게 됩니다. + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## 사전 요구 사항 + +시작하기 전에 다음을 준비하세요: + +1. **Java Development Kit (JDK) 8+** – 최신 버전이면 모두 작동합니다. +2. **Maven** (또는 JAR를 수동으로 추가할 수 있는 환경) – 여기서는 간편함을 위해 Maven을 사용합니다. +3. Aspose OCR for Java 라이선스 (무료 평가판도 동작하지만 워터마크가 추가됩니다). +4. 처리하려는 **대용량 TIFF 스캔** (예: `large_scan.tif`). + +이 중 익숙하지 않은 것이 있더라도 걱정하지 마세요—아래 단계마다 자세히 설명합니다. + +## 1단계: 프로젝트에 Aspose OCR 추가 + +### Maven 사용자 + +`pom.xml`에 다음 의존성을 추가하세요: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### 수동 JAR 설정 + +Aspose 웹사이트에서 최신 `aspose-ocr-xx.jar`를 다운로드하고 클래스패스에 배치합니다. + +> **Pro tip:** JAR를 `libs/` 폴더에 보관하고 IDE 프로젝트 설정에서 해당 폴더를 참조하도록 하면 나중에 “class not found” 오류를 방지할 수 있습니다. + +## 2단계: 간단한 Java 클래스 만들기 + +소스 폴더(`src/main/java`)에 `ParallelOcrDemo.java` 파일을 생성합니다. 이 클래스가 전체 OCR 워크플로를 담당합니다. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **왜 스레드를 제한하는가:** 기본적으로 Aspose OCR은 모든 코어를 사용하려고 하여 공유 머신에서 다른 서비스가 부족해질 수 있습니다. `setMaxThreads(4)`를 설정하면 엔진이 최대 네 개의 병렬 작업자를 사용하도록 제한하므로 대부분의 최신 CPU에서 눈에 띄는 속도 향상을 얻으면서도 자원을 독점하지 않습니다. + +## 3단계: 컴파일 및 실행 + +프로젝트 루트에서 터미널을 열고 다음을 실행합니다: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Maven을 사용하지 않는 경우 `javac`로 컴파일하고 실행합니다: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### 예상 출력 + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +콘솔에 스캔된 페이지에 있던 텍스트의 평문 버전이 표시됩니다. 이미지에 여러 페이지가 포함된 경우 Aspose OCR이 순서대로 연결해서 출력합니다. + +## 4단계: 다중 페이지 TIFF 처리 (예외 상황) + +일반적인 상황은 **다중 페이지 TIFF**—예를 들어 스캔한 책입니다. 기본적으로 `OcrInputImage`는 첫 번째 프레임만 읽습니다. 모든 페이지를 처리하려면 `FileInputStream`과 함께 `OcrInputImage`를 사용하고 다중 페이지 지원을 활성화합니다: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +이제 `ocrEngine.process()`는 모든 페이지의 텍스트를 연결한 단일 `OcrResult`를 반환합니다. + +## 5단계: 인식 정확도 미세 조정 + +**깨진 문자**나 누락된 단어가 보이면 다음 조정을 시도해 보세요: + +| Setting | What it does | When to use it | +|---------|--------------|----------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | 영어 언어 모델을 강제 적용(영어 스캔에 대해 더 빠르고 정확) | 문서가 단일 언어인 영어일 때 | +| `ocrEngine.getSettings().setResolution(300)` | 인식 전에 저해상도 이미지를 300 DPI로 업스케일 | 200 DPI 이하 스캔일 때 | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | 잡티와 아티팩트를 제거 시도 | 노이즈가 많은 스캔일 때 | + +예제 코드: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## 6단계: 결과를 파일로 내보내기 + +데모에서는 콘솔에 출력해도 되지만, 실제 코드에서는 보통 결과를 유용한 위치에 저장합니다: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +이제 검색 인덱스, 데이터베이스 또는 하위 분석 파이프라인에 전달할 수 있는 평문 파일이 생겼습니다. + +--- + +## 자주 묻는 질문 (FAQ) + +**Q: PNG나 JPEG 파일에도 적용할 수 있나요?** +A: 물론입니다. `OcrInputImage`는 Java의 ImageIO가 읽을 수 있는 모든 형식을 지원합니다. 경로의 파일 확장자를 해당 형식으로 바꾸기만 하면 됩니다. + +**Q: 서버에 코어가 8개 있는데 `setMaxThreads(8)`로 설정해야 할까요?** +A: 설정할 수는 있지만, 다른 서비스도 CPU 사이클을 필요로 한다는 점을 기억하세요. 전용 OCR 작업자에 대해 일반적인 경험 법칙은 “전체 코어 수 – 1”입니다. + +**Q: OCR 결과가 빈 문자열이면 어떻게 해야 하나요?** +A: 이미지가 완전히 흰색인지, 올바른 언어를 설정했는지, 해상도가 최소 200 DPI인지 확인하세요. 저품질 스캔은 종종 전처리(기울기 보정, 대비 강화)가 필요합니다. + +## 정리 + +우리는 Aspose OCR for Java를 사용해 **스캔 이미지 파일에서 텍스트를 추출**했으며, 이제 **tiff에서 텍스트를 인식**하는 방법을 병렬 처리와 함께 효율적으로 수행할 수 있게 되었습니다. 전체 코드는 위의 스니펫에 포함되어 있으니 바로 복사‑붙여넣기해서 프로젝트에 적용해 보세요. + +### 다음 단계 + +- **배치 처리**: TIFF 디렉터리를 순회하면서 각 결과를 별도 파일에 저장합니다. +- **Elasticsearch와 통합**: 추출된 텍스트를 색인하여 빠른 전체 텍스트 검색을 구현합니다. +- **언어 감지 추가**: 다국어 문서에 대해 `OcrLanguage.AutoDetect`를 사용합니다. + +이 아이디어들을 실험해 보면 방대한 스캔 문서를 빠르게 검색 가능하고 활용 가능한 데이터로 전환할 수 있습니다. + +코딩을 즐기시고, 문제가 발생하면 언제든지 댓글로 알려 주세요! + +## 다음에 배울 내용은? + +다음 튜토리얼은 이 가이드에서 다룬 기술을 기반으로 하여 관련 주제를 자세히 다룹니다. 각 자료에는 완전한 코드 예제와 단계별 설명이 포함되어 있어 추가 API 기능을 마스터하고 프로젝트에 다양한 구현 방식을 적용하는 데 도움이 됩니다. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/korean/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..5cfbe90b2 --- /dev/null +++ b/ocr/korean/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,317 @@ +--- +category: general +date: 2026-06-06 +description: Java OCR에서 GPU를 활성화하고 JPEG 파일에서 텍스트를 추출하는 방법. GPU 가속을 사용하여 이미지를 텍스트로 + 변환하는 이 Java OCR 예제를 따라하세요. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: ko +og_description: Java OCR에서 GPU를 활성화하고 JPEG 이미지에서 즉시 텍스트를 추출하는 방법. 이 가이드는 GPU 가속 OCR을 + 활용한 완전한 Java OCR 예제를 보여줍니다. +og_title: Java OCR에서 GPU 활성화 방법 – 전체 프로그래밍 단계별 안내 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Java OCR에서 GPU를 활성화하는 방법 – 완전 단계별 가이드 +url: /ko/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java OCR에서 GPU 활성화 방법 – 완전 단계별 가이드 + +Ever wondered **how to enable GPU** for optical character recognition in Java? You’re not the only one—developers constantly ask, “Can I make OCR faster without rewriting everything?” The short answer is yes, and the long answer is right here. In this tutorial we’ll walk through a **java ocr example** that **extracts text from JPEG** files, **converts image to text**, and leverages **GPU accelerated OCR** for blazing‑quick results. + +Java에서 광학 문자 인식을 위해 **GPU를 활성화하는 방법**을 궁금해 본 적 있나요? 당신만 그런 것이 아닙니다—개발자들은 계속해서 “전체 코드를 다시 작성하지 않고 OCR을 더 빠르게 할 수 있을까?”라고 묻습니다. 짧은 답은 예이며, 자세한 답은 바로 여기 있습니다. 이 튜토리얼에서는 **java ocr example**를 통해 **JPEG 파일에서 텍스트를 추출하고**, **이미지를 텍스트로 변환**하며, **GPU 가속 OCR**을 활용해 번개처럼 빠른 결과를 얻는 과정을 살펴보겠습니다. + +We’ll start by setting up the Aspose OCR library, load a sample JPEG, turn on GPU support, run the engine, and finally print the recognized text. By the end you’ll have a reusable snippet you can drop into any Java project, plus a handful of tips that keep you from common pitfalls. No fluff, just the nitty‑gritty you need to get moving. + +Aspose OCR 라이브러리를 설정하고, 샘플 JPEG를 로드하고, GPU 지원을 켜고, 엔진을 실행한 뒤 인식된 텍스트를 출력하는 순서로 진행합니다. 끝까지 따라오면 어떤 Java 프로젝트에도 삽입할 수 있는 재사용 가능한 코드 조각과 흔히 겪는 함정을 피할 수 있는 팁을 얻을 수 있습니다. 불필요한 내용 없이 바로 실행에 필요한 핵심만 제공합니다. + +## 사전 요구 사항 + +* Java 8 이상이 설치되어 있음(코드는 표준 API를 사용하므로 최신 JDK이면 모두 작동합니다). +* 최신 드라이버가 설치된 호환 GPU – 대부분의 최신 NVIDIA/AMD 카드가 해당됩니다. +* Aspose.OCR for Java 라이브러리( Maven Central 또는 Aspose 웹사이트에서 다운로드 가능). +* OCR을 수행할 JPEG 이미지—예시로 `sample.jpg` 라고 부르겠습니다. + +That’s it. If any of those sound unfamiliar, pause and install the missing piece; the rest of the guide assumes they’re already in place. + +그게 전부입니다. 위 항목 중 익숙하지 않은 것이 있다면 잠시 멈추어 필요한 부분을 설치하세요. 나머지 가이드는 이미 준비되어 있다고 가정합니다. + +## Java OCR에서 GPU 활성화 – 개요 + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Think of the GPU as a turbo‑charger for your OCR engine—rather than the CPU doing every pixel‑by‑pixel analysis, the graphics card handles the heavy lifting in parallel. The result? Faster processing times, especially on high‑resolution scans. + +GPU를 OCR 엔진의 터보차저라고 생각하면 됩니다. CPU가 픽셀 단위로 모든 분석을 수행하는 대신, 그래픽 카드가 병렬로 무거운 작업을 처리합니다. 그 결과는? 특히 고해상도 스캔에서 처리 시간이 크게 빨라집니다. + +## 단계 1: 프로젝트 설정 및 Aspose OCR 가져오기 + +First things first, create a new Maven project (or Gradle, if you prefer). Add the Aspose OCR dependency: + +먼저 Maven 프로젝트(또는 Gradle)를 새로 만들고, Aspose OCR 의존성을 추가합니다: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +If you’re not using Maven, download the JAR from Aspose and add it to your classpath. This step is the foundation of any **java ocr example** you’ll ever write, so double‑check that the library resolves correctly. + +Maven을 사용하지 않는 경우 Aspose에서 JAR를 다운로드하여 클래스패스에 추가하세요. 이 단계는 앞으로 작성할 모든 **java ocr example**의 기반이 되므로, 라이브러리가 올바르게 로드되는지 반드시 확인하십시오. + +## 단계 2: JPEG 이미지 로드 (JPEG에서 텍스트 추출) + +Now we’ll write code to read a JPEG file. The `OcrInputImage` class accepts a path, and we’ll feed it into the `OcrEngine`. + +이제 JPEG 파일을 읽는 코드를 작성합니다. `OcrInputImage` 클래스는 파일 경로를 받아들이며, 이를 `OcrEngine`에 전달합니다. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Why this matters:** Loading the image correctly is the first step in any **convert image to text** workflow. If the path is wrong, the engine throws an exception before it even gets to the GPU stage. + +> **왜 중요한가:** 이미지를 올바르게 로드하는 것은 모든 **convert image to text** 워크플로우의 첫 단계입니다. 경로가 잘못되면 엔진이 GPU 단계에 도달하기도 전에 예외를 발생시킵니다. + +## 단계 3: GPU 가속 활성화 (GPU 활성화 방법) + +Here’s the core of the tutorial—turning on GPU support. The `OcrSettings` object exposes a `setUseGpu` flag. Just set it to `true` and you’re good to go. + +튜토리얼의 핵심인 GPU 지원을 켜는 방법입니다. `OcrSettings` 객체에 `setUseGpu` 플래그가 있습니다. 이를 `true` 로 설정하면 바로 사용할 수 있습니다. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** Verify that your GPU driver is up‑to‑date. Out‑of‑date drivers often cause the `setUseGpu(true)` call to silently fail, leaving you with CPU‑only performance. + +> **프로 팁:** GPU 드라이버가 최신인지 확인하세요. 오래된 드라이버는 `setUseGpu(true)` 호출이 조용히 실패하게 만들어 CPU 전용 성능만 남게 됩니다. + +## 단계 4: OCR 엔진 실행 (Java OCR 예제) + +With the image loaded and GPU enabled, fire the OCR process. The engine returns an `OcrResult` object that contains the recognized text. + +이미지를 로드하고 GPU를 활성화했으면 OCR 프로세스를 실행합니다. 엔진은 인식된 텍스트를 포함하는 `OcrResult` 객체를 반환합니다. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Behind the scenes, Aspose splits the image into tiles, sends them to the GPU for parallel inference, and stitches the results back together. This is what makes the **gpu accelerated ocr** experience noticeably faster than the default CPU path. + +내부적으로 Aspose는 이미지를 타일로 분할하고, GPU에 병렬 추론을 위해 전달한 뒤 결과를 다시 합칩니다. 이 과정이 **gpu accelerated ocr**이 기본 CPU 경로보다 눈에 띄게 빠른 이유입니다. + +## 단계 5: 인식된 텍스트 출력 (이미지를 텍스트로 변환) + +Finally, print the result to the console. In a real‑world app you’d probably write this to a file or a database, but for illustration a simple `System.out.println` does the trick. + +마지막으로 결과를 콘솔에 출력합니다. 실제 애플리케이션에서는 파일이나 데이터베이스에 저장할 수 있지만, 예시에서는 간단히 `System.out.println` 으로 충분합니다. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### 예상 출력 + +Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see: + +`sample.jpg`에 “Hello, World!” 라는 문구가 포함되어 있다고 가정하면 다음과 같이 출력됩니다: + +``` +Recognized text: +Hello, World! +``` + +If the image is more complex (multiple lines, tables, etc.), the output will contain line breaks and spacing that mirror the original layout. That’s the beauty of Aspose’s OCR engine—it preserves structure while converting the image to text. + +이미지가 더 복잡하고(여러 줄, 표 등) 경우, 출력에 원본 레이아웃을 반영한 줄 바꿈과 공백이 포함됩니다. 이것이 Aspose OCR 엔진의 장점으로, 이미지를 텍스트로 변환하면서 구조를 보존합니다. + +## 전체 작업 예제 + +Putting it all together, here’s the complete, ready‑to‑run program: + +전체 코드를 합치면 다음과 같은 완전한 실행 프로그램이 됩니다: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Save this as `GpuOcrDemo.java`, compile with `javac`, and run with `java`. If everything is wired correctly, the console will display the extracted text in a flash. + +이를 `GpuOcrDemo.java` 로 저장하고 `javac` 로 컴파일한 뒤 `java` 로 실행하세요. 모든 설정이 올바르면 콘솔에 텍스트가 즉시 표시됩니다. + +## 일반 질문 및 엣지 케이스 + +### 1. GPU가 사용되지 않음 – 왜 그런가요? + +* **Check driver version** – older drivers may not expose the required compute capabilities. + + **드라이버 버전 확인** – 오래된 드라이버는 필요한 연산 능력을 제공하지 않을 수 있습니다. + +* **Validate GPU support** – Aspose requires a CUDA‑compatible NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled discrete GPU, enable it in BIOS or the graphics control panel. + + **GPU 지원 확인** – Aspose는 CUDA 호환 NVIDIA 카드 또는 OpenCL 호환 AMD 카드를 필요로 합니다. 노트북에서 별도 GPU가 비활성화된 경우 BIOS나 그래픽 제어판에서 활성화하세요. + +* **Inspect logs** – Aspose writes a debug line when GPU mode is active. Enable logging via `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + + **로그 확인** – GPU 모드가 활성화되면 Aspose가 디버그 라인을 기록합니다. `ocr.getSettings().setLogLevel(LogLevel.Debug)` 로 로깅을 활성화하세요. + +### 2. 저해상도 이미지에서 OCR 결과가 깨짐. + +* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast enhancement, or convert to grayscale before feeding it to the engine. + + **JPEG 전처리** – 최소 300 dpi 로 리사이즈하고, 대비를 강화하거나 그레이스케일로 변환한 뒤 엔진에 전달하세요. + +* **Adjust settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` or enable `setUseLanguageDetection(true)` for better accuracy. + + **설정 조정** – `ocr.getSettings().setLanguage(OcrLanguage.English)` 로 언어를 지정하거나 `setUseLanguageDetection(true)` 를 활성화해 정확도를 높일 수 있습니다. + +### 3. 여러 이미지를 배치 처리할 수 있나요? + +Absolutely. Wrap the loading and processing blocks in a loop, re‑using the same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations to clear the previous image. + +물론 가능합니다. 로드와 처리 블록을 루프로 감싸고 동일한 `OcrEngine` 인스턴스를 재사용하세요. 반복 사이마다 `ocr.reset()` 을 호출해 이전 이미지를 초기화하는 것을 잊지 마세요. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. 헤드리스 서버에서도 GPU 가속이 작동하나요? + +Yes, as long as the server has a supported GPU and the proper drivers. On Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` toolkit is on the `PATH`. + +지원되는 GPU와 올바른 드라이버가 설치된 서버라면 헤드리스 환경에서도 작동합니다. Linux에서는 `nvidia‑utils` 패키지를 설치하고 `CUDA` 툴킷이 `PATH` 에 포함되어 있는지 확인해야 할 수 있습니다. + +## 프로 팁: 프로덕션 수준 GPU OCR + +* **Batch size matters** – larger images benefit more from GPU parallelism. If you’re processing tiny icons, the overhead of GPU transfer may outweigh the gains. + + **배치 크기 중요** – 큰 이미지일수록 GPU 병렬 처리의 이점이 커집니다. 작은 아이콘을 처리할 경우 GPU 전송 오버헤드가 이점을 상쇄할 수 있습니다. + +* **Memory management** – GPUs have limited VRAM. For very large PDFs or multi‑megapixel scans, split the image into smaller tiles manually. + + **메모리 관리** – GPU는 제한된 VRAM을 가집니다. 매우 큰 PDF나 수 메가픽셀 스캔의 경우 이미지를 작은 타일로 직접 분할하세요. + +* **Error handling** – wrap the OCR call in a try‑catch block and fall back to CPU mode (`setUseGpu(false)`) if an `UnsupportedOperationException` is thrown. + + **오류 처리** – OCR 호출을 try‑catch 블록으로 감싸고 `UnsupportedOperationException` 이 발생하면 CPU 모드(`setUseGpu(false)`)로 전환하세요. + +## 결론 + +We’ve just covered **how to enable GPU** in a **java ocr example**, shown you how to **extract text from JPEG** files, and demonstrated a clean way to **convert image to text** using Aspose’s **gpu accelerated OCR** engine. The complete snippet above is ready to drop into any Java project, and the accompanying tips should keep you from the usual headaches. + +이번 글에서는 **java ocr example**에서 **GPU를 활성화하는 방법**을 다루고, **JPEG 파일에서 텍스트를 추출**하는 방법을 보여주었으며, Aspose의 **gpu accelerated OCR** 엔진을 이용해 **이미지를 텍스트로 변환**하는 깔끔한 방법을 시연했습니다. 위의 완전한 코드 조각은 어떤 Java 프로젝트에도 바로 삽입할 수 있으며, 제공된 팁을 통해 흔히 겪는 문제들을 피할 수 있습니다. + +What’s next? Try adding language packs, experiment with different image formats (PNG, TIFF), or integrate the output into a search index. The sky’s the limit when you pair OCR with GPU power. + +다음 단계는? 언어 팩을 추가하고, 다양한 이미지 포맷(PNG, TIFF)으로 실험하거나, 결과를 검색 인덱스에 통합해 보세요. OCR에 GPU 파워를 결합하면 가능성은 무한합니다. + +Got more questions about GPU‑accelerated OCR or need help tweaking the settings? Drop a comment, and happy coding! + +GPU‑가속 OCR에 대한 추가 질문이 있거나 설정 조정이 필요하면 댓글을 남겨 주세요. 즐거운 코딩 되세요! + +![Java OCR 예제에서 GPU 활성화 방법](https://example.com/images/gpu-ocr-java.png "Java OCR 예제에서 GPU 활성화 방법") + +## 다음에 배울 내용은? + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +다음 튜토리얼들은 이 가이드에서 소개한 기술을 기반으로 하는 밀접한 관련 주제를 다룹니다. 각 자료에는 완전한 코드 예제와 단계별 설명이 포함되어 있어 추가 API 기능을 마스터하고 프로젝트에 적용할 수 있는 다양한 구현 방법을 탐색할 수 있습니다. + +- [텍스트 이미지 추출 – Aspose.OCR for Java OCR 기본](/ocr/english/java/ocr-basics/) +- [Java에서 Aspose.OCR BufferedImage 사용하여 이미지 텍스트 변환](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Aspose.OCR을 사용한 언어별 이미지 텍스트 OCR 방법](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/korean/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..6e6067fd5 --- /dev/null +++ b/ocr/korean/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-06-06 +description: Java에서 OCR 정확도를 향상시키는 단계별 가이드를 통해 이미지 OCR을 로드하고, 이미지 OCR을 처리하며, 스캔된 페이지에서 + 텍스트를 효율적으로 추출하는 방법을 보여줍니다. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: ko +og_description: 실습 예제로 Java에서 OCR 정확도를 향상시키세요. 이미지 OCR을 로드하고 전처리한 뒤 OCR을 수행하여 스캔된 + 페이지에서 텍스트를 추출하는 방법을 배웁니다. +og_title: Java에서 OCR 정확도 향상 – 전체 튜토리얼 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Java에서 OCR 정확도 향상 – 완전 가이드 +url: /ko/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java에서 OCR 정확도 향상 – 완전 가이드 + +오래된 책 스캔이나 흐릿한 영수증을 다룰 때 **improve OCR accuracy**가 어떻게 되는지 궁금했던 적이 있나요? 당신만 그런 것이 아닙니다. 많은 실제 프로젝트에서 OCR 엔진의 원시 출력은 암호 같은 혼란스러운 형태이며, 이는 보통 이미지가 **perform OCR image**하기 전에 올바르게 전처리되지 않았기 때문입니다. + +이 튜토리얼에서는 **load image OCR** 방법을 정확히 보여주는 실용적인 Java 예제를 단계별로 살펴보고, 몇 가지 스마트한 전처리 단계를 적용한 뒤 **process image OCR**을 수행하고, 마지막으로 **extract text scanned page**를 깨끗한 결과와 함께 추출하는 과정을 보여드립니다. 끝까지 읽으면 *무엇을* 코딩해야 하는지뿐만 아니라 *왜* 각 라인이 인식 품질을 높이는 데 중요한지도 이해하게 됩니다. + +## 배우게 될 내용 + +- Java에서 OCR 엔진을 인스턴스화하는 방법 +- 디스크에서 **load image OCR**하는 올바른 방법 +- **improve OCR accuracy**에 필수적인 디스키유, 디노이징, 대비 향상의 이유 +- **perform OCR image**를 수행하고 인식된 텍스트를 가져오는 방법 +- 다양한 이미지 포맷 및 엣지 케이스를 처리하기 위한 팁 + +외부 문서는 필요 없습니다 – 여기서 바로 모든 것을 확인할 수 있으며, 완전하고 실행 가능한 코드는 아래에 포함되어 있습니다. + +## 전제 조건 + +- Java 17(또는 최신 JDK) 설치 +- `OcrEngine`, `OcrInputImage`, `OcrResult` 클래스를 제공하는 OCR 라이브러리(샘플은 일반 API를 사용합니다; 필요에 따라 공급업체의 jar로 교체) +- OCR을 실행할 스캔 이미지(PNG, JPEG, TIFF) – 데모에서는 `YOUR_DIRECTORY` 폴더에 있는 `old_book_page.png`를 사용합니다 + +OCR jar가 없으면 프로젝트의 `libs` 폴더에 넣고 클래스패스에 추가하면 됩니다. 그게 전부입니다. + +--- + +## Step 1 – OCR 정확도 향상: 엔진 설정 + +**process image OCR**를 수행하기 전에 새 엔진 인스턴스가 필요합니다. 새로운 `OcrEngine`을 생성하면 깨끗한 상태가 보장되어 이전 실행에서 남은 설정이 없습니다. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Why this matters*: 새로 만든 엔진은 기본 전처리가 비활성화된 상태로 시작합니다. 이는 의도된 동작이며, 특정 이미지에 실제로 도움이 되는 단계만 활성화하려는 것이 **improve OCR accuracy**의 핵심입니다. + +--- + +## Step 2 – Load Image OCR – 스캔 준비 + +이제 실제로 **load image OCR**를 수행합니다. `setImage` 메서드는 디스크에 있는 파일을 가리키는 `OcrInputImage`를 기대합니다. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +몇 가지 참고 사항: + +1. **Supported formats** – 대부분의 라이브러리는 PNG, JPEG, BMP, TIFF를 지원합니다. PDF가 있다면 첫 페이지를 이미지로 변환하세요. +2. **Path handling** – 절대 경로를 사용하면 작업 디렉터리가 바뀔 때 발생하는 “파일을 찾을 수 없음” 문제를 피할 수 있습니다. + +--- + +## Step 3 – Deskew: 회전된 페이지 바로잡기 + +많은 스캔 페이지가 완전히 수평이 아닙니다. 약간의 회전은 OCR 엔진이 텍스트 라인이 수평이라고 가정하기 때문에 인식을 방해할 수 있습니다. 디스키유를 활성화하면 회전을 자동으로 감지하고 보정합니다. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: 회전 각도를 미리 알고 있다면(예: 90°) 엔진에 전달하기 전에 이미지를 수동으로 회전시킬 수 있습니다 – 배치 작업에서는 종종 더 빠릅니다. + +--- + +## Step 4 – Denoise: 배경 잡음 감소 + +오래된 문서는 종이 질감, 먼지, 압축 아티팩트가 자주 포함됩니다. `setDenoiseLevel` 메서드는 이러한 잡음을 부드럽게 하는 필터를 적용합니다. 레벨 2가 대부분의 스캔 페이지에 좋은 시작점입니다. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Why it helps**: 잡음은 OCR 엔진이 문자로 오인할 수 있는 잘못된 가장자리를 만들습니다. 이미지를 정리함으로써 **improve OCR accuracy**를 실제 글자 형태를 손상시키지 않고 달성할 수 있습니다. + +--- + +## Step 5 – Boost Contrast: 텍스트 강조하기 + +스캔이 흐릿하면 잉크와 종이 사이의 대비가 낮아 엔진이 전경과 배경을 구분하기 어렵습니다. `1.4f`(40 % 증가)의 적당한 대비 향상은 보통 충분합니다. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Edge case*: 매우 어두운 이미지의 경우 팩터를 2.0까지 높이면 도움이 될 수 있지만, 클리핑에 주의하세요 – 과도하게 밝은 영역이 순수 흰색이 되어 세부 정보가 사라질 수 있습니다. + +--- + +## Step 6 – Perform OCR Image – 핵심 처리 단계 + +모든 준비가 끝나면 전처리된 이미지에 OCR 엔진을 실제로 실행하는 라인으로 넘어갑니다. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +엔진은 내부적으로 세그멘테이션, 문자 인식, 언어 모델 단계를 수행합니다. 여러 언어가 필요하면 `process()`를 호출하기 **before** 엔진에 설정하십시오. + +--- + +## Step 7 – Extract Text Scanned Page – 출력 얻기 + +마지막으로 `OcrResult`에서 인식된 문자열을 추출합니다. 콘솔에 출력하는 것만으로도 빠른 데모가 가능하지만, 파일, 데이터베이스에 저장하거나 다운스트림 NLP 파이프라인에 전달할 수도 있습니다. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Expected output** (간략히 표시): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +출력이 여전히 깨져 보인다면 전처리 파라미터를 다시 검토하세요 – 때때로 더 높은 디노이즈 레벨이나 다른 대비 팩터가 눈에 띄는 차이를 만들 수 있습니다. + +--- + +## Full Working Example + +아래는 복사·붙여넣기만 하면 바로 실행할 수 있는 완전한 Java 프로그램입니다. 필요한 import, `main` 메서드, 각 단계별 설명 주석이 포함되어 있습니다. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +`OcrAccuracyDemo.java`로 저장하고 `javac`로 컴파일한 뒤 `java`로 실행하세요. 모든 설정이 올바르면 터미널에 정리된 텍스트가 출력됩니다. + +--- + +## Common Questions & Edge Cases + +**Q: My scanned page is in color – should I convert it to grayscale first?** +**A:** 대부분의 OCR 엔진은 내부적으로 그레이스케일로 변환하지만, 직접(`BufferedImage`와 `ColorConvertOp` 사용) 변환하면 배경이 고르지 않을 때 변환 알고리즘을 더 세밀하게 제어할 수 있습니다. + +**Q: The output still contains stray symbols. What now?** +**A:** `setDenoiseLevel`을 3으로 높이거나 `setContrastBoost`를 1.6f로 조정해 보세요. 문제가 지속되면 OCR 전에 **binary threshold**(이진화)를 적용하는 것을 고려하십시오 – 많은 라이브러리가 `setBinarization(true)` 옵션을 제공합니다. + +**Q: How do I handle multi‑page PDFs?** +**A:** 각 페이지를 이미지로 변환(예: Apache PDFBox 사용)한 뒤 페이지를 순회하면서 동일한 `OcrEngine` 인스턴스를 재사용하되 매 반복마다 이미지를 재설정하면 됩니다. + +--- + +## Conclusion + +여러분은 이제 **improve OCR accuracy**를 위해 Java에서 **load image OCR**를 올바르게 수행하고, 디스키유, 디노이즈, 대비 향상을 적용한 뒤 **perform OCR image**를 실행하고 마지막으로 **extract text scanned page**를 추출하는 방법을 배웠습니다. 핵심 포인트는 전처리가 인식 품질을 높이는 가장 효과적인 레버라는 점이며, 잘 준비된 이미지는 정확한 문자 비율을 두 배 혹은 세 배까지 끌어올릴 수 있습니다. + +다음 단계가 준비되셨나요? 다음을 실험해 보세요: + +- 거친 스캔에 대한 다양한 디노이즈 레벨 +- 이미지 히스토그램 분석을 기반으로 한 적응형 대비 향상 +- 추출 후 언어 모델(예: 맞춤법 검사) 통합으로 남은 오류 정리 + +이러한 확장은 OCR 파이프라인을 한층 깊게 만들고 프로덕션 워크로드에서도 견고하게 동작하도록 합니다. + +문제가 발생하거나 자체적인 팁이 있다면 아래에 댓글을 남겨 주세요. 즐거운 코딩 되시고, 텍스트가 언제나 읽기 쉬우길 바랍니다! + +## What Should You Learn Next? + +다음 튜토리얼들은 이 가이드에서 시연한 기술을 기반으로 하여 밀접하게 관련된 주제를 다룹니다. 각 리소스는 완전한 코드 예제와 단계별 설명을 포함하고 있어 추가 API 기능을 마스터하고 프로젝트에 대체 구현 방식을 탐색하는 데 도움이 됩니다. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/java/ocr-basics/_index.md b/ocr/korean/java/ocr-basics/_index.md index 60fb6c015..ce38aa33c 100644 --- a/ocr/korean/java/ocr-basics/_index.md +++ b/ocr/korean/java/ocr-basics/_index.md @@ -114,6 +114,10 @@ Aspose.OCR for Java로 OCR 정확도를 향상시키세요. 단계별로 기울 Aspose.OCR for Java의 강력함을 활용하십시오. 이 단계별 가이드에서 이미지에서 텍스트를 원활히 추출하는 방법을 배우세요. 효율적인 텍스트 인식을 위해 지금 다운로드하십시오. +### [Java에서 OCR 수행 방법 – 이미지에서 텍스트 추출을 위한 완전 가이드](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) + +Java와 Aspose.OCR을 사용해 이미지에서 텍스트를 정확히 추출하는 전체 단계별 가이드입니다. + --- **마지막 업데이트:** 2025-12-08 @@ -125,4 +129,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/korean/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..46370bd2f --- /dev/null +++ b/ocr/korean/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-06-06 +description: Java에서 OCR 수행 방법 – 이미지를 빠르게 텍스트로 추출하고, 이미지를 텍스트로 변환하며, 간단한 코드 예제로 JPG에서 + 텍스트를 읽는 방법. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: ko +og_description: Java에서 OCR 수행 방법 – 이미지에서 텍스트를 추출하고, 이미지를 텍스트로 변환하며, JPG에서 텍스트를 읽는 + 방법을 즉시 실행 가능한 예제로 배워보세요. +og_title: Java에서 OCR 수행 방법 – 단계별 가이드 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Java에서 OCR 수행 방법 – 이미지에서 텍스트 추출을 위한 완전 가이드 +url: /ko/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java에서 OCR 수행 방법 – 이미지에서 텍스트 추출 완전 가이드 + +휴대폰으로 찍은 사진에서 **OCR을 수행하는 방법**이 궁금했던 적 있나요? 당신만 그런 것이 아닙니다. 영수증 스캔 앱을 만들든 스캔한 PDF에서 텍스트를 추출하든, Java에서 **OCR을 수행하는 방법**은 빠르게 보상을 얻을 수 있는 기술입니다. 이 튜토리얼에서는 **이미지에서 텍스트를 추출**하고, **이미지를 텍스트로 변환**하며, 몇 줄의 코드만으로 **jpg에서 텍스트를 읽는 방법**을 보여주는 실용적인 예제를 살펴보겠습니다. + +> *프로 팁:* 동일한 접근 방식은 PNG, BMP 또는 OCR 엔진이 지원하는 모든 포맷에서도 작동합니다—파일 이름만 바꾸면 됩니다. + +## Java에서 OCR 수행 방법 – 개요 + +광학 문자 인식(OCR)은 문자 사진을 실제 검색 가능한 텍스트로 변환하는 기술입니다. Java 생태계에는 Tesseract, Asprise, 상용 SDK 등 여러 라이브러리가 있으며, 모두 비슷한 워크플로우를 제공합니다: 이미지를 로드하고, 엔진에 예상 언어를 알려주고, 인식을 실행하고, 결과를 가져옵니다. 아래 예제에서는 예시를 명확히 하기 위해 일반적인 `OcrEngine` 클래스를 사용하지만, 동일한 패턴을 따르는 구체적인 구현으로 교체할 수 있습니다. + +### 배울 내용 + +- OCR 라이브러리 설치 (네, **ocr in java**는 생각보다 쉽습니다). +- OCR 엔진 인스턴스 생성 및 구성. +- JPG(또는 모든 이미지) 로드 및 언어 설정. +- 이미지를 처리하고 **이미지에서 텍스트 추출** 파일을 추출. +- 인식된 문자열을 콘솔에 출력. + +![OCR 수행 예시](ocr-example.png "Java에서 OCR 수행 예시") + +## 단계 1 – OCR 라이브러리 설치 및 임포트 (ocr in java) + +Java 코드를 한 줄이라도 작성하기 전에 실제로 무거운 작업을 수행하는 라이브러리가 필요합니다. Maven을 사용한다면, 다음과 같이 의존성을 추가하세요(`com.example.ocr`를 선택한 SDK의 실제 그룹 ID로 교체합니다): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Gradle을 선호한다면: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +JAR가 클래스패스에 추가되면, 필요한 클래스를 임포트하세요: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **왜 중요한가:** 올바른 클래스를 임포트하면 “cannot find symbol” 오류를 방지하고 IDE를 만족시킵니다—**convert image to text**를 시도할 때 누락된 임포트보다 더 좌절스러운 것은 없습니다. + +## 단계 2 – OCR 엔진 인스턴스 생성 (how to perform OCR) + +라이브러리가 준비되었으니 엔진을 시작합니다. 엔진을 픽셀을 보고 문자를 추측하는 두뇌라고 생각하세요. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +엔진 생성은 보통 비용이 적으며, 대부분의 SDK는 내부 버퍼를 필요할 때만 할당하므로 배치를 처리할 경우 여러 이미지에 동일 인스턴스를 안전하게 재사용할 수 있습니다. + +## 단계 3 – 이미지 로드 및 언어 설정 (extract text from image) + +다음 단계는 엔진에 읽을 대상을 제공하는 것입니다. 여기서는 디스크에서 JPEG를 로드하고 OCR 엔진에 텍스트가 몽골어(ISO 639‑2 코드 “mon”)임을 알려줍니다. 경로나 언어 코드를 사용 사례에 맞게 변경할 수 있습니다. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **부가 설명:** 언어를 설정하지 않으면 엔진은 기본값으로 영어를 사용합니다. 텍스트가 실제로 키릴 문자나 다른 스크립트인 경우 정확도가 크게 떨어질 수 있습니다. 가능하면 항상 올바른 언어를 지정하세요. + +## 단계 4 – 이미지 처리 및 결과 얻기 (convert image to text) + +이미지와 언어가 설정되면 엔진에게 작업을 수행하도록 요청합니다. `process()` 호출은 OCR 알고리즘을 실행하고 인식된 문자열과 신뢰도 점수를 포함한 `OcrResult` 객체를 반환합니다. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +내부적으로 엔진은 전처리(기울기 보정, 이진화, 노이즈 감소)를 수행할 수 있어 직접 구현할 필요가 없습니다. 그래서 대부분의 최신 OCR 라이브러리는 **convert image to text** 작업에 사용하기 즐겁습니다. + +## 단계 5 – 추출된 텍스트 출력 (read text from jpg) + +마지막으로 결과에서 순수 텍스트를 추출하여 유용하게 활용합니다. 이 데모에서는 콘솔에 출력만 하지만, 파일에 저장하거나 검색 인덱스에 넣거나 다른 서비스에 전달할 수도 있습니다. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +그 한 줄만으로도 **read text from jpg**(또는 지원되는 모든 포맷)를 성공적으로 수행했음을 증명합니다. 출력이 깨져 보이면 언어 코드와 이미지 품질을 다시 확인하세요. + +## 전체 작업 예제 (모든 단계 결합) + +아래는 모든 부분을 연결한 완전한 실행 가능한 Java 클래스입니다. `OcrDemo.java`라는 파일에 복사하고 이미지 경로와 언어를 조정한 뒤 `javac OcrDemo.java && java OcrDemo`를 실행하세요. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### 예상 출력 + +`input.jpg`에 몽골어 구절 “Сайн байна уу?”가 포함되어 있으면 콘솔에 다음과 같이 표시됩니다: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +이미지가 흐리거나 언어 코드가 잘못되면 깨진 문자나 빈 문자열이 표시됩니다—다음에 다룰 일반적인 함정들입니다. + +## 일반적인 함정 및 해결 방법 + +| 증상 | 가능 원인 | 해결 방법 | +|---------|--------------|-----| +| 깨진 키릴 문자 | 잘못된 언어 코드(기본값은 영어) | `ocrEngine.getSettings().setLanguage("mon")` 또는 적절한 코드를 설정하세요. | +| 출력이 전혀 없음 | 이미지 경로가 잘못되었거나 파일을 읽을 수 없음 | 경로를 확인하고 파일이 존재하는지, 프로세스에 읽기 권한이 있는지 확인하세요. | +| 정확도 낮음 (<70 %) | 이미지 대비가 낮거나 회전됨 | 이미지를 전처리하세요: 대비를 높이고, 기울기를 보정하거나, 엔진에 전달하기 전에 그레이스케일로 변환합니다. | +| 대용량 PDF에서 `OutOfMemoryError` | 한 번에 많은 고해상도 페이지를 로드함 | 페이지를 하나씩 처리하거나 OCR 전에 이미지를 축소하세요. | + +### 프로 팁: 배치 처리 + +대량으로 **extract text from image** 파일을 추출해야 한다면, 핵심 로직을 루프로 감싸세요: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +이 스니펫은 단일 JPG에서 전체 스캔 폴더로 확장하는 것이 얼마나 쉬운지 보여줍니다. + +## 더 나아가기 – 다음에 탐색할 내용 + +- **Language Packs:** 대부분의 OCR SDK는 추가 언어 데이터 파일을 다운로드할 수 있게 합니다. 새로운 팩을 추가하면 영어와 몽골어를 넘어선 언어에 대해 **convert image to text**를 할 수 있습니다. +- **PDF OCR:** 이 코드를 Apache PDFBox와 결합하여 + +## 다음에 배워야 할 내용은? + +다음 튜토리얼들은 이 가이드에서 시연한 기술을 기반으로 하는 밀접한 관련 주제를 다룹니다. 각 자료는 단계별 설명과 함께 완전한 동작 코드 예제를 포함하여 추가 API 기능을 마스터하고 프로젝트에서 대체 구현 방식을 탐색하는 데 도움을 줍니다. + +- [텍스트 이미지 추출 – Aspose.OCR for Java 기본](/ocr/english/java/ocr-basics/) +- [Aspose.OCR BufferedImage를 사용한 Java 이미지 텍스트 변환](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Aspose.OCR를 사용한 언어별 이미지 텍스트 OCR 방법](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..eea362246 100644 --- a/ocr/korean/java/ocr-operations/_index.md +++ b/ocr/korean/java/ocr-operations/_index.md @@ -80,6 +80,8 @@ 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에서 텍스트 이미지 전체 인식 과정을 단계별로 안내합니다. +### [Java에서 Aspose OCR 라이선스 적용 – OCR 워터마크 제거](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Java 애플리케이션에 Aspose OCR 라이선스를 적용하고 워터마크를 제거하는 방법을 단계별로 안내합니다. ## 자주 묻는 질문 diff --git a/ocr/korean/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/korean/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..71904eeaf --- /dev/null +++ b/ocr/korean/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-06-06 +description: Java에서 Aspose OCR 라이선스를 적용하여 전체 기능을 잠금 해제하고 OCR 워터마크를 즉시 제거하세요. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: ko +og_description: Java에서 Aspose OCR 라이선스를 적용하여 평가 제한을 없애고 스캔에서 OCR 워터마크를 제거하세요. +og_title: Java에서 Aspose OCR 라이선스 적용 – OCR 워터마크 제거 +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Java에서 Aspose OCR 라이선스 적용 – OCR 워터마크 제거 +url: /ko/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java에서 Aspose OCR 라이선스 적용 – OCR 워터마크 제거 + +무료 체험판을 사용해 보면 모든 스캔 이미지에 회색 “Aspose Evaluation” 오버레이가 찍히는 것을 경험했을 겁니다. 이 워터마크는 가장 깔끔한 문서조차 비전문적으로 보이게 만들죠. + +이 가이드에서는 **Aspose OCR 라이선스를 적용**하는 정확한 단계와 라이브러리가 완전히 해제되었는지 확인하는 방법, 그리고 워터마크가 자동으로 사라지는 과정을 살펴봅니다. 마지막까지 따라오면 영수증, 여권 스캔, 손글씨 메모 등 어떤 이미지든 워터마크 없이 OCR을 수행할 수 있게 됩니다. + +## Prerequisites + +시작하기 전에 다음이 준비되어 있는지 확인하세요: + +- **Java Development Kit (JDK) 8** 이상이 설치되어 있어야 합니다. +- **Aspose OCR for Java** JAR 파일 (Aspose 포털에서 다운로드). +- **Aspose OCR 라이선스 파일** (`Aspose.OCR.Java.lic`). +- IDE 또는 간단한 텍스트 편집기 (IntelliJ, Eclipse, VS Code 등). + +그 외에 추가적인 Maven 플러그인이나 Gradle 설정은 필요하지 않습니다. 필요에 따라 나중에 추가할 수 있습니다. + +## Project Setup (Quick Overview) + +1. `AsposeOCRDemo` 라는 새 폴더를 만듭니다. +2. `aspose-ocr-*.jar` 파일을 `lib` 서브 폴더에 넣습니다. +3. `Aspose.OCR.Java.lic` 파일을 접근 가능한 위치에 두세요. 예: `resources/` 폴더. +4. 작은 `Main.java` 파일을 작성합니다—여기서 실제 로직이 실행됩니다. + +IDE를 사용한다면 JAR를 프로젝트 클래스패스에 추가하고 `resources` 폴더를 리소스 루트로 지정하면 됩니다. 커맨드 라인에서 컴파일할 경우 클래스패스는 다음과 같이 지정합니다: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +이제 기본 구조가 준비됐으니 핵심 내용으로 들어갑니다. + +## Step 1: **Apply Aspose OCR License** – The Core Code + +가장 먼저 해야 할 일은 Aspose OCR 엔진에 라이선스 파일을 신뢰하도록 알려주는 것입니다. 이 호출이 없으면 라이브러리는 평가 모드에 머물러 모든 출력에 워터마크를 삽입합니다. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **왜 중요한가:** `License` 클래스가 관문 역할을 합니다. `setLicense` 가 성공하면 OCR 엔진이 *평가* 모드에서 *전체* 모드로 전환됩니다. 평소에 워터마크를 삽입하는 내부 검사가 비활성화돼 회색 오버레이가 사라집니다. +> +> **팁:** 라이선스 파일은 소스 제어 밖(예: 환경별 폴더)에 두어 실수로 커밋되는 일을 방지하세요. + +## Step 2: Verify That the Watermark Is Gone + +`applyAsposeOcrLicense` 를 호출한 뒤에는 간단히 테스트해 보는 것이 좋습니다. 아래 스니펫은 이미지를 로드하고 OCR을 수행한 뒤 추출된 텍스트를 출력합니다. 라이선스가 활성화되지 않으면 Aspose가 예외를 발생시키거나(시각 결과를 저장할 경우) 워터마크가 삽입됩니다. + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**예상 출력 (일부):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +평가용 워터마크에 대한 언급이 전혀 없음을 확인할 수 있습니다. 이것이 **remove OCR watermark** 효과입니다. + +## Step 3: Common Pitfalls & Edge Cases + +### 1. Wrong License Path +`setLicense` 에 잘못된 경로를 전달하면 메서드가 조용히 실패하고 라이브러리는 평가 모드에 머무릅니다. 반환값을 확인하거나 `LicenseUtil` 에서와 같이 예외를 잡아 처리하세요. + +### 2. Using a Relative Path in a JAR‑Based Deployment +앱을 실행 가능한 JAR 로 패키징할 경우 상대 파일 시스템 경로가 깨질 수 있습니다. 더 안전한 방법은 라이선스를 리소스 스트림으로 로드하는 것입니다: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +`.lic` 파일을 `src/main/resources` 에 두면 클래스패스에 포함됩니다. + +### 3. Multi‑Threaded Scenarios +여러 이미지를 동시에 처리하더라도 **JVM당 한 번**만 라이선스를 적용하면 됩니다. 여러 스레드에서 `setLicense` 를 반복 호출하면 성능에 약간의 영향을 줄 수 있지만 동작에는 문제가 없습니다. + +### 4. License Expiration +Aspose 라이선스는 보통 영구이지만, 트라이얼이나 제한된 기간 라이선스는 만료될 수 있습니다. 만료 시 엔진은 평가 모드로 돌아가 **remove OCR watermark** 동작이 사라집니다. Aspose 포털에서 라이선스 만료일을 확인하세요. + +## Step 4: Automating License Application in Real‑World Projects + +프로덕션 마이크로서비스에서는 `LicenseUtil.applyAsposeOcrLicense` 를 코드 전역에 흩뿌리기보다는 애플리케이션 시작 시 한 번만 초기화하는 것이 좋습니다. 예를 들어 Spring Boot 의 `@PostConstruct` 메서드나 static 초기화 블록을 활용합니다. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +이제 `OcrEngine` 을 사용하는 모든 컴포넌트는 라이선스가 이미 활성화돼 있다는 전제하에 동작하므로, 서비스 전체에 걸쳐 **remove OCR watermark** 보장이 됩니다. + +## Step 5: Testing the License Integration + +자동화된 테스트를 통해 워터마크가 실제로 사라졌는지 확인할 수 있습니다. 간단한 JUnit 테스트 예시는 다음과 같습니다: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +이 테스트를 실행하면 배포 파이프라인이 라이선스가 적용되지 않은 빌드를 실수로 배포하는 일을 방지할 수 있습니다. + +## Visual Overview (Optional) + +시각적으로 흐름을 보고 싶다면 아래와 같은 간단한 다이어그램을 참고하세요: + +![Java에서 Aspose OCR 라이선스 적용](apply-aspose-ocr-license.png "Java에서 Aspose OCR 라이선스 적용") + +*Alt text: Java에서 Aspose OCR 라이선스 적용 – 라이선스 로드 후 워터마크 없이 OCR 처리 흐름을 보여주는 다이어그램.* + +## Conclusion + +Java 환경에서 **Aspose OCR 라이선스를 적용**하고 모든 처리 이미지에서 **OCR 워터마크를 제거**하는 방법을 모두 살펴보았습니다. `License` 객체 생성, 경로 문제 처리, 결과 검증, 그리고 큰 애플리케이션에 통합하는 단계까지 “왜”와 “어떻게”를 함께 설명했습니다. + +이제 Aspose OCR을 어떤 Java 프로젝트에든 통합해도 사용자는 평가용 태그를 전혀 보지 못하게 됩니다. + +### What’s Next? + +- **언어 팩 탐색:** Aspose OCR은 70개 이상의 언어를 지원합니다. 적절한 `OcrEngine` 속성을 설정하세요. +- **Aspose PDF와 결합:** 스캔 이미지를 워터마크 없이 검색 가능한 PDF 로 직접 변환합니다. +- **성능 튜닝** + +## What Should You Learn Next? + +다음 튜토리얼들은 이 가이드에서 다룬 기술을 기반으로 하며, 단계별 코드 예제와 상세 설명을 제공해 추가 API 기능을 마스터하고 다양한 구현 방식을 탐구할 수 있도록 돕습니다. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..1b99386b7 100644 --- a/ocr/polish/java/advanced-ocr-techniques/_index.md +++ b/ocr/polish/java/advanced-ocr-techniques/_index.md @@ -60,10 +60,20 @@ Odblokuj moc rozpoznawania tekstu dzięki Aspose.OCR dla Java. Postępuj zgodnie ### [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ębniaj tekst z obrazów za pomocą Aspose.OCR dla Java. Postępuj zgodnie z naszym przewodnikiem krok po kroku, aby zapewnić skuteczną integrację. +### [Przykład Aspose OCR Java – Kompletny przewodnik ładowania obrazu, korekty pisowni i przetwarzania OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Pełny przewodnik, jak załadować obraz, zastosować korektę pisowni i wykonać OCR przy użyciu Aspose OCR w Javie. +### [Jak włączyć GPU w OCR w Javie – Kompletny przewodnik krok po kroku](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +### [Wyodrębnianie tekstu ze skanowanego obrazu w Javie – Kompletny przewodnik Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Dowiedz się, jak wyodrębnić tekst ze skanowanego obrazu w Javie przy użyciu Aspose.OCR. Kompletny przewodnik krok po kroku zapewniający wysoką dokładność. +### [Popraw dokładność OCR w Javie – Kompletny przewodnik](./improve-ocr-accuracy-in-java-complete-guide/) +Zwiększ precyzję OCR w Javie dzięki praktycznym wskazówkom i technikom optymalizacji. Kompletny przewodnik krok po kroku. +### [Tworzenie przeszukiwalnego PDF w Javie – Kompletny przewodnik Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Dowiedz się, jak w Javie wygenerować przeszukiwalny plik PDF przy użyciu Aspose OCR, krok po kroku, z pełną kontrolą ustawień. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/polish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..442cb0ec6 --- /dev/null +++ b/ocr/polish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,193 @@ +--- +category: general +date: 2026-06-06 +description: Przykład Aspose OCR w Javie pokazujący, jak wczytać OCR obrazu, poprawić + błędy OCR, ustawić własny słownik i przetworzyć OCR obrazu w kilku prostych krokach. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: pl +og_description: Przykład Aspose OCR w Javie, który ładuje obraz, koryguje błędy OCR, + ustawia własny słownik i efektywnie przetwarza OCR obrazu. +og_title: Przykład Aspose OCR w Javie – Ładowanie obrazu, korekta pisowni i przetwarzanie + OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Przykład Aspose OCR w Javie – Kompletny przewodnik po ładowaniu obrazu, korekcie + pisowni i przetwarzaniu OCR +url: /pl/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Przykład Aspose OCR Java – Kompletny przewodnik po ładowaniu obrazu, korekcie pisowni i przetwarzaniu OCR + +Czy kiedykolwiek potrzebowałeś **przykładu Aspose OCR Java**, który naprawdę działa od razu? Nie jesteś sam — programiści często patrzą na rozmyty zrzut ekranu i zastanawiają się, dlaczego wyodrębniony tekst jest bałaganem. Dobrą wiadomością jest to, że silnik OCR firmy Aspose jest już wyposażony w wbudowaną korektę pisowni i możesz nawet podłączyć własną listę słów. W tym samouczku przeprowadzimy Cię przez ładowanie obrazu OCR, włączanie funkcji korekty, opcjonalne ustawienie własnego słownika oraz ostateczne przetwarzanie obrazu OCR, aby uzyskać czysty, czytelny tekst. + +Omówimy także, dlaczego możesz chcieć **poprawić błędy OCR**, jak efektywnie **ładować obraz OCR**, korzyści z wywołania **set custom dictionary** oraz jak wygląda kompletny przepływ **process image OCR**. Po zakończeniu będziesz mieć w pełni działający program Java, który możesz wstawić do dowolnego projektu Maven lub Gradle. + +--- + +## Czego będziesz potrzebować + +- Java 8 lub nowszy (API działa również z Java 11+) +- Biblioteka Aspose.OCR for Java (pobierz najnowszy plik JAR ze strony Aspose lub dodaj zależność Maven) +- Plik obrazu zawierający tekst (najlepiej zeskanowany dokument lub zrzut ekranu z pewnym szumem) +- Opcjonalnie: plik słownika w formacie tekstowym, jeśli chcesz **set custom dictionary** dla terminów specyficznych dla domeny + +To wszystko — bez ciężkich silników OCR, bez natywnych zależności, tylko pojedynczy plik JAR i kilka linii kodu. + +--- + +## Krok 1: Przykład Aspose OCR Java – Ładowanie obrazu OCR + +Pierwszą rzeczą, którą musisz zrobić, jest utworzenie instancji `OcrEngine` i wskazanie pliku, który chcesz analizować. Pomyśl o tym jak o otwarciu książki przed rozpoczęciem czytania. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Dlaczego to ważne:** Wywołanie `setImage` jest sercem **load image OCR**. Bez prawidłowego obrazu silnik nie ma czego rozpoznawać i skończysz z pustym ciągiem znaków lub wyjątkiem. + +![przykład aspose ocr java ładowanie obrazu](image.png){alt="przykład aspose ocr java ładowanie obrazu"} + +--- + +## Krok 2: Włącz korektę pisowni, aby poprawić błędy OCR + +Aspose OCR jest dostarczany z włączoną domyślnie korektą pisowni, ale nigdy nie zaszkodzi być tego wyraźnym — szczególnie gdy prezentujesz **aspose ocr java example**. Włączenie tej funkcji drastycznie zmniejsza bełkot taki jak „t1e” czy „rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Porada:** Jeśli zauważysz, że silnik nadal błędnie rozpoznaje niektóre słowa, sprawdź ustawienia języka lub dodaj własny słownik (następny krok). + +Włączenie korekty pisowni to najszybszy sposób na **correct OCR errors** bez pisania dodatkowego kodu. + +--- + +## Krok 3: Ustaw własny słownik dla lepszej dokładności + +Czasami domyślny słownik nie zna żargonu specyficznego dla Twojej branży — pomyśl o terminach medycznych, kodach produktów lub nazwach marek. Wtedy **set custom dictionary** naprawdę się przydaje. Dostarcz plik tekstowy, jedno słowo w linii, a silnik OCR będzie traktował te wpisy jako prawidłowe podczas korekty. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Kiedy używać:** Jeśli przetwarzasz faktury i nazwy firm są ciągle zniekształcane, własny słownik zawierający te nazwy sprawi, że etap **process image OCR** będzie znacznie bardziej niezawodny. + +--- + +## Krok 4: Przetwórz obraz OCR i pobierz tekst + +Teraz, gdy silnik jest skonfigurowany, czas uruchomić rozpoznawanie. Metoda `process` wykonuje całą ciężką pracę — wykrywa bloki tekstu, stosuje korektę pisowni i zwraca obiekt `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Co zobaczysz:** Konsola wypisuje czysty, czytelny dla człowieka ciąg znaków. Jeśli pominąłeś korektę pisowni, prawdopodobnie zobaczysz dziwne znaki, dlatego włączenie jej wcześniej jest kluczowe dla **correct OCR errors**. + +--- + +## Krok 5: Uruchom przykład i zweryfikuj wynik + +Skompiluj i uruchom klasę w swoim ulubionym IDE lub z wiersza poleceń: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Powinieneś zobaczyć coś podobnego do: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Jeśli wynik nadal zawiera błędy ortograficzne, spróbuj dodać te słowa do własnego słownika i ponownie uruchomić krok **process image OCR**. + +--- + +## Typowe pułapki i jak ich unikać + +| Problem | Dlaczego się dzieje | Rozwiązanie | +|---------|---------------------|-------------| +| **Pusty wynik** | Nieprawidłowa ścieżka obrazu lub nieobsługiwany format | Zweryfikuj ścieżkę, użyj PNG/JPEG i upewnij się, że plik jest czytelny | +| **Zniekształcone znaki** | Korekta pisowni wyłączona lub niska jakość obrazu | Włącz `setEnableSpellCorrection(true)` i rozważ wstępne przetworzenie obrazu (zwiększenie kontrastu) | +| **Słowa specyficzne dla domeny nadal niepoprawne** | Brak własnego słownika | Użyj `setCustomDictionary` z plikiem zawierającym Twoje terminy | +| **Błędy braku pamięci** | Bardzo duże obrazy ładowane bez skalowania | Zmniejsz rozmiar obrazu przed przekazaniem go do `OcrEngine` | + +--- + +## Rozszerzanie przykładu + +Teraz, gdy masz solidny **aspose ocr java example**, możesz chcieć: + +- **Przetwarzanie wsadowe** folderu obrazów, iterując po nazwach plików i ponownie używając tej samej instancji `OcrEngine`. +- **Ekstrahowanie informacji o układzie** (tabele, kolumny) przy użyciu `ocrResult.getPages()` dla bardziej zaawansowanej analizy dokumentów. +- **Integracja z Apache PDFBox** w celu wstawienia rozpoznanego tekstu z powrotem do pliku PDF. + +Wszystkie te rozszerzenia opierają się na tych samych podstawowych krokach, które omówiliśmy: ładowanie obrazu OCR, włączenie korekty, opcjonalne ustawienie własnego słownika oraz przetwarzanie obrazu OCR. + +--- + +## Zakończenie + +Właśnie stworzyłeś kompletny **aspose ocr java example**, który ładuje obraz, włącza korektę pisowni, aby **correct OCR errors**, opcjonalnie **set custom dictionary**, a na końcu **process image OCR**, aby uzyskać czysty tekst. Kod jest krótki, koncepcje jasne i masz teraz podstawę, którą możesz rozbudować do zadań wsadowych, integracji UI lub nawet usług mikro‑serwisowych w chmurze. + +Co dalej? Spróbuj podać silnikowi zdjęcie o niskiej rozdzielczości, dodaj listę SKU produktów do własnego słownika i zobacz, jak poprawia się dokładność. Im więcej eksperymentujesz, tym lepiej zrozumiesz kompromisy między jakością obrazu, rozmiarem słownika a szybkością przetwarzania. + +Śmiało zostaw komentarz, jeśli napotkasz problemy lub masz pomysły na dalsze ulepszenia. Szczęśliwego kodowania! + +## Co powinieneś nauczyć się dalej? + +Poniższe samouczki obejmują ściśle powiązane tematy, które rozwijają techniki przedstawione w tym przewodniku. Każde źródło zawiera kompletne działające przykłady kodu z krok po kroku wyjaśnieniami, aby pomóc Ci opanować dodatkowe funkcje API i odkrywać alternatywne podejścia implementacyjne w własnych projektach. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/polish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..a57439e3d --- /dev/null +++ b/ocr/polish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Utwórz przeszukiwalny PDF w Javie przy użyciu Aspose OCR. Dowiedz się, + jak wyodrębnić tekst z PDF, zwiększyć dokładność OCR i efektywnie przetwarzać wielostronicowe + pliki PDF. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: pl +og_description: Utwórz przeszukiwalny PDF w Javie przy użyciu Aspose OCR. Ten przewodnik + krok po kroku pokaże, jak wyodrębnić tekst z PDF, zwiększyć dokładność OCR oraz + obsłużyć wielostronicowe pliki PDF. +og_title: Utwórz przeszukiwalny PDF w Javie – Kompletny poradnik Aspose OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Utwórz przeszukiwalny PDF w Javie – Pełny przewodnik po Aspose OCR +url: /pl/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Utwórz przeszukiwalny PDF w Javie – Pełny przewodnik Aspose OCR + +Zastanawiałeś się kiedyś, jak **utworzyć przeszukiwalny PDF** bezpośrednio w Javie, nie żonglując dziesiątkami narzędzi wiersza poleceń? Nie jesteś sam. Wielu programistów napotyka problem, gdy muszą przekształcić zeskanowane PDF‑y w dokumenty z możliwością wyszukiwania tekstu, szczególnie gdy źródłowe PDF‑y mają wiele stron. + +W tym samouczku przeprowadzimy Cię przez kompletny, uruchamialny przykład, który nie tylko **tworzy przeszukiwalne PDF**‑y, ale także pokazuje, jak **wyodrębnić tekst z PDF**, **zwiększyć dokładność OCR** oraz obsłużyć przepływ pracy **OCR multi page PDF** przy użyciu biblioteki Aspose OCR. Po zakończeniu będziesz mieć solidny, gotowy do produkcji fragment kodu, który możesz wstawić do dowolnego projektu Java. + +## Czego będziesz potrzebować + +- Java 17 lub nowsza (kod kompiluje się ze starszymi wersjami, ale JDK 17 jest optymalnym wyborem) +- Maven lub Gradle do pobrania zależności `aspose-ocr` +- Przykładowy wielostronicowy PDF (nazwijmy go `sample_multi_page.pdf`) +- Umiarkowany GPU lub przynajmniej wielordzeniowy CPU, jeśli chcesz włączyć przetwarzanie równoległe + +Nie są wymagane dodatkowe biblioteki natywne — Aspose OCR zawiera wszystko, czego potrzebujesz. + +--- + +## Tworzenie przeszukiwalnego PDF — Implementacja krok po kroku + +Poniżej dzielimy proces na logiczne części. Każda sekcja ma własny nagłówek H2, więc możesz od razu przejść do interesującej Cię części, a główne słowo kluczowe pojawia się tutaj w nagłówku. + +### Krok 1: Skonfiguruj projekt i zaimportuj Aspose OCR + +Najpierw dodaj artefakt Aspose OCR Maven do swojego `pom.xml`. Jeśli wolisz Gradle, równoważny fragment znajduje się w komentarzach. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Porada:** Utrzymuj zależności w najnowszych wersjach; nowsze wydania często wprowadzają ulepszenia dokładności, które bezpośrednio pomagają **zwiększyć dokładność OCR**. + +### Krok 2: Załaduj wielostronicowy PDF do silnika OCR + +Teraz tworzymy instancję `OcrEngine` i podajemy jej PDF, który chcemy przetworzyć. Silnik traktuje każdą stronę jako obraz wewnętrznie, co sprawia, że to podejście działa w scenariuszu **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Dlaczego to ważne:** Załadowanie PDF jednorazowo i pozwolenie silnikowi na obsługę paginacji eliminuje konieczność ręcznego wyodrębniania każdej strony, oszczędzając zarówno czas, jak i pamięć. + +### Krok 3: Włącz zaawansowane funkcje, aby **zwiększyć dokładność OCR** + +Aspose OCR oferuje kilka ustawień, które możesz dostosować. Włączenie przyspieszenia GPU, zwiększenie liczby wątków oraz określenie wielu języków przyczyniają się do lepszych wyników rozpoznawania, szczególnie w przypadku zaszumionych skanów. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Co jeśli nie masz GPU?** Po prostu ustaw `setUseGpu(false)`; silnik przełączy się w tryb tylko CPU, nadal korzystając z wielowątkowości. + +### Krok 4: Wstępna obróbka obrazów dla lepszych wyników + +Kroki wstępnej obróbki, takie jak prostowanie, odszumianie i zwiększanie kontrastu, dramatycznie **zwiększają dokładność OCR** w zeskanowanych dokumentach. Pomyśl o tym jak o polerowaniu surowego kamienia przed rzeźbieniem. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Dlaczego te ustawienia?** Poziom odszumiania `2` sprawdza się w większości zeskanowanych PDF‑ów, a umiarkowane zwiększenie kontrastu (1,3×) podnosi słaby tusz bez rozjaśniania tła. + +### Krok 5: Skonfiguruj wyjście, aby wygenerować przeszukiwalny PDF + +Aspose OCR może osadzić rozpoznaną warstwę tekstową bezpośrednio w PDF, zamieniając płaski plik obrazu w **przeszukiwalny PDF**. To sedno pytania „jak zrobić przeszukiwalny pdf”, które zadaje wielu programistów. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Gdy włączone jest `setGenerateSearchablePdf(true)`, biblioteka tworzy niewidoczną warstwę tekstową, która odzwierciedla zawartość wizualną, czyniąc końcowy dokument przeszukiwalnym w dowolnym przeglądarce PDF. + +### Krok 6: Uruchom OCR i zachowaj wynik + +Teraz faktycznie przetwarzamy dokument i zapisujemy plik wyjściowy. Metoda `process` zwraca obiekt `OcrResult`, który zawiera zarówno przeszukiwalny PDF, jak i wyodrębniony czysty tekst. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Krok 7: (Opcjonalnie) **Wyodrębnij tekst z PDF** do natychmiastowego użycia + +Jeśli potrzebujesz także surowego tekstu — do indeksowania, analiz lub po prostu wyświetlenia na stronie internetowej — możesz pobrać go bezpośrednio z `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Co zobaczysz:** Konsola wyświetli połączony tekst ze wszystkich stron, zachowując podziały wierszy, gdzie to możliwe. Spełnia to wymóg **extract text from pdf** bez drugiego przebiegu. + +--- + +## Przegląd wizualny + +Poniżej znajduje się prosty diagram przepływu, który mapuje każdy krok do odpowiadającego mu bloku kodu. Pomaga zwizualizować, jak wejściowy PDF przechodzi przez wstępną obróbkę, OCR i ostatecznie staje się przeszukiwalnym dokumentem. + +![Diagram przepływu tworzenia przeszukiwalnego PDF](https://example.com/flow-diagram.png "Diagram przepływu tworzenia przeszukiwalnego PDF") + +*Tekst alternatywny zawiera główne słowo kluczowe, aby spełnić wymagania SEO obrazu.* + +--- + +## Częste pytania i przypadki brzegowe + +| Pytanie | Odpowiedź | +|----------|--------| +| **Czy mogę przetwarzać PDF‑y większe niż 100 MB?** | Tak, ale rozważ strumieniowanie stron zamiast ładowania całego pliku do pamięci. Aspose OCR wewnętrznie zarządza stronicowaniem, ale możesz chcieć zwiększyć przydział pamięci JVM (`-Xmx4g`) dla bardzo dużych plików. | +| **Co jeśli mój PDF zawiera odręczne notatki?** | Rozpoznawanie odręcznego pisma nie jest domyślnie włączone. Możesz przełączyć na `setLanguage("eng,mon,handwritten")`, jeśli wersja biblioteki to obsługuje, choć dokładność będzie się różnić. | +| **Czy potrzebuję licencji na Aspose OCR?** | Tymczasowa licencja ewaluacyjna działa do testów. Do produkcji zdobądź licencję komercyjną, aby usunąć znaki wodne i odblokować pełną wydajność. | +| **Jak wyłączyć korektę ortograficzną?** | Wywołaj `ocr.getSettings().setEnableSpellCorrection(false);` — przydatne, gdy potrzebujesz surowego wyniku OCR do celów forensycznych. | +| **Czy wsparcie GPU jest obowiązkowe?** | Nie. Biblioteka płynnie przechodzi na CPU. Jednak GPU może skrócić czas przetwarzania nawet o 60 % w dużych dokumentach wielostronicowych. | + +--- + +## Pełny działający przykład (gotowy do kopiowania i wklejania) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Oczekiwany wynik** + +- `output_searchable.pdf` – PDF, w którym możesz użyć Ctrl + F i znaleźć dowolne słowo pojawiające się na zeskanowanych obrazach. +- Log konsoli – pełna treść tekstowa oryginalnego PDF, idealna do indeksowania lub dalszej analizy. + +--- + +## Zakończenie + +Właśnie pokazaliśmy, jak **utworzyć przeszukiwalne PDF** w Javie przy użyciu Aspose OCR, jednocześnie demonstrując, jak **wyodrębnić tekst z PDF**, **zwiększyć dokładność OCR** i efektywnie obsłużyć przepływ pracy **OCR multi page PDF**. Pełny fragment kodu powyżej jest gotowy do wstawienia w Twój projekt, a wyjaśnienia dają Ci pewność, że możesz dostosować ustawienia do swojego konkretnego przypadku. + +Co dalej? Spróbuj eksperymentować z osadzaniem własnych czcionek, dodawaniem zakładek generowanych przez OCR lub zintegrować wynik z silnikiem wyszukiwania takim jak Elasticsearch. Każdy z tych tematów odnosi się do naszych drugorzędnych słów kluczowych — *how to make searchable pdf* i *increase OCR accuracy* — więc masz wyraźną ścieżkę do dalszej eksploracji. + +Śmiało podziel się swoimi doświadczeniami lub zadaj dodatkowe pytania w komentarzach. Szczęśliwego kodowania i ciesz się przekształcaniem statycznych skanów w w pełni przeszukiwalne, bogate w tekst PDF‑y! + +## Co powinieneś nauczyć się dalej? + +Poniższe samouczki obejmują ściśle powiązane tematy, które rozwijają techniki przedstawione w tym przewodniku. Każde źródło zawiera kompletne działające przykłady kodu z wyjaśnieniami krok po kroku, aby pomóc Ci opanować dodatkowe funkcje API i zbadać alternatywne podejścia implementacyjne w własnych projektach. + +- [Rozpoznawanie tekstu PDF – operacje OCR z Aspose.OCR dla Java](/ocr/english/java/ocr-operations/) +- [Rozpoznawanie dokumentów PDF w Aspose.OCR dla Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Rozpoznawanie OCR dokumentów PDF w Aspose.OCR dla Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/polish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..84286f220 --- /dev/null +++ b/ocr/polish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,270 @@ +--- +category: general +date: 2026-06-06 +description: Wyodrębnij tekst ze zeskanowanego obrazu przy użyciu Aspose OCR dla Javy. + Dowiedz się, jak rozpoznawać tekst z plików TIFF przy użyciu przetwarzania równoległego. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: pl +og_description: Wyodrębnij tekst ze zeskanowanego obrazu za pomocą Aspose OCR. Ten + przewodnik pokazuje, jak skutecznie rozpoznawać tekst z plików TIFF przy użyciu + języka Java. +og_title: Wyodrębnianie tekstu ze zeskanowanego obrazu – samouczek Aspose OCR Java +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Wyodrębnianie tekstu ze zeskanowanego obrazu w Javie – Kompletny przewodnik + po Aspose OCR +url: /pl/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wyodrębnianie tekstu ze zeskanowanego obrazu – Kompletny przewodnik Aspose OCR + +Czy kiedykolwiek potrzebowałeś **wyodrębnić tekst ze zeskanowanego obrazu**, ale nie wiedziałeś jak? Nie jesteś jedyny. Niezależnie od tego, czy digitalizujesz stare archiwa, pobierasz dane z faktur, czy tworzysz przeszukiwalną bibliotekę PDF, uzyskanie niezawodnego tekstu z skanu TIFF może być problematyczne. + +Dobre wieści: z Aspose OCR for Java możesz **rozpoznawać tekst z plików tiff** w kilku linijkach kodu, a nawet zwiększyć prędkość, ograniczając silnik do kilku rdzeni CPU. W tym samouczku przeprowadzimy Cię przez cały proces — od konfiguracji biblioteki po obsługę wyniku — abyś od razu mógł skopiować i wkleić działający przykład. + +## Co obejmuje ten samouczek + +- Instalacja Aspose OCR for Java (Maven lub ręczny JAR) +- Wczytywanie dużego zeskanowanego obrazu TIFF +- Konfigurowanie silnika do użycia maksymalnie 4 wątków (równoległy OCR) +- Uruchamianie procesu OCR i wyświetlanie wyodrębnionego tekstu +- Typowe pułapki (pamięć, wielostronicowe TIFF) i jak ich uniknąć +- Szybka wskazówka wydajnościowa: kiedy dostosować `setMaxThreads` + +Po zakończeniu będziesz w stanie **wyodrębnić tekst ze zeskanowanego obrazu** w sposób niezawodny oraz zrozumiesz, dlaczego dostosowanie liczby wątków ma znaczenie, gdy *rozpoznajesz tekst z tiff* w środowisku produkcyjnym. + +![przykład wyodrębniania tekstu ze zeskanowanego obrazu](example.png "Zrzut ekranu pokazujący wyodrębniony tekst ze zeskanowanego obrazu TIFF") + +## Wymagania wstępne + +1. **Java Development Kit (JDK) 8+** – dowolna nowsza wersja działa. +2. **Maven** (lub możliwość ręcznego dodania JAR‑ów) – użyjemy Maven dla prostoty. +3. Licencja **Aspose OCR for Java** (darmowa wersja ewaluacyjna działa, ale dodaje znak wodny). +4. **Duży skan TIFF** (np. `large_scan.tif`), który chcesz przetworzyć. + +Jeśli któreś z tych pojęć jest Ci nieznane, nie martw się — każdy krok jest wyjaśniony poniżej. + +## Krok 1: Dodaj Aspose OCR do swojego projektu + +### Użytkownicy Maven + +Dodaj następującą zależność do swojego `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Ręczna konfiguracja JAR + +Pobierz najnowszy `aspose-ocr-xx.jar` ze strony Aspose i umieść go na classpath. + +> **Pro tip:** Trzymaj JAR w folderze `libs/` i odwołuj się do niego w ustawieniach projektu w IDE. To zapobiega późniejszym niespodziankom typu „class not found”. + +## Krok 2: Utwórz prostą klasę Java + +Utwórz plik o nazwie `ParallelOcrDemo.java` w folderze źródłowym (`src/main/java`). Ta klasa będzie zawierać cały przepływ OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Dlaczego ograniczamy wątki:** Domyślnie Aspose OCR będzie próbował używać wszystkich rdzeni, co może pozbawić innych usług zasobów na współdzielonej maszynie. Ustawienie `setMaxThreads(4)` mówi silnikowi, aby uruchomił maksymalnie czterech równoległych pracowników — wystarczająco, aby zauważalnie przyspieszyć działanie na większości nowoczesnych CPU, nie monopolizując zasobów. + +## Krok 3: Kompiluj i uruchom + +Otwórz terminal w katalogu głównym projektu i wykonaj: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Jeśli nie używasz Maven, skompiluj przy pomocy `javac` i uruchom: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Oczekiwany wynik + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Konsola wyświetli wersję tekstową tego, co znajdowało się na zeskanowanej stronie. Jeśli obraz zawiera wiele stron, Aspose OCR połączy je w kolejności. + +## Krok 4: Obsługa wielostronicowych TIFF (przypadek brzegowy) + +Typowy scenariusz to **wielostronicowy TIFF** — wyobraź sobie zeskanowaną książkę. Domyślnie `OcrInputImage` odczytuje tylko pierwszą klatkę. Aby przetworzyć wszystkie strony, użyj `OcrInputImage` z `FileInputStream` i włącz obsługę wielostronicową: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Teraz `ocrEngine.process()` zwróci pojedynczy `OcrResult`, który zawiera połączony tekst ze wszystkich stron. + +## Krok 5: Dostosowanie dokładności rozpoznawania + +Jeśli zauważysz **zniekształcone znaki** lub brakujące słowa, wypróbuj następujące ustawienia: + +| Ustawienie | Co robi | Kiedy używać | +|------------|---------|--------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Wymusza model języka angielskiego (szybszy, dokładniejszy dla skanów w języku angielskim) | Twój dokument jest jednolitym językiem angielskim | +| `ocrEngine.getSettings().setResolution(300)` | Zwiększa rozdzielczość niskiej jakości obrazów przed rozpoznaniem | Skanowanie poniżej 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Próbuje usunąć plamki i artefakty | Skanowanie z dużą ilością szumu | + +Przykładowy fragment: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Krok 6: Eksportowanie wyników do pliku + +Wypisywanie na konsolę jest w porządku dla demonstracji, ale kod produkcyjny zazwyczaj zapisuje wynik w przydatnym miejscu: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Teraz masz plik tekstowy, który możesz wprowadzić do indeksu wyszukiwania, bazy danych lub dalszego potoku analitycznego. + +--- + +## Najczęściej zadawane pytania (FAQ) + +**Q: Czy to działa z plikami PNG lub JPEG?** +A: Zdecydowanie tak. `OcrInputImage` akceptuje każdy format, który Java ImageIO potrafi odczytać. Wystarczy zamienić rozszerzenie pliku w ścieżce. + +**Q: Mój serwer ma 8 rdzeni — czy powinienem ustawić `setMaxThreads(8)`?** +A: Możesz, ale pamiętaj, że inne usługi mogą potrzebować cykli CPU. Dobrą zasadą jest „liczba rdzeni – 1” dla dedykowanych pracowników OCR. + +**Q: Co zrobić, jeśli wynik OCR jest pusty?** +A: Sprawdź, czy obraz nie jest całkowicie biały, czy ustawiłeś właściwy język oraz czy rozdzielczość wynosi co najmniej 200 DPI. Skanowanie niskiej jakości często wymaga wstępnego przetwarzania (prostowanie, zwiększenie kontrastu) przed przekazaniem go do Aspose OCR. + +--- + +## Podsumowanie + +Właśnie **wyodrębniliśmy tekst ze zeskanowanego obrazu** przy użyciu Aspose OCR for Java i teraz wiesz, jak **rozpoznawać tekst z tiff** efektywnie przy użyciu przetwarzania równoległego. Pełny kod znajduje się w powyższych fragmentach i możesz go od razu skopiować i wkleić do własnego projektu. + +### Co dalej? + +- **Przetwarzanie wsadowe**: Przejdź przez katalog TIFF‑ów, zapisując każdy wynik w osobnym pliku. +- **Integracja z Elasticsearch**: Zindeksuj wyodrębniony tekst dla szybkiego wyszukiwania pełnotekstowego. +- **Dodaj wykrywanie języka**: Użyj `OcrLanguage.AutoDetect` dla dokumentów wielojęzykowych. + +Eksperymentuj z tymi pomysłami, a szybko przekształcisz górę zeskanowanych dokumentów w przeszukiwalne, użyteczne dane. + +Miłego kodowania i nie wahaj się zostawić komentarza, jeśli napotkasz problem! + +## Co powinieneś nauczyć się dalej? + +Poniższe samouczki obejmują ściśle powiązane tematy, które rozwijają techniki przedstawione w tym przewodniku. Każde źródło zawiera kompletne działające przykłady kodu z wyjaśnieniami krok po kroku, aby pomóc Ci opanować dodatkowe funkcje API i odkrywać alternatywne podejścia implementacyjne w własnych projektach. + +- [Jak rozpoznawać tiff przy użyciu Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Wyodrębnianie tekstu z obrazów – Podstawy OCR z Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Wyodrębnianie tekstu z obrazu Java przy użyciu trybu wykrywania obszarów Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/polish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..eebb5c971 --- /dev/null +++ b/ocr/polish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-06-06 +description: Jak włączyć GPU w Java OCR i wyodrębnić tekst z plików JPEG. Skorzystaj + z tego przykładu Java OCR, aby przekształcić obraz w tekst z przyspieszeniem GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: pl +og_description: Jak włączyć GPU w Java OCR i natychmiastowo wyodrębnić tekst z obrazów + JPEG. Ten przewodnik pokazuje kompletny przykład Java OCR z przyspieszonym przez + GPU OCR. +og_title: Jak włączyć GPU w Java OCR – Pełny przewodnik programistyczny +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Jak włączyć GPU w Java OCR – Kompletny przewodnik krok po kroku +url: /pl/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak włączyć GPU w Java OCR – Kompletny przewodnik krok po kroku + +Zastanawiałeś się kiedyś **jak włączyć GPU** dla rozpoznawania znaków optycznych w Javie? Nie jesteś jedyny — programiści ciągle pytają: „Czy mogę przyspieszyć OCR bez przepisywania wszystkiego?” Krótką odpowiedzią jest tak, a długa odpowiedź znajduje się tutaj. W tym samouczku przejdziemy przez **java ocr example**, które **wyodrębnia tekst z plików JPEG**, **konwertuje obraz na tekst** i wykorzystuje **GPU accelerated OCR** dla błyskawicznych wyników. + +Zaczniemy od skonfigurowania biblioteki Aspose OCR, załadujemy przykładowy JPEG, włączymy obsługę GPU, uruchomimy silnik i w końcu wydrukujemy rozpoznany tekst. Po zakończeniu będziesz mieć gotowy fragment kodu, który możesz wstawić do dowolnego projektu Java, oraz kilka wskazówek, które ochronią Cię przed typowymi pułapkami. Bez zbędnych ozdobników, tylko konkretne informacje potrzebne do rozpoczęcia pracy. + +## Wymagania wstępne + +Zanim zanurkujemy, upewnij się, że masz: + +* Java 8 lub nowszą (kod używa standardowych API, więc każdy aktualny JDK się sprawdzi). +* Kompatybilną kartę GPU z aktualnymi sterownikami – większość nowoczesnych kart NVIDIA/AMD spełnia wymagania. +* Bibliotekę Aspose.OCR for Java (można ją pobrać z Maven Central lub ze strony Aspose). +* Obraz JPEG, na którym chcesz wykonać OCR – nazwijmy go `sample.jpg`. + +To wszystko. Jeśli któryś z elementów jest Ci nieznany, zatrzymaj się i zainstaluj brakujący komponent; dalsza część przewodnika zakłada, że wszystko już działa. + +## Jak włączyć GPU w Java OCR – Przegląd + +Poniżej szybki zrzut tego, co osiągniemy: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Wyobraź sobie GPU jako turbodoładowanie dla Twojego silnika OCR — zamiast aby CPU analizował każdy piksel po pikselu, karta graficzna przejmuje ciężką pracę równolegle. Efekt? Szybsze czasy przetwarzania, szczególnie przy skanach wysokiej rozdzielczości. + +## Krok 1: Konfiguracja projektu i import Aspose OCR + +Na początek utwórz nowy projekt Maven (lub Gradle, jeśli wolisz). Dodaj zależność Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Jeśli nie używasz Maven, pobierz plik JAR z Aspose i dodaj go do classpath. Ten krok jest fundamentem każdego **java ocr example**, które kiedykolwiek napiszesz, więc podwójnie sprawdź, czy biblioteka jest prawidłowo rozpoznawana. + +## Krok 2: Załaduj obraz JPEG (Extract Text from JPEG) + +Teraz napiszemy kod, który odczyta plik JPEG. Klasa `OcrInputImage` przyjmuje ścieżkę, a my przekażemy ją do `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Dlaczego to ważne:** Poprawne załadowanie obrazu to pierwszy krok w każdym **convert image to text** workflow. Jeśli ścieżka jest nieprawidłowa, silnik wyrzuci wyjątek zanim jeszcze dotrze do etapu GPU. + +## Krok 3: Włącz przyspieszenie GPU (How to Enable GPU) + +Oto sedno samouczka — włączenie obsługi GPU. Obiekt `OcrSettings` udostępnia flagę `setUseGpu`. Ustaw ją na `true` i gotowe. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** Upewnij się, że sterownik GPU jest aktualny. Przestarzałe sterowniki często powodują, że wywołanie `setUseGpu(true)` cicho się nie udaje, pozostawiając jedynie wydajność CPU. + +## Krok 4: Uruchom silnik OCR (Java OCR Example) + +Mając załadowany obraz i włączone GPU, uruchom proces OCR. Silnik zwróci obiekt `OcrResult`, który zawiera rozpoznany tekst. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +W tle Aspose dzieli obraz na kafelki, wysyła je do GPU w celu równoległej inferencji i skleja wyniki z powrotem. To właśnie sprawia, że doświadczenie **gpu accelerated ocr** jest zauważalnie szybsze niż domyślna ścieżka CPU. + +## Krok 5: Wyświetl rozpoznany tekst (Convert Image to Text) + +Na koniec wydrukuj wynik w konsoli. W rzeczywistej aplikacji prawdopodobnie zapiszesz go do pliku lub bazy danych, ale dla ilustracji prosty `System.out.println` wystarczy. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Oczekiwany wynik + +Zakładając, że `sample.jpg` zawiera frazę „Hello, World!”, powinieneś zobaczyć: + +``` +Recognized text: +Hello, World! +``` + +Jeśli obraz jest bardziej złożony (wiele linii, tabele itp.), wyjście będzie zawierało podziały linii i odstępy odzwierciedlające oryginalny układ. To zaleta silnika OCR Aspose — zachowuje strukturę przy konwersji obrazu na tekst. + +## Pełny działający przykład + +Łącząc wszystko razem, oto kompletny, gotowy do uruchomienia program: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Zapisz go jako `GpuOcrDemo.java`, skompiluj przy pomocy `javac` i uruchom za pomocą `java`. Jeśli wszystko jest poprawnie podłączone, konsola wyświetli wyodrębniony tekst w mgnieniu oka. + +## Często zadawane pytania i przypadki brzegowe + +### 1. Mój GPU nie jest używany – co się dzieje? + +* **Sprawdź wersję sterownika** – starsze sterowniki mogą nie udostępniać wymaganych możliwości obliczeniowych. +* **Zweryfikuj wsparcie GPU** – Aspose wymaga karty NVIDIA kompatybilnej z CUDA lub karty AMD kompatybilnej z OpenCL. Jeśli używasz laptopa z wyłączonym dedykowanym GPU, włącz go w BIOS‑ie lub panelu sterowania grafiki. +* **Przejrzyj logi** – Aspose zapisuje linię debugującą, gdy tryb GPU jest aktywny. Włącz logowanie poprzez `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. Wynik OCR jest zniekształcony przy niskiej rozdzielczości obrazu. + +* **Wstępna obróbka JPEG** – zwiększ rozdzielczość do co najmniej 300 dpi, zastosuj wzmocnienie kontrastu lub konwersję do odcieni szarości przed przekazaniem do silnika. +* **Dostosuj ustawienia** – możesz zmienić `ocr.getSettings().setLanguage(OcrLanguage.English)` lub włączyć `setUseLanguageDetection(true)` dla lepszej dokładności. + +### 3. Czy mogę przetwarzać wiele obrazów w partii? + +Zdecydowanie. Umieść bloki ładowania i przetwarzania w pętli, ponownie używając tej samej instancji `OcrEngine`. Pamiętaj tylko, aby wywołać `ocr.reset()` między iteracjami, aby wyczyścić poprzedni obraz. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Czy przyspieszenie GPU działa na serwerach bez interfejsu graficznego? + +Tak, pod warunkiem że serwer posiada wspieraną kartę GPU i odpowiednie sterowniki. Na Linuksie może być konieczne zainstalowanie pakietu `nvidia‑utils` oraz zapewnienie, że narzędzia `CUDA` znajdują się w zmiennej `PATH`. + +## Pro Tips dla produkcyjnego OCR z GPU + +* **Rozmiar partii ma znaczenie** – większe obrazy bardziej korzystają z równoległości GPU. Jeśli przetwarzasz małe ikony, narzut transferu do GPU może przewyższyć zyski. +* **Zarządzanie pamięcią** – GPU ma ograniczoną pamięć VRAM. Przy bardzo dużych PDF‑ach lub skanach wielomegapikselowych podziel obraz na mniejsze kafelki ręcznie. +* **Obsługa błędów** – otocz wywołanie OCR blokiem try‑catch i w razie `UnsupportedOperationException` przełącz się na tryb CPU (`setUseGpu(false)`). + +## Zakończenie + +Właśnie omówiliśmy **jak włączyć GPU** w **java ocr example**, pokazaliśmy, jak **wyodrębnić tekst z JPEG** oraz zademonstrowaliśmy czysty sposób **konwersji obrazu na tekst** przy użyciu **gpu accelerated OCR** Aspose. Pełny fragment kodu powyżej jest gotowy do wstawienia w dowolny projekt Java, a dołączone wskazówki pomogą uniknąć typowych problemów. + +Co dalej? Spróbuj dodać pakiety językowe, eksperymentuj z różnymi formatami obrazów (PNG, TIFF) lub zintegrować wynik z indeksem wyszukiwania. Nie ma granic, gdy połączysz OCR z mocą GPU. + +Masz więcej pytań o GPU‑przyspieszony OCR lub potrzebujesz pomocy przy dostrajaniu ustawień? zostaw komentarz i powodzenia w kodowaniu! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## Co powinieneś nauczyć się dalej? + +Poniższe samouczki obejmują tematy ściśle powiązane, które rozwijają techniki przedstawione w tym przewodniku. Każdy zasób zawiera kompletne przykłady kodu oraz wyjaśnienia krok po kroku, aby pomóc Ci opanować dodatkowe funkcje API i odkrywać alternatywne podejścia w własnych projektach. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/polish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..9e8c97fde --- /dev/null +++ b/ocr/polish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,252 @@ +--- +category: general +date: 2026-06-06 +description: Popraw dokładność OCR w Javie dzięki przewodnikowi krok po kroku, który + pokazuje, jak wczytać obraz OCR, przetworzyć obraz OCR i wydajnie wyodrębnić tekst + ze zeskanowanej strony. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: pl +og_description: Popraw dokładność OCR w Javie dzięki praktycznemu przykładowi. Naucz + się ładować obraz do OCR, przetwarzać go wstępnie i wykonywać OCR obrazu, aby wyodrębnić + tekst ze zeskanowanej strony. +og_title: Popraw dokładność OCR w Javie – pełny poradnik +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Popraw dokładność OCR w Javie – kompletny przewodnik +url: /pl/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Popraw dokładność OCR w Javie – Kompletny przewodnik + +Zastanawiałeś się kiedyś, jak **poprawić dokładność OCR**, gdy masz do czynienia ze skanami starych książek lub rozmazanymi paragonami? Nie jesteś sam. W wielu projektach rzeczywistych surowy wynik z silnika OCR wygląda jak zagadkowy bałagan, a zazwyczaj dzieje się tak dlatego, że obraz nie został prawidłowo wstępnie przetworzony przed **perform OCR image**. + +W tym samouczku przeprowadzimy praktyczny przykład w Javie, który dokładnie pokazuje, jak **load image OCR**, zastosować kilka inteligentnych kroków wstępnego przetwarzania, **process image OCR**, a na końcu **extract text scanned page** z czystym wynikiem. Po zakończeniu zrozumiesz nie tylko *co* kodować, ale także *dlaczego* każda linia ma znaczenie dla zwiększenia jakości rozpoznawania. + +## Czego się nauczysz + +- Jak utworzyć instancję silnika OCR w Javie +- Właściwy sposób **load image OCR** z dysku +- Dlaczego prostowanie, odszumianie i zwiększanie kontrastu są niezbędne do **improve OCR accuracy** +- Jak **perform OCR image** i pobrać rozpoznany tekst +- Wskazówki dotyczące obsługi różnych formatów obrazów i przypadków brzegowych + +Nie potrzebujesz zewnętrznej dokumentacji – wszystko, czego potrzebujesz, znajduje się tutaj, a kompletny, uruchamialny kod jest dołączony na końcu. + +## Wymagania wstępne + +- Java 17 (lub dowolny nowszy JDK) zainstalowany na twoim komputerze +- Biblioteka OCR, która udostępnia klasy `OcrEngine`, `OcrInputImage` i `OcrResult` (przykład używa ogólnego API; w razie potrzeby zamień na jar od swojego dostawcy) +- Zeskanowany obraz (PNG, JPEG lub TIFF), na którym chcesz wykonać OCR – w demonstracji użyjemy `old_book_page.png` znajdującego się w folderze o nazwie `YOUR_DIRECTORY` + +Jeśli brakuje ci pliku jar OCR, po prostu wrzuć go do folderu `libs` w swoim projekcie i dodaj do classpath. To wszystko. + +--- + +## Krok 1 – Popraw dokładność OCR: Konfiguracja silnika + +Zanim będziemy mogli **process image OCR**, potrzebujemy nowej instancji silnika. Utworzenie nowego `OcrEngine` daje nam czystą kartę, zapewniając brak pozostałych ustawień z poprzednich uruchomień. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Dlaczego to ważne*: Świeżo utworzony silnik rozpoczyna z wyłączonym domyślnym wstępnym przetwarzaniem. To zamierzone – chcemy włączyć tylko te kroki, które naprawdę pomagają naszemu konkretnemu obrazowi, co jest podstawą **improve OCR accuracy**. + +## Krok 2 – Load Image OCR – Przygotowanie skanu + +Teraz faktycznie **load image OCR**. Metoda `setImage` oczekuje `OcrInputImage`, który wskazuje na plik na dysku. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Kilka uwag: + +1. **Supported formats** – większość bibliotek akceptuje PNG, JPEG, BMP i TIFF. Jeśli masz PDF, najpierw przekonwertuj pierwszą stronę na obraz. +2. **Path handling** – użycie ścieżki bezwzględnej unika pułapki „plik nie znaleziony”, gdy zmieni się katalog roboczy. + +## Krok 3 – Deskew: Prostowanie obróconych stron + +Wiele zeskanowanych stron nie jest idealnie poziomych. niewielkie obrócenie może utrudnić rozpoznawanie, ponieważ silnik OCR oczekuje, że linie tekstu będą poziome. Włączenie deskew automatycznie wykrywa i koryguje to obrócenie. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: Jeśli znasz kąt obrotu z góry (np. 90°), możesz ręcznie obrócić obraz przed przekazaniem go do silnika – często szybsze przy zadaniach wsadowych. + +## Krok 4 – Denoise: Redukcja szumu tła + +Stare dokumenty często zawierają fakturę papieru, kurz lub artefakty kompresji. Metoda `setDenoiseLevel` stosuje filtr wygładzający ten szum. Poziom 2 jest dobrym punktem wyjścia dla większości zeskanowanych stron. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Dlaczego to pomaga**: Szum tworzy fałszywe krawędzie, które silnik OCR może interpretować jako znaki. Czyszcząc obraz, **improve OCR accuracy** bez utraty rzeczywistych kształtów glifów. + +## Krok 5 – Zwiększenie kontrastu: Wyróżnienie tekstu + +Jeśli skan jest wyblakły, kontrast między atramentem a papierem jest niski i silnik ma trudności z odróżnieniem pierwszego planu od tła. Umiarkowane zwiększenie kontrastu do `1.4f` (wzrost o 40 %) zazwyczaj rozwiązuje problem. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Przypadek brzegowy*: Dla bardzo ciemnych obrazów wyższy współczynnik (do 2.0) może być korzystny, ale uważaj na przycięcie – zbyt jasne obszary mogą stać się czystą bielą, usuwając drobne szczegóły. + +## Krok 6 – Perform OCR Image – Główny krok przetwarzania + +Całe przygotowanie prowadzi do tej linii: rzeczywiste uruchomienie silnika OCR na wstępnie przetworzonym obrazie. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Pod maską silnik wykonuje segmentację, rozpoznawanie znaków i etapy modelu językowego. Jeśli potrzebujesz wielu języków, ustaw je w silniku **przed** wywołaniem `process()`. + +## Krok 7 – Extract Text Scanned Page – Pobieranie wyniku + +Na koniec pobieramy rozpoznany ciąg z `OcrResult`. Wydrukowanie go w konsoli wystarczy dla szybkiej demonstracji, ale możesz także zapisać go do pliku, bazy danych lub przekazać do dalszego potoku NLP. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Oczekiwany wynik** (skrócony dla zwięzłości): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Jeśli wynik nadal wygląda na zniekształcony, wróć do parametrów wstępnego przetwarzania – czasami wyższy poziom odszumiania lub inny współczynnik kontrastu przynosi zauważalną różnicę. + +## Pełny działający przykład + +Poniżej znajduje się kompletny, samodzielny program w Javie, który możesz skopiować, wkleić i uruchomić. Zawiera niezbędne importy, metodę `main` oraz komentarze w kodzie wyjaśniające każdy krok. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Zapisz to jako `OcrAccuracyDemo.java`, skompiluj przy użyciu `javac` i uruchom za pomocą `java`. Jeśli wszystko jest poprawnie skonfigurowane, zobaczysz wyczyszczony tekst wyświetlony w terminalu. + +--- + +## Częste pytania i przypadki brzegowe + +**Q: Moja zeskanowana strona jest w kolorze – czy powinienem najpierw przekonwertować ją na odcienie szarości?** +A: Większość silników OCR wewnętrznie konwertuje do odcieni szarości, ale wykonanie tego samodzielnie (np. przy użyciu `BufferedImage` i `ColorConvertOp`) może dać lepszą kontrolę nad algorytmem konwersji, szczególnie gdy tło nie jest jednolite. + +**Q: Wynik nadal zawiera niechciane symbole. Co dalej?** +A: Spróbuj zwiększyć `setDenoiseLevel` do 3 lub dostosować `setContrastBoost` do 1.6f. Jeśli problem będzie się utrzymywał, rozważ zastosowanie **binary threshold** (binarizacji) przed OCR – wiele bibliotek udostępnia opcję `setBinarization(true)`. + +**Q: Jak obsłużyć wielostronicowe pliki PDF?** +A: Przekonwertuj każdą stronę na obraz (np. używając Apache PDFBox) i iteruj po stronach, ponownie używając tej samej instancji `OcrEngine`, ale resetując obraz w każdej iteracji. + +--- + +## Zakończenie + +Właśnie nauczyłeś się, jak **improve OCR accuracy** w Javie, prawidłowo **load image OCR**, stosując deskew, denoise i zwiększenie kontrastu, a następnie **perform OCR image** i w końcu **extract text scanned page**. Najważniejszy wniosek jest taki, że wstępne przetwarzanie jest często najskuteczniejszą dźwignią zwiększającą jakość rozpoznawania – dobrze przygotowany obraz może podwoić, a nawet potroić liczbę poprawnie rozpoznanych znaków. + +Gotowy na kolejny krok? Spróbuj eksperymentować z: + +- Różne poziomy odszumiania dla mocno ziarnistych skanów +- Adaptacyjne zwiększanie kontrastu oparte na analizie histogramu obrazu +- Integracja modelu językowego (np. sprawdzanie pisowni) po ekstrakcji, aby usunąć pozostałe błędy + +Te rozszerzenia pogłębią twoją linię przetwarzania OCR i uczynią ją wystarczająco solidną dla produkcyjnych obciążeń. + +Jeśli napotkasz problem lub masz własny sprytny trik, zostaw komentarz poniżej. Szczęśliwego kodowania i niech twój tekst będzie zawsze czytelny! + +## Co powinieneś nauczyć się dalej? + +Poniższe samouczki obejmują ściśle powiązane tematy, które rozwijają techniki przedstawione w tym przewodniku. Każdy zasób zawiera kompletne działające przykłady kodu z wyjaśnieniami krok po kroku, aby pomóc ci opanować dodatkowe funkcje API i odkrywać alternatywne podejścia implementacyjne w własnych projektach. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/java/ocr-basics/_index.md b/ocr/polish/java/ocr-basics/_index.md index a6cc9390c..bb2634cc7 100644 --- a/ocr/polish/java/ocr-basics/_index.md +++ b/ocr/polish/java/ocr-basics/_index.md @@ -116,6 +116,9 @@ 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. +### [Jak wykonać OCR w Javie – Kompletny przewodnik po wyodrębnianiu tekstu z obrazów](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Kompletny przewodnik, jak używać Aspose.OCR w Javie do wyodrębniania tekstu z obrazów, obejmujący konfigurację, korekcję pochylenia i optymalizację wyników. + --- **Last Updated:** 2025-12-08 @@ -127,4 +130,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/polish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..0a5943ea9 --- /dev/null +++ b/ocr/polish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-06-06 +description: jak wykonać OCR w Javie – szybko wyodrębnić tekst z obrazu, konwertować + obraz na tekst i odczytać tekst z pliku jpg przy użyciu prostego przykładu kodu +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: pl +og_description: jak wykonać OCR w Javie – dowiedz się, jak wyodrębnić tekst z obrazu, + konwertować obraz na tekst i odczytać tekst z jpg z gotowym do uruchomienia przykładem. +og_title: Jak wykonać OCR w Javie – przewodnik krok po kroku +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Jak wykonać OCR w Javie – Kompletny przewodnik po wyodrębnianiu tekstu z obrazów +url: /pl/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak wykonać OCR w Javie – Kompletny przewodnik po wyodrębnianiu tekstu z obrazów + +Zastanawiałeś się kiedyś **jak wykonać OCR** na zdjęciu zrobionym telefonem? Nie jesteś jedyny. Niezależnie od tego, czy tworzysz aplikację skanującą paragony, czy po prostu potrzebujesz wyciągnąć tekst ze zeskanowanego PDF, **jak wykonać OCR** w Javie to umiejętność, która szybko się opłaca. W tym samouczku przeprowadzimy praktyczny przykład, który **wyodrębnia tekst z obrazów**, **konwertuje obraz na tekst**, a nawet pokaże, jak **odczytać tekst z jpg** przy użyciu kilku linijek kodu. + +> *Pro tip:* To samo podejście działa dla PNG, BMP lub dowolnego formatu obsługiwanego przez silnik OCR — wystarczy zamienić nazwę pliku. + +## Jak wykonać OCR w Javie – Przegląd + +Optical Character Recognition (OCR) to technologia, która zamienia zdjęcia liter w rzeczywisty, przeszukiwalny tekst. W ekosystemie Javy istnieje kilka bibliotek — Tesseract, Asprise i komercyjne SDK — wszystkie udostępniają podobny przepływ pracy: wczytaj obraz, określ język, którego ma się spodziewać silnik, uruchom rozpoznawanie i pobierz wynik. Poniżej użyjemy generycznej klasy `OcrEngine`, aby przykład był przejrzysty, ale możesz ją zastąpić dowolną konkretną implementacją, która podąża za tym samym schematem. + +### Czego się nauczysz + +- Zainstaluj bibliotekę OCR (tak, **ocr in java** jest łatwiejsze niż myślisz). +- Utwórz i skonfiguruj instancję silnika OCR. +- Wczytaj JPG (lub dowolny obraz) i ustaw język. +- Przetwórz obraz i **wyodrębnij tekst z obrazu**. +- Wypisz rozpoznany ciąg znaków na konsolę. + +Pod koniec będziesz mieć samodzielny program w Javie, który możesz wstawić do dowolnego projektu i uruchomić od razu. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## Krok 1 – Zainstaluj i zaimportuj bibliotekę OCR (ocr in java) + +Zanim napiszesz choćby jedną linijkę Javy, potrzebujesz biblioteki, która naprawdę wykona ciężką pracę. Jeśli używasz Maven, dodaj zależność w ten sposób (zamień `com.example.ocr` na rzeczywisty group ID wybranego SDK): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Jeśli wolisz Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Gdy JAR znajdzie się na classpath, zaimportuj potrzebne klasy: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Dlaczego to ważne:** Importowanie właściwych klas zapobiega błędom „cannot find symbol” i uszczęśliwia IDE — nic nie jest bardziej frustrujące niż brakujący import, gdy próbujesz **konwertować obraz na tekst**. + +## Krok 2 – Utwórz instancję silnika OCR (how to perform OCR) + +Teraz, gdy biblioteka jest gotowa, uruchom silnik. Pomyśl o silniku jako o mózgu, który patrzy na piksele i zgaduje litery. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Tworzenie silnika jest zazwyczaj tanie; większość SDK przydziela wewnętrzne bufory leniwie, więc możesz bezpiecznie ponownie używać tej samej instancji dla wielu obrazów, jeśli przetwarzasz partię. + +## Krok 3 – Wczytaj obraz i ustaw język (extract text from image) + +Kolejnym krokiem jest dostarczenie silnikowi czegoś do odczytania. Tutaj wczytujemy JPEG z dysku i informujemy silnik OCR, że tekst jest w języku mongolskim (kod ISO 639‑2 „mon”). Możesz zmienić ścieżkę lub kod języka, aby dopasować je do swojego przypadku użycia. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Uwaga:** Jeśli nie ustawisz języka, silnik domyślnie użyje angielskiego, co może drastycznie obniżyć dokładność, gdy tekst jest faktycznie cyrylicą lub innym pismem. Zawsze podawaj prawidłowy język, gdy możesz. + +## Krok 4 – Przetwórz obraz i uzyskaj wynik (convert image to text) + +Mając obraz i język ustawione, poproś silnik o wykonanie magii. Wywołanie `process()` uruchamia algorytm OCR i zwraca obiekt `OcrResult` zawierający rozpoznany ciąg znaków oraz wyniki pewności. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Za kulisami silnik może wykonywać wstępne przetwarzanie — prostowanie, binaryzację, redukcję szumów — więc nie musisz sam pisać tych kroków. Dlatego większość nowoczesnych bibliotek OCR to przyjemność w użyciu przy zadaniach **konwertować obraz na tekst**. + +## Krok 5 – Wyświetl wyodrębniony tekst (read text from jpg) + +Na koniec wyciągnij czysty tekst z wyniku i zrób z nim coś przydatnego. W tej demonstracji po prostu wypisujemy go na konsolę, ale możesz zapisać go do pliku, przekazać do indeksu wyszukiwania lub przesłać do innej usługi. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Ta linijka sama w sobie dowodzi, że udało Ci się **odczytać tekst z jpg** (lub dowolnego obsługiwanego formatu). Jeśli wynik wygląda na zniekształcony, sprawdź ponownie kod języka i jakość obrazu. + +## Pełny działający przykład (wszystkie kroki połączone) + +Poniżej znajduje się kompletny, gotowy do uruchomienia kod klasy Java, który łączy wszystkie elementy. Skopiuj go do pliku o nazwie `OcrDemo.java`, dostosuj ścieżkę obrazu i język, a następnie uruchom `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Oczekiwany wynik + +Jeśli `input.jpg` zawiera mongolskie zdanie „Сайн байна уу?” konsola wyświetli: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Jeśli obraz jest rozmyty lub kod języka jest nieprawidłowy, zobaczysz zniekształcone znaki lub pusty ciąg — typowe pułapki, które omówimy dalej. + +## Typowe problemy i jak je naprawić + +| Objaw | Prawdopodobna przyczyna | Rozwiązanie | +|-------|--------------------------|-------------| +| Zniekształcone znaki cyrylicy | Nieprawidłowy kod języka (domyślnie angielski) | Ustaw `ocrEngine.getSettings().setLanguage("mon")` lub odpowiedni kod. | +| Brak jakiegokolwiek wyniku | Ścieżka obrazu niepoprawna lub plik nieczytelny | Sprawdź ścieżkę, upewnij się, że plik istnieje i że proces ma uprawnienia do odczytu. | +| Niska dokładność (<70 %) | Obraz ma niski kontrast lub jest obrócony | Wstępnie przetwórz obraz: zwiększ kontrast, prostuj lub konwertuj do odcieni szarości przed przekazaniem go do silnika. | +| `OutOfMemoryError` przy dużych PDF-ach | Ładowanie wielu stron wysokiej rozdzielczości jednocześnie | Przetwarzaj strony po jednej lub zmniejsz rozdzielczość obrazów przed OCR. | + +### Pro Tip: Przetwarzanie wsadowe + +Jeśli potrzebujesz **wyodrębnić tekst z obrazów** w dużej ilości, otocz główną logikę pętlą: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Ten fragment pokazuje, jak łatwo skalować od pojedynczego JPG do całego folderu skanów. + +## Co dalej – co warto zbadać? + +- **Language Packs:** Większość SDK OCR pozwala pobrać dodatkowe pliki danych językowych. Dodanie nowego pakietu umożliwia **konwertować obraz na tekst** dla języków poza angielskim i mongolskim. +- **PDF OCR:** Połącz ten kod z Apache PDFBox, aby + +## Co powinieneś nauczyć się dalej? + +Poniższe samouczki obejmują ściśle powiązane tematy, które rozwijają techniki przedstawione w tym przewodniku. Każde źródło zawiera kompletne działające przykłady kodu z wyjaśnieniami krok po kroku, aby pomóc Ci opanować dodatkowe funkcje API i zbadać alternatywne podejścia implementacyjne w własnych projektach. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..6aae60f44 100644 --- a/ocr/polish/java/ocr-operations/_index.md +++ b/ocr/polish/java/ocr-operations/_index.md @@ -81,6 +81,8 @@ 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. +### [Zastosowanie licencji Aspose OCR w Javie – usunięcie znaku wodnego OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Dowiedz się, jak zastosować licencję Aspose OCR w Javie, aby usunąć znak wodny OCR i uzyskać czyste wyniki. ## Najczęściej zadawane pytania diff --git a/ocr/polish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/polish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..ad9dbdb60 --- /dev/null +++ b/ocr/polish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-06-06 +description: Zastosuj licencję Aspose OCR w Javie, aby odblokować pełne funkcje i + natychmiast usunąć znak wodny OCR. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: pl +og_description: Zastosuj licencję Aspose OCR w Javie, aby wyeliminować ograniczenia + wersji próbnej i usunąć znak wodny OCR z Twoich skanów. +og_title: Zastosuj licencję Aspose OCR w Javie – usuń znak wodny OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Zastosuj licencję Aspose OCR w Javie – usuń znak wodny OCR +url: /pl/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Zastosowanie licencji Aspose OCR w Javie – Usunięcie znaku wodnego OCR + +Zastanawiałeś się kiedyś, jak **apply Aspose OCR license** w projekcie Java bez napotkania przerażającego znaku wodnego oceny? Nie jesteś jedyny. W momencie, gdy wypróbujesz darmową wersję próbną, każdy zeskanowany obraz jest oznaczony szarym nakładką „Aspose Evaluation”, co może sprawić, że nawet najczystszy dokument wygląda nieprofesjonalnie. + +W tym przewodniku przeprowadzimy Cię przez dokładne kroki, aby **apply Aspose OCR license**, zweryfikować, że biblioteka jest w pełni odblokowana, oraz pokażemy, jak znak wodny znika automatycznie. Po zakończeniu będziesz mógł uruchomić OCR na dowolnym obrazie — czy to paragonie, skanie paszportu, czy odręcznej notatce — bez brzydkiej nakładki. + +## Wymagania wstępne + +- **Java Development Kit (JDK) 8** lub nowszy zainstalowany. +- **Aspose OCR for Java** plik JAR (pobierz z portalu Aspose). +- Twój **Aspose OCR license file** (`Aspose.OCR.Java.lic`). +- IDE lub prosty edytor tekstu (IntelliJ, Eclipse, VS Code — jak wolisz). + +To wszystko. Nie są wymagane dodatkowe wtyczki Maven ani sztuczki Gradle, choć możesz je dodać później, jeśli wolisz. + +## Konfiguracja projektu (krótkie podsumowanie) + +1. Utwórz nowy folder o nazwie `AsposeOCRDemo`. +2. Umieść plik `aspose-ocr-*.jar` w podfolderze `lib`. +3. Umieść swój plik `Aspose.OCR.Java.lic` w miejscu dostępnym, np. w folderze `resources/`. +4. Napisz mały plik `Main.java` — to miejsce, gdzie dzieje się magia. + +Jeśli używasz IDE, po prostu dodaj JAR do classpath projektu i oznacz folder `resources` jako root zasobów. Jeśli kompilujesz z linii poleceń, classpath będzie wyglądał mniej więcej tak: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Teraz, gdy szkielet jest gotowy, przejdźmy do sedna sprawy. + +## Krok 1: **Apply Aspose OCR License** – kod podstawowy + +Pierwszą rzeczą, którą musisz zrobić, jest poinformowanie silnika Aspose OCR, aby ufał Twojemu plikowi licencyjnemu. Bez tego wywołania biblioteka pozostaje w trybie oceny i będzie nadal dodawać znak wodny do każdego wyniku. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Dlaczego to ważne:** Klasa `License` jest strażnikiem. Gdy `setLicense` zakończy się sukcesem, silnik OCR przełącza się z trybu *evaluation* na tryb *full*. Wszystkie wewnętrzne kontrole, które normalnie dodają logikę **remove OCR watermark**, są wyłączone, więc już nigdy nie zobaczysz szarej nakładki. +> +> **Pro tip:** Trzymaj plik licencji poza kontrolą wersji (np. w folderze specyficznym dla środowiska), aby uniknąć przypadkowych commitów. + +## Krok 2: Zweryfikuj, że znak wodny zniknął + +Po wywołaniu `applyAsposeOcrLicense` warto przeprowadzić szybki test. Poniższy fragment ładuje obraz, wykonuje OCR i wypisuje wyodrębniony tekst. Jeśli licencja nie jest aktywna, Aspose zgłosi wyjątek lub wstawi znak wodny do obrazu wyjściowego (jeśli zapisujesz wizualny wynik). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Oczekiwany wynik (fragment):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Zauważ, że nie ma żadnego odniesienia do znaku wodnego oceny. To efekt **remove OCR watermark** w działaniu. + +## Krok 3: Częste pułapki i przypadki brzegowe + +### 1. Nieprawidłowa ścieżka licencji + +Jeśli przekażesz nieprawidłową ścieżkę do `setLicense`, metoda cicho się nie powiedzie i biblioteka pozostanie w trybie oceny. Zawsze sprawdzaj wartość zwracaną lub przechwytuj wyjątek, jak pokazano w `LicenseUtil`. + +### 2. Używanie względnej ścieżki w wdrożeniu opartym na JAR + +Gdy pakujesz aplikację jako wykonywalny JAR, względne ścieżki systemu plików mogą przestać działać. Bezpieczniejszym podejściem jest załadowanie licencji jako strumienia zasobów: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Umieść plik `.lic` w `src/main/resources`, aby znalazł się na classpath. + +### 3. Scenariusze wielowątkowe + +Jeśli Twoja aplikacja przetwarza wiele obrazów jednocześnie, licencję musisz zastosować **jednokrotnie** na JVM. Ponowne wywoływanie `setLicense` z wielu wątków może spowodować niewielki spadek wydajności, choć nie zepsuje niczego. + +### 4. Wygaśnięcie licencji + +Licencje Aspose są zazwyczaj wieczyste, ale niektóre wersje próbne lub licencje ograniczone czasowo mogą wygasnąć. Gdy tak się stanie, silnik powraca do trybu oceny i zachowanie **remove OCR watermark** znika. Śledź datę wygaśnięcia licencji w portalu Aspose. + +## Krok 4: Automatyzacja zastosowania licencji w projektach rzeczywistych + +W mikroserwisie produkcyjnym prawdopodobnie nie chcesz rozrzucać `LicenseUtil.applyAsposeOcrLicense` po całej bazie kodu. Zamiast tego zainicjalizuj go raz podczas uruchamiania aplikacji — pomyśl o metodzie `@PostConstruct` w Spring Boot lub bloku inicjalizatora statycznego. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Teraz każdy komponent używający `OcrEngine` może bezpiecznie zakładać, że licencja jest już aktywna, zapewniając gwarancję **remove OCR watermark** w całej usłudze. + +## Krok 5: Testowanie integracji licencji + +Testy automatyczne mogą potwierdzić, że znak wodny rzeczywiście zniknął. Prosty test JUnit może wyglądać tak: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Uruchomienie tego testu daje pewność, że Twój pipeline wdrożeniowy nie wyśle przypadkowo nielicencjonowanej wersji. + +## Przegląd wizualny (opcjonalnie) + +Jeśli lubisz widzieć rzeczy graficznie, oto szybki schemat przepływu: + +![Apply Aspose OCR License in Java](apply-aspose-ocr-license.png "Apply Aspose OCR License in Java") + +*Tekst alternatywny: Zastosowanie licencji Aspose OCR w Javie – diagram pokazujący ładowanie licencji, a następnie przetwarzanie OCR bez znaku wodnego.* + +## Zakończenie + +Omówiliśmy wszystko, co potrzebne, aby **apply Aspose OCR license** w środowisku Java i, jako bezpośredni efekt uboczny, **remove OCR watermark** ze wszystkich przetwarzanych obrazów. Od tworzenia obiektu `License`, obsługi problemów ze ścieżkami, weryfikacji wyniku, po włączenie go do większej aplikacji — każdy krok został wyjaśniony wraz z „dlaczego”, a nie tylko „jak”. + +Teraz możesz zintegrować Aspose OCR z dowolnym projektem Java, mając pewność, że Twoi użytkownicy nigdy nie zobaczą już rozpraszającej etykiety oceny. + +### Co dalej? + +- **Explore language packs:** Aspose OCR obsługuje ponad 70 języków; wystarczy ustawić odpowiednią właściwość `OcrEngine`. +- **Combine with Aspose PDF:** Konwertuj zeskanowane obrazy bezpośrednio na przeszukiwalne pliki PDF bez znaku wodnego. +- **Performance tuning + +## Co powinieneś nauczyć się dalej? + +Poniższe samouczki obejmują ściśle powiązane tematy, które rozwijają techniki przedstawione w tym przewodniku. Każde źródło zawiera kompletne działające przykłady kodu z wyjaśnieniami krok po kroku, aby pomóc Ci opanować dodatkowe funkcje API i odkrywać alternatywne podejścia implementacyjne w własnych projektach. + +- [Jak ustawić licencję i zweryfikować licencję Aspose.OCR w Javie](/ocr/english/java/ocr-basics/set-license/) +- [Rozpoznawanie obrazu tekstowego za pomocą Aspose OCR – pełny samouczek Java OCR](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Obliczanie kąta pochylenia za pomocą Aspose OCR Java – pełny przewodnik](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..021b64089 100644 --- a/ocr/portuguese/java/advanced-ocr-techniques/_index.md +++ b/ocr/portuguese/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,20 @@ 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 no OCR Java – Guia completo passo a passo](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Aprenda a ativar a GPU no Aspose.OCR para Java para acelerar o reconhecimento de texto com desempenho otimizado. +### [Extrair texto de imagem escaneada em Java – Guia completo Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Aprenda a extrair texto de imagens escaneadas usando Aspose.OCR para Java com este guia passo a passo completo. +### [Exemplo Aspose OCR Java – Guia Completo para Carregar Imagem, Corrigir Ortografia e Processar OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Aprenda a carregar imagens, corrigir ortografia e executar OCR com Aspose OCR para Java neste guia passo a passo. +### [Melhorar a precisão do OCR em Java – Guia completo](./improve-ocr-accuracy-in-java-complete-guide/) +Aprenda a otimizar a precisão do OCR em Java usando Aspose.OCR com este guia passo a passo completo. +### [Criar PDF pesquisável em Java – Guia completo Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Aprenda a gerar PDFs pesquisáveis em Java usando Aspose.OCR com este guia passo a passo completo. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/portuguese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..1c14a3ec0 --- /dev/null +++ b/ocr/portuguese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,194 @@ +--- +category: general +date: 2026-06-06 +description: Exemplo Aspose OCR Java que mostra como carregar OCR de imagem, corrigir + erros de OCR, definir dicionário personalizado e processar OCR de imagem em apenas + alguns passos. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: pt +og_description: Exemplo Aspose OCR Java que carrega uma imagem, corrige erros de OCR, + define um dicionário personalizado e processa OCR de imagem de forma eficiente. +og_title: Exemplo Aspose OCR Java – Carregar Imagem, Corrigir Ortografia e Processar + OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Exemplo Aspose OCR Java – Guia Completo para Carregar Imagem, Corrigir Ortografia + e Processar OCR +url: /pt/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – Guia Completo para Carregar Imagem, Corrigir Ortografia e Processar OCR + +Já precisou de um **Aspose OCR Java example** que realmente funcione pronto para uso? Você não está sozinho — desenvolvedores costumam ficar encarando uma captura de tela borrada e se perguntando por que o texto extraído está uma bagunça. A boa notícia é que o motor OCR da Aspose já vem com correção ortográfica embutida, e você pode até conectar sua própria lista de palavras. Neste tutorial vamos percorrer o carregamento de imagem OCR, habilitar o recurso de correção, opcionalmente definir um dicionário personalizado e, finalmente, processar a imagem OCR para obter texto limpo e legível. + +Também abordaremos por que você pode querer **correct OCR errors**, como **load image OCR** de forma eficiente, os benefícios da chamada **set custom dictionary**, e como é o fluxo de **process image OCR** de ponta a ponta. Ao final, você terá um programa Java totalmente executável que pode ser inserido em qualquer projeto Maven ou Gradle. + +--- + +## O que você precisará + +- Java 8 ou superior (a API funciona também com Java 11+) +- Biblioteca Aspose.OCR for Java (baixe o JAR mais recente no site da Aspose ou adicione a dependência Maven) +- Um arquivo de imagem contendo texto (de preferência um documento escaneado ou uma captura de tela com algum ruído) +- Opcional: um arquivo de dicionário em texto simples se você quiser **set custom dictionary** para termos específicos de domínio + +É isso — sem motores OCR pesados, sem dependências nativas, apenas um único JAR e algumas linhas de código. + +--- + +## Etapa 1: Aspose OCR Java Example – Load Image OCR + +A primeira coisa que você precisa fazer é criar uma instância `OcrEngine` e apontá‑la para o arquivo que deseja analisar. Pense nisso como abrir um livro antes de começar a ler. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Why this matters:** A chamada `setImage` é o coração de **load image OCR**. Sem uma imagem válida, o motor não tem nada para reconhecer, e você terminará com uma string vazia ou uma exceção. + +![aspose ocr java example loading image](image.png){alt="aspose ocr java example loading image"} + +--- + +## Etapa 2: Habilitar Correção Ortográfica para Corrigir Erros de OCR + +Aspose OCR vem com correção ortográfica ativada por padrão, mas nunca é demais ser explícito — especialmente quando você está demonstrando um **aspose ocr java example**. Habilitar esse recurso reduz drasticamente o texto sem sentido como “t1e” ou “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** Se você notar que o motor ainda está reconhecendo mal certas palavras, verifique as configurações de idioma ou adicione um dicionário personalizado (próxima etapa). + +Habilitar a correção ortográfica é a maneira mais rápida de **correct OCR errors** sem escrever código extra. + +--- + +## Etapa 3: Definir Dicionário Personalizado para Maior Precisão + +Às vezes o dicionário padrão não conhece a terminologia específica da sua indústria — pense em termos médicos, códigos de produto ou nomes de marcas. É aí que **set custom dictionary** se destaca. Forneça um arquivo de texto simples, uma palavra por linha, e o motor OCR tratará essas entradas como válidas durante a correção. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **When to use it:** Se você está processando faturas e os nomes das empresas continuam sendo corrompidos, um dicionário personalizado contendo esses nomes tornará a etapa **process image OCR** muito mais confiável. + +--- + +## Etapa 4: Processar Imagem OCR e Recuperar o Texto + +Agora que o motor está configurado, é hora de realmente executar o reconhecimento. O método `process` faz todo o trabalho pesado — detecta blocos de texto, aplica correção ortográfica e devolve um objeto `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **What you’ll see:** O console imprime uma string limpa e legível. Se você tiver desativado a correção ortográfica, provavelmente verá caracteres estranhos, por isso habilitá‑la antes é crucial para **correct OCR errors**. + +--- + +## Etapa 5: Executar o Exemplo e Verificar a Saída + +Compile e execute a classe com sua IDE favorita ou pela linha de comando: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Você deverá ver algo como: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Se a saída ainda contiver erros de ortografia, tente adicionar essas palavras ao seu dicionário personalizado e reexecute a etapa **process image OCR**. + +--- + +## Armadilhas Comuns e Como Evitá‑las + +| Problema | Por que acontece | Correção | +|----------|------------------|----------| +| **Blank output** | Caminho da imagem errado ou formato não suportado | Verifique o caminho, use PNG/JPEG e assegure que o arquivo seja legível | +| **Garbage characters** | Correção ortográfica desativada ou imagem de baixa qualidade | Ative `setEnableSpellCorrection(true)` e considere pré‑processar a imagem (aumentar contraste) | +| **Domain‑specific words still wrong** | Nenhum dicionário personalizado | Use `setCustomDictionary` com um arquivo contendo seus termos | +| **Out‑of‑memory errors** | Imagens muito grandes carregadas sem redimensionamento | Redimensione a imagem antes de enviá‑la ao `OcrEngine` | + +--- + +## Estendendo o Exemplo + +Agora que você tem um **aspose ocr java example** sólido, pode querer: + +- **Batch process** uma pasta de imagens percorrendo os nomes de arquivos e reutilizando a mesma instância `OcrEngine`. +- **Extract layout information** (tabelas, colunas) usando `ocrResult.getPages()` para análises de documento mais avançadas. +- **Integrate with Apache PDFBox** para incorporar o texto reconhecido de volta a um PDF. + +Todas essas extensões se baseiam nos mesmos passos principais que cobrimos: load image OCR, enable correction, optionally set a custom dictionary e process image OCR. + +--- + +## Conclusão + +Você acabou de criar um **aspose ocr java example** completo que carrega uma imagem, habilita a correção ortográfica para **correct OCR errors**, opcionalmente **set custom dictionary**, e finalmente **process image OCR** para recuperar texto limpo. O código é curto, os conceitos são claros, e agora você tem uma base que pode ser expandida para trabalhos em lote, integrações de UI ou até micro‑serviços na nuvem. + +Qual é o próximo passo? Experimente alimentar o motor com uma foto de baixa resolução, adicione uma lista de SKUs de produtos ao seu dicionário personalizado e veja como a precisão melhora. Quanto mais você experimentar, melhor entenderá as compensações entre qualidade da imagem, tamanho do dicionário e velocidade de processamento. + +Sinta‑se à vontade para deixar um comentário se encontrar algum problema ou tiver ideias para aprimoramentos adicionais. Feliz codificação! + +## O que você deve aprender a seguir? + +Os tutoriais a seguir abordam tópicos intimamente relacionados que se baseiam nas técnicas demonstradas neste guia. Cada recurso inclui exemplos de código completos e funcionais com explicações passo a passo para ajudá‑lo a dominar recursos adicionais da API e explorar abordagens de implementação alternativas em seus próprios projetos. + +- [Como definir licença e verificar a licença Aspose.OCR em Java](/ocr/english/java/ocr-basics/set-license/) +- [Como fazer OCR de texto em imagem com idioma usando Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Reconhecendo linhas em imagens](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/portuguese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..180fd8c64 --- /dev/null +++ b/ocr/portuguese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Crie PDF pesquisável com Java usando Aspose OCR. Aprenda a extrair texto + de PDFs, melhorar a precisão do OCR e processar PDFs de várias páginas de forma + eficiente. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: pt +og_description: Crie PDF pesquisável com Java usando Aspose OCR. Este guia orienta + você na extração de texto de PDFs, no aumento da precisão do OCR e no tratamento + de PDFs de várias páginas. +og_title: Criar PDF pesquisável em Java – Tutorial completo de OCR da Aspose +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Criar PDF pesquisável em Java – Guia completo de OCR da Aspose +url: /pt/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Criar PDF pesquisável em Java – Guia completo do Aspose OCR + +Já se perguntou como **criar PDF pesquisável** diretamente em Java sem precisar lidar com dezenas de ferramentas de linha de comando? Você não está sozinho. Muitos desenvolvedores encontram dificuldades quando precisam transformar PDFs escaneados em documentos pesquisáveis por texto, especialmente quando os PDFs de origem têm várias páginas. + +Neste tutorial vamos percorrer um exemplo completo e executável que não só **cria arquivos PDF pesquisáveis**, mas também mostra como **extrair texto de PDF**, **aumentar a precisão do OCR** e lidar com um fluxo de trabalho **OCR multi página PDF** usando a biblioteca Aspose OCR. Ao final, você terá um trecho de código sólido, pronto para produção, que pode ser inserido em qualquer projeto Java. + +## O que você vai precisar + +- Java 17 ou superior (o código compila em versões mais antigas, mas o JDK 17 é o ponto ideal) +- Maven ou Gradle para obter a dependência `aspose-ocr` +- Um PDF de várias páginas de exemplo (vamos chamá‑lo de `sample_multi_page.pdf`) +- Uma GPU modesta ou, no mínimo, uma CPU com múltiplos núcleos se quiser habilitar o processamento paralelo + +Nenhuma biblioteca nativa adicional é necessária — o Aspose OCR inclui tudo o que você precisa. + +--- + +## Criar PDF pesquisável – Implementação passo a passo + +A seguir, dividimos o processo em blocos lógicos. Cada seção tem seu próprio cabeçalho H2 para que você possa ir direto à parte que lhe interessa, e a palavra‑chave principal aparece aqui mesmo no título. + +### Passo 1: Configurar o projeto e importar o Aspose OCR + +Primeiro, adicione o artefato Maven do Aspose OCR ao seu `pom.xml`. Se preferir Gradle, o trecho equivalente está nos comentários. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Dica de especialista:** Mantenha suas dependências atualizadas; versões mais recentes costumam trazer melhorias de precisão que ajudam diretamente a **aumentar a precisão do OCR**. + +### Passo 2: Carregar o PDF multi‑página no motor OCR + +Agora criamos uma instância de `OcrEngine` e fornecemos o PDF que queremos processar. O motor trata cada página como uma imagem internamente, por isso essa abordagem funciona para um cenário **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Por que isso importa:** Carregar o PDF uma única vez e deixar o motor lidar com a paginação evita a sobrecarga de extrair manualmente cada página, economizando tempo e memória. + +### Passo 3: Habilitar recursos avançados para **aumentar a precisão do OCR** + +O Aspose OCR oferece vários parâmetros que podem ser ajustados. Habilitar aceleração por GPU, aumentar a contagem de threads e especificar múltiplos idiomas contribuem para taxas de reconhecimento melhores, especialmente em digitalizações ruidosas. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **E se você não tiver uma GPU?** Basta definir `setUseGpu(false)`; o motor retornará ao modo somente CPU, ainda se beneficiando do multithreading. + +### Passo 4: Pré‑processar imagens para obter melhores resultados + +Etapas de pré‑processamento como correção de inclinação, remoção de ruído e aumento de contraste aumentam drasticamente a **precisão do OCR** em documentos escaneados. Pense nisso como polir uma pedra bruta antes de esculpir. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Por que essas configurações?** Um nível de remoção de ruído `2` funciona bem para a maioria dos PDFs escaneados, enquanto um aumento de contraste modesto (1,3×) realça tinta fraca sem estourar o fundo. + +### Passo 5: Configurar a saída para gerar um PDF pesquisável + +O Aspose OCR pode incorporar a camada de texto reconhecido diretamente em um PDF, transformando um arquivo de imagem plano em um **PDF pesquisável**. Esse é o cerne da pergunta “como fazer PDF pesquisável” que muitos desenvolvedores fazem. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Quando `setGenerateSearchablePdf(true)` está habilitado, a biblioteca cria uma camada de texto invisível que espelha o conteúdo visual, tornando o documento final pesquisável em qualquer visualizador de PDF. + +### Passo 6: Executar o OCR e persistir o resultado + +Agora realmente processamos o documento e gravamos o arquivo de saída. O método `process` retorna um objeto `OcrResult` que contém tanto o PDF pesquisável quanto o texto simples extraído. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Passo 7: (Opcional) **Extrair texto de PDF** para uso imediato + +Se você também precisar do texto bruto — para indexação, análise ou simplesmente exibir em uma página web — pode obtê‑lo diretamente do `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**O que você verá:** O console exibirá o texto concatenado de todas as páginas, preservando quebras de linha onde possível. Isso satisfaz o requisito de **extrair texto de pdf** sem uma segunda passagem. + +--- + +## Visão geral visual + +Abaixo está um diagrama de fluxo simples que mapeia cada passo ao respectivo bloco de código. Ele ajuda a visualizar como o PDF de entrada percorre pré‑processamento, OCR e, finalmente, se torna um documento pesquisável. + +![Create searchable PDF flow diagram](https://example.com/flow-diagram.png "Create searchable PDF flow diagram") + +*O texto alternativo contém a palavra‑chave principal para atender ao SEO de imagens.* + +--- + +## Perguntas frequentes & casos de borda + +| Pergunta | Resposta | +|----------|----------| +| **Posso processar PDFs maiores que 100 MB?** | Sim, mas considere fazer streaming das páginas ao invés de carregar todo o arquivo na memória. O Aspose OCR gerencia a paginação internamente, porém pode ser necessário aumentar o heap da JVM (`-Xmx4g`) para arquivos muito grandes. | +| **E se o meu PDF contiver anotações manuscritas?** | O reconhecimento de escrita à mão não está habilitado por padrão. Você pode mudar para `setLanguage("eng,mon,handwritten")` se a versão da biblioteca suportar, embora a precisão varie. | +| **Preciso de licença para o Aspose OCR?** | Uma licença de avaliação temporária funciona para testes. Para produção, adquira uma licença comercial para remover marcas d'água e desbloquear desempenho total. | +| **Como desabilitar a correção ortográfica?** | Chame `ocr.getSettings().setEnableSpellCorrection(false);` — útil quando você precisa da saída bruta do OCR para fins forenses. | +| **O suporte a GPU é obrigatório?** | Não. A biblioteca recua graciosamente para CPU. Contudo, a GPU pode reduzir o tempo de processamento em até 60 % em documentos multi‑página grandes. | + +--- + +## Exemplo completo funcional (pronto para copiar e colar) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Saída esperada** + +- `output_searchable.pdf` – um PDF onde você pode pressionar Ctrl + F e encontrar qualquer palavra que apareça nas imagens escaneadas. +- Log no console – o conteúdo textual completo do PDF original, perfeito para indexação ou análise adicional. + +--- + +## Conclusão + +Acabamos de demonstrar como **criar PDF pesquisável** em Java usando Aspose OCR, ao mesmo tempo em que mostramos como **extrair texto de PDF**, **aumentar a precisão do OCR** e lidar eficientemente com um fluxo de trabalho **OCR multi page PDF**. O trecho de código completo acima está pronto para ser inserido no seu projeto, e as explicações dão confiança para ajustar as configurações conforme seu caso de uso específico. + +O que vem a seguir? Experimente brincar com incorporações de fontes personalizadas, adicione marcadores gerados pelo OCR ou integre a saída a um motor de busca como Elasticsearch. Cada um desses tópicos se relaciona com nossas palavras‑chave secundárias — *como fazer PDF pesquisável* e *aumentar a precisão do OCR* — proporcionando um caminho claro para exploração mais profunda. + +Sinta‑se à vontade para compartilhar suas experiências ou fazer perguntas nos comentários. Boa codificação e aproveite para transformar essas digitalizações estáticas em PDFs totalmente pesquisáveis e ricos em texto! + +## O que você deve aprender a seguir? + +Os tutoriais a seguir abordam tópicos intimamente relacionados que ampliam as técnicas demonstradas neste guia. Cada recurso inclui exemplos de código completos e funcionais com explicações passo a passo para ajudá‑lo a dominar recursos adicionais da API e explorar abordagens alternativas de implementação em seus próprios projetos. + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/portuguese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..b6006aae3 --- /dev/null +++ b/ocr/portuguese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,270 @@ +--- +category: general +date: 2026-06-06 +description: Extraia texto de imagem digitalizada usando Aspose OCR para Java. Aprenda + a reconhecer texto de arquivos TIFF com processamento paralelo. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: pt +og_description: Extraia texto de imagem escaneada com Aspose OCR. Este guia mostra + como reconhecer texto de arquivos TIFF de forma eficiente usando Java. +og_title: Extrair texto de imagem escaneada – Tutorial de OCR Java da Aspose +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Extrair Texto de Imagem Escaneada em Java – Guia Completo de OCR da Aspose +url: /pt/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrair Texto de Imagem Digitalizada – Guia Completo do Aspose OCR + +Já precisou **extrair texto de imagem digitalizada** mas ficou preso no “como?”? Você não está sozinho. Seja digitalizando arquivos antigos, extraindo dados de faturas ou construindo uma biblioteca PDF pesquisável, obter texto confiável de uma digitalização TIFF pode ser um ponto crítico. + +Boa notícia: com Aspose OCR para Java você pode **reconhecer texto de tiff** arquivos em apenas algumas linhas, e ainda ganhar velocidade limitando o motor a alguns núcleos de CPU. Neste tutorial vamos percorrer todo o processo — da configuração da biblioteca ao tratamento do resultado — para que você possa copiar‑colar um exemplo funcional imediatamente. + +## O Que Este Tutorial Cobre + +- Instalar Aspose OCR para Java (Maven ou JAR manual) +- Carregar uma grande imagem TIFF digitalizada +- Configurar o motor para usar até 4 threads (OCR paralelo) +- Executar o processo OCR e imprimir o texto extraído +- Armadilhas comuns (memória, TIFFs multipáginas) e como evitá‑las +- Dica rápida de desempenho: quando ajustar `setMaxThreads` + +Ao final você será capaz de **extrair texto de imagem digitalizada** arquivos de forma confiável, e entenderá por que ajustar a contagem de threads importa quando você *reconhece texto de tiff* em um pipeline de produção. + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Pré-requisitos + +Antes de mergulharmos, certifique‑se de que você tem: + +1. **Java Development Kit (JDK) 8+** – qualquer versão recente funciona. +2. **Maven** (ou a capacidade de adicionar JARs manualmente) – usaremos Maven por simplicidade. +3. Uma licença **Aspose OCR for Java** (a avaliação gratuita funciona, mas adiciona uma marca d'água). +4. Uma **digitalização TIFF grande** (por exemplo, `large_scan.tif`) que você deseja processar. + +Se algum desses itens lhe for desconhecido, não se preocupe — cada passo é explicado abaixo. + +## Etapa 1: Adicionar Aspose OCR ao Seu Projeto + +### Usuários Maven + +Adicione a dependência a seguir ao seu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Configuração Manual de JAR + +Baixe o `aspose-ocr-xx.jar` mais recente do site da Aspose e coloque‑o no seu classpath. + +> **Pro tip:** Mantenha o JAR em uma pasta `libs/` e faça referência a ele nas configurações do seu IDE. Isso evita surpresas de “classe não encontrada” mais tarde. + +## Etapa 2: Criar uma Classe Java Simples + +Crie um arquivo chamado `ParallelOcrDemo.java` na sua pasta de código fonte (`src/main/java`). Esta classe conterá todo o fluxo de trabalho OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Por que limitamos threads:** Por padrão o Aspose OCR tenta usar todos os núcleos, o que pode privar outros serviços em uma máquina compartilhada. Definir `setMaxThreads(4)` indica ao motor que ele pode executar até quatro workers paralelos — suficiente para um ganho de velocidade perceptível na maioria das CPUs modernas sem monopolizar recursos. + +## Etapa 3: Compilar e Executar + +Abra um terminal na raiz do projeto e execute: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Se você não estiver usando Maven, compile com `javac` e execute: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Saída Esperada + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +O console exibirá a versão em texto puro do que estava na página digitalizada. Se a imagem contiver várias páginas, o Aspose OCR concatena‑as em ordem. + +## Etapa 4: Manipulando TIFFs Multi‑Página (Caso de Borda) + +Um cenário comum é um **TIFF multi‑página** — pense em um livro escaneado. Por padrão `OcrInputImage` lê apenas o primeiro quadro. Para processar todas as páginas, use `OcrInputImage` com um `FileInputStream` e habilite o suporte a múltiplas páginas: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Agora `ocrEngine.process()` retornará um único `OcrResult` que contém o texto concatenado de todas as páginas. + +## Etapa 5: Ajuste Fino da Precisão de Reconhecimento + +Se você notar **caracteres distorcidos** ou palavras ausentes, experimente estes ajustes: + +| Configuração | O que faz | Quando usar | +|--------------|-----------|-------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Força o modelo de idioma inglês (mais rápido, mais preciso para digitalizações em inglês) | Seu documento é monolíngue em inglês | +| `ocrEngine.getSettings().setResolution(300)` | Aumenta a resolução de imagens de baixa qualidade antes do reconhecimento | Digitalizações abaixo de 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Tenta limpar manchas e artefatos | Digitalizações com muito ruído | + +Exemplo de trecho: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Etapa 6: Exportando Resultados para um Arquivo + +Imprimir no console serve para demonstrações, mas código de produção geralmente grava a saída em algum local útil: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Agora você tem um arquivo de texto puro que pode ser alimentado a um índice de busca, um banco de dados ou um pipeline de análise posterior. + +--- + +## Perguntas Frequentes (FAQ) + +**Q: Isso funciona com arquivos PNG ou JPEG?** +A: Absolutamente. `OcrInputImage` aceita qualquer formato que o ImageIO do Java consiga ler. Basta substituir a extensão do arquivo no caminho. + +**Q: Meu servidor tem 8 núcleos — devo definir `setMaxThreads(8)`?** +A: Você poderia, mas lembre‑se de que outros serviços podem precisar de ciclos de CPU. Uma boa regra prática é “núcleos totais – 1” para workers OCR dedicados. + +**Q: E se o resultado do OCR estiver vazio?** +A: Verifique se a imagem não está completamente branca, se o idioma correto foi definido e se a resolução é de pelo menos 200 DPI. Digitalizações de baixa qualidade frequentemente precisam de pré‑processamento (deskew, aumento de contraste) antes de serem enviadas ao Aspose OCR. + +## Conclusão + +Acabamos de **extrair texto de imagem digitalizada** usando Aspose OCR para Java, e agora você sabe como **reconhecer texto de tiff** de forma eficiente com processamento paralelo. O código completo está nos trechos acima, e você pode copiá‑lo‑colar no seu próprio projeto imediatamente. + +### O Que Vem a Seguir? + +- **Processamento em lote**: Percorrer um diretório de TIFFs, armazenar cada resultado em seu próprio arquivo. +- **Integrar com Elasticsearch**: Indexar o texto extraído para busca full‑text rápida. +- **Adicionar detecção de idioma**: Use `OcrLanguage.AutoDetect` para documentos multilíngues. + +Experimente essas ideias, e você rapidamente transformará uma montanha de papéis escaneados em dados pesquisáveis e acionáveis. + +Happy coding, and feel free to drop a comment if you hit a snag! + +## O Que Você Deve Aprender a Seguir? + +Os tutoriais a seguir cobrem tópicos intimamente relacionados que ampliam as técnicas demonstradas neste guia. Cada recurso inclui exemplos de código completos e funcionais com explicações passo a passo para ajudá‑lo a dominar recursos adicionais da API e explorar abordagens de implementação alternativas em seus próprios projetos. + +- [Como reconhecer tiff com Aspose.OCR para Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extrair Texto de Imagens – Conceitos Básicos de OCR com Aspose.OCR para Java](/ocr/english/java/ocr-basics/) +- [Extrair Texto de Imagem Java com Aspose.OCR Modo Detectar Áreas](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/portuguese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..d52c496fa --- /dev/null +++ b/ocr/portuguese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-06-06 +description: Como habilitar GPU no OCR Java e extrair texto de arquivos JPEG. Siga + este exemplo de OCR Java para converter imagem em texto com aceleração GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: pt +og_description: Como habilitar GPU no OCR Java e extrair instantaneamente texto de + imagens JPEG. Este guia mostra um exemplo completo de OCR em Java com aceleração + GPU. +og_title: Como habilitar a GPU no OCR Java – Guia completo de programação +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Como habilitar GPU no OCR Java – Guia completo passo a passo +url: /pt/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como habilitar GPU no OCR Java – Guia Completo Passo a Passo + +Já se perguntou **como habilitar GPU** para reconhecimento óptico de caracteres em Java? Você não está sozinho—os desenvolvedores perguntam constantemente: “Posso tornar o OCR mais rápido sem reescrever tudo?” A resposta curta é sim, e a resposta longa está aqui. Neste tutorial vamos percorrer um **java ocr example** que **extrai texto de arquivos JPEG**, **converte imagem em texto**, e utiliza **GPU accelerated OCR** para resultados ultrarrápidos. + +Começaremos configurando a biblioteca Aspose OCR, carregando um JPEG de exemplo, ativando o suporte a GPU, executando o motor e, finalmente, imprimindo o texto reconhecido. Ao final, você terá um trecho reutilizável que pode inserir em qualquer projeto Java, além de algumas dicas que evitam armadilhas comuns. Sem enrolação, apenas o essencial que você precisa para começar. + +## Pré-requisitos + +* Java 8 ou superior instalado (o código usa APIs padrão, então qualquer JDK recente funciona). +* Uma GPU compatível com drivers atualizados – a maioria das placas NVIDIA/AMD modernas se qualifica. +* A biblioteca Aspose.OCR para Java (você pode obtê‑la no Maven Central ou no site da Aspose). +* Uma imagem JPEG que você deseja processar com OCR – vamos chamá‑la de `sample.jpg`. + +É isso. Se algum desses itens lhe for desconhecido, pause e instale o que falta; o restante do guia assume que eles já estão configurados. + +## Como habilitar GPU no OCR Java – Visão geral + +Abaixo está uma visão rápida do que vamos alcançar: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Pense na GPU como um turbo‑compressor para o seu motor de OCR—em vez da CPU fazer a análise pixel a pixel, a placa gráfica lida com o trabalho pesado em paralelo. O resultado? Tempos de processamento mais rápidos, especialmente em digitalizações de alta resolução. + +## Etapa 1: Configurar o Projeto e Importar Aspose OCR + +Primeiro, crie um novo projeto Maven (ou Gradle, se preferir). Adicione a dependência Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Se você não estiver usando Maven, baixe o JAR da Aspose e adicione‑o ao seu classpath. Esta etapa é a base de qualquer **java ocr example** que você escrever, então verifique duas vezes se a biblioteca está sendo resolvida corretamente. + +## Etapa 2: Carregar a Imagem JPEG (Extrair Texto de JPEG) + +Agora vamos escrever código para ler um arquivo JPEG. A classe `OcrInputImage` aceita um caminho, e o passaremos para o `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Por que isso importa:** Carregar a imagem corretamente é o primeiro passo em qualquer fluxo de trabalho de **convert image to text**. Se o caminho estiver errado, o motor lança uma exceção antes mesmo de chegar à fase de GPU. + +## Etapa 3: Habilitar Aceleração GPU (Como habilitar GPU) + +Aqui está o núcleo do tutorial—ativar o suporte a GPU. O objeto `OcrSettings` expõe a flag `setUseGpu`. Basta defini‑la como `true` e pronto. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Dica de especialista:** Verifique se o driver da sua GPU está atualizado. Drivers desatualizados frequentemente fazem a chamada `setUseGpu(true)` falhar silenciosamente, deixando você com desempenho apenas de CPU. + +## Etapa 4: Executar o Motor OCR (Exemplo de OCR Java) + +Com a imagem carregada e a GPU habilitada, inicie o processo OCR. O motor retorna um objeto `OcrResult` que contém o texto reconhecido. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Nos bastidores, a Aspose divide a imagem em blocos, envia‑os para a GPU para inferência paralela e costura os resultados novamente. Isso é o que torna a experiência de **gpu accelerated ocr** visivelmente mais rápida que o caminho padrão de CPU. + +## Etapa 5: Exibir o Texto Reconhecido (Converter Imagem em Texto) + +Finalmente, imprima o resultado no console. Em um aplicativo real você provavelmente gravaria isso em um arquivo ou banco de dados, mas para ilustração um simples `System.out.println` resolve. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Saída Esperada + +Assumindo que `sample.jpg` contenha a frase “Hello, World!”, você deverá ver: + +``` +Recognized text: +Hello, World! +``` + +Se a imagem for mais complexa (várias linhas, tabelas, etc.), a saída conterá quebras de linha e espaçamentos que espelham o layout original. Essa é a beleza do motor OCR da Aspose—ele preserva a estrutura ao converter a imagem em texto. + +## Exemplo Completo Funcional + +Juntando tudo, aqui está o programa completo, pronto para executar: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Salve isso como `GpuOcrDemo.java`, compile com `javac` e execute com `java`. Se tudo estiver configurado corretamente, o console exibirá o texto extraído instantaneamente. + +## Perguntas Frequentes & Casos Limítrofes + +### 1. Minha GPU não está sendo usada – o que está acontecendo? + +* **Verifique a versão do driver** – drivers mais antigos podem não expor as capacidades de computação necessárias. +* **Valide o suporte da GPU** – a Aspose requer uma placa NVIDIA compatível com CUDA ou uma placa AMD compatível com OpenCL. Se você estiver em um laptop com GPU discreta desativada, habilite-a na BIOS ou no painel de controle gráfico. +* **Inspecione os logs** – a Aspose grava uma linha de depuração quando o modo GPU está ativo. Habilite o registro via `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. O resultado do OCR está ilegível em uma imagem de baixa resolução. + +* **Pré‑processar o JPEG** – redimensione para pelo menos 300 dpi, aplique aumento de contraste ou converta para escala de cinza antes de enviá‑lo ao motor. +* **Ajustar configurações** – você pode modificar `ocr.getSettings().setLanguage(OcrLanguage.English)` ou habilitar `setUseLanguageDetection(true)` para melhorar a precisão. + +### 3. Posso processar várias imagens em lote? + +Com certeza. Envolva os blocos de carregamento e processamento em um loop, reutilizando a mesma instância `OcrEngine`. Apenas lembre‑se de chamar `ocr.reset()` entre as iterações para limpar a imagem anterior. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. A aceleração GPU funciona em servidores sem interface gráfica? + +Sim, desde que o servidor possua uma GPU suportada e os drivers adequados. No Linux, pode ser necessário instalar o pacote `nvidia‑utils` e garantir que o toolkit `CUDA` esteja no `PATH`. + +## Dicas Profissionais para OCR com GPU Pronto para Produção + +* **Tamanho do lote importa** – imagens maiores se beneficiam mais do paralelismo da GPU. Se você estiver processando ícones pequenos, a sobrecarga de transferência para a GPU pode superar os ganhos. +* **Gerenciamento de memória** – as GPUs têm VRAM limitada. Para PDFs muito grandes ou digitalizações de vários megapixels, divida a imagem em blocos menores manualmente. +* **Tratamento de erros** – envolva a chamada OCR em um bloco try‑catch e recorra ao modo CPU (`setUseGpu(false)`) se for lançada uma `UnsupportedOperationException`. + +## Conclusão + +Acabamos de abordar **como habilitar GPU** em um **java ocr example**, mostrar como **extrair texto de arquivos JPEG** e demonstrar uma forma limpa de **convert image to text** usando o motor **gpu accelerated OCR** da Aspose. O trecho completo acima está pronto para ser inserido em qualquer projeto Java, e as dicas acompanhantes devem evitar as dores de cabeça habituais. + +Qual o próximo passo? Experimente adicionar pacotes de idioma, teste diferentes formatos de imagem (PNG, TIFF) ou integre a saída a um índice de busca. O céu é o limite quando você combina OCR com o poder da GPU. + +Tem mais perguntas sobre OCR acelerado por GPU ou precisa de ajuda para ajustar as configurações? Deixe um comentário, e feliz codificação! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## O que Você Deve Aprender a Seguir? + +Os tutoriais a seguir abordam tópicos estreitamente relacionados que se baseiam nas técnicas demonstradas neste guia. Cada recurso inclui exemplos de código completos e funcionais com explicações passo a passo para ajudá‑lo a dominar recursos adicionais da API e explorar abordagens de implementação alternativas em seus próprios projetos. + +- [Extrair Texto de Imagens – Conceitos Básicos de OCR com Aspose.OCR para Java](/ocr/english/java/ocr-basics/) +- [Converter Imagem em Texto em Java usando Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Como fazer OCR de Texto em Imagem com Idioma usando Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/portuguese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..a887a640e --- /dev/null +++ b/ocr/portuguese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-06-06 +description: Melhore a precisão do OCR em Java com um guia passo a passo que mostra + como carregar a imagem para OCR, processar a imagem com OCR e extrair o texto da + página escaneada de forma eficiente. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: pt +og_description: Melhore a precisão do OCR em Java com um exemplo prático. Aprenda + a carregar a imagem para OCR, pré‑processar e executar OCR na imagem para extrair + o texto da página escaneada. +og_title: Melhore a Precisão do OCR em Java – Tutorial Completo +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Melhore a Precisão do OCR em Java – Guia Completo +url: /pt/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Melhore a Precisão de OCR em Java – Guia Completo + +Já se perguntou como **melhorar a precisão de OCR** quando você está lidando com digitalizações de livros antigos ou recibos borrados? Você não está sozinho. Em muitos projetos do mundo real, a saída bruta de um motor OCR parece uma bagunça críptica, e isso geralmente ocorre porque a imagem não foi pré‑processada corretamente antes de você **perform OCR image**. + +Neste tutorial, percorreremos um exemplo prático em Java que mostra exatamente como **load image OCR**, aplicar algumas etapas inteligentes de pré‑processamento, **process image OCR**, e finalmente **extract text scanned page** com um resultado limpo. Ao final, você entenderá não apenas *o que* codificar, mas *por que* cada linha importa para melhorar a qualidade do reconhecimento. + +## O que você aprenderá + +- Como instanciar um motor OCR em Java +- A maneira correta de **load image OCR** a partir do disco +- Por que deskewing, denoising e contrast boosting são essenciais para **improve OCR accuracy** +- Como **perform OCR image** e recuperar o texto reconhecido +- Dicas para lidar com diferentes formatos de imagem e casos de borda + +Nenhuma documentação externa necessária – tudo que você precisa está aqui, e o código completo e executável está incluído ao final. + +## Pré‑requisitos + +- Java 17 (ou qualquer JDK recente) instalado na sua máquina +- Uma biblioteca OCR que fornece as classes `OcrEngine`, `OcrInputImage` e `OcrResult` (o exemplo usa uma API genérica; substitua pelo jar do seu fornecedor, se necessário) +- Uma imagem escaneada (PNG, JPEG ou TIFF) que você deseja processar com OCR – para a demonstração usaremos `old_book_page.png` localizado em uma pasta chamada `YOUR_DIRECTORY` + +Se estiver faltando o jar OCR, basta colocá‑lo na pasta `libs` do seu projeto e adicioná‑lo ao classpath. É só isso. + +--- + +## Etapa 1 – Melhorar a Precisão de OCR: Configurar o Motor + +Antes de podermos **process image OCR**, precisamos de uma nova instância do motor. Criar um novo `OcrEngine` nos fornece uma tela limpa, garantindo que não haja configurações residuais de execuções anteriores. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Por que isso importa*: Um motor recém‑criado inicia com o pré‑processamento padrão desativado. Isso é intencional – queremos habilitar apenas as etapas que realmente ajudam nossa imagem específica, que é a base de **improve OCR accuracy**. + +## Etapa 2 – Carregar Imagem OCR – Preparando seu Escaneamento + +Agora realmente **load image OCR**. O método `setImage` espera um `OcrInputImage` que aponta para o arquivo no disco. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Algumas observações: + +1. **Supported formats** – a maioria das bibliotecas aceita PNG, JPEG, BMP e TIFF. Se você tem um PDF, converta a primeira página para uma imagem primeiro. +2. **Path handling** – usar um caminho absoluto evita a armadilha de “arquivo não encontrado” quando o diretório de trabalho muda. + +## Etapa 3 – Deskew: Endireitando Páginas Rotacionadas + +Muitas páginas escaneadas não são perfeitamente horizontais. Uma leve rotação pode comprometer o reconhecimento porque o motor OCR espera linhas de texto niveladas. Habilitar deskew detecta e corrige automaticamente essa rotação. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Dica profissional**: Se você souber o ângulo de rotação com antecedência (por exemplo, 90°), pode girar manualmente a imagem antes de enviá‑la ao motor – geralmente mais rápido para trabalhos em lote. + +## Etapa 4 – Denoise: Reduzindo Granulação de Fundo + +Documentos antigos frequentemente contêm textura de papel, poeira ou artefatos de compressão. O método `setDenoiseLevel` aplica um filtro que suaviza esse ruído. O nível 2 é um bom ponto de partida para a maioria das páginas escaneadas. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Por que ajuda**: O ruído cria bordas falsas que o motor OCR pode interpretar como caracteres. Ao limpar a imagem, nós **improve OCR accuracy** sem sacrificar as formas reais dos glifos. + +## Etapa 5 – Aumentar Contraste: Realçando o Texto + +Se a digitalização está desbotada, o contraste entre tinta e papel é baixo, e o motor tem dificuldade em diferenciar o primeiro plano do fundo. Um aumento modesto de contraste de `1.4f` (aumento de 40 %) geralmente resolve. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Caso extremo*: Para imagens muito escuras, um fator maior (até 2.0) pode ser benéfico, mas cuidado com o clipping – regiões excessivamente claras podem ficar totalmente brancas, apagando detalhes finos. + +## Etapa 6 – Perform OCR Image – A Etapa Central de Processamento + +Toda a preparação culmina nesta linha: realmente executar o motor OCR na imagem pré‑processada. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Nos bastidores, o motor executa suas etapas de segmentação, reconhecimento de caracteres e modelo de linguagem. Se precisar de múltiplos idiomas, configure‑os no motor **before** ao chamar `process()`. + +## Etapa 7 – Extract Text Scanned Page – Obtendo a Saída + +Finalmente, extraímos a string reconhecida de `OcrResult`. Imprimi‑la no console já basta para uma demonstração rápida, mas você também pode gravá‑la em um arquivo, um banco de dados ou alimentá‑la em um pipeline NLP subsequente. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Saída esperada** (truncada para brevidade): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Se a saída ainda parecer confusa, reveja os parâmetros de pré‑processamento – às vezes um nível de denoise maior ou um fator de contraste diferente faz uma diferença perceptível. + +## Exemplo Completo Funcional + +Abaixo está o programa Java completo e autocontido que você pode copiar, colar e executar. Ele inclui os imports necessários, um método `main` e comentários inline que esclarecem cada etapa. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Salve isto como `OcrAccuracyDemo.java`, compile com `javac` e execute com `java`. Se tudo estiver configurado corretamente, você verá o texto limpo impresso no terminal. + +## Perguntas Frequentes & Casos de Borda + +**Q: Minha página escaneada está em cores – devo convertê‑la para escala de cinza primeiro?** +A: A maioria dos motores OCR converte internamente para escala de cinza, mas fazer isso você mesmo (por exemplo, usando `BufferedImage` e `ColorConvertOp`) pode lhe dar um controle mais fino sobre o algoritmo de conversão, especialmente quando o fundo não é uniforme. + +**Q: A saída ainda contém símbolos estranhos. O que fazer agora?** +A: Tente aumentar o `setDenoiseLevel` para 3 ou ajustar `setContrastBoost` para 1.6f. Se o problema persistir, considere aplicar um **binary threshold** (binarização) antes do OCR – muitas bibliotecas expõem a opção `setBinarization(true)`. + +**Q: Como lidar com PDFs de múltiplas páginas?** +A: Converta cada página para uma imagem (usando Apache PDFBox, por exemplo) e itere sobre as páginas, reutilizando a mesma instância `OcrEngine` mas redefinindo a imagem a cada iteração. + +## Conclusão + +Você acabou de aprender como **improve OCR accuracy** em Java ao **load image OCR** corretamente, aplicar deskew, denoise e aumento de contraste, então **perform OCR image** e finalmente **extract text scanned page**. O principal aprendizado é que o pré‑processamento costuma ser a alavanca mais eficaz para melhorar a qualidade do reconhecimento – uma imagem bem preparada pode dobrar ou até triplicar a taxa de caracteres corretos. + +Pronto para o próximo passo? Experimente: + +- Diferentes níveis de denoise para digitalizações muito granuladas +- Aumento de contraste adaptativo baseado na análise do histograma da imagem +- Integração de um modelo de linguagem (por exemplo, correção ortográfica) após a extração para limpar erros residuais + +Essas extensões aprofundarão seu pipeline de OCR e o tornarão robusto o suficiente para cargas de trabalho de produção. + +Se encontrar algum obstáculo ou tiver um truque inteligente, deixe um comentário abaixo. Feliz codificação, e que seu texto esteja sempre legível! + +## O que Você Deve Aprender a Seguir? + +Os tutoriais a seguir cobrem tópicos intimamente relacionados que ampliam as técnicas demonstradas neste guia. Cada recurso inclui exemplos de código completos e funcionais com explicações passo a passo para ajudá‑lo a dominar recursos adicionais da API e explorar abordagens de implementação alternativas em seus próprios projetos. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/java/ocr-basics/_index.md b/ocr/portuguese/java/ocr-basics/_index.md index d5befd86c..dd4b228ad 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,9 @@ 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. +### [Como Realizar OCR em Java – Guia Completo para Extrair Texto de Imagens](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Aprenda passo a passo a usar Aspose.OCR em Java para extrair texto de imagens com alta precisão e recursos avançados. + --- **Last Updated:** 2025-12-08 @@ -115,4 +118,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/portuguese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..e9465e056 --- /dev/null +++ b/ocr/portuguese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-06-06 +description: como realizar OCR em Java – extrair texto rapidamente de uma imagem, + converter imagem em texto e ler texto de jpg usando um exemplo de código simples. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: pt +og_description: como realizar OCR em Java – aprenda como extrair texto de uma imagem, + converter imagem em texto e ler texto de jpg com um exemplo pronto‑para‑usar. +og_title: Como executar OCR em Java – Guia passo a passo +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Como realizar OCR em Java – Guia completo para extrair texto de imagens +url: /pt/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Realizar OCR em Java – Guia Completo para Extrair Texto de Imagens + +Já se perguntou **como realizar OCR** em uma foto que você tirou com o celular? Você não está sozinho. Seja construindo um aplicativo de escaneamento de recibos ou apenas precisando extrair texto de um PDF escaneado, **como realizar OCR** em Java é uma habilidade que traz resultados rápidos. Neste tutorial, vamos percorrer um exemplo prático que **extrai texto de arquivos de imagem**, **converte imagem em texto**, e ainda mostra como **ler texto de jpg** com apenas algumas linhas de código. + +> *Dica de especialista:* A mesma abordagem funciona para PNG, BMP ou qualquer formato suportado pelo motor OCR—basta trocar o nome do arquivo. + +## Como Realizar OCR em Java – Visão Geral + +Optical Character Recognition (OCR) é a tecnologia que transforma fotos de letras em texto real, pesquisável. No ecossistema Java existem várias bibliotecas—Tesseract, Asprise e SDKs comerciais—todas expondo um fluxo de trabalho semelhante: carregar uma imagem, informar ao motor qual idioma esperar, executar o reconhecimento e obter o resultado. A seguir usaremos uma classe genérica `OcrEngine` para manter o exemplo claro, mas você pode substituí‑la por qualquer implementação concreta que siga o mesmo padrão. + +### O Que Você Vai Aprender + +- Instalar uma biblioteca OCR (sim, **ocr in java** é mais fácil do que parece). +- Criar e configurar uma instância do motor OCR. +- Carregar um JPG (ou qualquer imagem) e definir o idioma. +- Processar a imagem e **extrair texto de arquivos de imagem**. +- Imprimir a string reconhecida no console. + +Ao final, você terá um programa Java autônomo que pode ser inserido em qualquer projeto e executado instantaneamente. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## Etapa 1 – Instalar e Importar uma Biblioteca OCR (ocr in java) + +Antes de escrever uma única linha de Java, você precisa de uma biblioteca que realmente faça o trabalho pesado. Se você usa Maven, adicione uma dependência assim (substitua `com.example.ocr` pelo ID de grupo real do SDK escolhido): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Se preferir Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Depois que o JAR estiver no seu classpath, importe as classes que você precisará: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Por que isso importa:** Importar as classes corretas evita erros “cannot find symbol” e deixa seu IDE feliz—não há nada mais frustrante que uma importação ausente quando você está tentando **convert image to text**. + +## Etapa 2 – Criar a Instância do Motor OCR (how to perform OCR) + +Agora que a biblioteca está pronta, inicialize o motor. Pense no motor como o cérebro que observará os pixels e adivinhará as letras. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Criar o motor geralmente é barato; a maioria dos SDKs aloca buffers internos de forma preguiçosa, então você pode reutilizar a mesma instância em várias imagens se estiver processando um lote. + +## Etapa 3 – Carregar a Imagem e Definir o Idioma (extract text from image) + +O próximo passo é fornecer algo para o motor ler. Aqui carregamos um JPEG do disco e informamos ao motor OCR que o texto está em mongol (código ISO 639‑2 “mon”). Você pode mudar o caminho ou o código do idioma para atender ao seu caso de uso. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Observação:** Se você não definir um idioma, o motor usa inglês por padrão, o que pode reduzir drasticamente a precisão quando o texto está realmente em cirílico ou outro script. Sempre especifique o idioma correto quando possível. + +## Etapa 4 – Processar a Imagem e Obter o Resultado (convert image to text) + +Com a imagem e o idioma configurados, peça ao motor para fazer sua mágica. A chamada `process()` executa o algoritmo OCR e devolve um objeto `OcrResult` contendo a string reconhecida e as pontuações de confiança. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Nos bastidores, o motor pode executar pré‑processamento—deskewing, binarização, redução de ruído—para que você não precise escrever essas etapas. É por isso que a maioria das bibliotecas OCR modernas são um prazer de usar em tarefas de **convert image to text**. + +## Etapa 5 – Exibir o Texto Extraído (read text from jpg) + +Finalmente, extraia o texto puro do resultado e faça algo útil com ele. Para esta demonstração, simplesmente o imprimimos no console, mas você poderia gravá‑lo em um arquivo, enviá‑lo para um índice de busca ou passá‑lo a outro serviço. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Essa linha por si só prova que você **leu texto de jpg** (ou de qualquer formato suportado). Se a saída parecer confusa, verifique novamente o código do idioma e a qualidade da imagem. + +## Exemplo Completo (Todas as Etapas Combinadas) + +A seguir, uma classe Java completa, pronta para ser executada, que une todas as partes. Copie‑a para um arquivo chamado `OcrDemo.java`, ajuste o caminho da imagem e o idioma, então execute `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Saída Esperada + +Se `input.jpg` contiver a frase mongol “Сайн байна уу?” o console mostrará: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Se a imagem estiver borrada ou o código do idioma estiver errado, você verá caracteres confusos ou uma string vazia—armadilhas comuns que discutiremos a seguir. + +## Armadilhas Comuns e Como Corrigi‑las + +| Sintoma | Causa Provável | Solução | +|---------|----------------|---------| +| Caracteres cirílicos confusos | Código de idioma errado (padrão em inglês) | Defina `ocrEngine.getSettings().setLanguage("mon")` ou o código apropriado. | +| Nenhuma saída | Caminho da imagem incorreto ou arquivo ilegível | Verifique o caminho, assegure que o arquivo exista e que o processo tenha permissão de leitura. | +| Baixa precisão (<70 %) | Imagem de baixo contraste ou rotacionada | Pré‑procese a imagem: aumente o contraste, corrija a rotação ou converta para escala de cinza antes de enviá‑la ao motor. | +| `OutOfMemoryError` em PDFs grandes | Carregamento de muitas páginas de alta resolução de uma vez | Processar páginas uma a uma, ou reduzir a resolução das imagens antes do OCR. | + +### Dica de Especialista: Processamento em Lote + +Se precisar **extrair texto de arquivos de imagem** em massa, envolva a lógica principal em um loop: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Esse trecho demonstra como é fácil escalar de um único JPG para uma pasta inteira de digitalizações. + +## Avançando – O Que Explorar a Seguir? + +- **Pacotes de Idioma:** A maioria dos SDKs OCR permite baixar arquivos de dados de idioma adicionais. Adicionar um novo pacote permite **convert image to text** para idiomas além de inglês e mongol. +- **OCR em PDF:** Combine este código com Apache PDFBox para + + +## O Que Você Deve Aprender a Seguir? + + +Os tutoriais abaixo cobrem tópicos intimamente relacionados que ampliam as técnicas demonstradas neste guia. Cada recurso inclui exemplos de código completos com explicações passo a passo para ajudá‑lo a dominar recursos adicionais da API e explorar abordagens de implementação alternativas em seus próprios projetos. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..f6584f9ef 100644 --- a/ocr/portuguese/java/ocr-operations/_index.md +++ b/ocr/portuguese/java/ocr-operations/_index.md @@ -82,6 +82,8 @@ 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. +### [Aplicar Licença Aspose OCR em Java – Remover Marca d'Água OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Aprenda a aplicar a licença Aspose OCR em Java para remover a marca d'água de OCR dos documentos. ## Perguntas Frequentes diff --git a/ocr/portuguese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/portuguese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..1316f2add --- /dev/null +++ b/ocr/portuguese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-06-06 +description: Aplique a licença Aspose OCR em Java para desbloquear todos os recursos + e remover a marca d'água OCR instantaneamente. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: pt +og_description: Aplique a licença Aspose OCR em Java para eliminar os limites de avaliação + e remover a marca d'água OCR das suas digitalizações. +og_title: Aplicar Licença Aspose OCR em Java – Remover Marca d'Água OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Aplicar Licença Aspose OCR em Java – Remover Marca d'água do OCR +url: /pt/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aplicar Licença Aspose OCR em Java – Remover Marca d'Água OCR + +Já se perguntou como **aplicar a licença Aspose OCR** em um projeto Java sem encontrar a temida marca d'água de avaliação? Você não está sozinho. No momento em que experimenta a versão gratuita, cada imagem escaneada recebe a sobreposição cinza “Aspose Evaluation”, e isso pode fazer até o documento mais limpo parecer pouco profissional. + +Neste guia vamos percorrer os passos exatos para **aplicar a licença Aspose OCR**, verificar se a biblioteca está totalmente desbloqueada e mostrar como a marca d'água desaparece automaticamente. Ao final, você poderá executar OCR em qualquer imagem — seja um recibo, um escaneamento de passaporte ou uma nota manuscrita — sem a sobreposição feia. + +## Pré‑requisitos + +Antes de começarmos, certifique‑se de que você tem: + +- **Java Development Kit (JDK) 8** ou mais recente instalado. +- **Aspose OCR for Java** arquivo JAR (download do portal Aspose). +- Seu **arquivo de licença Aspose OCR** (`Aspose.OCR.Java.lic`). +- Uma IDE ou um editor de texto simples (IntelliJ, Eclipse, VS Code—você decide). + +É só isso. Não são necessários plugins extras do Maven ou truques do Gradle, embora você possa adicioná‑los depois, se preferir. + +## Configuração do Projeto (Visão Geral Rápida) + +1. Crie uma nova pasta chamada `AsposeOCRDemo`. +2. Coloque o arquivo `aspose-ocr-*.jar` em uma subpasta `lib`. +3. Coloque seu arquivo `Aspose.OCR.Java.lic` em um local acessível, por exemplo, na pasta `resources/`. +4. Escreva um pequeno arquivo `Main.java`—é aqui que a mágica acontece. + +Se você estiver usando uma IDE, basta adicionar o JAR ao classpath do projeto e marcar a pasta `resources` como raiz de recursos. Se estiver compilando pela linha de comando, o classpath ficará mais ou menos assim: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Agora que a estrutura está pronta, vamos ao cerne da questão. + +## Etapa 1: **Aplicar Licença Aspose OCR** – O Código Principal + +A primeira coisa que você deve fazer é dizer ao motor Aspose OCR para confiar no seu arquivo de licença. Sem essa chamada, a biblioteca permanece em modo de avaliação e continuará adicionando a marca d'água a cada saída. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Por que isso importa:** A classe `License` é a guardiã. Assim que `setLicense` tem sucesso, o motor OCR muda de *avaliação* para *modo completo*. Todas as verificações internas que normalmente adicionam a lógica de **remover marca d'água OCR** são desativadas, de modo que você nunca mais verá a sobreposição cinza. +> +> **Dica profissional:** Mantenha o arquivo de licença fora do controle de versão (por exemplo, em uma pasta específica do ambiente) para evitar commits acidentais. + +## Etapa 2: Verificar se a Marca d'Água Foi Removida + +Depois de chamar `applyAsposeOcrLicense`, é uma boa prática executar um teste rápido. O trecho a seguir carrega uma imagem, realiza OCR e imprime o texto extraído. Se a licença não estiver ativa, a Aspose lançará uma exceção ou incorporará uma marca d'água na imagem de saída (caso você esteja salvando um resultado visual). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Saída esperada (trecho):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Observe que não há menção a nenhuma marca d'água de avaliação em lugar algum. Esse é o efeito de **remover marca d'água OCR** em ação. + +## Etapa 3: Armadilhas Comuns & Casos de Borda + +### 1. Caminho de Licença Incorreto +Se você passar um caminho incorreto para `setLicense`, o método falha silenciosamente e a biblioteca permanece em modo de avaliação. Sempre verifique o valor de retorno ou capture a exceção, como mostrado em `LicenseUtil`. + +### 2. Usando um Caminho Relativo em uma Implantação Baseada em JAR +Quando você empacota seu aplicativo como um JAR executável, caminhos relativos do sistema de arquivos podem quebrar. Uma abordagem mais segura é carregar a licença como um fluxo de recurso: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Coloque o arquivo `.lic` em `src/main/resources` para que ele termine no classpath. + +### 3. Cenários Multi‑Thread +Se sua aplicação processa muitas imagens simultaneamente, você só precisa aplicar a licença **uma vez** por JVM. Re‑chamar `setLicense` a partir de múltiplas threads pode causar uma pequena perda de desempenho, embora não quebre nada. + +### 4. Expiração da Licença +Licenças Aspose são normalmente perpétuas, mas algumas licenças de teste ou de tempo limitado podem expirar. Quando isso acontecer, o motor volta ao modo de avaliação e o comportamento de **remover marca d'água OCR** desaparece. Fique de olho na data de expiração da licença no portal Aspose. + +## Etapa 4: Automatizando a Aplicação da Licença em Projetos Reais + +Em um microserviço de produção, provavelmente você não quer espalhar `LicenseUtil.applyAsposeOcrLicense` por todo o código. Em vez disso, inicialize‑a uma única vez durante a inicialização da aplicação — pense no método `@PostConstruct` do Spring Boot ou em um bloco estático de inicialização. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Agora cada componente que usa `OcrEngine` pode assumir com segurança que a licença já está ativa, garantindo a **remover marca d'água OCR** em todo o serviço. + +## Etapa 5: Testando a Integração da Licença + +Testes automatizados podem confirmar que a marca d'água realmente desapareceu. Um teste JUnit simples pode ser assim: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Executar esse teste lhe dá confiança de que seu pipeline de implantação não enviará acidentalmente uma build sem licença. + +## Visão Geral Visual (Opcional) + +Se você gosta de ver as coisas graficamente, aqui está um esquema rápido do fluxo: + +![Aplicar Licença Aspose OCR em Java](apply-aspose-ocr-license.png "Aplicar Licença Aspose OCR em Java") + +*Texto alternativo: Aplicar Licença Aspose OCR em Java – diagrama mostrando o carregamento da licença e o processamento OCR sem marca d'água.* + +## Conclusão + +Cobrimos tudo o que você precisa para **aplicar a licença Aspose OCR** em um ambiente Java e, como efeito colateral direto, **remover a marca d'água OCR** de todas as imagens processadas. Desde a criação do objeto `License`, passando por lidar com peculiaridades de caminho, verificar o resultado, até integrá‑lo em uma aplicação maior — cada passo foi explicado com o “porquê” por trás dele, não apenas o “como”. + +Agora você pode integrar Aspose OCR em qualquer projeto Java, confiante de que seus usuários nunca mais verão aquela tag de avaliação distraente. + +### O Que Vem a Seguir? + +- **Explore pacotes de idiomas:** Aspose OCR suporta mais de 70 idiomas; basta definir a propriedade apropriada do `OcrEngine`. +- **Combine com Aspose PDF:** Converta imagens escaneadas diretamente em PDFs pesquisáveis sem marca d'água. +- **Ajuste de desempenho** + +## O Que Você Deve Aprender a Seguir? + +Os tutoriais a seguir abordam tópicos estreitamente relacionados que ampliam as técnicas demonstradas neste guia. Cada recurso inclui exemplos de código completos e funcionais com explicações passo a passo para ajudá‑lo a dominar recursos adicionais da API e explorar abordagens de implementação alternativas em seus próprios projetos. + +- [Como Definir Licença e Verificar Licença Aspose.OCR em Java](/ocr/english/java/ocr-basics/set-license/) +- [Reconhecer imagem de texto com Aspose OCR – Tutorial Completo de OCR Java](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calcular Ângulo de Inclinação com Aspose OCR Java – Guia Completo](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..00660f2b5 100644 --- a/ocr/russian/java/advanced-ocr-techniques/_index.md +++ b/ocr/russian/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,19 @@ Aspose.OCR для Java меняет правила игры, когда дело Расширьте возможности своих Java-приложений с помощью Aspose.OCR для точного распознавания текста. Простая интеграция, высокая точность. ### [Указание разрешенных символов в Aspose.OCR](./specify-allowed-characters/) Легко разблокируйте извлечение текста из изображений с помощью Aspose.OCR для Java. Следуйте нашему пошаговому руководству для эффективной интеграции. +### [Как включить GPU в Java OCR – Полное пошаговое руководство](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Полное пошаговое руководство по включению GPU в Aspose.OCR для Java, повышающее производительность распознавания текста. +### [Извлечение текста из отсканированного изображения в Java – Полное руководство Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Полное пошаговое руководство по извлечению текста из отсканированных изображений в Java с использованием Aspose OCR. +### [Aspose OCR Java пример — Полное руководство по загрузке изображения, исправлению орфографии и обработке OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Полное руководство по загрузке изображения, исправлению орфографии и выполнению OCR с помощью Aspose OCR для Java. +### [Улучшение точности OCR в Java – Полное руководство](./improve-ocr-accuracy-in-java-complete-guide/) +### [Создание поискового PDF в Java – Полное руководство Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Полное руководство по созданию поискового PDF в Java с помощью Aspose OCR, включая загрузку изображений и преобразование в PDF. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/russian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..bd2096da1 --- /dev/null +++ b/ocr/russian/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-06-06 +description: Пример Aspose OCR на Java, показывающий, как загрузить изображение для + OCR, исправить ошибки OCR, задать пользовательский словарь и выполнить OCR изображения + всего за несколько шагов. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: ru +og_description: Пример Aspose OCR на Java, который загружает изображение, исправляет + ошибки OCR, задает пользовательский словарь и эффективно обрабатывает OCR изображения. +og_title: Пример Aspose OCR на Java – Загрузка изображения, исправление орфографии + и обработка OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Пример Aspose OCR на Java – Полное руководство по загрузке изображения, исправлению + орфографии и обработке OCR +url: /ru/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java пример – Полное руководство по загрузке изображения, исправлению орфографии и обработке OCR + +Когда‑нибудь вам нужен был **Aspose OCR Java example**, который действительно работает сразу же? Вы не одиноки — разработчики часто смотрят на размытый скриншот и задаются вопросом, почему извлечённый текст — это беспорядок. Хорошая новость в том, что OCR‑движок Aspose уже поставляется со встроенной коррекцией орфографии, и вы даже можете подключить свой собственный список слов. В этом руководстве мы пройдём процесс загрузки изображения для OCR, включения функции коррекции, при необходимости установки пользовательского словаря и, наконец, обработки OCR изображения, чтобы получить чистый, читаемый текст. + +Мы также расскажем, почему вам может понадобиться **correct OCR errors**, как эффективно **load image OCR**, преимущества вызова **set custom dictionary**, и как выглядит сквозной процесс **process image OCR**. К концу вы получите полностью готовую Java‑программу, которую можно добавить в любой проект Maven или Gradle. + +--- + +## Что понадобится + +- Java 8 или новее (API также работает с Java 11+) +- Aspose.OCR for Java library (скачайте последнюю JAR с сайта Aspose или добавьте Maven‑зависимость) +- Файл изображения, содержащий текст (желательно отсканированный документ или скриншот с некоторым шумом) +- Опционально: файл словаря в формате plain‑text, если вы хотите **установить пользовательский словарь** для терминов, специфичных для домена + +И всё—никаких тяжёлых OCR‑движков, никаких нативных зависимостей, только один JAR и несколько строк кода. + +--- + +## Шаг 1: Aspose OCR Java пример – Загрузка изображения OCR + +Первое, что нужно сделать, — создать экземпляр `OcrEngine` и указать ему файл, который вы хотите проанализировать. Считайте это открытием книги перед тем, как начать чтение. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Почему это важно:** Вызов `setImage` является сердцем **загрузки изображения OCR**. Без корректного изображения движок нечего распознавать, и вы получите пустую строку или исключение. + +![пример Aspose OCR Java загрузка изображения](image.png){alt="пример Aspose OCR Java загрузка изображения"} + +--- + +## Шаг 2: Включить коррекцию орфографии для исправления ошибок OCR + +Aspose OCR поставляется с включённой коррекцией орфографии по умолчанию, но никогда не помешает явно указать её — особенно когда вы демонстрируете **aspose ocr java example**. Включение этой функции резко уменьшает бессмыслицу вроде “t1e” или “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Совет:** Если вы заметите, что движок всё ещё неправильно распознаёт отдельные слова, проверьте настройки языка или добавьте пользовательский словарь (следующий шаг). + +Включение коррекции орфографии — самый быстрый способ **correct OCR errors** без написания дополнительного кода. + +--- + +## Шаг 3: Установить пользовательский словарь для повышения точности + +Иногда стандартный словарь не знает ваш отраслевой жаргон — например, медицинские термины, коды продуктов или названия брендов. Здесь в игру вступает **set custom dictionary**. Предоставьте plain‑text файл, по одному слову в строке, и OCR‑движок будет рассматривать эти записи как корректные при исправлении. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Когда использовать:** Если вы обрабатываете счета и названия компаний постоянно искажаются, пользовательский словарь, содержащий эти названия, сделает этап **process image OCR** гораздо надёжнее. + +--- + +## Шаг 4: Обработать изображение OCR и получить текст + +Теперь, когда движок настроен, пришло время запустить распознавание. Метод `process` выполняет всю тяжёлую работу — обнаруживает текстовые блоки, применяет коррекцию орфографии и возвращает объект `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Что вы увидите:** Консоль выводит чистую, читаемую строку. Если бы вы отключили коррекцию орфографии, вы бы, вероятно, увидели странные символы, поэтому её включение ранее критично для **correct OCR errors**. + +--- + +## Шаг 5: Запустить пример и проверить вывод + +Скомпилируйте и выполните класс в вашей любимой IDE или из командной строки: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Вы должны увидеть что‑то вроде: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Если вывод всё ещё содержит орфографические ошибки, попробуйте добавить эти слова в ваш пользовательский словарь и повторно выполнить шаг **process image OCR**. + +--- + +## Распространённые подводные камни и как их избежать + +| Проблема | Почему происходит | Решение | +|----------|-------------------|---------| +| **Пустой вывод** | Неправильный путь к изображению или неподдерживаемый формат | Проверьте путь, используйте PNG/JPEG и убедитесь, что файл доступен для чтения | +| **Мусорные символы** | Отключена коррекция орфографии или низкое качество изображения | Включите `setEnableSpellCorrection(true)` и рассмотрите предварительную обработку изображения (увеличьте контраст) | +| **Слова, специфичные для домена, всё ещё ошибочны** | Отсутствует пользовательский словарь | Используйте `setCustomDictionary` с файлом, содержащим ваши термины | +| **Ошибки Out‑of‑memory** | Очень большие изображения загружаются без масштабирования | Измените размер изображения перед передачей его в `OcrEngine` | + +--- + +## Расширение примера + +Теперь, когда у вас есть надёжный **aspose ocr java example**, вы можете захотеть: + +- **Пакетная обработка** папки изображений путем перебора имён файлов и повторного использования того же экземпляра `OcrEngine`. +- **Извлечь информацию о макете** (таблицы, колонки) с помощью `ocrResult.getPages()` для более продвинутого анализа документов. +- **Интегрировать с Apache PDFBox** для встраивания распознанного текста обратно в PDF. + +Все эти расширения основаны на тех же основных шагах, которые мы рассмотрели: загрузка изображения OCR, включение коррекции, при необходимости установка пользовательского словаря и обработка изображения OCR. + +--- + +## Заключение + +Вы только что создали полный **aspose ocr java example**, который загружает изображение, включает коррекцию орфографии для **correct OCR errors**, при необходимости **устанавливает пользовательский словарь**, и в конце **process image OCR** для получения чистого текста. Код короткий, концепции ясны, и теперь у вас есть основа, которую можно расширять для пакетных задач, интеграций с UI или даже облачных микросервисов. + +Что дальше? Попробуйте подать в движок фото низкого разрешения, добавьте список артикулов продуктов в ваш пользовательский словарь и посмотрите, как улучшится точность. Чем больше вы экспериментируете, тем лучше понимаете компромиссы между качеством изображения, размером словаря и скоростью обработки. + +Не стесняйтесь оставить комментарий, если столкнётесь с проблемами или у вас есть идеи для дальнейших улучшений. Счастливого кодинга! + +## Что вам стоит изучить дальше? + +- [Как установить лицензию и проверить лицензию Aspose.OCR в Java](/ocr/english/java/ocr-basics/set-license/) +- [Как выполнять OCR текста изображения с указанием языка, используя Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java пример – Распознавание строк на изображениях](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/russian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..4a5c21c71 --- /dev/null +++ b/ocr/russian/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Создайте PDF с возможностью поиска на Java с помощью Aspose OCR. Узнайте, + как извлекать текст из PDF, повышать точность OCR и эффективно обрабатывать многостраничные + PDF. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: ru +og_description: Создайте PDF с возможностью поиска на Java с использованием Aspose + OCR. Это руководство проведёт вас через извлечение текста из PDF, повышение точности + OCR и работу с многостраничными PDF. +og_title: Создание PDF с возможностью поиска в Java – Полный учебник по Aspose OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Создание PDF с возможностью поиска в Java – Полное руководство по Aspose OCR +url: /ru/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Создание поискового PDF в Java – Полное руководство по Aspose OCR + +Когда‑то задумывались, как **создать поисковый PDF** прямо из Java без необходимости использовать десятки утилит командной строки? Вы не одиноки. Многие разработчики сталкиваются с проблемой, когда нужно превратить отсканированные PDF‑файлы в документы, доступные для поиска по тексту, особенно если исходные PDF состоят из нескольких страниц. + +В этом руководстве мы пройдем полный, готовый к запуску пример, который не только **создаёт поисковые PDF** файлы, но и показывает, как **извлекать текст из PDF**, **повышать точность OCR** и обрабатывать **многостраничный PDF с OCR** с помощью библиотеки Aspose OCR. К концу вы получите готовый, готовый к продакшну фрагмент кода, который можно вставить в любой Java‑проект. + +## Что понадобится + +- Java 17 или новее (код компилируется и в более старых версиях, но JDK 17 — оптимальный вариант) +- Maven или Gradle для подключения зависимости `aspose-ocr` +- Пример многостраничного PDF (назовём его `sample_multi_page.pdf`) +- Умеренный GPU или, как минимум, многопроцессорный CPU, если хотите включить параллельную обработку + +Дополнительные нативные библиотеки не требуются — Aspose OCR уже содержит всё необходимое. + +--- + +## Создание поискового PDF – пошаговая реализация + +Ниже процесс разбит на логические блоки. Каждый раздел имеет свой заголовок H2, чтобы вы могли сразу перейти к нужной части, а основной ключевой запрос присутствует прямо в заголовке. + +### Шаг 1: Настройка проекта и импорт Aspose OCR + +Сначала добавьте Maven‑артефакт Aspose OCR в ваш `pom.xml`. Если вы предпочитаете Gradle, эквивалентный фрагмент приведён в комментариях. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Держите зависимости в актуальном состоянии; новые релизы часто приносят улучшения точности, которые напрямую помогают вам **повысить точность OCR**. + +### Шаг 2: Загрузка многостраничного PDF в OCR‑движок + +Теперь создаём экземпляр `OcrEngine` и передаём ему PDF, который нужно обработать. Движок рассматривает каждую страницу как изображение, поэтому такой подход работает для сценария **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Почему это важно:** Загрузка PDF один раз и передача управления пагинацией движку избавляет от необходимости вручную извлекать каждую страницу, экономя время и память. + +### Шаг 3: Включение расширенных функций для **повышения точности OCR** + +Aspose OCR предлагает несколько настроек. Включение ускорения через GPU, увеличение количества потоков и указание нескольких языков — всё это способствует лучшему распознаванию, особенно на шумных сканах. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Что делать, если у вас нет GPU?** Просто установите `setUseGpu(false)`; движок переключится в режим только CPU, но всё равно будет использовать многопоточность. + +### Шаг 4: Предобработка изображений для лучших результатов + +Шаги предобработки, такие как исправление наклона, удаление шума и повышение контрастности, значительно **повышают точность OCR** на отсканированных документах. Представьте это как полировку грубого камня перед резьбой. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Почему такие настройки?** Уровень шумоподавления `2` хорошо подходит для большинства отсканированных PDF, а умеренное увеличение контрастности (1.3×) усиливает бледные чернила, не «выжигая» фон. + +### Шаг 5: Настройка вывода для генерации поискового PDF + +Aspose OCR может встроить слой распознанного текста непосредственно в PDF, превращая плоский файл‑изображение в **поисковый PDF**. Это и есть ядро вопроса «как сделать searchable pdf», который часто задают разработчики. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Когда включено `setGenerateSearchablePdf(true)`, библиотека создаёт невидимый текстовый слой, соответствующий визуальному содержимому, делая конечный документ поисковым в любом PDF‑просмотрщике. + +### Шаг 6: Запуск OCR и сохранение результата + +Теперь мы действительно обрабатываем документ и записываем файл вывода. Метод `process` возвращает объект `OcrResult`, содержащий как поисковый PDF, так и извлечённый простой текст. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Шаг 7: (Опционально) **Извлечь текст из PDF** для немедленного использования + +Если вам также нужен «сырой» текст — для индексации, аналитики или простого отображения на веб‑странице — вы можете получить его напрямую из `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Что вы увидите:** Консоль выведет конкатенированный текст всех страниц, сохраняя разрывы строк там, где это возможно. Это удовлетворяет требование **extract text from pdf** без второго прохода. + +--- + +## Визуальный обзор + +Ниже простая блок‑схема, связывающая каждый шаг с соответствующим блоком кода. Она помогает визуализировать, как входной PDF проходит через предобработку, OCR и в конечном итоге превращается в поисковый документ. + +![Create searchable PDF flow diagram](https://example.com/flow-diagram.png "Create searchable PDF flow diagram") + +*Alt‑текст содержит основной ключевой запрос для удовлетворения требований SEO к изображениям.* + +--- + +## Часто задаваемые вопросы и особые случаи + +| Вопрос | Ответ | +|----------|--------| +| **Можно ли обрабатывать PDF‑файлы размером более 100 МБ?** | Да, но рекомендуется потоково считывать страницы вместо загрузки всего файла в память. Aspose OCR внутренне управляет пагинацией, однако для очень больших файлов может потребоваться увеличить размер кучи JVM (`-Xmx4g`). | +| **Что если в PDF есть рукописные заметки?** | Распознавание рукописного текста не включено по умолчанию. При необходимости можно переключить на `setLanguage("eng,mon,handwritten")`, если версия библиотеки поддерживает это, хотя точность будет варьироваться. | +| **Нужна ли лицензия для Aspose OCR?** | Временная оценочная лицензия подходит для тестирования. Для продакшна приобретите коммерческую лицензию, чтобы убрать водяные знаки и раскрыть полную производительность. | +| **Как отключить коррекцию орфографии?** | Вызовите `ocr.getSettings().setEnableSpellCorrection(false);` — полезно, когда нужен «сырой» OCR‑вывод для судебных целей. | +| **Обязательно ли использовать GPU?** | Нет. Библиотека автоматически переходит в режим CPU. Тем не менее, GPU может сократить время обработки до 60 % на больших многостраничных документах. | + +--- + +## Полный рабочий пример (готов к копированию) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Ожидаемый вывод** + +- `output_searchable.pdf` — PDF, в котором можно нажать Ctrl + F и найти любое слово, присутствующее в отсканированных изображениях. +- Журнал консоли — полный текстовое содержание оригинального PDF, идеально подходящее для индексации или дальнейшего анализа. + +--- + +## Заключение + +Мы продемонстрировали, как **создавать поисковые PDF** файлы в Java с помощью Aspose OCR, а также как **извлекать текст из PDF**, **повышать точность OCR** и эффективно обрабатывать **многостраничный PDF с OCR**. Полный фрагмент кода выше готов к вставке в ваш проект, а пояснения дают уверенность в настройке параметров под ваш конкретный случай. + +Что дальше? Попробуйте поэкспериментировать с внедрением пользовательских шрифтов, добавить закладки, сгенерированные OCR, или интегрировать результат с поисковым движком, например Elasticsearch. Все эти темы связаны с нашими вторичными ключевыми запросами — *how to make searchable pdf* и *increase OCR accuracy* — так что у вас есть чёткий путь для более глубокого изучения. + +Не стесняйтесь делиться опытом или задавать дополнительные вопросы в комментариях. Приятного кодинга и наслаждайтесь превращением статичных сканов в полностью поисковые, текстово‑богатые PDF! + +## Что изучать дальше? + +Следующие руководства охватывают тесно связанные темы, расширяющие техники, продемонстрированные в этом руководстве. Каждый ресурс включает полностью рабочие примеры кода с пошаговыми объяснениями, чтобы помочь вам освоить дополнительные возможности API и исследовать альтернативные подходы в собственных проектах. + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/russian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..c958401a3 --- /dev/null +++ b/ocr/russian/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,274 @@ +--- +category: general +date: 2026-06-06 +description: Извлеките текст из отсканированного изображения с помощью Aspose OCR + для Java. Узнайте, как распознавать текст из файлов TIFF с параллельной обработкой. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: ru +og_description: Извлекайте текст из отсканированного изображения с помощью Aspose + OCR. Это руководство показывает, как эффективно распознавать текст из файлов TIFF, + используя Java. +og_title: Извлечение текста из отсканированного изображения – учебник Aspose OCR Java +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Извлечение текста из отсканированного изображения в Java — Полное руководство + по Aspose OCR +url: /ru/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Извлечение текста из отсканированного изображения – Полное руководство по Aspose OCR + +Когда‑то вам нужно было **извлечь текст из отсканированного изображения**, но вы не знали, как это сделать? Вы не одиноки. Будь то оцифровка старых архивов, извлечение данных из счетов‑фактур или создание библиотеки PDF с возможностью поиска, получение надёжного текста из TIFF‑скана может стать проблемой. + +Хорошие новости: с Aspose OCR for Java вы можете **распознавать текст из tiff** файлов всего в несколько строк кода, а также ускорить процесс, ограничив движок несколькими ядрами CPU. В этом руководстве мы пройдём весь процесс — от настройки библиотеки до обработки результата — чтобы вы могли сразу скопировать и вставить рабочий пример. + +## Что покрывает это руководство + +- Установка Aspose OCR for Java (Maven или ручное добавление JAR) +- Загрузка большого отсканированного TIFF‑изображения +- Настройка движка для использования до 4 потоков (параллельный OCR) +- Запуск процесса OCR и вывод извлечённого текста +- Распространённые подводные камни (память, много‑страничные TIFF) и как их избежать +- Быстрый совет по производительности: когда настраивать `setMaxThreads` + +К концу вы сможете **извлекать текст из отсканированных изображений** надёжно и поймёте, почему изменение количества потоков имеет значение при *распознавании текста из tiff* в производственной цепочке. + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Предварительные требования + +Прежде чем начать, убедитесь, что у вас есть: + +1. **Java Development Kit (JDK) 8+** — любая современная версия подходит. +2. **Maven** (или возможность добавить JAR‑файлы вручную) — мы будем использовать Maven для простоты. +3. Лицензия **Aspose OCR for Java** (бесплатная оценочная версия работает, но добавляет водяной знак). +4. Большой **TIFF‑скан** (например, `large_scan.tif`), который вы хотите обработать. + +Если что‑то из этого вам незнакомо, не переживайте — каждый шаг объяснён ниже. + +## Шаг 1: Добавьте Aspose OCR в ваш проект + +### Пользователи Maven + +Добавьте следующую зависимость в ваш `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Ручная настройка JAR + +Скачайте последнюю версию `aspose-ocr-xx.jar` с сайта Aspose и разместите её в classpath. + +> **Pro tip:** Храните JAR в папке `libs/` и укажите её в настройках проекта IDE. Это избавит от неожиданностей типа «class not found» позже. + +## Шаг 2: Создайте простой Java‑класс + +Создайте файл `ParallelOcrDemo.java` в папке исходного кода (`src/main/java`). Этот класс будет содержать весь рабочий процесс OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Почему мы ограничиваем потоки:** По умолчанию Aspose OCR пытается задействовать все ядра, что может «голодать» другие сервисы на совместно используемом сервере. Установка `setMaxThreads(4)` сообщает движку использовать до четырёх параллельных работников — достаточно для заметного ускорения на большинстве современных процессоров без монополизации ресурсов. + +## Шаг 3: Скомпилируйте и запустите + +Откройте терминал в корне проекта и выполните: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Если вы не используете Maven, компилируйте с помощью `javac` и запускайте: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Ожидаемый вывод + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Консоль выведет обычный текст того, что было на отсканированной странице. Если изображение содержит несколько страниц, Aspose OCR объединит их в порядке следования. + +## Шаг 4: Обработка много‑страничных TIFF (особый случай) + +Распространённый сценарий — **много‑страничный TIFF** — например, отсканированная книга. По умолчанию `OcrInputImage` читает только первый кадр. Чтобы обработать все страницы, используйте `OcrInputImage` с `FileInputStream` и включите поддержку много‑страничных файлов: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Теперь `ocrEngine.process()` вернёт один `OcrResult`, содержащий объединённый текст со всех страниц. + +## Шаг 5: Тонкая настройка точности распознавания + +Если вы замечаете **искажённые символы** или пропущенные слова, попробуйте следующие настройки: + +| Параметр | Что делает | Когда использовать | +|----------|------------|---------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Принудительно использует английскую модель (быстрее и точнее для английских сканов) | Документ однородно на английском | +| `ocrEngine.getSettings().setResolution(300)` | Увеличивает низко‑разрешённые изображения перед распознаванием | Скан ниже 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Пытается очистить пятна и артефакты | Скан с сильным шумом | + +Пример кода: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Шаг 6: Экспорт результатов в файл + +Вывод в консоль подходит для демонстраций, но в продакшене обычно пишут результат в полезное место: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Теперь у вас есть обычный текстовый файл, который можно передать в поисковый индекс, базу данных или последующий аналитический конвейер. + +--- + +## Часто задаваемые вопросы (FAQ) + +**В: Работает ли это с PNG или JPEG?** +О: Абсолютно. `OcrInputImage` принимает любой формат, который может прочитать Java ImageIO. Просто замените расширение файла в пути. + +**В: На моём сервере 8 ядер — нужно ли ставить `setMaxThreads(8)`?** +О: Можно, но помните, что другим сервисам тоже нужны CPU‑циклы. Хорошее правило — «общее количество ядер – 1» для выделенных OCR‑рабочих. + +**В: Что делать, если результат OCR пустой?** +О: Проверьте, что изображение не полностью белое, что указана правильная язык‑модель, и что разрешение минимум 200 DPI. Скан низкого качества часто требует предварительной обработки (выравнивание, повышение контрастности) перед передачей в Aspose OCR. + +--- + +## Итоги + +Мы только что **извлекли текст из отсканированных изображений** с помощью Aspose OCR for Java и теперь знаем, как **распознавать текст из tiff** эффективно, используя параллельную обработку. Полный код находится в приведённых выше фрагментах, и вы можете сразу скопировать‑вставить его в свой проект. + +### Что дальше? + +- **Пакетная обработка**: перебрать каталог TIFF‑файлов, сохранять каждый результат в отдельный файл. +- **Интеграция с Elasticsearch**: индексировать извлечённый текст для быстрого полнотекстового поиска. +- **Добавление определения языка**: использовать `OcrLanguage.AutoDetect` для многоязычных документов. + +Экспериментируйте с этими идеями, и вы быстро превратите гору отсканированных бумаг в поисковые, пригодные к использованию данные. + +Удачной разработки, и оставляйте комментарии, если столкнётесь с проблемами! + +## Что стоит изучить дальше? + +Следующие руководства охватывают тесно связанные темы, расширяющие техники, продемонстрированные в этом пособии. Каждый ресурс включает полностью работающие примеры кода с пошаговыми объяснениями, чтобы помочь вам освоить дополнительные возможности API и исследовать альтернативные подходы в собственных проектах. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/russian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..3bbc01dba --- /dev/null +++ b/ocr/russian/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-06-06 +description: Как включить GPU в Java OCR и извлечь текст из файлов JPEG. Следуйте + этому примеру Java OCR, чтобы преобразовать изображение в текст с ускорением GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: ru +og_description: Как включить GPU в Java OCR и мгновенно извлекать текст из JPEG‑изображений. + Это руководство показывает полный пример Java OCR с ускорением на GPU. +og_title: Как включить GPU в Java OCR — Полное пошаговое руководство +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Как включить GPU в Java OCR – полное пошаговое руководство +url: /ru/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как включить GPU в Java OCR – Полное пошаговое руководство + +Когда‑нибудь задумывались **как включить GPU** для оптического распознавания символов в Java? Вы не одиноки — разработчики постоянно спрашивают: «Могу ли я ускорить OCR, не переписывая всё заново?» Краткий ответ — да, а подробный — прямо здесь. В этом руководстве мы пройдем через **java ocr example**, который **извлекает текст из JPEG** файлов, **преобразует изображение в текст**, и использует **GPU accelerated OCR** для молниеносных результатов. + +Мы начнём с настройки библиотеки Aspose OCR, загрузим пример JPEG, включим поддержку GPU, запустим движок и, наконец, выведем распознанный текст. К концу у вас будет переиспользуемый фрагмент кода, который можно вставить в любой Java‑проект, а также набор советов, помогающих избежать типичных ошибок. Без лишних слов — только то, что действительно нужно, чтобы приступить к работе. + +## Требования + +Прежде чем погрузиться в детали, убедитесь, что у вас есть: + +* Установлен Java 8 или новее (код использует стандартные API, так что любой современный JDK подойдёт). +* Совместимая видеокарта с актуальными драйверами — большинство современных карт NVIDIA/AMD подходят. +* Библиотека Aspose.OCR для Java (можно получить из Maven Central или с сайта Aspose). +* JPEG‑изображение, которое вы хотите обработать OCR — будем называть его `sample.jpg`. + +Вот и всё. Если что‑то из перечисленного вам незнакомо, сделайте паузу и установите недостающие компоненты; остальная часть руководства предполагает, что они уже готовы к работе. + +## Как включить GPU в Java OCR – Обзор + +Ниже представлена быстрая схема того, чего мы добьёмся: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Подумайте о GPU как о турбонаддуве для вашего OCR‑движка — вместо того, чтобы процессор обрабатывал каждый пиксель последовательно, видеокарта берёт на себя тяжёлую работу в параллельном режиме. Результат? Более быстрые времена обработки, особенно для сканов высокого разрешения. + +## Шаг 1: Настройка проекта и импорт Aspose OCR + +Сначала создайте новый Maven‑проект (или Gradle, если предпочитаете). Добавьте зависимость Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Если вы не используете Maven, скачайте JAR‑файл с сайта Aspose и добавьте его в classpath. Этот шаг является фундаментом любого **java ocr example**, который вы когда‑либо напишете, так что дважды проверьте, что библиотека правильно подключена. + +## Шаг 2: Загрузка JPEG‑изображения (Extract Text from JPEG) + +Теперь напишем код, который читает JPEG‑файл. Класс `OcrInputImage` принимает путь, который мы передаём в `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Почему это важно:** Правильная загрузка изображения — первый шаг в любом рабочем процессе **convert image to text**. Если путь указан неверно, движок бросит исключение ещё до того, как дойдёт до стадии GPU. + +## Шаг 3: Включение ускорения GPU (How to Enable GPU) + +Вот ядро руководства — включение поддержки GPU. Объект `OcrSettings` раскрывает флаг `setUseGpu`. Просто установите его в `true`, и всё готово. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** Убедитесь, что драйвер видеокарты обновлён. Устаревшие драйверы часто приводят к тому, что вызов `setUseGpu(true)` тихо не срабатывает, оставляя вас с производительностью только CPU. + +## Шаг 4: Запуск OCR‑движка (Java OCR Example) + +С загруженным изображением и включённым GPU запустите процесс OCR. Движок возвращает объект `OcrResult`, содержащий распознанный текст. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +За кулисами Aspose разбивает изображение на плитки, отправляет их на GPU для параллельного вывода и собирает результаты обратно. Именно это делает опыт **gpu accelerated ocr** заметно быстрее, чем стандартный путь через CPU. + +## Шаг 5: Вывод распознанного текста (Convert Image to Text) + +Наконец, выведите результат в консоль. В реальном приложении вы, вероятно, запишете его в файл или базу данных, но для демонстрации достаточно простого `System.out.println`. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Ожидаемый вывод + +Предположим, что `sample.jpg` содержит фразу «Hello, World!», вы должны увидеть: + +``` +Recognized text: +Hello, World! +``` + +Если изображение более сложное (много строк, таблицы и т.д.), вывод будет содержать разрывы строк и отступы, отражающие оригинальную разметку. В этом и заключается прелесть OCR‑движка Aspose — он сохраняет структуру при преобразовании изображения в текст. + +## Полный рабочий пример + +Собрав всё вместе, получаем полностью готовую к запуску программу: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Сохраните её как `GpuOcrDemo.java`, скомпилируйте командой `javac` и запустите через `java`. Если всё настроено правильно, консоль мгновенно отобразит извлечённый текст. + +## Часто задаваемые вопросы и особые случаи + +### 1. Мой GPU не используется — в чём дело? + +* **Проверьте версию драйвера** — старые драйверы могут не предоставлять требуемые вычислительные возможности. +* **Убедитесь в поддержке GPU** — Aspose требует совместимую с CUDA видеокарту NVIDIA или карту AMD с поддержкой OpenCL. Если у вас ноутбук с отключённым дискретным GPU, включите его в BIOS или в панели управления графикой. +* **Посмотрите логи** — Aspose выводит отладочную строку, когда режим GPU активен. Включите логирование через `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. Результат OCR искажен на изображении низкого разрешения. + +* **Предобработайте JPEG** — увеличьте разрешение минимум до 300 dpi, примените повышение контрастности или преобразуйте в градации серого перед передачей в движок. +* **Отрегулируйте настройки** — можно изменить `ocr.getSettings().setLanguage(OcrLanguage.English)` или включить `setUseLanguageDetection(true)` для повышения точности. + +### 3. Можно ли обрабатывать несколько изображений пакетно? + +Конечно. Оберните блоки загрузки и обработки в цикл, переиспользуя один экземпляр `OcrEngine`. Не забудьте вызывать `ocr.reset()` между итерациями, чтобы очистить предыдущее изображение. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Работает ли ускорение GPU на безголовых серверах? + +Да, при условии, что сервер оснащён поддерживаемой видеокартой и правильными драйверами. На Linux может потребоваться установить пакет `nvidia-utils` и убедиться, что набор инструментов `CUDA` находится в `PATH`. + +## Pro Tips для production‑ready GPU OCR + +* **Размер пакета имеет значение** — крупные изображения выигрывают от параллелизма GPU. Если вы обрабатываете крошечные иконки, накладные расходы на передачу данных в GPU могут превысить выгоду. +* **Управление памятью** — у GPU ограниченный VRAM. Для очень больших PDF‑файлов или сканов в несколько мегапикселей разбивайте изображение на более мелкие плитки вручную. +* **Обработка ошибок** — оберните вызов OCR в `try‑catch` и при возникновении `UnsupportedOperationException` переключайтесь в режим CPU (`setUseGpu(false)`). + +## Заключение + +Мы только что рассмотрели, **как включить GPU** в **java ocr example**, показали, как **извлекать текст из JPEG** файлов, и продемонстрировали чистый способ **преобразования изображения в текст** с помощью **gpu accelerated OCR** от Aspose. Полный фрагмент кода выше готов к вставке в любой Java‑проект, а приведённые советы помогут избежать типичных проблем. + +Что дальше? Попробуйте добавить языковые пакеты, поэкспериментировать с другими форматами изображений (PNG, TIFF) или интегрировать вывод в поисковый индекс. Возможности безграничны, когда OCR сочетается с мощью GPU. + +Есть вопросы по GPU‑ускоренному OCR или нужна помощь с настройкой? Оставляйте комментарий, и счастливого кодинга! + +![Как включить GPU в примере Java OCR](https://example.com/images/gpu-ocr-java.png "Как включить GPU в Java OCR") + +## Что стоит изучить дальше? + +Следующие руководства охватывают тесно связанные темы, расширяющие техники, продемонстрированные в этом пособии. Каждый ресурс включает полностью работающие примеры кода с пошаговыми объяснениями, чтобы помочь вам освоить дополнительные возможности API и исследовать альтернативные подходы в собственных проектах. + +- [Извлечение текста из изображений – основы OCR с Aspose.OCR для Java](/ocr/english/java/ocr-basics/) +- [Преобразование изображения в текст в Java с использованием Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Как выполнять OCR текста изображения с учётом языка, используя Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/russian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..4f892733a --- /dev/null +++ b/ocr/russian/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-06-06 +description: Повышайте точность OCR в Java с пошаговым руководством, показывающим, + как загружать изображение для OCR, обрабатывать его и эффективно извлекать текст + со сканированной страницы. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: ru +og_description: Повышайте точность OCR в Java с практическим примером. Узнайте, как + загрузить изображение для OCR, выполнить предобработку и распознать текст со сканированной + страницы. +og_title: Повышение точности OCR в Java – Полный учебник +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Улучшение точности OCR в Java – Полное руководство +url: /ru/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Улучшение точности OCR в Java – Полное руководство + +Задумывались ли вы когда‑нибудь, как **улучшить точность OCR**, когда работаете со сканами старых книг или размытыми чеками? Вы не одиноки. Во многих реальных проектах необработанный вывод OCR‑движка выглядит как непонятный набор символов, и обычно это происходит потому, что изображение не было правильно предобработано перед тем, как вы **выполнить OCR изображения**. + +В этом руководстве мы пройдём практический пример на Java, который показывает, как **загрузить изображение OCR**, применить несколько умных шагов предобработки, **обработать изображение OCR**, и наконец **извлечь текст со сканированной страницы** с чистым результатом. К концу вы поймёте не только *что* кодировать, но и *почему* каждая строка важна для повышения качества распознавания. + +## Что вы узнаете + +- Как создать экземпляр OCR‑движка в Java +- Правильный способ **загрузить изображение OCR** с диска +- Почему исправление наклона, подавление шума и повышение контрастности являются необходимыми для **улучшения точности OCR** +- Как **выполнить OCR изображения** и получить распознанный текст +- Советы по работе с различными форматами изображений и граничными случаями + +Внешняя документация не требуется — всё, что вам нужно, находится здесь, а полный, исполняемый код включён в конце. + +## Требования + +- Java 17 (или любой современный JDK), установленный на вашем компьютере +- Библиотека OCR, предоставляющая классы `OcrEngine`, `OcrInputImage` и `OcrResult` (в примере используется универсальный API; при необходимости замените его на jar вашего поставщика) +- Сканированное изображение (PNG, JPEG или TIFF), которое вы хотите обработать OCR — для демонстрации мы будем использовать `old_book_page.png`, расположенный в папке `YOUR_DIRECTORY` + +Если у вас нет OCR‑jar, просто поместите его в папку `libs` вашего проекта и добавьте в classpath. И всё. + +--- + +## Шаг 1 – Улучшение точности OCR: настройка движка + +Прежде чем мы сможем **обработать изображение OCR**, нам нужен новый экземпляр движка. Создание нового `OcrEngine` дает нам чистый лист, гарантируя отсутствие оставшихся настроек от предыдущих запусков. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Почему это важно*: Свежесозданный движок запускается с отключённой предобработкой по умолчанию. Это сделано намеренно — мы хотим включать только те шаги, которые действительно помогают нашему конкретному изображению, что является основой **улучшения точности OCR**. + +## Шаг 2 – Загрузка изображения OCR — подготовка скана + +Теперь мы действительно **загружаем изображение OCR**. Метод `setImage` ожидает `OcrInputImage`, указывающий на файл на диске. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Несколько замечаний: + +1. **Поддерживаемые форматы** — большинство библиотек принимают PNG, JPEG, BMP и TIFF. Если у вас PDF, сначала преобразуйте первую страницу в изображение. +2. **Обработка путей** — использование абсолютного пути избегает ошибки «файл не найден», когда меняется рабочий каталог. + +## Шаг 3 – Выравнивание: исправление наклона страниц + +Многие отсканированные страницы не являются полностью горизонтальными. Небольшой наклон может сильно ухудшить распознавание, потому что OCR‑движок ожидает, что строки текста будут ровными. Включение выравнивания автоматически обнаруживает и исправляет этот наклон. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Полезный совет**: Если вы знаете угол наклона заранее (например, 90°), вы можете вручную повернуть изображение перед передачей его в движок — часто это быстрее для пакетных задач. + +## Шаг 4 – Удаление шума: уменьшение зернистости фона + +Старые документы часто содержат текстуру бумаги, пыль или артефакты сжатия. Метод `setDenoiseLevel` применяет фильтр, который сглаживает этот шум. Уровень 2 — хорошая отправная точка для большинства отсканированных страниц. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Почему это помогает**: Шум создаёт ложные контуры, которые OCR‑движок может воспринимать как символы. Очищая изображение, мы **улучшаем точность OCR**, не жертвуя реальными формами глифов. + +## Шаг 5 – Повышение контрастности: выделение текста + +Если скан выцветший, контраст между чернилами и бумагой низок, и движок с трудом различает передний план и фон. Умеренное повышение контрастности до `1.4f` (увеличение на 40 %) обычно решает проблему. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Граничный случай*: Для очень тёмных изображений более высокий коэффициент (до 2.0) может быть полезен, но будьте осторожны с обрезкой — слишком яркие области могут стать полностью белыми, стирая мелкие детали. + +## Шаг 6 – Выполнение OCR изображения — основной шаг обработки + +Вся подготовка приводит к этой строке: фактическому запуску OCR‑движка на предобработанном изображении. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Внутри движок выполняет сегментацию, распознавание символов и стадии языковой модели. Если вам нужны несколько языков, задайте их в движке **до** вызова `process()`. + +## Шаг 7 – Извлечение текста со сканированной страницы — получение результата + +Наконец, мы получаем распознанную строку из `OcrResult`. Вывод её в консоль достаточно для быстрой демонстрации, но вы также можете записать её в файл, базу данных или передать в последующий NLP‑конвейер. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Ожидаемый вывод** (усечённый для краткости): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Если вывод всё ещё выглядит искажённым, пересмотрите параметры предобработки — иногда более высокий уровень шумоподавления или иной коэффициент контрастности дают заметный эффект. + +## Полный рабочий пример + +Ниже представлен полный, автономный Java‑программный код, который вы можете скопировать, вставить и запустить. Он включает необходимые импорты, метод `main` и встроенные комментарии, поясняющие каждый шаг. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Сохраните файл как `OcrAccuracyDemo.java`, скомпилируйте с помощью `javac` и запустите с помощью `java`. Если всё настроено правильно, вы увидите очищенный текст, выведенный в терминал. + +## Часто задаваемые вопросы и граничные случаи + +**Q: Моя отсканированная страница в цвете — следует ли сначала преобразовать её в градации серого?** +A: Большинство OCR‑движков внутренне преобразуют изображение в градации серого, но выполнение этого вручную (например, с помощью `BufferedImage` и `ColorConvertOp`) даёт более тонкий контроль над алгоритмом преобразования, особенно когда фон неоднородный. + +**Q: Вывод всё ещё содержит посторонние символы. Что делать?** +A: Попробуйте увеличить `setDenoiseLevel` до 3 или отрегулировать `setContrastBoost` до 1.6f. Если проблема сохраняется, рассмотрите возможность применения **бинарного порога** (бинаризации) перед OCR — многие библиотеки предоставляют опцию `setBinarization(true)`. + +**Q: Как обрабатывать многостраничные PDF?** +A: Преобразуйте каждую страницу в изображение (например, с помощью Apache PDFBox) и перебирайте страницы, повторно используя тот же экземпляр `OcrEngine`, но сбрасывая изображение на каждой итерации. + +## Заключение + +Вы только что узнали, как **улучшить точность OCR** в Java, правильно **загрузив изображение OCR**, применив выравнивание, удаление шума и повышение контрастности, затем **выполнив OCR изображения** и, наконец, **извлечь текст со сканированной страницы**. Главный вывод: предобработка часто является самым эффективным способом повышения качества распознавания — хорошо подготовленное изображение может удвоить и даже утроить процент правильно распознанных символов. + +Готовы к следующему шагу? Попробуйте поэкспериментировать с: + +- Различными уровнями шумоподавления для сильно зернистых сканов +- Адаптивным повышением контрастности на основе анализа гистограммы изображения +- Интеграцией языковой модели (например, проверка орфографии) после извлечения для очистки оставшихся ошибок + +Эти расширения углубят ваш OCR‑конвейер и сделают его достаточно надёжным для производственных нагрузок. + +Если вы столкнётесь с проблемой или у вас есть свой хитрый приём, оставьте комментарий ниже. Счастливого кодинга, и пусть ваш текст всегда будет разборчивым! + +## Что стоит изучить дальше? + +Следующие руководства охватывают тесно связанные темы, которые развивают техники, продемонстрированные в этом руководстве. Каждый ресурс включает полные рабочие примеры кода с пошаговыми объяснениями, чтобы помочь вам освоить дополнительные возможности API и исследовать альтернативные подходы к реализации в собственных проектах. + +- [Как распознать текст на изображении с языком, используя Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Извлечение текста из изображения Java с Aspose.OCR в режиме обнаружения областей](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [Распознавание текста на изображении с Aspose OCR — Полный Java OCR‑урок](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/java/ocr-basics/_index.md b/ocr/russian/java/ocr-basics/_index.md index 04b6a05c2..1cdb3e25a 100644 --- a/ocr/russian/java/ocr-basics/_index.md +++ b/ocr/russian/java/ocr-basics/_index.md @@ -104,6 +104,9 @@ weight: 20 ### [Получение прямоугольников с текстовыми областями в Aspose.OCR](./get-rectangles-with-text-areas/) Разблокируйте мощь Aspose.OCR для Java. Узнайте, как без проблем извлекать текст из изображений в этом пошаговом руководстве. Скачайте сейчас для эффективного распознавания текста. +### [Как выполнять OCR в Java – Полное руководство по извлечению текста из изображений](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Полное пошаговое руководство по использованию Aspose.OCR в Java для извлечения текста из любых изображений с максимальной точностью. + --- **Последнее обновление:** 2025-12-08 @@ -115,4 +118,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/russian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..e48b2e43d --- /dev/null +++ b/ocr/russian/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-06-06 +description: как выполнить OCR в Java — быстро извлечь текст из изображения, преобразовать + изображение в текст и прочитать текст из JPG с помощью простого примера кода. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: ru +og_description: как выполнить OCR в Java — узнайте, как извлекать текст из изображения, + преобразовывать изображение в текст и читать текст из jpg с готовым примером. +og_title: Как выполнить OCR в Java – пошаговое руководство +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Как выполнить OCR в Java – Полное руководство по извлечению текста из изображений +url: /ru/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как выполнять OCR в Java – Полное руководство по извлечению текста из изображений + +Вы когда‑нибудь задумывались **how to perform OCR** на фотографии, сделанной на вашем телефоне? Вы не одиноки. Независимо от того, создаёте ли вы приложение для сканирования чеков или просто нужно вытянуть текст из отсканированного PDF, **how to perform OCR** в Java — навык, который быстро окупается. В этом руководстве мы пройдём практический пример, который **extracts text from image** файлы, **converts image to text**, и даже покажет, как **read text from jpg** всего несколькими строками кода. + +> *Pro tip:* Тот же подход работает для PNG, BMP или любого формата, поддерживаемого OCR‑движком — просто замените имя файла. + +## Как выполнять OCR в Java – Обзор + +Оптическое распознавание символов (Optical Character Recognition, OCR) — это технология, превращающая изображения букв в реальный, индексируемый текст. В экосистеме Java существует несколько библиотек — Tesseract, Asprise и коммерческие SDK — все они предоставляют похожий рабочий процесс: загрузить изображение, указать движку ожидаемый язык, запустить распознавание и получить результат. Ниже мы используем обобщённый класс `OcrEngine`, чтобы пример был понятным, но вы можете заменить его любой конкретной реализацией, следующей той же схеме. + +### Что вы узнаете + +- Установить OCR‑библиотеку (да, **ocr in java** проще, чем кажется). +- Создать и настроить экземпляр OCR‑движка. +- Загрузить JPG (или любое изображение) и задать язык. +- Обработать изображение и **extract text from image** файлы. +- Вывести распознанную строку в консоль. + +К концу у вас будет автономная Java‑программа, которую можно добавить в любой проект и сразу запустить. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## Шаг 1 – Установить и импортировать OCR‑библиотеку (ocr in java) + +Прежде чем написать хоть одну строку Java, вам нужна библиотека, которая действительно выполняет тяжёлую работу. Если вы используете Maven, добавьте зависимость, как показано ниже (замените `com.example.ocr` на реальный group ID выбранного SDK): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Если вы предпочитаете Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Once the JAR is on your classpath, import the classes you’ll need: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Why this matters:** Importing the right classes prevents “cannot find symbol” errors and makes your IDE happy—nothing more frustrating than a missing import when you’re trying to **convert image to text**. + +## Шаг 2 – Создать экземпляр OCR‑движка (how to perform OCR) + +Now that the library is ready, spin up the engine. Think of the engine as the brain that will look at the pixels and guess the letters. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Создание движка обычно дешево; большинство SDK выделяют внутренние буферы лениво, поэтому вы можете безопасно переиспользовать один и тот же экземпляр для множества изображений, если обрабатываете пакет. + +## Шаг 3 – Загрузить изображение и задать язык (extract text from image) + +The next step is to give the engine something to read. Here we load a JPEG from disk and tell the OCR engine that the text is in Mongolian (ISO 639‑2 code “mon”). You can change the path or language code to match your use‑case. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Side note:** If you don’t set a language, the engine defaults to English, which can drastically lower accuracy when the text is actually Cyrillic or another script. Always specify the correct language when you can. + +## Шаг 4 – Обработать изображение и получить результат (convert image to text) + +With the image and language in place, ask the engine to do its magic. The `process()` call runs the OCR algorithm and returns an `OcrResult` object containing the recognized string and confidence scores. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +За кулисами движок может выполнять предобработку — выравнивание, бинаризацию, подавление шума — так что вам не придётся писать эти шаги вручную. Поэтому большинство современных OCR‑библиотек — удовольствие использовать для задач **convert image to text**. + +## Шаг 5 – Вывести извлечённый текст (read text from jpg) + +Finally, pull the plain‑text out of the result and do something useful with it. For this demo we simply print it to the console, but you could write it to a file, feed it into a search index, or pass it to another service. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Эта строка сама по себе доказывает, что вы успешно **read text from jpg** (или любой поддерживаемый формат). Если вывод выглядит искажённым, дважды проверьте код языка и качество изображения. + +## Полный рабочий пример (Все шаги вместе) + +Below is a complete, ready‑to‑run Java class that ties every piece together. Copy it into a file named `OcrDemo.java`, adjust the image path and language, then run `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Ожидаемый вывод + +If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console will show: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Если изображение размыто или код языка неверен, вы увидите искажённые символы или пустую строку — распространённые подводные камни, которые мы обсудим дальше. + +## Распространённые подводные камни и как их исправить + +| Симптом | Вероятная причина | Решение | +|---------|-------------------|---------| +| Искажённые кириллические символы | Неправильный код языка (по умолчанию английский) | Set `ocrEngine.getSettings().setLanguage("mon")` or the appropriate code. | +| Нет вывода | Неправильный путь к изображению или файл недоступен | Verify the path, ensure the file exists, and that the process has read permissions. | +| Низкая точность (<70 %) | Изображение с низким контрастом или повернуто | Pre‑process the image: increase contrast, deskew, or convert to grayscale before feeding it to the engine. | +| `OutOfMemoryError` при работе с большими PDF | Загрузка большого количества страниц высокого разрешения одновременно | Process pages one at a time, or downscale images before OCR. | + +### Совет: пакетная обработка + +If you need to **extract text from image** files in bulk, wrap the core logic in a loop: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Этот фрагмент демонстрирует, насколько легко масштабировать от одного JPG до целой папки сканов. + +## Дальше – Что изучать дальше? + +- **Language Packs:** Большинство OCR SDK позволяют загружать дополнительные файлы языковых данных. Добавление нового пакета позволяет вам **convert image to text** для языков, помимо английского и монгольского. +- **PDF OCR:** Скомбинируйте этот код с Apache PDFBox для + +## Что вам стоит изучить дальше? + +Следующие руководства охватывают тесно связанные темы, которые опираются на техники, продемонстрированные в этом руководстве. Каждый ресурс включает полные рабочие примеры кода с пошаговыми объяснениями, чтобы помочь вам освоить дополнительные возможности API и исследовать альтернативные подходы к реализации в ваших проектах. + +- [Извлечение текста из изображений – основы OCR с Aspose.OCR для Java](/ocr/english/java/ocr-basics/) +- [Преобразование изображения в текст в Java с использованием Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Как распознавать текст на изображении с указанием языка с помощью Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..80540aa09 100644 --- a/ocr/russian/java/ocr-operations/_index.md +++ b/ocr/russian/java/ocr-operations/_index.md @@ -81,6 +81,8 @@ weight: 21 Мощное распознавание текста в Java с Aspose.OCR. Легко распознавайте текст в TIFF‑изображениях. Скачайте сейчас для бесшовного OCR‑опыта. ### [Распознавание текста на изображении с Aspose OCR – Полный Java OCR туториал](./recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) Полный пошаговый туториал по распознаванию текста на изображениях с использованием Aspose OCR в Java. +### [Применение лицензии Aspose OCR в Java – Удаление водяного знака OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Узнайте, как установить лицензию Aspose OCR в Java и избавиться от водяного знака OCR в результирующих документах. ## Часто задаваемые вопросы diff --git a/ocr/russian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/russian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..4713311d7 --- /dev/null +++ b/ocr/russian/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,263 @@ +--- +category: general +date: 2026-06-06 +description: Примените лицензию Aspose OCR в Java, чтобы мгновенно открыть все функции + и убрать водяной знак OCR. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: ru +og_description: Примените лицензию Aspose OCR в Java, чтобы избавиться от ограничений + оценки и удалить водяной знак OCR с ваших сканов. +og_title: Применить лицензию Aspose OCR в Java – удалить водяной знак OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Применить лицензию Aspose OCR в Java — удалить водяной знак OCR +url: /ru/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Применение лицензии Aspose OCR в Java – Удаление водяного знака OCR + +Когда‑нибудь задавались вопросом, как **применить лицензию Aspose OCR** в проекте Java, не получая назойливый водяной знак оценки? Вы не одиноки. Как только вы пробуете бесплатную версию, каждое отсканированное изображение помечается серой надписью «Aspose Evaluation», и это может сделать даже самый чистый документ непрофессиональным. + +В этом руководстве мы пройдём по точным шагам, чтобы **применить лицензию Aspose OCR**, убедиться, что библиотека полностью разблокирована, и показать, как водяной знак исчезает автоматически. К концу вы сможете выполнять OCR на любом изображении — будь то чек, скан паспорта или рукописная заметка — без уродливого наложения. + +## Предварительные требования + +- **Java Development Kit (JDK) 8** или новее установлен. +- **Aspose OCR for Java** JAR‑файл (скачайте с портала Aspose). +- Ваш **файл лицензии Aspose OCR** (`Aspose.OCR.Java.lic`). +- IDE или простой текстовый редактор (IntelliJ, Eclipse, VS Code — на ваш выбор). + +Вот и всё. Дополнительные плагины Maven или трюки Gradle не требуются, хотя при желании вы можете добавить их позже. + +## Настройка проекта (краткий обзор) + +1. Создайте новую папку с именем `AsposeOCRDemo`. +2. Поместите файл `aspose-ocr-*.jar` в подпапку `lib`. +3. Разместите ваш файл `Aspose.OCR.Java.lic` в доступном месте, например, в папке `resources/`. +4. Напишите небольшой файл `Main.java` — здесь происходит магия. + +Если вы используете IDE, просто добавьте JAR в classpath проекта и пометьте папку `resources` как корень ресурсов. Если компилируете из командной строки, classpath будет выглядеть примерно так: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Теперь, когда каркас готов, перейдём к сути. + +## Шаг 1: **Применить лицензию Aspose OCR** – Основной код + +Первое, что вы должны сделать, — сообщить движку Aspose OCR доверять вашему файлу лицензии. Без этого вызова библиотека остаётся в режиме оценки и будет продолжать добавлять водяной знак к каждому результату. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Почему это важно:** Класс `License` является стражем. Как только `setLicense` успешно выполнен, движок OCR переключается из режима *evaluation* в *full* режим. Все внутренние проверки, которые обычно добавляют логику **remove OCR watermark**, отключаются, и вы больше никогда не увидите серое наложение. + +> **Полезный совет:** Храните файл лицензии вне системы контроля версий (например, в папке, специфичной для окружения), чтобы избежать случайных коммитов. + +## Шаг 2: Проверка удаления водяного знака + +После вызова `applyAsposeOcrLicense` рекомендуется выполнить быстрый тест. Следующий фрагмент загружает изображение, выполняет OCR и выводит извлечённый текст. Если лицензия не активна, Aspose выбросит исключение или внедрит водяной знак в выходное изображение (если вы сохраняете визуальный результат). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Ожидаемый вывод (фрагмент):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Обратите внимание, что нигде нет упоминания о водяном знаке оценки. Это эффект **remove OCR watermark** в действии. + +## Шаг 3: Распространённые подводные камни и крайние случаи + +### 1. Неправильный путь к лицензии +Если передать неверный путь в `setLicense`, метод молча не сработает, и библиотека останется в режиме оценки. Всегда проверяйте возвращаемое значение или ловите исключение, как показано в `LicenseUtil`. + +### 2. Использование относительного пути в развертывании на основе JAR +Когда вы упаковываете приложение в исполняемый JAR, относительные пути файловой системы могут не работать. Более безопасный подход — загрузить лицензию как поток ресурса: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Поместите файл `.lic` в `src/main/resources`, чтобы он оказался в classpath. + +### 3. Сценарии с несколькими потоками +Если ваше приложение обрабатывает множество изображений одновременно, лицензию нужно применять **один раз** на JVM. Повторный вызов `setLicense` из нескольких потоков может вызвать небольшое падение производительности, но ничего не сломает. + +### 4. Истечение срока лицензии +Лицензии Aspose обычно бессрочные, но некоторые пробные или ограниченные по времени лицензии могут истечь. Когда это происходит, движок возвращается в режим оценки, и поведение **remove OCR watermark** исчезает. Следите за датой истечения лицензии в портале Aspose. + +## Шаг 4: Автоматизация применения лицензии в реальных проектах + +В производственном микросервисе вы, вероятно, не захотите рассыпать `LicenseUtil.applyAsposeOcrLicense` по всему коду. Вместо этого инициализируйте её один раз при запуске приложения — например, в методе `@PostConstruct` Spring Boot или в статическом блоке инициализации. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Теперь каждый компонент, использующий `OcrEngine`, может безопасно предполагать, что лицензия уже активна, обеспечивая гарантию **remove OCR watermark** во всём сервисе. + +## Шаг 5: Тестирование интеграции лицензии + +Автоматические тесты могут подтвердить, что водяной знак действительно исчез. Простой тест JUnit может выглядеть так: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Запуск этого теста даёт уверенность в том, что ваш конвейер развертывания не отправит случайно нелицензированную сборку. + +## Визуальный обзор (по желанию) + +Если вам нравится видеть вещи графически, вот быстрая схема процесса: + +![Применение лицензии Aspose OCR в Java – диаграмма, показывающая загрузку лицензии и последующую обработку OCR без водяного знака.](apply-aspose-ocr-license.png "Применение лицензии Aspose OCR в Java") + +*Alt text: Применение лицензии Aspose OCR в Java – диаграмма, показывающая загрузку лицензии и последующую обработку OCR без водяного знака.* + +## Заключение + +Мы рассмотрели всё, что нужно, чтобы **применить лицензию Aspose OCR** в среде Java и, как прямой побочный эффект, **удалить водяной знак OCR** со всех обработанных изображений. От создания объекта `License`, обработки особенностей пути, проверки результата до интеграции в более крупное приложение — каждый шаг был объяснён с указанием «почему», а не только «как». + +Теперь вы можете интегрировать Aspose OCR в любой проект Java, будучи уверенными, что ваши пользователи больше никогда не увидят отвлекающий тег оценки. + +### Что дальше? + +- **Исследуйте языковые пакеты:** Aspose OCR поддерживает более 70 языков; просто установите соответствующее свойство `OcrEngine`. +- **Комбинируйте с Aspose PDF:** Преобразуйте отсканированные изображения напрямую в поисковые PDF без водяного знака. +- **Тонкая настройка производительности** + +## Что вам следует изучить дальше? + +Следующие руководства охватывают тесно связанные темы, которые развивают техники, продемонстрированные в этом руководстве. Каждый ресурс включает полностью работающие примеры кода с пошаговыми объяснениями, чтобы помочь вам освоить дополнительные возможности API и исследовать альтернативные подходы к реализации в ваших проектах. + +- [Как установить лицензию и проверить лицензию Aspose.OCR в Java](/ocr/english/java/ocr-basics/set-license/) +- [Распознавание текста на изображении с Aspose OCR – Полный Java OCR учебник](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Вычисление угла наклона с Aspose OCR Java – Полное руководство](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..bdb0c8971 100644 --- a/ocr/spanish/java/advanced-ocr-techniques/_index.md +++ b/ocr/spanish/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,20 @@ 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 en OCR Java – Guía completa paso a paso](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Aprenda a activar la GPU para acelerar el OCR en Java con Aspose.OCR, siguiendo una guía paso a paso fácil de implementar. +### [Extraer texto de una imagen escaneada en Java – Guía completa de Aspose OCR](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Aprenda a extraer texto de imágenes escaneadas en Java con Aspose OCR mediante una guía paso a paso completa. +### [Ejemplo de Aspose OCR Java – Guía completa para cargar imagen, corregir ortografía y procesar OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Aprenda a cargar imágenes, corregir texto y ejecutar OCR con Aspose OCR en Java mediante una guía paso a paso. +### [Mejorar la precisión del OCR en Java – Guía completa](./improve-ocr-accuracy-in-java-complete-guide/) +Aprenda a mejorar la precisión del OCR en Java con Aspose.OCR mediante una guía paso a paso completa. +### [Crear PDF buscable en Java – Guía completa de Aspose OCR](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Aprenda a generar PDFs buscables en Java con Aspose OCR mediante una guía paso a paso completa. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/spanish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..f2a9b62fd --- /dev/null +++ b/ocr/spanish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,195 @@ +--- +category: general +date: 2026-06-06 +description: Ejemplo de Aspose OCR para Java que muestra cómo cargar OCR de imagen, + corregir errores de OCR, establecer un diccionario personalizado y procesar OCR + de imagen en solo unos pocos pasos. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: es +og_description: Ejemplo de Aspose OCR en Java que carga una imagen, corrige errores + de OCR, establece un diccionario personalizado y procesa OCR de imágenes de manera + eficiente. +og_title: Ejemplo de Aspose OCR Java – Cargar imagen, corregir ortografía y procesar + OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Ejemplo de Aspose OCR en Java – Guía completa para cargar imagen, corregir + ortografía y procesar OCR +url: /es/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ejemplo de Aspose OCR Java – Guía Completa para Cargar Imagen, Corregir Ortografía y Procesar OCR + +¿Alguna vez necesitaste un **ejemplo de Aspose OCR Java** que funcione realmente sin configuraciones adicionales? No estás solo: los desarrolladores a menudo se quedan mirando una captura borrosa y se preguntan por qué el texto extraído es un desastre. La buena noticia es que el motor OCR de Aspose ya incluye corrección ortográfica incorporada, y puedes incluso conectar tu propia lista de palabras. En este tutorial recorreremos cómo cargar una imagen OCR, habilitar la función de corrección, opcionalmente establecer un diccionario personalizado y, finalmente, procesar la imagen OCR para obtener texto limpio y legible. + +También cubriremos por qué podrías querer **corregir errores de OCR**, cómo **cargar imagen OCR** de manera eficiente, los beneficios de una llamada **set custom dictionary**, y cómo es el flujo de **process image OCR** de extremo a extremo. Al final tendrás un programa Java completamente ejecutable que puedes incorporar a cualquier proyecto Maven o Gradle. + +--- + +## Lo que Necesitarás + +- Java 8 o superior (la API también funciona con Java 11+) +- Biblioteca Aspose.OCR para Java (descarga el JAR más reciente desde el sitio web de Aspose o agrega la dependencia Maven) +- Un archivo de imagen que contenga texto (preferiblemente un documento escaneado o una captura de pantalla con algo de ruido) +- Opcional: un archivo de diccionario de texto plano si deseas **set custom dictionary** para términos específicos de dominio + +Eso es todo: sin motores OCR pesados, sin dependencias nativas, solo un JAR único y un par de líneas de código. + +--- + +## Paso 1: Aspose OCR Java Example – Load Image OCR + +Lo primero que debes hacer es crear una instancia de `OcrEngine` y apuntarla al archivo que deseas analizar. Piensa en esto como abrir un libro antes de comenzar a leer. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Por qué es importante:** La llamada `setImage` es el corazón de **load image OCR**. Sin una imagen válida, el motor no tiene nada que reconocer y terminarás con una cadena vacía o una excepción. + +![aspose ocr java example loading image](image.png){alt="ejemplo de aspose ocr java cargando imagen"} + +--- + +## Paso 2: Habilitar Corrección Ortográfica para Corregir Errores de OCR + +Aspose OCR incluye la corrección ortográfica activada por defecto, pero nunca está de más ser explícito, sobre todo cuando estás demostrando un **aspose ocr java example**. Habilitar esta función reduce drásticamente el texto sin sentido como “t1e” o “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Consejo profesional:** Si notas que el motor sigue reconociendo mal ciertas palabras, verifica la configuración de idioma o agrega un diccionario personalizado (paso siguiente). + +Habilitar la corrección ortográfica es la forma más rápida de **correct OCR errors** sin escribir código adicional. + +--- + +## Paso 3: Set Custom Dictionary para Mejorar la Precisión + +A veces el diccionario predeterminado no conoce la jerga específica de tu industria: términos médicos, códigos de producto o nombres de marcas. Ahí es donde **set custom dictionary** brilla. Proporciona un archivo de texto plano, una palabra por línea, y el motor OCR tratará esas entradas como válidas durante la corrección. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Cuándo usarlo:** Si estás procesando facturas y los nombres de las empresas se deforman, un diccionario personalizado que contenga esos nombres hará que la etapa **process image OCR** sea mucho más fiable. + +--- + +## Paso 4: Process Image OCR y Recuperar el Texto + +Ahora que el motor está configurado, es momento de ejecutar el reconocimiento. El método `process` realiza todo el trabajo pesado: detecta bloques de texto, aplica la corrección ortográfica y devuelve un objeto `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Lo que verás:** La consola imprimirá una cadena limpia y legible. Si omitiste la corrección ortográfica, probablemente verías caracteres extraños, por lo que habilitarla antes es crucial para **correct OCR errors**. + +--- + +## Paso 5: Ejecutar el Ejemplo y Verificar la Salida + +Compila y ejecuta la clase con tu IDE favorito o desde la línea de comandos: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Deberías ver algo como: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Si la salida aún contiene errores ortográficos, intenta agregar esas palabras a tu diccionario personalizado y vuelve a ejecutar el paso **process image OCR**. + +--- + +## Problemas Comunes y Cómo Evitarlos + +| Problema | Por qué ocurre | Solución | +|----------|----------------|----------| +| **Salida en blanco** | Ruta de la imagen incorrecta o formato no compatible | Verifica la ruta, usa PNG/JPEG y asegura que el archivo sea legible | +| **Caracteres basura** | Corrección ortográfica desactivada o imagen de baja calidad | Habilita `setEnableSpellCorrection(true)` y considera pre‑procesar la imagen (aumentar contraste) | +| **Palabras específicas del dominio siguen incorrectas** | No hay diccionario personalizado | Usa `setCustomDictionary` con un archivo que contenga tus términos | +| **Errores de out‑of‑memory** | Imágenes muy grandes cargadas sin escalar | Redimensiona la imagen antes de pasarla a `OcrEngine` | + +--- + +## Extender el Ejemplo + +Ahora que tienes un sólido **aspose ocr java example**, podrías querer: + +- **Procesar por lotes** una carpeta de imágenes recorriendo los nombres de archivo y reutilizando la misma instancia de `OcrEngine`. +- **Extraer información de diseño** (tablas, columnas) usando `ocrResult.getPages()` para análisis de documentos más avanzados. +- **Integrar con Apache PDFBox** para incrustar el texto reconocido de nuevo en un PDF. + +Todas estas extensiones se basan en los mismos pasos centrales que cubrimos: cargar imagen OCR, habilitar corrección, opcionalmente establecer un diccionario personalizado y procesar imagen OCR. + +--- + +## Conclusión + +Acabas de crear un **aspose ocr java example** completo que carga una imagen, habilita la corrección ortográfica para **correct OCR errors**, opcionalmente **set custom dictionary**, y finalmente **process image OCR** para obtener texto limpio. El código es breve, los conceptos claros y ahora tienes una base que puedes ampliar para trabajos por lotes, integraciones UI o incluso micro‑servicios en la nube. + +¿Qué sigue? Prueba con una foto de baja resolución, agrega una lista de SKU de productos a tu diccionario personalizado y observa cómo mejora la precisión. Cuanto más experimentes, mejor comprenderás los compromisos entre calidad de imagen, tamaño del diccionario y velocidad de procesamiento. + +¡Deja un comentario si encuentras algún obstáculo o tienes ideas para mejoras adicionales! ¡Feliz codificación! + +## ¿Qué Deberías Aprender a Continuación? + +Los siguientes tutoriales cubren temas estrechamente relacionados que amplían las técnicas demostradas en esta guía. Cada recurso incluye ejemplos de código completos y explicaciones paso a paso para ayudarte a dominar funciones adicionales de la API y explorar enfoques de implementación alternativos en tus propios proyectos. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/spanish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..96eda60f7 --- /dev/null +++ b/ocr/spanish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Crea PDF buscable con Java usando Aspose OCR. Aprende a extraer texto + de PDF, mejorar la precisión del OCR y procesar PDFs de varias páginas de manera + eficiente. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: es +og_description: Crear PDF buscable con Java usando Aspose OCR. Esta guía le muestra + cómo extraer texto de PDF, mejorar la precisión del OCR y manejar PDFs de varias + páginas. +og_title: Crear PDF buscable en Java – Tutorial completo de OCR con Aspose +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Crear PDF buscable en Java – Guía completa de Aspose OCR +url: /es/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Crear PDF buscable en Java – Guía completa de Aspose OCR + +¿Alguna vez te has preguntado cómo **crear PDF buscables** directamente desde Java sin lidiar con docenas de herramientas de línea de comandos? No estás solo. Muchos desarrolladores se topan con un obstáculo cuando necesitan convertir PDFs escaneados en documentos buscables por texto, especialmente cuando los PDFs de origen abarcan varias páginas. + +En este tutorial recorreremos un ejemplo completo y ejecutable que no solo **crea PDF buscables**, sino que también te muestra cómo **extract text from PDF**, **increase OCR accuracy**, y manejar un flujo de trabajo **OCR multi page PDF** usando la biblioteca Aspose OCR. Al final tendrás un fragmento sólido, listo para producción, que puedes insertar en cualquier proyecto Java. + +## Lo que necesitarás + +- Java 17 o superior (el código compila con versiones anteriores, pero JDK 17 es el punto óptimo) +- Maven o Gradle para obtener la dependencia `aspose-ocr` +- Un PDF de muestra multipágina (lo llamaremos `sample_multi_page.pdf`) +- Una GPU modesta o al menos una CPU multinúcleo si deseas habilitar el procesamiento en paralelo + +No se requieren bibliotecas nativas adicionales—Aspose OCR incluye todo lo que necesitas. + +--- + +## Crear PDF buscable – Implementación paso a paso + +A continuación dividimos el proceso en bloques lógicos. Cada sección tiene su propio encabezado H2 para que puedas saltar directamente a la parte que te interese, y la palabra clave principal aparece justo aquí en el título. + +### Paso 1: Configurar el proyecto e importar Aspose OCR + +Primero, agrega el artefacto Maven de Aspose OCR a tu `pom.xml`. Si prefieres Gradle, el fragmento equivalente se proporciona en los comentarios. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro tip:** Mantén tus dependencias actualizadas; las versiones más recientes suelen traer mejoras de precisión que te ayudan directamente a **increase OCR accuracy**. + +### Paso 2: Cargar el PDF multipágina en el motor OCR + +Ahora creamos una instancia de `OcrEngine` y le alimentamos el PDF que queremos procesar. El motor trata cada página como una imagen internamente, por lo que este enfoque funciona para un escenario **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Why this matters:** Cargar el PDF una sola vez y dejar que el motor gestione la paginación evita la sobrecarga de extraer manualmente cada página, ahorrando tiempo y memoria. + +### Paso 3: Habilitar funciones avanzadas para **increase OCR accuracy** + +Aspose OCR ofrece varios ajustes que puedes modificar. Habilitar la aceleración GPU, aumentar el número de hilos y especificar varios idiomas contribuyen a mejores tasas de reconocimiento, especialmente en escaneos ruidosos. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **What if you don’t have a GPU?** Simplemente establece `setUseGpu(false)`; el motor volverá al modo solo CPU mientras sigue beneficiándose del multihilo. + +### Paso 4: Pre‑procesar imágenes para obtener mejores resultados + +Los pasos de pre‑procesamiento como corrección de inclinación, eliminación de ruido y aumento de contraste aumentan dramáticamente la **increase OCR accuracy** en documentos escaneados. Piensa en ello como pulir una piedra rugosa antes de tallarla. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Why these settings?** Un nivel de denoise de `2` funciona bien para la mayoría de los PDFs escaneados, mientras que un aumento de contraste moderado (1.3×) realza la tinta tenue sin sobreexponer el fondo. + +### Paso 5: Configurar la salida para generar un PDF buscable + +Aspose OCR puede incrustar la capa de texto reconocido directamente en un PDF, convirtiendo un archivo de imagen plano en un **searchable PDF**. Este es el núcleo de la pregunta “how to make searchable pdf” que muchos desarrolladores se hacen. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Cuando `setGenerateSearchablePdf(true)` está habilitado, la biblioteca crea una capa de texto invisible que refleja el contenido visual, haciendo que el documento final sea buscable en cualquier visor de PDF. + +### Paso 6: Ejecutar OCR y guardar el resultado + +Ahora procesamos realmente el documento y escribimos el archivo de salida. El método `process` devuelve un objeto `OcrResult` que contiene tanto el PDF buscable como el texto plano extraído. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Paso 7: (Opcional) **Extract Text from PDF** para uso inmediato + +Si también necesitas el texto bruto—para indexación, análisis o simplemente mostrarlo en una página web—puedes obtenerlo directamente del `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**What you’ll see:** La consola mostrará el texto concatenado de todas las páginas, preservando los saltos de línea donde sea posible. Esto satisface el requisito **extract text from pdf** sin una segunda pasada. + +--- + +## Visión general visual + +A continuación se muestra un diagrama de flujo sencillo que asigna cada paso al bloque de código correspondiente. Te ayuda a visualizar cómo el PDF de entrada pasa por el pre‑procesamiento, OCR y finalmente se convierte en un documento buscable. + +![Diagrama de flujo para crear PDF buscable](https://example.com/flow-diagram.png "Diagrama de flujo para crear PDF buscable") + +*El texto alternativo contiene la palabra clave principal para satisfacer el SEO de la imagen.* + +--- + +## Preguntas frecuentes y casos límite + +| Question | Answer | +|----------|--------| +| **Can I process PDFs larger than 100 MB?** | Sí, pero considera transmitir las páginas en lugar de cargar todo el archivo en memoria. Aspose OCR gestiona internamente la paginación, aunque podrías querer aumentar el heap de la JVM (`-Xmx4g`) para archivos muy grandes. | +| **What if my PDF contains handwritten notes?** | El reconocimiento de escritura a mano no está habilitado por defecto. Puedes cambiar a `setLanguage("eng,mon,handwritten")` si la versión de la biblioteca lo soporta, aunque la precisión variará. | +| **Do I need a license for Aspose OCR?** | Una licencia de evaluación temporal funciona para pruebas. Para producción, adquiere una licencia comercial para eliminar marcas de agua y desbloquear el rendimiento completo. | +| **How do I disable spell correction?** | Llama a `ocr.getSettings().setEnableSpellCorrection(false);` – útil cuando necesitas la salida OCR cruda para propósitos forenses. | +| **Is GPU support mandatory?** | No. La biblioteca retrocede elegantemente a CPU. Sin embargo, la GPU puede reducir el tiempo de procesamiento hasta en un 60 % en documentos multipágina grandes. | + +--- + +## Ejemplo completo listo para copiar y pegar + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Salida esperada** + +- `output_searchable.pdf` – un PDF donde puedes pulsar Ctrl + F y encontrar cualquier palabra que aparezca en las imágenes escaneadas. +- Registro de consola – el contenido textual completo del PDF original, perfecto para indexación o análisis adicional. + +--- + +## Conclusión + +Acabamos de demostrar cómo **create searchable PDF** en Java usando Aspose OCR, al mismo tiempo que mostramos cómo **extract text from PDF**, **increase OCR accuracy**, y manejar eficientemente un flujo de trabajo **OCR multi page PDF**. El fragmento de código completo anterior está listo para integrarse en tu proyecto, y las explicaciones te dan la confianza para ajustar la configuración según tu caso de uso específico. + +¿Qué sigue? Prueba a experimentar con incrustaciones de fuentes personalizadas, agrega marcadores generados por OCR, o integra la salida con un motor de búsqueda como Elasticsearch. Cada uno de esos temas vuelve a nuestras palabras clave secundarias—*how to make searchable pdf* y *increase OCR accuracy*—así que tienes una ruta clara para una exploración más profunda. + +Siéntete libre de compartir tus experiencias o hacer preguntas de seguimiento en los comentarios. ¡Feliz codificación y disfruta convirtiendo esos escaneos estáticos en PDFs totalmente buscables y ricos en texto! + +## ¿Qué deberías aprender a continuación? + +Los siguientes tutoriales cubren temas estrechamente relacionados que amplían las técnicas demostradas en esta guía. Cada recurso incluye ejemplos de código completos con explicaciones paso a paso para ayudarte a dominar funciones adicionales de la API y explorar enfoques de implementación alternativos en tus propios proyectos. + +- [Reconocer texto PDF – Operaciones OCR con Aspose.OCR para Java](/ocr/english/java/ocr-operations/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-pdf/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/spanish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..67031b819 --- /dev/null +++ b/ocr/spanish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,272 @@ +--- +category: general +date: 2026-06-06 +description: Extrae texto de una imagen escaneada usando Aspose OCR para Java. Aprende + a reconocer texto de archivos TIFF con procesamiento paralelo. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: es +og_description: Extrae texto de una imagen escaneada con Aspose OCR. Esta guía muestra + cómo reconocer texto de archivos TIFF de manera eficiente usando Java. +og_title: Extraer texto de una imagen escaneada – Tutorial de OCR Java de Aspose +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Extraer texto de una imagen escaneada en Java – Guía completa de Aspose OCR +url: /es/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraer texto de una imagen escaneada – Guía completa de Aspose OCR + +¿Alguna vez necesitaste **extraer texto de una imagen escaneada** pero no sabías cómo? No eres el único. Ya sea que estés digitalizando archivos antiguos, extrayendo datos de facturas o creando una biblioteca PDF buscable, obtener texto fiable de un escaneo TIFF puede ser un dolor de cabeza. + +Buenas noticias: con Aspose OCR para Java puedes **reconocer texto de tiff** en solo unas pocas líneas, e incluso ganar velocidad limitando el motor a un puñado de núcleos de CPU. En este tutorial recorreremos todo el proceso —desde la configuración de la biblioteca hasta el manejo del resultado— para que puedas copiar‑pegar un ejemplo funcional de inmediato. + +## Qué cubre este tutorial + +- Instalación de Aspose OCR para Java (Maven o JAR manual) +- Carga de una imagen TIFF escaneada grande +- Configuración del motor para usar hasta 4 hilos (OCR paralelo) +- Ejecución del proceso OCR y muestra del texto extraído +- Trampas comunes (memoria, TIFF multipágina) y cómo evitarlas +- Consejo rápido de rendimiento: cuándo ajustar `setMaxThreads` + +Al final podrás **extraer texto de archivos de imagen escaneada** de forma fiable, y entenderás por qué ajustar el número de hilos es importante cuando *reconoces texto de tiff* en una canalización de producción. + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Requisitos previos + +Antes de comenzar, asegúrate de tener: + +1. **Java Development Kit (JDK) 8+** – cualquier versión reciente sirve. +2. **Maven** (o la posibilidad de añadir JARs manualmente) – usaremos Maven por simplicidad. +3. Una licencia de **Aspose OCR para Java** (la evaluación gratuita funciona, pero añade una marca de agua). +4. Un **escaneo TIFF grande** (p. ej., `large_scan.tif`) que quieras procesar. + +Si alguno de estos te resulta desconocido, no te preocupes: cada paso se explica a continuación. + +## Paso 1: Añadir Aspose OCR a tu proyecto + +### Usuarios de Maven + +Añade la siguiente dependencia a tu `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Configuración manual del JAR + +Descarga el último `aspose-ocr-xx.jar` del sitio web de Aspose y colócalo en tu classpath. + +> **Consejo profesional:** Guarda el JAR en una carpeta `libs/` y haz referencia a él en la configuración de tu IDE. Así evitas sorpresas de “clase no encontrada” más adelante. + +## Paso 2: Crear una clase Java sencilla + +Crea un archivo llamado `ParallelOcrDemo.java` en tu carpeta de fuentes (`src/main/java`). Esta clase contendrá todo el flujo de trabajo OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Por qué limitamos los hilos:** Por defecto Aspose OCR intentará usar todos los núcleos, lo que puede dejar sin recursos a otros servicios en una máquina compartida. Establecer `setMaxThreads(4)` indica al motor que ejecute hasta cuatro trabajadores en paralelo —suficiente para notar una mejora de velocidad en la mayoría de CPUs modernas sin monopolizar recursos. + +## Paso 3: Compilar y ejecutar + +Abre una terminal en la raíz del proyecto y ejecuta: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Si no usas Maven, compila con `javac` y ejecuta: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Salida esperada + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +La consola mostrará la versión en texto plano de lo que haya en la página escaneada. Si la imagen contiene varias páginas, Aspose OCR las concatena en orden. + +## Paso 4: Manejo de TIFF multipágina (caso límite) + +Un escenario frecuente es un **TIFF multipágina** —piensa en un libro escaneado. Por defecto `OcrInputImage` lee solo el primer fotograma. Para procesar todas las páginas, usa `OcrInputImage` con un `FileInputStream` y habilita el soporte multipágina: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Ahora `ocrEngine.process()` devolverá un único `OcrResult` que contiene el texto concatenado de cada página. + +## Paso 5: Ajuste fino de la precisión del reconocimiento + +Si notas **caracteres distorsionados** o palabras faltantes, prueba estos ajustes: + +| Configuración | Qué hace | Cuándo usarlo | +|---------------|----------|---------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Fuerza el modelo de idioma inglés (más rápido y preciso para escaneos en inglés) | Tu documento es monolingüe en inglés | +| `ocrEngine.getSettings().setResolution(300)` | Aumenta la resolución de imágenes de baja calidad antes del reconocimiento | Escaneos por debajo de 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Intenta limpiar manchas y artefactos | Escaneos con mucho ruido | + +Fragmento de ejemplo: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Paso 6: Exportar resultados a un archivo + +Imprimir en la consola está bien para demostraciones, pero el código de producción suele escribir la salida en algún lugar útil: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Ahora tienes un archivo de texto plano que puedes alimentar a un índice de búsqueda, una base de datos o una canalización de análisis posterior. + +--- + +## Preguntas frecuentes (FAQ) + +**P: ¿Esto funciona con archivos PNG o JPEG?** +R: Absolutamente. `OcrInputImage` acepta cualquier formato que Java ImageIO pueda leer. Simplemente cambia la extensión del archivo en la ruta. + +**P: Mi servidor tiene 8 núcleos — ¿debería usar `setMaxThreads(8)`?** +R: Podrías, pero recuerda que otros servicios pueden necesitar ciclos de CPU. Una regla práctica es “núcleos totales – 1” para trabajadores OCR dedicados. + +**P: ¿Qué pasa si el resultado OCR está vacío?** +R: Verifica que la imagen no sea completamente blanca, que hayas configurado el idioma correcto y que la resolución sea al menos 200 DPI. Los escaneos de baja calidad a menudo requieren pre‑procesamiento (desviación, aumento de contraste) antes de pasarlos a Aspose OCR. + +--- + +## Conclusión + +Acabamos de **extraer texto de archivos de imagen escaneada** usando Aspose OCR para Java, y ahora sabes cómo **reconocer texto de tiff** de forma eficiente con procesamiento paralelo. El código completo está en los fragmentos anteriores, y puedes copiar‑pegarlo en tu propio proyecto de inmediato. + +### ¿Qué sigue? + +- **Procesamiento por lotes**: recorre un directorio de TIFFs y guarda cada resultado en su propio archivo. +- **Integración con Elasticsearch**: indexa el texto extraído para búsquedas rápidas de texto completo. +- **Detección de idioma**: usa `OcrLanguage.AutoDetect` para documentos multilingües. + +Experimenta con esas ideas y pronto convertirás una montaña de documentos escaneados en datos buscables y accionables. + +¡Feliz codificación, y no dudes en dejar un comentario si encuentras algún obstáculo! + +## ¿Qué deberías aprender a continuación? + +Los siguientes tutoriales cubren temas estrechamente relacionados que amplían las técnicas demostradas en esta guía. Cada recurso incluye ejemplos de código completos y explicaciones paso a paso para ayudarte a dominar funciones adicionales de la API y explorar enfoques de implementación alternativos en tus propios proyectos. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/spanish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..6675152af --- /dev/null +++ b/ocr/spanish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-06-06 +description: Cómo habilitar la GPU en Java OCR y extraer texto de archivos JPEG. Sigue + este ejemplo de Java OCR para convertir la imagen a texto con aceleración GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: es +og_description: Cómo habilitar la GPU en Java OCR y extraer instantáneamente texto + de imágenes JPEG. Esta guía muestra un ejemplo completo de OCR en Java con OCR acelerado + por GPU. +og_title: Cómo habilitar la GPU en OCR de Java – Guía completa de programación +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Cómo habilitar la GPU en OCR de Java – Guía completa paso a paso +url: /es/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo habilitar GPU en OCR Java – Guía completa paso a paso + +¿Alguna vez te has preguntado **cómo habilitar GPU** para el reconocimiento óptico de caracteres en Java? No eres el único—los desarrolladores preguntan constantemente, “¿Puedo hacer que OCR sea más rápido sin reescribir todo?” La respuesta corta es sí, y la larga está aquí. En este tutorial recorreremos un **java ocr example** que **extrae texto de archivos JPEG**, **convierte imagen a texto**, y aprovecha **GPU accelerated OCR** para resultados ultrarrápidos. + +Comenzaremos configurando la biblioteca Aspose OCR, cargando un JPEG de ejemplo, activando el soporte GPU, ejecutando el motor y, finalmente, imprimiendo el texto reconocido. Al final tendrás un fragmento reutilizable que puedes insertar en cualquier proyecto Java, además de varios consejos que te evitarán errores comunes. Sin rodeos, solo lo esencial que necesitas para ponerte en marcha. + +## Requisitos previos + +Antes de sumergirnos, asegúrate de tener: + +* Java 8 o superior instalado (el código usa APIs estándar, así que cualquier JDK reciente funciona). +* Una GPU compatible con controladores actualizados – la mayoría de tarjetas modernas NVIDIA/AMD califican. +* La biblioteca Aspose.OCR para Java (puedes obtenerla de Maven Central o del sitio web de Aspose). +* Una imagen JPEG sobre la que quieras ejecutar OCR – la llamaremos `sample.jpg`. + +Eso es todo. Si alguno de esos elementos te resulta desconocido, detente e instala lo que falta; el resto de la guía asume que ya están en su lugar. + +## Cómo habilitar GPU en OCR Java – Visión general + +A continuación tienes una vista rápida de lo que lograremos: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Piensa en la GPU como un turbo‑cargador para tu motor OCR—en lugar de que la CPU realice cada análisis píxel a píxel, la tarjeta gráfica se encarga del trabajo pesado en paralelo. ¿El resultado? Tiempos de procesamiento más rápidos, especialmente en escaneos de alta resolución. + +## Paso 1: Configurar el proyecto e importar Aspose OCR + +Lo primero, crea un nuevo proyecto Maven (o Gradle, si lo prefieres). Añade la dependencia de Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Si no usas Maven, descarga el JAR de Aspose y añádelo a tu classpath. Este paso es la base de cualquier **java ocr example** que escribas, así que verifica que la biblioteca se resuelva correctamente. + +## Paso 2: Cargar la imagen JPEG (Extraer texto de JPEG) + +Ahora escribiremos código para leer un archivo JPEG. La clase `OcrInputImage` acepta una ruta, y la pasaremos al `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Why this matters:** Cargar la imagen correctamente es el primer paso en cualquier flujo de trabajo **convert image to text**. Si la ruta es incorrecta, el motor lanza una excepción antes de llegar a la etapa GPU. + +## Paso 3: Habilitar la aceleración GPU (Cómo habilitar GPU) + +Este es el núcleo del tutorial—activar el soporte GPU. El objeto `OcrSettings` expone una bandera `setUseGpu`. Simplemente establécela en `true` y listo. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** Verifica que el controlador de tu GPU esté actualizado. Los controladores obsoletos a menudo hacen que la llamada `setUseGpu(true)` falle silenciosamente, dejándote con rendimiento solo de CPU. + +## Paso 4: Ejecutar el motor OCR (Ejemplo OCR Java) + +Con la imagen cargada y la GPU habilitada, dispara el proceso OCR. El motor devuelve un objeto `OcrResult` que contiene el texto reconocido. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Detrás de escena, Aspose divide la imagen en mosaicos, los envía a la GPU para inferencia paralela y vuelve a ensamblar los resultados. Esto es lo que hace que la experiencia **gpu accelerated ocr** sea notablemente más rápida que la ruta predeterminada de CPU. + +## Paso 5: Mostrar el texto reconocido (Convertir imagen a texto) + +Finalmente, imprime el resultado en la consola. En una aplicación real probablemente escribirías esto en un archivo o base de datos, pero para ilustrar un simple `System.out.println` basta. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Salida esperada + +Suponiendo que `sample.jpg` contiene la frase “Hello, World!”, deberías ver: + +``` +Recognized text: +Hello, World! +``` + +Si la imagen es más compleja (múltiples líneas, tablas, etc.), la salida contendrá saltos de línea y espaciado que reflejan el diseño original. Esa es la belleza del motor OCR de Aspose—preserva la estructura mientras convierte la imagen a texto. + +## Ejemplo completo + +Juntando todo, aquí tienes el programa completo, listo para ejecutar: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Guarda esto como `GpuOcrDemo.java`, compílalo con `javac` y ejecútalo con `java`. Si todo está configurado correctamente, la consola mostrará el texto extraído al instante. + +## Preguntas comunes y casos límite + +### 1. Mi GPU no se está usando – ¿qué pasa? + +* **Check driver version** – los controladores antiguos pueden no exponer las capacidades de cómputo requeridas. +* **Validate GPU support** – Aspose requiere una tarjeta NVIDIA compatible con CUDA o una tarjeta AMD compatible con OpenCL. Si estás en un portátil con la GPU discreta desactivada, habilítala en la BIOS o en el panel de control gráfico. +* **Inspect logs** – Aspose escribe una línea de depuración cuando el modo GPU está activo. Habilita el registro mediante `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. El resultado OCR está distorsionado en una imagen de baja resolución. + +* **Pre‑process the JPEG** – redimensiona a al menos 300 dpi, aplica mejora de contraste o conviértela a escala de grises antes de enviarla al motor. +* **Adjust settings** – puedes ajustar `ocr.getSettings().setLanguage(OcrLanguage.English)` o habilitar `setUseLanguageDetection(true)` para mayor precisión. + +### 3. ¿Puedo procesar múltiples imágenes en lote? + +¡Claro! Envuelve los bloques de carga y procesamiento en un bucle, reutilizando la misma instancia de `OcrEngine`. Solo recuerda llamar a `ocr.reset()` entre iteraciones para limpiar la imagen anterior. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. ¿La aceleración GPU funciona en servidores sin pantalla? + +Sí, siempre que el servidor tenga una GPU compatible y los controladores adecuados. En Linux, quizá necesites instalar el paquete `nvidia‑utils` y asegurarte de que el toolkit `CUDA` esté en el `PATH`. + +## Consejos profesionales para OCR GPU listo para producción + +* **Batch size matters** – las imágenes más grandes se benefician más del paralelismo GPU. Si procesas íconos pequeños, la sobrecarga de transferencia a la GPU puede superar los beneficios. +* **Memory management** – las GPUs tienen VRAM limitada. Para PDFs muy grandes o escaneos de varios megapíxeles, divide la imagen en mosaicos más pequeños manualmente. +* **Error handling** – envuelve la llamada OCR en un bloque try‑catch y vuelve al modo CPU (`setUseGpu(false)`) si se lanza una `UnsupportedOperationException`. + +## Conclusión + +Acabamos de cubrir **cómo habilitar GPU** en un **java ocr example**, mostramos cómo **extraer texto de JPEG** y demostramos una forma limpia de **convertir imagen a texto** usando el motor **gpu accelerated OCR** de Aspose. El fragmento completo anterior está listo para insertarse en cualquier proyecto Java, y los consejos adjuntos deberían evitarte los dolores de cabeza habituales. + +¿Qué sigue? Prueba añadiendo paquetes de idioma, experimenta con diferentes formatos de imagen (PNG, TIFF) o integra la salida en un índice de búsqueda. El cielo es el límite cuando combinas OCR con el poder de la GPU. + +¿Tienes más preguntas sobre OCR acelerado por GPU o necesitas ayuda ajustando la configuración? ¡Deja un comentario y feliz codificación! + +![Cómo habilitar GPU en ejemplo OCR Java](https://example.com/images/gpu-ocr-java.png "Cómo habilitar GPU en OCR Java") + +## ¿Qué deberías aprender a continuación? + +Los siguientes tutoriales cubren temas estrechamente relacionados que amplían las técnicas demostradas en esta guía. Cada recurso incluye ejemplos de código completos y explicaciones paso a paso para ayudarte a dominar funciones adicionales de la API y explorar enfoques de implementación alternativos en tus propios proyectos. + +- [Extraer texto de imágenes – Conceptos básicos de OCR con Aspose.OCR para Java](/ocr/english/java/ocr-basics/) +- [Convertir imagen a texto en Java usando Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Cómo OCR texto de imagen con idioma usando Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/spanish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..ccdc4edd3 --- /dev/null +++ b/ocr/spanish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-06-06 +description: Mejora la precisión del OCR en Java con una guía paso a paso que muestra + cómo cargar la imagen para OCR, procesar la imagen OCR y extraer el texto de la + página escaneada de manera eficiente. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: es +og_description: Mejora la precisión del OCR en Java con un ejemplo práctico. Aprende + a cargar imágenes para OCR, preprocesar y realizar OCR en la imagen para extraer + el texto de una página escaneada. +og_title: Mejora la precisión de OCR en Java – Tutorial completo +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Mejora la precisión del OCR en Java – Guía completa +url: /es/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Mejora la Precisión del OCR en Java – Guía Completa + +¿Alguna vez te has preguntado cómo **mejorar la precisión del OCR** cuando trabajas con escaneos de libros antiguos o recibos borrosos? No estás solo. En muchos proyectos del mundo real la salida cruda de un motor OCR parece un caos críptico, y eso suele deberse a que la imagen no se pre‑procesó correctamente antes de **realizar OCR en la imagen**. + +En este tutorial recorreremos un ejemplo práctico en Java que muestra exactamente cómo **cargar imagen OCR**, aplicar algunos pasos inteligentes de pre‑procesamiento, **procesar imagen OCR**, y finalmente **extraer texto de página escaneada** con un resultado limpio. Al final entenderás no solo *qué* codificar, sino *por qué* cada línea es importante para impulsar la calidad del reconocimiento. + +## Qué Aprenderás + +- Cómo instanciar un motor OCR en Java +- La forma correcta de **cargar imagen OCR** desde disco +- Por qué la corrección de inclinación, la eliminación de ruido y el aumento de contraste son esenciales para **mejorar la precisión del OCR** +- Cómo **realizar OCR en la imagen** y obtener el texto reconocido +- Consejos para manejar diferentes formatos de imagen y casos límite + +No necesitas documentación externa – todo lo que necesitas está aquí, y el código completo y ejecutable se incluye al final. + +## Requisitos Previos + +- Java 17 (o cualquier JDK reciente) instalado en tu máquina +- Una biblioteca OCR que proporcione las clases `OcrEngine`, `OcrInputImage` y `OcrResult` (el ejemplo usa una API genérica; reemplázala con el jar de tu proveedor si es necesario) +- Una imagen escaneada (PNG, JPEG o TIFF) sobre la que quieras ejecutar OCR – para la demo usaremos `old_book_page.png` ubicado en una carpeta llamada `YOUR_DIRECTORY` + +Si te falta el jar de OCR, simplemente colócalo en la carpeta `libs` de tu proyecto y añádelo al classpath. Eso es todo. + +--- + +## Paso 1 – Mejorar la Precisión del OCR: Configurar el Motor + +Antes de poder **procesar imagen OCR**, necesitamos una nueva instancia del motor. Crear un nuevo `OcrEngine` nos da una hoja en blanco, asegurando que no haya configuraciones residuales de ejecuciones anteriores. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Por qué importa*: Un motor recién creado comienza con el pre‑procesamiento predeterminado desactivado. Eso es intencional – queremos habilitar solo los pasos que realmente ayuden a nuestra imagen específica, que es la base de **mejorar la precisión del OCR**. + +--- + +## Paso 2 – Cargar Imagen OCR – Preparando tu Escaneo + +Ahora realmente **cargamos imagen OCR**. El método `setImage` espera un `OcrInputImage` que apunte al archivo en disco. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Un par de notas: + +1. **Formatos compatibles** – la mayoría de las bibliotecas aceptan PNG, JPEG, BMP y TIFF. Si tienes un PDF, conviértelo primero a una imagen (la primera página). +2. **Manejo de rutas** – usar una ruta absoluta evita el problema de “archivo no encontrado” cuando cambia el directorio de trabajo. + +--- + +## Paso 3 – Corrección de Inclinación: Enderezar Páginas Rotadas + +Muchas páginas escaneadas no están perfectamente horizontales. Una ligera rotación puede dificultar el reconocimiento porque el motor OCR espera líneas de texto niveladas. Habilitar la corrección de inclinación detecta y corrige automáticamente esa rotación. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Consejo profesional**: Si conoces el ángulo de rotación de antemano (p. ej., 90°), puedes rotar manualmente la imagen antes de enviarla al motor – a menudo es más rápido para trabajos por lotes. + +--- + +## Paso 4 – Eliminación de Ruido: Reducir el Grano de Fondo + +Los documentos antiguos frecuentemente contienen textura de papel, polvo o artefactos de compresión. El método `setDenoiseLevel` aplica un filtro que suaviza ese ruido. El nivel 2 es un buen punto de partida para la mayoría de las páginas escaneadas. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Por qué ayuda**: El ruido crea bordes falsos que el motor OCR puede interpretar como caracteres. Al limpiar la imagen, **mejoramos la precisión del OCR** sin sacrificar la forma real de los glifos. + +--- + +## Paso 5 – Aumento de Contraste: Resaltar el Texto + +Si el escaneo está descolorido, el contraste entre tinta y papel es bajo, y el motor tiene dificultades para diferenciar el primer plano del fondo. Un aumento de contraste moderado de `1.4f` (incremento del 40 %) suele ser suficiente. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Caso límite*: Para imágenes muy oscuras, un factor mayor (hasta 2.0) puede ser beneficioso, pero cuidado con el recorte – regiones demasiado brillantes pueden volverse blancas puras, borrando detalles finos. + +--- + +## Paso 6 – Realizar OCR en la Imagen – Paso Central de Procesamiento + +Toda la preparación conduce a esta línea: ejecutar realmente el motor OCR sobre la imagen pre‑procesada. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Internamente, el motor ejecuta sus etapas de segmentación, reconocimiento de caracteres y modelo de lenguaje. Si necesitas varios idiomas, configúralos en el motor **antes** de llamar a `process()`. + +--- + +## Paso 7 – Extraer Texto de Página Escaneada – Obtener la Salida + +Finalmente, extraemos la cadena reconocida de `OcrResult`. Imprimirla en la consola es suficiente para una demo rápida, pero también podrías escribirla a un archivo, una base de datos o alimentarla a una canalización NLP posterior. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Salida esperada** (truncada por brevedad): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Si la salida sigue pareciendo desordenada, revisa los parámetros de pre‑procesamiento – a veces un nivel de eliminación de ruido más alto o un factor de contraste diferente hacen una diferencia notable. + +--- + +## Ejemplo Completo y Funcional + +A continuación tienes el programa Java completo, autocontenido, que puedes copiar, pegar y ejecutar. Incluye los imports necesarios, un método `main`, y comentarios en línea que aclaran cada paso. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Guárdalo como `OcrAccuracyDemo.java`, compílalo con `javac` y ejecútalo con `java`. Si todo está configurado correctamente, verás el texto limpio impreso en la terminal. + +--- + +## Preguntas Frecuentes y Casos Límite + +**P: Mi página escaneada está en color – ¿debo convertirla a escala de grises primero?** +R: La mayoría de los motores OCR convierten internamente a escala de grises, pero hacerlo tú mismo (p. ej., usando `BufferedImage` y `ColorConvertOp`) te brinda un control más fino sobre el algoritmo de conversión, especialmente cuando el fondo no es uniforme. + +**P: La salida todavía contiene símbolos extraños. ¿Qué hago?** +R: Prueba incrementando `setDenoiseLevel` a 3 o ajustando `setContrastBoost` a 1.6f. Si el problema persiste, considera aplicar un **umbral binario** (binarización) antes del OCR – muchas bibliotecas exponen una opción `setBinarization(true)`. + +**P: ¿Cómo manejo PDFs de varias páginas?** +R: Convierte cada página a una imagen (usando Apache PDFBox, por ejemplo) y recorre las páginas, reutilizando la misma instancia de `OcrEngine` pero reiniciando la imagen en cada iteración. + +--- + +## Conclusión + +Acabas de aprender cómo **mejorar la precisión del OCR** en Java al **cargar imagen OCR**, aplicar corrección de inclinación, eliminación de ruido y aumento de contraste, luego **realizar OCR en la imagen** y finalmente **extraer texto de página escaneada**. La lección clave es que el pre‑procesamiento suele ser la palanca más eficaz para impulsar la calidad del reconocimiento – una imagen bien preparada puede duplicar o incluso triplicar la tasa de caracteres correctos. + +¿Listo para el siguiente paso? Prueba experimentar con: + +- Diferentes niveles de eliminación de ruido para escaneos muy granulados +- Aumento de contraste adaptativo basado en el análisis del histograma de la imagen +- Integrar un modelo de lenguaje (p. ej., corrección ortográfica) después de la extracción para limpiar errores residuales + +Estas extensiones profundizarán tu pipeline OCR y lo harán lo suficientemente robusto para cargas de trabajo en producción. + +Si encuentras algún obstáculo o tienes un truco ingenioso, deja un comentario abajo. ¡Feliz codificación, y que tu texto sea siempre legible! + + +## ¿Qué Deberías Aprender a Continuación? + + +Los siguientes tutoriales cubren temas estrechamente relacionados que amplían las técnicas demostradas en esta guía. Cada recurso incluye ejemplos de código completos y funcionales con explicaciones paso a paso para ayudarte a dominar características adicionales de la API y explorar enfoques de implementación alternativos en tus propios proyectos. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/java/ocr-basics/_index.md b/ocr/spanish/java/ocr-basics/_index.md index 06d11ecbf..c22142da1 100644 --- a/ocr/spanish/java/ocr-basics/_index.md +++ b/ocr/spanish/java/ocr-basics/_index.md @@ -101,6 +101,8 @@ 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. +### [Cómo realizar OCR en Java – Guía completa para extraer texto de imágenes](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Domina el OCR en Java con esta guía paso a paso para extraer texto de imágenes de forma precisa y eficiente. --- @@ -113,4 +115,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/spanish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..eb073aaf6 --- /dev/null +++ b/ocr/spanish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-06-06 +description: cómo realizar OCR en Java – extraer rápidamente texto de una imagen, + convertir la imagen a texto y leer texto de un jpg usando un ejemplo de código sencillo. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: es +og_description: cómo realizar OCR en Java – aprende a extraer texto de una imagen, + convertir la imagen a texto y leer texto de un jpg con un ejemplo listo para ejecutar. +og_title: Cómo realizar OCR en Java – Guía paso a paso +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Cómo realizar OCR en Java – Guía completa para extraer texto de imágenes +url: /es/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo realizar OCR en Java – Guía completa para extraer texto de imágenes + +¿Alguna vez te has preguntado **cómo realizar OCR** en una foto que tomaste con tu teléfono? No eres el único. Ya sea que estés construyendo una aplicación de escaneo de recibos o simplemente necesites extraer texto de un PDF escaneado, **cómo realizar OCR** en Java es una habilidad que rinde frutos rápidamente. En este tutorial recorreremos un ejemplo práctico que **extrae texto de archivos de imagen**, **convierte imagen a texto**, y además te muestra cómo **leer texto de jpg** con solo unas pocas líneas de código. + +> *Consejo profesional:* El mismo enfoque funciona para PNG, BMP o cualquier formato que admita el motor OCR—solo cambia el nombre del archivo. + +## Cómo realizar OCR en Java – Visión general + +El Reconocimiento Óptico de Caracteres (OCR) es la tecnología que convierte imágenes de letras en texto real y buscable. En el ecosistema Java existen varias bibliotecas—Tesseract, Asprise y SDKs comerciales—que exponen un flujo de trabajo similar: cargar una imagen, indicar al motor el idioma esperado, ejecutar el reconocimiento y obtener el resultado. A continuación usaremos una clase genérica `OcrEngine` para mantener el ejemplo claro, pero puedes reemplazarla con cualquier implementación concreta que siga el mismo patrón. + +### Qué aprenderás + +- Instalar una biblioteca OCR (sí, **ocr in java** es más fácil de lo que piensas). +- Crear y configurar una instancia del motor OCR. +- Cargar un JPG (o cualquier imagen) y establecer el idioma. +- Procesar la imagen y **extraer texto de archivos de imagen**. +- Imprimir la cadena reconocida en la consola. + +Al final tendrás un programa Java autónomo que puedes incorporar a cualquier proyecto y ejecutar al instante. + +![ejemplo de cómo realizar OCR](ocr-example.png "ilustración de cómo realizar OCR en Java") + +## Paso 1 – Instalar e importar una biblioteca OCR (ocr in java) + +Antes de escribir una sola línea de Java, necesitas una biblioteca que realice el trabajo pesado. Si usas Maven, agrega una dependencia como esta (reemplaza `com.example.ocr` con el ID de grupo real de tu SDK elegido): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Si prefieres Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Una vez que el JAR esté en tu classpath, importa las clases que necesitarás: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Por qué es importante:** Importar las clases correctas evita errores de “cannot find symbol” y mantiene feliz a tu IDE—no hay nada más frustrante que una importación faltante cuando intentas **convertir imagen a texto**. + +## Paso 2 – Crear la instancia del motor OCR (how to perform OCR) + +Ahora que la biblioteca está lista, inicia el motor. Piensa en el motor como el cerebro que observará los píxeles y adivinará las letras. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Crear el motor suele ser barato; la mayoría de los SDKs asignan buffers internos de forma perezosa, por lo que puedes reutilizar la misma instancia en muchas imágenes si estás procesando un lote. + +## Paso 3 – Cargar la imagen y establecer el idioma (extract text from image) + +El siguiente paso es proporcionar al motor algo que leer. Aquí cargamos un JPEG desde el disco y le decimos al motor OCR que el texto está en mongol (código ISO 639‑2 “mon”). Puedes cambiar la ruta o el código de idioma para que coincida con tu caso de uso. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Nota al margen:** Si no estableces un idioma, el motor usa inglés por defecto, lo que puede reducir drásticamente la precisión cuando el texto es realmente cirílico u otro alfabeto. Siempre especifica el idioma correcto cuando puedas. + +## Paso 4 – Procesar la imagen y obtener el resultado (convert image to text) + +Con la imagen y el idioma listos, pide al motor que haga su magia. La llamada `process()` ejecuta el algoritmo OCR y devuelve un objeto `OcrResult` que contiene la cadena reconocida y las puntuaciones de confianza. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Detrás de escena, el motor puede realizar preprocesamiento—desviación, binarización, reducción de ruido—para que no tengas que escribir esos pasos tú mismo. Por eso la mayoría de las bibliotecas OCR modernas son un placer de usar para tareas de **convert image to text**. + +## Paso 5 – Mostrar el texto extraído (read text from jpg) + +Finalmente, extrae el texto plano del resultado y haz algo útil con él. En esta demostración simplemente lo imprimimos en la consola, pero podrías escribirlo en un archivo, enviarlo a un índice de búsqueda o pasarlo a otro servicio. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Esa línea por sí sola demuestra que has **leído texto de jpg** (o cualquier formato compatible) con éxito. Si la salida se ve distorsionada, verifica el código de idioma y la calidad de la imagen. + +## Ejemplo completo (todos los pasos combinados) + +A continuación tienes una clase Java completa, lista para ejecutar, que une todas las piezas. Cópiala en un archivo llamado `OcrDemo.java`, ajusta la ruta de la imagen y el idioma, y luego ejecuta `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Salida esperada + +Si `input.jpg` contiene la frase mongola “Сайн байна уу?” la consola mostrará: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Si la imagen está borrosa o el código de idioma es incorrecto, verás caracteres distorsionados o una cadena vacía—problemas comunes que discutiremos a continuación. + +## Problemas comunes y cómo solucionarlos + +| Síntoma | Causa probable | Solución | +|---------|----------------|----------| +| Caracteres cirílicos distorsionados | Código de idioma incorrecto (se usa inglés por defecto) | Establece `ocrEngine.getSettings().setLanguage("mon")` o el código correspondiente. | +| No hay salida | Ruta de la imagen incorrecta o archivo ilegible | Verifica la ruta, asegura que el archivo exista y que el proceso tenga permisos de lectura. | +| Baja precisión (<70 %) | Imagen de bajo contraste o rotada | Pre‑procesa la imagen: aumenta el contraste, corrige la inclinación o conviértela a escala de grises antes de enviarla al motor. | +| `OutOfMemoryError` en PDFs grandes | Cargar muchas páginas de alta resolución a la vez | Procesa una página a la vez, o reduce la escala de las imágenes antes del OCR. | + +### Consejo profesional: procesamiento por lotes + +Si necesitas **extraer texto de archivos de imagen** en masa, envuelve la lógica central en un bucle: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Ese fragmento muestra lo fácil que es escalar de un solo JPG a una carpeta completa de escaneos. + +## ¿Qué explorar a continuación? + +- **Paquetes de idioma:** La mayoría de los SDKs OCR te permiten descargar archivos de datos de idioma adicionales. Añadir un nuevo paquete te permite **convertir imagen a texto** para idiomas más allá del inglés y el mongol. +- **OCR de PDF:** Combina este código con Apache PDFBox para + +## ¿Qué deberías aprender después? + +Los siguientes tutoriales cubren temas estrechamente relacionados que amplían las técnicas demostradas en esta guía. Cada recurso incluye ejemplos de código completos con explicaciones paso a paso para ayudarte a dominar funciones adicionales de la API y explorar enfoques de implementación alternativos en tus propios proyectos. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..9b894de1c 100644 --- a/ocr/spanish/java/ocr-operations/_index.md +++ b/ocr/spanish/java/ocr-operations/_index.md @@ -82,6 +82,8 @@ 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. +### [Aplicar licencia Aspose OCR en Java – Eliminar marca de agua OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Aprende a aplicar la licencia Aspose OCR en Java y eliminar la marca de agua OCR de tus documentos. ## Preguntas frecuentes diff --git a/ocr/spanish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/spanish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..9627c3b33 --- /dev/null +++ b/ocr/spanish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-06-06 +description: Aplique la licencia Aspose OCR en Java para desbloquear todas las funciones + y eliminar la marca de agua OCR al instante. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: es +og_description: Aplicar la licencia de Aspose OCR en Java para eliminar los límites + de evaluación y quitar la marca de agua de OCR de sus escaneos. +og_title: Aplicar la licencia de Aspose OCR en Java – Eliminar la marca de agua OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Aplicar licencia OCR de Aspose en Java – Eliminar marca de agua OCR +url: /es/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aplicar licencia Aspose OCR en Java – Eliminar marca de agua OCR + +¿Alguna vez te has preguntado cómo **aplicar la licencia Aspose OCR** en un proyecto Java sin encontrarte con la temida marca de agua de evaluación? No eres el único. En el momento en que pruebas la versión gratuita, cada imagen escaneada lleva el superpuesto gris “Aspose Evaluation”, y puede hacer que incluso el documento más limpio parezca poco profesional. + +En esta guía recorreremos los pasos exactos para **aplicar la licencia Aspose OCR**, verificar que la biblioteca está completamente desbloqueada y mostrarte cómo la marca de agua desaparece automáticamente. Al final, podrás ejecutar OCR en cualquier imagen—ya sea un recibo, un escaneo de pasaporte o una nota manuscrita—sin el feo superpuesto. + +## Requisitos previos + +Antes de comenzar, asegúrate de tener: + +- **Java Development Kit (JDK) 8** o una versión más reciente instalada. +- **Aspose OCR for Java** archivo JAR (descargar desde el portal de Aspose). +- Tu **archivo de licencia Aspose OCR** (`Aspose.OCR.Java.lic`). +- Un IDE o un editor de texto simple (IntelliJ, Eclipse, VS Code—como prefieras). + +Eso es todo. No se requieren plugins extra de Maven ni trucos de Gradle, aunque puedes añadirlos más adelante si lo deseas. + +## Configuración del proyecto (Resumen rápido) + +1. Crea una nueva carpeta llamada `AsposeOCRDemo`. +2. Coloca el archivo `aspose-ocr-*.jar` en una subcarpeta `lib`. +3. Coloca tu archivo `Aspose.OCR.Java.lic` en un lugar accesible, por ejemplo, en la carpeta `resources/`. +4. Escribe un pequeño archivo `Main.java`—aquí ocurre la magia. + +Si estás usando un IDE, simplemente agrega el JAR al classpath del proyecto y marca la carpeta `resources` como raíz de recursos. Si compilas desde la línea de comandos, el classpath tendrá un aspecto similar a: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Ahora que la estructura está lista, pasemos al meollo del asunto. + +## Paso 1: **Aplicar licencia Aspose OCR** – El código central + +Lo primero que debes hacer es indicarle al motor Aspose OCR que confíe en tu archivo de licencia. Sin esta llamada, la biblioteca permanece en modo evaluación y seguirá añadiendo esa marca de agua a cada salida. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Por qué es importante:** La clase `License` es la encargada. Tan pronto como `setLicense` tiene éxito, el motor OCR cambia de modo *evaluación* a modo *completo*. Todas las verificaciones internas que normalmente añaden la lógica de **eliminar marca de agua OCR** se desactivan, por lo que nunca volverás a ver el superpuesto gris. + +> **Consejo profesional:** Mantén el archivo de licencia fuera del control de versiones (por ejemplo, en una carpeta específica del entorno) para evitar commits accidentales. + +## Paso 2: Verificar que la marca de agua haya desaparecido + +Después de haber llamado a `applyAsposeOcrLicense`, es buena práctica ejecutar una prueba rápida. El siguiente fragmento carga una imagen, realiza OCR y muestra el texto extraído. Si la licencia no está activa, Aspose lanzará una excepción o incrustará una marca de agua en la imagen de salida (si guardas un resultado visual). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Salida esperada (extracto):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Observa que no hay ninguna mención a una marca de agua de evaluación en ningún lugar. Ese es el efecto de **eliminar marca de agua OCR** en acción. + +## Paso 3: Errores comunes y casos límite + +### 1. Ruta de licencia incorrecta +Si pasas una ruta incorrecta a `setLicense`, el método falla silenciosamente y la biblioteca permanece en modo evaluación. Siempre verifica el valor de retorno o captura la excepción, como se muestra en `LicenseUtil`. + +### 2. Uso de una ruta relativa en una implementación basada en JAR +Cuando empaquetas tu aplicación como un JAR ejecutable, las rutas relativas del sistema de archivos pueden romperse. Un enfoque más seguro es cargar la licencia como un flujo de recursos: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Coloca el archivo `.lic` en `src/main/resources` para que termine en el classpath. + +### 3. Escenarios multihilo +Si tu aplicación procesa muchas imágenes simultáneamente, solo necesitas aplicar la licencia **una vez** por JVM. Volver a llamar a `setLicense` desde varios hilos puede causar una ligera pérdida de rendimiento, aunque no romperá nada. + +### 4. Expiración de la licencia +Las licencias Aspose suelen ser perpetuas, pero algunas licencias de prueba o de tiempo limitado pueden expirar. Cuando eso ocurre, el motor vuelve al modo evaluación y el comportamiento de **eliminar marca de agua OCR** desaparece. Mantén un ojo en la fecha de expiración de la licencia en el portal de Aspose. + +## Paso 4: Automatizar la aplicación de la licencia en proyectos del mundo real + +En un microservicio de producción, probablemente no quieras esparcir `LicenseUtil.applyAsposeOcrLicense` por todo el código. En su lugar, inicialízalo una sola vez durante el arranque de la aplicación—piensa en el método `@PostConstruct` de Spring Boot o en un bloque estático de inicializador. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Ahora cada componente que use `OcrEngine` puede asumir con seguridad que la licencia ya está activa, garantizando la **eliminación de la marca de agua OCR** en todo el servicio. + +## Paso 5: Probar la integración de la licencia + +Las pruebas automatizadas pueden confirmar que la marca de agua realmente ha desaparecido. Un test sencillo de JUnit podría verse así: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Ejecutar este test te brinda la confianza de que tu pipeline de despliegue no enviará accidentalmente una compilación sin licencia. + +## Visión general visual (Opcional) + +Si te gusta ver las cosas gráficamente, aquí tienes un esquema rápido del flujo: + +![Apply Aspose OCR License in Java](apply-aspose-ocr-license.png "Apply Aspose OCR License in Java") + +*Texto alternativo: Aplicar licencia Aspose OCR en Java – diagrama que muestra la carga de la licencia y luego el procesamiento OCR sin marca de agua.* + +## Conclusión + +Hemos cubierto todo lo que necesitas para **aplicar la licencia Aspose OCR** en un entorno Java y, como efecto secundario directo, **eliminar la marca de agua OCR** de todas las imágenes procesadas. Desde crear el objeto `License`, manejar peculiaridades de rutas, verificar el resultado, hasta integrarlo en una aplicación más grande—cada paso se explicó con el “por qué” detrás de él, no solo con el “cómo”. + +Ahora puedes integrar Aspose OCR en cualquier proyecto Java, confiado en que tus usuarios nunca volverán a ver esa molesta etiqueta de evaluación. + +### ¿Qué sigue? + +- **Explorar paquetes de idiomas:** Aspose OCR admite más de 70 idiomas; solo configura la propiedad adecuada de `OcrEngine`. +- **Combinar con Aspose PDF:** Convierte imágenes escaneadas directamente a PDFs buscables sin marca de agua. +- **Ajuste de rendimiento** + +## ¿Qué deberías aprender a continuación? + +Los siguientes tutoriales cubren temas estrechamente relacionados que amplían las técnicas demostradas en esta guía. Cada recurso incluye ejemplos de código completos y explicaciones paso a paso para ayudarte a dominar funciones adicionales de la API y explorar enfoques de implementación alternativos en tus propios proyectos. + +- [Cómo establecer la licencia y verificar la licencia Aspose.OCR en Java](/ocr/english/java/ocr-basics/set-license/) +- [Reconocer texto en imagen con Aspose OCR – Tutorial completo de OCR en Java](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calcular ángulo de sesgo con Aspose OCR Java – Guía completa](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..503ba8d7a 100644 --- a/ocr/swedish/java/advanced-ocr-techniques/_index.md +++ b/ocr/swedish/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,20 @@ 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 i Java OCR – Komplett steg‑för‑steg‑guide](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Aktivera GPU‑acceleration för OCR i Java med Aspose.OCR. Följ vår kompletta steg‑för‑steg‑guide för maximal prestanda och noggrannhet. +### [Extrahera text från skannad bild i Java – Komplett Aspose OCR‑guide](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Lär dig extrahera text från skannade bilder i Java med en komplett Aspose OCR‑guide. Följ steg‑för‑steg‑instruktionerna för exakt textextraktion. +### [Aspose OCR Java‑exempel – Komplett guide för att ladda bild, stavningskorrigera och bearbeta OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Lär dig ladda en bild, korrigera stavning och köra OCR med Aspose OCR för Java i en komplett steg‑för‑steg‑guide. +### [Förbättra OCR‑noggrannheten i Java – Komplett guide](./improve-ocr-accuracy-in-java-complete-guide/) +Lär dig optimera OCR‑noggrannheten i Java med praktiska tips och konfigurationer för bästa resultat. +### [Skapa sökbar PDF i Java – Fullständig Aspose OCR‑guide](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Lär dig skapa sökbara PDF-filer i Java med Aspose OCR i en komplett steg‑för‑steg‑guide. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/swedish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..8846d1f4c --- /dev/null +++ b/ocr/swedish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java‑exempel som visar hur man laddar bild‑OCR, korrigerar + OCR‑fel, ställer in en anpassad ordlista och bearbetar bild‑OCR i bara några steg. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: sv +og_description: Aspose OCR Java‑exempel som laddar en bild, korrigerar OCR‑fel, ställer + in en anpassad ordlista och bearbetar bild‑OCR effektivt. +og_title: Aspose OCR Java‑exempel – Ladda bild, stavningskorrigering & bearbeta OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java-exempel – Komplett guide för att ladda bild, rätta stavning + och bearbeta OCR +url: /sv/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – Komplett guide för att ladda bild, stavningskorrigera och bearbeta OCR + +Har du någonsin behövt ett **Aspose OCR Java example** som faktiskt fungerar direkt ur lådan? Du är inte ensam—utvecklare stirrar ofta på en suddig skärmbild och undrar varför den extraherade texten är ett kaos. Den goda nyheten är att Asposes OCR‑motor redan levereras med inbyggd stavningskorrigering, och du kan till och med ansluta din egen ordlista. I den här handledningen går vi igenom hur du laddar en bild‑OCR, aktiverar korrigeringsfunktionen, eventuellt anger en anpassad ordlista och slutligen bearbetar bild‑OCR för att få ren, läsbar text. + +Vi kommer också att gå igenom varför du kanske vill **correct OCR errors**, hur du **load image OCR** effektivt, fördelarna med ett **set custom dictionary**‑anrop, och hur det kompletta **process image OCR**‑flödet ser ut. När du är klar har du ett fullt körbart Java‑program som du kan släppa in i vilket Maven‑ eller Gradle‑projekt som helst. + +--- + +## What You’ll Need + +- Java 8 eller nyare (API:et fungerar även med Java 11+) +- Aspose.OCR for Java‑biblioteket (ladda ner den senaste JAR‑filen från Aspose‑webbplatsen eller lägg till Maven‑beroendet) +- En bildfil som innehåller text (helst ett skannat dokument eller en skärmbild med lite brus) +- Valfritt: en ren‑text‑ordlista om du vill **set custom dictionary** för domänspecifika termer + +Det är allt—inga tunga OCR‑motorer, inga inhemska beroenden, bara en enda JAR och ett par kodrader. + +--- + +## Step 1: Aspose OCR Java Example – Load Image OCR + +Det första du måste göra är att skapa en `OcrEngine`‑instans och peka den på filen du vill analysera. Tänk på det som att öppna en bok innan du börjar läsa. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Why this matters:** `setImage`‑anropet är hjärtat i **load image OCR**. Utan en giltig bild har motorn inget att känna igen, och du får en tom sträng eller ett undantag. + +![aspose ocr java exempel laddar bild](image.png){alt="aspose ocr java exempel laddar bild"} + +--- + +## Step 2: Enable Spell‑Correction to Correct OCR Errors + +Aspose OCR levereras med stavningskorrigering påslagen som standard, men det skadar aldrig att vara explicit—särskilt när du demonstrerar ett **aspose ocr java example**. Att aktivera den här funktionen minskar dramatiskt nonsens som “t1e” eller “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro tip:** Om du märker att motorn fortfarande felidentifierar vissa ord, dubbelkolla språkinställningarna eller lägg till en anpassad ordlista (nästa steg). + +Att aktivera stavningskorrigering är det snabbaste sättet att **correct OCR errors** utan att skriva extra kod. + +--- + +## Step 3: Set Custom Dictionary for Better Accuracy + +Ibland känner inte standardordlistan till ditt branschspecifika fackspråk—tänk medicinska termer, produktkoder eller varumärken. Det är då **set custom dictionary** verkligen kommer till sin rätt. Tillhandahåll en ren‑text‑fil, ett ord per rad, så behandlar OCR‑motorn dessa poster som giltiga under korrigeringen. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **When to use it:** Om du bearbetar fakturor och företagsnamnen blir förvrängda, kommer en anpassad ordlista som innehåller dessa namn göra **process image OCR**‑steget mycket mer pålitligt. + +--- + +## Step 4: Process Image OCR and Retrieve the Text + +Nu när motorn är konfigurerad är det dags att faktiskt köra igenkänningen. `process`‑metoden gör allt tungt arbete—detekterar textblock, tillämpar stavningskorrigering och returnerar ett `OcrResult`‑objekt. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **What you’ll see:** Konsolen skriver ut en ren, mänskligt läsbar sträng. Om du utelämnade stavningskorrigering skulle du sannolikt se konstiga tecken, vilket är varför aktivering tidigare är avgörande för **correct OCR errors**. + +--- + +## Step 5: Run the Example and Verify the Output + +Kompilera och kör klassen med ditt favorit‑IDE eller från kommandoraden: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Du bör se något liknande: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Om resultatet fortfarande innehåller felstavningar, försök lägga till dessa ord i din anpassade ordlista och kör **process image OCR**‑steget igen. + +--- + +## Common Pitfalls and How to Avoid Them + +| Problem | Varför det händer | Lösning | +|---------|-------------------|---------| +| **Blank output** | Fel bildsökväg eller format som inte stöds | Verifiera sökvägen, använd PNG/JPEG och säkerställ att filen är läsbar | +| **Garbage characters** | Stavningskorrigering inaktiverad eller bild av låg kvalitet | Aktivera `setEnableSpellCorrection(true)` och överväg förbehandling av bilden (öka kontrast) | +| **Domain‑specific words still wrong** | Ingen anpassad ordlista | Använd `setCustomDictionary` med en fil som innehåller dina termer | +| **Out‑of‑memory errors** | Mycket stora bilder laddade utan skalning | Ändra storlek på bilden innan du matar den till `OcrEngine` | + +--- + +## Extending the Example + +Nu när du har ett solitt **aspose ocr java example**, kanske du vill: + +- **Batch process** en mapp med bilder genom att loopa över filnamn och återanvända samma `OcrEngine`‑instans. +- **Extract layout information** (tabeller, kolumner) med `ocrResult.getPages()` för mer avancerad dokumentanalys. +- **Integrate with Apache PDFBox** för att bädda in den igenkända texten tillbaka i en PDF. + +Alla dessa utökningar bygger på samma kärnsteg vi täckte: load image OCR, enable correction, optionally set a custom dictionary, and process image OCR. + +--- + +## Conclusion + +Du har just byggt ett komplett **aspose ocr java example** som laddar en bild, aktiverar stavningskorrigering för att **correct OCR errors**, eventuellt **set custom dictionary**, och slutligen **process image OCR** för att hämta ren text. Koden är kort, koncepten är tydliga, och du har nu en grund som du kan expandera för batchjobb, UI‑integrationer eller till och med molnbaserade mikrotjänster. + +Vad blir nästa steg? Prova att låta motorn bearbeta ett lågupplöst foto, lägg till en lista med produkt‑SKU:n i din anpassade ordlista och se hur noggrannheten förbättras. Ju mer du experimenterar, desto bättre förstår du avvägningarna mellan bildkvalitet, ordlistans storlek och bearbetningshastighet. + +Känn dig fri att lämna en kommentar om du stöter på problem eller har idéer för ytterligare förbättringar. Happy coding! + +## What Should You Learn Next? + +Följande handledningar täcker närbesläktade ämnen som bygger på teknikerna som demonstrerats i den här guiden. Varje resurs innehåller kompletta fungerande kodexempel med steg‑för‑steg‑förklaringar för att hjälpa dig bemästra ytterligare API‑funktioner och utforska alternativa implementationsmetoder i dina egna projekt. + +- [Hur man ställer in licens och verifierar Aspose.OCR‑licens i Java](/ocr/english/java/ocr-basics/set-license/) +- [Hur man OCR‑ar bildtext med språk med Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Identifiera rader i bilder](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/swedish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..2c33c1cae --- /dev/null +++ b/ocr/swedish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,277 @@ +--- +category: general +date: 2026-06-06 +description: Skapa sökbar PDF med Java med Aspose OCR. Lär dig att extrahera text + från PDF, förbättra OCR‑noggrannheten och bearbeta flersidiga PDF-filer effektivt. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: sv +og_description: Skapa sökbar PDF med Java med Aspose OCR. Denna guide visar hur du + extraherar text från PDF, ökar OCR‑noggrannheten och hanterar flersidiga PDF-filer. +og_title: Skapa sökbar PDF i Java – Komplett Aspose OCR-handledning +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Skapa sökbar PDF i Java – Fullständig Aspose OCR-guide +url: /sv/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Skapa sökbar PDF i Java – Fullständig Aspose OCR-guide + +Har du någonsin funderat på hur du **skapar sökbara PDF**‑filer direkt från Java utan att jonglera med dussintals kommandoradsverktyg? Du är inte ensam. Många utvecklare stöter på problem när de måste omvandla skannade PDF‑filer till text‑sökbara dokument, särskilt när käll‑PDF‑erna sträcker sig över flera sidor. + +I den här handledningen går vi igenom ett komplett, körbart exempel som inte bara **skapar sökbara PDF**‑filer utan också visar hur du **extraherar text från PDF**, **ökar OCR‑noggrannheten** och hanterar ett **OCR‑flersidigt PDF**‑arbetsflöde med Aspose OCR‑biblioteket. I slutet har du ett robust, produktionsklart kodstycke som du kan klistra in i vilket Java‑projekt som helst. + +## Vad du behöver + +- Java 17 eller nyare (koden kompilerar även med äldre versioner, men JDK 17 är den optimala) +- Maven eller Gradle för att hämta `aspose-ocr`‑beroendet +- Ett exempel på en flersidig PDF (vi kallar den `sample_multi_page.pdf`) +- Ett måttligt GPU eller åtminstone en fler‑kärnig CPU om du vill aktivera parallell bearbetning + +Inga extra inhemska bibliotek krävs—Aspose OCR levereras med allt du behöver. + +--- + +## Skapa sökbar PDF – Steg‑för‑steg‑implementation + +Nedan delar vi upp processen i logiska delar. Varje avsnitt har sin egen H2‑rubrik så att du kan hoppa direkt till den del du är intresserad av, och huvudnyckelordet visas direkt i rubriken. + +### Steg 1: Ställ in projektet och importera Aspose OCR + +Först lägger du till Aspose OCR Maven‑artefakten i din `pom.xml`. Om du föredrar Gradle finns motsvarande kodsnutt i kommentarerna. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Proffstips:** Håll dina beroenden uppdaterade; nyare versioner ger ofta förbättringar i noggrannhet som direkt hjälper dig att **öka OCR‑noggrannheten**. + +### Steg 2: Läs in den flersidiga PDF‑en i OCR‑motorn + +Nu skapar vi en `OcrEngine`‑instans och matar den med den PDF vi vill bearbeta. Motorn behandlar varje sida som en bild internt, vilket är varför detta tillvägagångssätt fungerar för ett **ocr multi page pdf**‑scenario. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Varför detta är viktigt:** Att läsa in PDF‑en en gång och låta motorn hantera paginering undviker overheaden av att manuellt extrahera varje sida, vilket sparar både tid och minne. + +### Steg 3: Aktivera avancerade funktioner för att **öka OCR‑noggrannheten** + +Aspose OCR erbjuder flera reglage du kan justera. Att aktivera GPU‑acceleration, öka antalet trådar och ange flera språk bidrar alla till bättre igenkänningsresultat, särskilt på brusiga skanningar. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Vad händer om du inte har ett GPU?** Sätt helt enkelt `setUseGpu(false)`; motorn faller tillbaka till enbart CPU‑läge men drar fortfarande nytta av flertrådad bearbetning. + +### Steg 4: Förbehandla bilder för bättre resultat + +Förbehandlingssteg som deskewing, denoising och kontrastökning ökar dramatiskt **OCR‑noggrannheten** på skannade dokument. Tänk på det som att polera en rå sten innan du hugger. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Varför dessa inställningar?** En denoise‑nivå på `2` fungerar bra för de flesta skannade PDF‑er, medan en måttlig kontrastökning (1,3×) lyfter fram svagt bläck utan att överexponera bakgrunden. + +### Steg 5: Konfigurera utdata för att generera en sökbar PDF + +Aspose OCR kan bädda in det igenkända textlagret direkt i en PDF, vilket förvandlar en platt bildfil till en **sökbar PDF**. Detta är kärnan i frågan “hur man gör en sökbar PDF” som många utvecklare ställer. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +När `setGenerateSearchablePdf(true)` är aktiverat skapar biblioteket ett osynligt textlager som speglar det visuella innehållet, vilket gör det slutgiltiga dokumentet sökbart i alla PDF‑visare. + +### Steg 6: Kör OCR och spara resultatet + +Nu kör vi faktiskt bearbetningen och skriver ut filen. Metoden `process` returnerar ett `OcrResult`‑objekt som innehåller både den sökbara PDF‑en och den extraherade rena texten. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Steg 7: (Valfritt) **Extrahera text från PDF** för omedelbar användning + +Om du också behöver den råa texten—för indexering, analys eller bara för att visa på en webbsida—kan du hämta den direkt från `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Vad du kommer att se:** Konsolen skriver ut den sammanslagna texten för alla sidor, med radbrytningar bevarade där det är möjligt. Detta uppfyller kravet **extract text from pdf** utan ett andra pass. + +--- + +## Visuell översikt + +Nedan är ett enkelt flödesdiagram som mappar varje steg till motsvarande kodblock. Det hjälper dig att visualisera hur indata‑PDF‑en färdas genom förbehandling, OCR och slutligen blir ett sökbart dokument. + +![Create searchable PDF flow diagram](https://example.com/flow-diagram.png "Create searchable PDF flow diagram") + +*Alt‑texten innehåller huvudnyckelordet för att tillgodose bild‑SEO.* + +--- + +## Vanliga frågor & kantfall + +| Fråga | Svar | +|----------|--------| +| **Kan jag bearbeta PDF‑er större än 100 MB?** | Ja, men överväg att streama sidor istället för att ladda hela filen i minnet. Aspose OCR hanterar paginering internt, men du kan vilja öka JVM‑heapen (`-Xmx4g`) för mycket stora filer. | +| **Vad händer om min PDF innehåller handskrivna anteckningar?** | Handstiftigenkänning är inte aktiverad som standard. Du kan byta till `setLanguage("eng,mon,handwritten")` om biblioteksversionen stödjer det, men noggrannheten varierar. | +| **Behöver jag en licens för Aspose OCR?** | En temporär evalueringslicens fungerar för testning. För produktion skaffar du en kommersiell licens för att ta bort vattenstämplar och låsa upp full prestanda. | +| **Hur inaktiverar jag stavningskorrigering?** | Anropa `ocr.getSettings().setEnableSpellCorrection(false);` – användbart när du behöver rå OCR‑utdata för forensiska ändamål. | +| **Är GPU‑stöd obligatoriskt?** | Nej. Biblioteket faller smidigt tillbaka till CPU. GPU kan dock minska bearbetningstiden med upp till 60 % på stora flersidiga dokument. | + +--- + +## Fullt fungerande exempel (Kopiera‑klistra‑klart) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Förväntad utdata** + +- `output_searchable.pdf` – en PDF där du kan trycka Ctrl + F och hitta vilket ord som helst som fanns i de skannade bilderna. +- Konsollogg – den fullständiga texten från den ursprungliga PDF‑en, perfekt för indexering eller vidare analys. + +--- + +## Slutsats + +Vi har just demonstrerat hur du **skapar sökbara PDF**‑filer i Java med Aspose OCR, samtidigt som vi visat hur du **extraherar text från PDF**, **ökar OCR‑noggrannheten** och effektivt hanterar ett **OCR‑flersidigt PDF**‑arbetsflöde. Det kompletta kodexemplet ovan är redo att klistras in i ditt projekt, och förklaringarna ger dig förtroendet att justera inställningarna för ditt specifika användningsområde. + +Vad blir nästa steg? Prova att experimentera med egna teckensnittsinbäddningar, lägg till OCR‑genererade bokmärken, eller integrera utdata med en sökmotor som Elasticsearch. Alla dessa ämnen knyter tillbaka till våra sekundära nyckelord—*how to make searchable pdf* och *increase OCR accuracy*—så du har en tydlig väg för djupare utforskning. + +Dela gärna med dig av dina erfarenheter eller ställ följdfrågor i kommentarerna. Lycka till med kodandet, och njut av att förvandla statiska skanningar till fullt sökbara, text‑rika PDF‑filer! + +## Vad bör du lära dig härnäst? + +De följande handledningarna täcker närbesläktade ämnen som bygger vidare på teknikerna som demonstrerats i den här guiden. Varje resurs innehåller kompletta kodexempel med steg‑för‑steg‑förklaringar för att hjälpa dig bemästra ytterligare API‑funktioner och utforska alternativa implementationsmetoder i dina egna projekt. + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/swedish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..b51922ade --- /dev/null +++ b/ocr/swedish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,272 @@ +--- +category: general +date: 2026-06-06 +description: Extrahera text från skannad bild med Aspose OCR för Java. Lär dig hur + du känner igen text från tiff‑filer med parallell bearbetning. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: sv +og_description: Extrahera text från skannad bild med Aspose OCR. Den här guiden visar + hur du på ett effektivt sätt kan känna igen text från tiff‑filer med Java. +og_title: Extrahera text från skannad bild – Aspose OCR Java-handledning +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Extrahera text från skannad bild i Java – Komplett Aspose OCR-guide +url: /sv/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahera text från skannad bild – Komplett Aspose OCR‑guide + +Har du någonsin behövt **extrahera text från skannad bild** men känt dig fast vid “hur?”? Du är inte ensam. Oavsett om du digitaliserar gamla arkiv, hämtar data från fakturor eller bygger ett sökbart PDF‑bibliotek, kan det vara en smärta att få pålitlig text ur en TIFF‑skanning. + +God nyhet: med Aspose OCR för Java kan du **känna igen text från tiff**‑filer med bara några rader kod, och till och med öka hastigheten genom att begränsa motorn till ett fåtal CPU‑kärnor. I den här handledningen går vi igenom hela processen – från att installera biblioteket till att hantera resultatet – så att du kan kopiera‑klistra ett fungerande exempel direkt. + +## Vad den här handledningen täcker + +- Installera Aspose OCR för Java (Maven eller manuellt JAR) +- Ladda en stor skannad TIFF‑bild +- Konfigurera motorn för att använda upp till 4 trådar (parallell OCR) +- Köra OCR‑processen och skriva ut den extraherade texten +- Vanliga fallgropar (minne, fler‑sidiga TIFF‑filer) och hur du undviker dem +- Snabb prestandatips: när du ska justera `setMaxThreads` + +När du är klar kommer du kunna **extrahera text från skannad bild**‑filer på ett pålitligt sätt, och du förstår varför justering av trådräkningen spelar roll när du *känner igen text från tiff* i en produktionspipeline. + +--- + +![extrahera text från skannad bild exempel](example.png "Skärmbild som visar extraherad text från en skannad TIFF‑bild") + +## Förutsättningar + +Innan vi dyker ner, se till att du har: + +1. **Java Development Kit (JDK) 8+** – någon recent version fungerar. +2. **Maven** (eller möjlighet att lägga till JAR‑filer manuellt) – vi använder Maven för enkelhetens skull. +3. En **Aspose OCR för Java**‑licens (den fria utvärderingen fungerar, men den lägger till ett vattenstämpel). +4. En **stor TIFF‑skanning** (t.ex. `large_scan.tif`) som du vill bearbeta. + +Om någon av dessa är okända, oroa dig inte – varje steg förklaras nedan. + +## Steg 1: Lägg till Aspose OCR i ditt projekt + +### Maven‑användare + +Lägg till följande beroende i din `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Manuell JAR‑installation + +Ladda ner den senaste `aspose-ocr-xx.jar` från Aspose‑webbplatsen och placera den på din classpath. + +> **Proffstips:** Håll JAR‑filen i en `libs/`‑mapp och referera den i ditt IDE:s projektinställningar. Detta undviker “class not found”-överraskningar senare. + +## Steg 2: Skapa en enkel Java‑klass + +Skapa en fil med namnet `ParallelOcrDemo.java` i din källkods‑mapp (`src/main/java`). Denna klass kommer att innehålla hela OCR‑arbetsflödet. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Varför vi begränsar trådar:** Som standard försöker Aspose OCR använda varje kärna, vilket kan kväva andra tjänster på en delad maskin. Att sätta `setMaxThreads(4)` talar om för motorn att köra upp till fyra parallella arbetare – tillräckligt för en märkbar hastighetsökning på de flesta moderna CPU‑er utan att monopoliserar resurserna. + +## Steg 3: Kompilera och kör + +Öppna en terminal i projektets rot och kör: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Om du inte använder Maven, kompilera med `javac` och kör: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Förväntad output + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Konsolen kommer att visa den rena textversionen av vad som än fanns på den skannade sidan. Om bilden innehåller flera sidor, konkatenerar Aspose OCR dem i ordning. + +## Steg 4: Hantera fler‑sidiga TIFF‑filer (kantfall) + +Ett vanligt scenario är en **fler‑sidig TIFF** – tänk en skannad bok. Som standard läser `OcrInputImage` bara den första ramen. För att bearbeta alla sidor, använd `OcrInputImage` med en `FileInputStream` och aktivera stöd för fler‑sidiga filer: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Nu kommer `ocrEngine.process()` att returnera ett enda `OcrResult` som innehåller den konkatenerade texten från varje sida. + +## Steg 5: Finjustera igenkänningsnoggrannheten + +Om du märker **förvrängda tecken** eller saknade ord, prova dessa justeringar: + +| Inställning | Vad den gör | När du ska använda den | +|-------------|--------------|------------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Tvingar engelskt språkmodell (snabbare, mer exakt för engelska skanningar) | Ditt dokument är enspråkigt engelska | +| `ocrEngine.getSettings().setResolution(300)` | Skalar upp lågupplösta bilder innan igenkänning | Skanningar under 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Försöker rensa bort prickar och artefakter | Skanningar med mycket brus | + +Exempelkod: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Steg 6: Exportera resultat till en fil + +Att skriva ut till konsolen är okej för demo, men produktionskod skriver vanligtvis utdata någonstans där den är användbar: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Nu har du en ren‑text‑fil som du kan mata in i ett sökindex, en databas eller en efterföljande analys‑pipeline. + +--- + +## Vanliga frågor (FAQ) + +**Q: Fungerar detta med PNG‑ eller JPEG‑filer?** +A: Absolut. `OcrInputImage` accepterar alla format som Java’s ImageIO kan läsa. Byt bara filändelsen i sökvägen. + +**Q: Min server har 8 kärnor – ska jag sätta `setMaxThreads(8)`?** +A: Du kan, men kom ihåg att andra tjänster kan behöva CPU‑cykler. En bra tumregel är “totala kärnor – 1” för dedikerade OCR‑arbetare. + +**Q: Vad händer om OCR‑resultatet är tomt?** +A: Kontrollera att bilden inte är helt vit, att du har angett rätt språk, och att upplösningen är minst 200 DPI. Låga kvalitetsskanningar kräver ofta förbehandling (räta upp, öka kontrast) innan de matas till Aspose OCR. + +--- + +## Sammanfattning + +Vi har just **extraherat text från skannad bild**‑filer med Aspose OCR för Java, och du vet nu hur du **känner igen text från tiff** effektivt med parallell bearbetning. Den kompletta koden finns i kodsnuttarna ovan, och du kan kopiera‑klistra den direkt in i ditt eget projekt. + +### Vad blir nästa steg? + +- **Batch‑bearbetning**: Loop över en katalog med TIFF‑filer, spara varje resultat i en egen fil. +- **Integrera med Elasticsearch**: Indexera den extraherade texten för snabb fulltextsökning. +- **Lägg till språkdetection**: Använd `OcrLanguage.AutoDetect` för flerspråkiga dokument. + +Experimentera med dessa idéer, så förvandlar du snabbt en hög av skannade papper till sökbar, handlingsbar data. + +Lycka till med kodandet, och lämna gärna en kommentar om du stöter på problem! + +## Vad bör du lära dig härnäst? + +De följande handledningarna täcker närbesläktade ämnen som bygger vidare på teknikerna i den här guiden. Varje resurs innehåller kompletta kodexempel med steg‑för‑steg‑förklaringar för att hjälpa dig bemästra ytterligare API‑funktioner och utforska alternativa implementationsmetoder i dina egna projekt. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/swedish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..9e1f7afa7 --- /dev/null +++ b/ocr/swedish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-06-06 +description: Hur man aktiverar GPU i Java OCR och extraherar text från JPEG-filer. + Följ detta Java OCR‑exempel för att konvertera bild till text med GPU‑acceleration. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: sv +og_description: Hur du aktiverar GPU i Java OCR och omedelbart extraherar text från + JPEG‑bilder. Denna guide visar ett komplett Java OCR‑exempel med GPU‑accelererad + OCR. +og_title: Hur man aktiverar GPU i Java OCR – Fullständig programmeringsgenomgång +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Hur man aktiverar GPU i Java OCR – Komplett steg‑för‑steg‑guide +url: /sv/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man aktiverar GPU i Java OCR – Komplett steg‑för‑steg‑guide + +Har du någonsin undrat **how to enable GPU** för optisk teckenigenkänning i Java? Du är inte ensam—utvecklare frågar ständigt, “Kan jag göra OCR snabbare utan att skriva om allt?” Det korta svaret är ja, och det långa svaret finns här. I den här handledningen går vi igenom ett **java ocr example** som **extracts text from JPEG**‑filer, **converts image to text**, och utnyttjar **GPU accelerated OCR** för blixtsnabba resultat. + +Vi börjar med att konfigurera Aspose OCR‑biblioteket, läsa in ett exempel‑JPEG, slå på GPU‑stöd, köra motorn och slutligen skriva ut den igenkända texten. När du är klar har du ett återanvändbart kodsnutt som du kan lägga in i vilket Java‑projekt som helst, samt ett antal tips som skyddar dig mot vanliga fallgropar. Inga onödiga detaljer, bara det praktiska du behöver för att komma igång. + +## Förutsättningar + +* Java 8 eller nyare installerat (koden använder standard‑API:er, så vilken recent JDK som helst fungerar). +* Ett kompatibelt GPU med uppdaterade drivrutiner – de flesta moderna NVIDIA/AMD‑kort uppfyller kraven. +* Aspose.OCR för Java‑biblioteket (du kan hämta det från Maven Central eller Aspose‑webbplatsen). +* En JPEG‑bild som du vill köra OCR på – vi kallar den `sample.jpg`. + +Det är allt. Om någon av dessa är okända, pausa och installera den saknade delen; resten av guiden förutsätter att de redan är på plats. + +## Så aktiverar du GPU i Java OCR – Översikt + +Nedan är en snabb översikt av vad vi kommer att uppnå: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Tänk på GPU:n som en turbo‑laddare för din OCR‑motor—istället för att CPU:n gör varje pixel‑för‑pixel‑analys, hanterar grafikkortet det tunga lyftet parallellt. Resultatet? Snabbare bearbetningstider, särskilt på högupplösta skanningar. + +## Steg 1: Ställ in projektet och importera Aspose OCR + +Först och främst, skapa ett nytt Maven‑projekt (eller Gradle, om du föredrar). Lägg till Aspose OCR‑beroendet: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Om du inte använder Maven, ladda ner JAR‑filen från Aspose och lägg till den i din classpath. Detta steg är grunden för alla **java ocr example** du någonsin skriver, så dubbelkolla att biblioteket löser sig korrekt. + +## Steg 2: Läs in JPEG‑bilden (Extract Text from JPEG) + +Nu ska vi skriva kod för att läsa en JPEG‑fil. Klassen `OcrInputImage` accepterar en sökväg, och vi matar den i `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Varför detta är viktigt:** Att ladda bilden korrekt är det första steget i alla **convert image to text**‑arbetsflöden. Om sökvägen är fel kastar motorn ett undantag innan den ens når GPU‑stadiet. + +## Steg 3: Aktivera GPU‑acceleration (How to Enable GPU) + +Här är kärnan i handledningen—att slå på GPU‑stöd. Objektet `OcrSettings` har en flagga `setUseGpu`. Sätt den bara till `true` så är du klar. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Proffstips:** Kontrollera att din GPU‑drivrutin är uppdaterad. Föråldrade drivrutiner får ofta `setUseGpu(true)`‑anropet att tyst misslyckas, vilket lämnar dig med endast CPU‑prestanda. + +## Steg 4: Kör OCR‑motorn (Java OCR Example) + +Med bilden inläst och GPU aktiverat, starta OCR‑processen. Motorn returnerar ett `OcrResult`‑objekt som innehåller den igenkända texten. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Bakom kulisserna delar Aspose upp bilden i rutor, skickar dem till GPU:n för parallell inferens och sätter ihop resultaten igen. Detta är vad som gör **gpu accelerated ocr**‑upplevelsen märkbart snabbare än standard‑CPU‑vägen. + +## Steg 5: Skriv ut den igenkända texten (Convert Image to Text) + +Till sist, skriv ut resultatet till konsolen. I en riktig applikation skulle du troligen skriva detta till en fil eller en databas, men för illustration räcker ett enkelt `System.out.println`. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Förväntat utdata + +Om vi antar att `sample.jpg` innehåller frasen “Hello, World!”, bör du se: + +``` +Recognized text: +Hello, World! +``` + +Om bilden är mer komplex (flera rader, tabeller osv.) kommer utdata att innehålla radbrytningar och avstånd som speglar den ursprungliga layouten. Det är skönheten med Aspose OCR‑motor—den bevarar strukturen samtidigt som den konverterar bilden till text. + +## Fullt fungerande exempel + +När allt sätts ihop, här är det kompletta, körklara programmet: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Spara detta som `GpuOcrDemo.java`, kompilera med `javac` och kör med `java`. Om allt är korrekt konfigurerat kommer konsolen att visa den extraherade texten på ett ögonblick. + +## Vanliga frågor & edge‑cases + +### 1. Mitt GPU används inte – vad händer? + +* **Check driver version** – äldre drivrutiner kanske inte exponerar de nödvändiga beräkningskapaciteterna. +* **Validate GPU support** – Aspose kräver ett CUDA‑kompatibelt NVIDIA‑kort eller ett OpenCL‑kompatibelt AMD‑kort. Om du har en laptop med ett inaktiverat dedikerat GPU, aktivera det i BIOS eller grafik‑kontrollpanelen. +* **Inspect logs** – Aspose skriver en debug‑rad när GPU‑läge är aktivt. Aktivera loggning via `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. OCR‑resultatet är förvrängt på en lågupplöst bild. + +* **Pre‑process the JPEG** – ändra storlek till minst 300 dpi, applicera kontrastförbättring eller konvertera till gråskala innan du matar den till motorn. +* **Adjust settings** – du kan justera `ocr.getSettings().setLanguage(OcrLanguage.English)` eller aktivera `setUseLanguageDetection(true)` för bättre noggrannhet. + +### 3. Kan jag bearbeta flera bilder i ett batch‑läge? + +Absolut. Lägg in laddnings‑ och bearbetningsblocken i en loop, återanvänd samma `OcrEngine`‑instans. Kom bara ihåg att anropa `ocr.reset()` mellan iterationer för att rensa den föregående bilden. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Fungerar GPU‑acceleration på headless‑servrar? + +Ja, så länge servern har ett stödjande GPU och rätt drivrutiner. På Linux kan du behöva installera paketet `nvidia‑utils` och säkerställa att `CUDA`‑verktygssatsen finns i `PATH`. + +## Proffstips för produktionsklar GPU OCR + +* **Batch size matters** – större bilder drar mer nytta av GPU‑parallellism. Om du bearbetar små ikoner kan overheaden för GPU‑överföring överväga vinsterna. +* **Memory management** – GPU:er har begränsad VRAM. För mycket stora PDF‑filer eller multi‑megapixel‑skanningar, dela upp bilden i mindre rutor manuellt. +* **Error handling** – omslut OCR‑anropet i ett try‑catch‑block och falla tillbaka till CPU‑läge (`setUseGpu(false)`) om ett `UnsupportedOperationException` kastas. + +## Slutsats + +Vi har precis gått igenom **how to enable GPU** i ett **java ocr example**, visat dig hur du **extracts text from JPEG**‑filer, och demonstrerat ett rent sätt att **convert image to text** med Aspose’s **gpu accelerated OCR**‑motor. Kodsnutten ovan är klar att slänga in i vilket Java‑projekt som helst, och de medföljande tipsen bör skydda dig från de vanliga huvudvärken. + +Vad blir nästa steg? Prova att lägga till språkpaket, experimentera med olika bildformat (PNG, TIFF), eller integrera resultatet i ett sökindex. Himlen är gränsen när du kombinerar OCR med GPU‑kraft. + +Har du fler frågor om GPU‑accelerated OCR eller behöver hjälp med att finjustera inställningarna? Lämna en kommentar, och lycka till med kodandet! + +![Hur man aktiverar GPU i Java OCR‑exempel](https://example.com/images/gpu-ocr-java.png "Hur man aktiverar GPU i Java OCR") + +## Vad bör du lära dig härnäst? + +Följande handledningar täcker närbesläktade ämnen som bygger på teknikerna som demonstrerats i den här guiden. Varje resurs innehåller kompletta fungerande kodexempel med steg‑för‑steg‑förklaringar för att hjälpa dig bemästra ytterligare API‑funktioner och utforska alternativa implementationsmetoder i dina egna projekt. + +- [Extrahera text från bilder – OCR‑grunder med Aspose.OCR för Java](/ocr/english/java/ocr-basics/) +- [Konvertera bild till text i Java med Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Hur man OCR‑bilder med språk med Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/swedish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..87139af88 --- /dev/null +++ b/ocr/swedish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-06-06 +description: Förbättra OCR‑noggrannheten i Java med en steg‑för‑steg‑guide som visar + hur du laddar bild‑OCR, bearbetar bild‑OCR och extraherar text från skannade sidor + effektivt. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: sv +og_description: Förbättra OCR‑noggrannheten i Java med ett praktiskt exempel. Lär + dig att ladda bild‑OCR, förbehandla och utföra OCR på en bild för att extrahera + text från en skannad sida. +og_title: Förbättra OCR‑noggrannheten i Java – Fullständig handledning +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Förbättra OCR‑noggrannheten i Java – Komplett guide +url: /sv/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Förbättra OCR‑noggrannhet i Java – Komplett guide + +Har du någonsin undrat hur du **förbättrar OCR‑noggrannhet** när du hanterar gamla boksökningar eller suddiga kvitton? Du är inte ensam. I många verkliga projekt ser den råa utdata från en OCR‑motor ut som en kryptisk röra, och det beror oftast på att bilden inte förbehandlades korrekt innan du **utföra OCR‑bild**. + +I den här handledningen går vi igenom ett praktiskt Java‑exempel som visar exakt hur du **load image OCR**, tillämpar några smarta förbehandlingssteg, **process image OCR**, och slutligen **extract text scanned page** med ett rent resultat. I slutet kommer du att förstå inte bara *vad* du ska koda, utan *varför* varje rad är viktig för att förbättra igenkänningskvaliteten. + +## Vad du kommer att lära dig + +- Hur man instansierar en OCR‑motor i Java +- Det rätta sättet att **load image OCR** från disk +- Varför deskewing, denoising och contrast boosting är avgörande för **förbättra OCR‑noggrannhet** +- Hur man **utföra OCR‑bild** och hämtar den igenkända texten +- Tips för att hantera olika bildformat och edge‑cases + +Ingen extern dokumentation behövs – allt du behöver finns här, och den kompletta, körbara koden finns inkluderad längst ner. + +## Förutsättningar + +- Java 17 (eller någon nyare JDK) installerad på din maskin +- Ett OCR‑bibliotek som tillhandahåller klasserna `OcrEngine`, `OcrInputImage` och `OcrResult` (exemplet använder ett generiskt API; ersätt med ditt leverantörs‑jar om det behövs) +- En skannad bild (PNG, JPEG eller TIFF) som du vill köra OCR på – för demonstrationen använder vi `old_book_page.png` som ligger i en mapp som heter `YOUR_DIRECTORY` + +Om du saknar OCR‑jar‑filen, släng den bara i ditt projekts `libs`‑mapp och lägg till den i classpath. Det är allt. + +--- + +## Steg 1 – Förbättra OCR‑noggrannhet: Ställ in motorn + +Innan vi kan **process image OCR**, behöver vi en ny motorinstans. Att skapa en ny `OcrEngine` ger oss en ren start, vilket säkerställer att inga kvarvarande inställningar från tidigare körningar finns. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Varför detta är viktigt*: En nyinställd motor startar med standardförbehandling inaktiverad. Det är avsiktligt – vi vill bara aktivera de steg som verkligen hjälper vår specifika bild, vilket är grunden för **förbättra OCR‑noggrannhet**. + +## Steg 2 – Ladda bild OCR – Förbered din skanning + +Nu laddar vi faktiskt **load image OCR**. Metoden `setImage` förväntar sig ett `OcrInputImage` som pekar på filen på disken. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Ett par anmärkningar: + +1. **Supported formats** – de flesta bibliotek accepterar PNG, JPEG, BMP och TIFF. Om du har en PDF, konvertera först den första sidan till en bild. +2. **Path handling** – att använda en absolut sökväg undviker fällan “file not found” när arbetskatalogen ändras. + +## Steg 3 – Deskew: Raka upp roterade sidor + +Många skannade sidor är inte perfekt horisontella. En liten rotation kan försvåra igenkänning eftersom OCR‑motorn förväntar sig att textraderna är i nivå. Att aktivera deskew upptäcker och korrigerar automatiskt den rotationen. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: Om du känner till rotationsvinkeln i förväg (t.ex. 90°), kan du manuellt rotera bilden innan du matar den till motorn – ofta snabbare för batch‑jobb. + +## Steg 4 – Denoise: Minska bakgrundskorn + +Gamla dokument innehåller ofta papperstextur, damm eller komprimeringsartefakter. Metoden `setDenoiseLevel` applicerar ett filter som jämnar ut detta brus. Nivå 2 är en bra startpunkt för de flesta skannade sidor. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Varför det hjälper**: Brus skapar falska kanter som OCR‑motorn kan tolka som tecken. Genom att rengöra bilden **förbättrar vi OCR‑noggrannhet** utan att offra de faktiska glyfformerna. + +## Steg 5 – Öka kontrast: Få texten att sticka ut + +Om skanningen är blekt, är kontrasten mellan bläck och papper låg, och motorn har svårt att skilja förgrund från bakgrund. En måttlig kontrastökning på `1.4f` (40 % ökning) löser vanligtvis problemet. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Edge case*: För mycket mörka bilder kan en högre faktor (upp till 2.0) vara fördelaktig, men var försiktig med klippning – alltför ljusa områden kan bli helt vita och radera fina detaljer. + +## Steg 6 – Utföra OCR‑bild – Kärnprocessen + +All förberedelse leder fram till denna rad: att faktiskt köra OCR‑motorn på den förbehandlade bilden. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Under huven kör motorn sina segmenterings-, teckenigenkännings- och språkmodellsteg. Om du behöver flera språk, ställ in dem på motorn **innan** du anropar `process()`. + +## Steg 7 – Extrahera text skannad sida – Hämta resultatet + +Till sist hämtar vi den igenkända strängen från `OcrResult`. Att skriva ut den till konsolen räcker för en snabb demo, men du kan också skriva den till en fil, en databas eller föra in den i en efterföljande NLP‑pipeline. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Förväntad output** (avkortad för korthet): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Om resultatet fortfarande ser rörigt ut, gå tillbaka till förbehandlingsparametrarna – ibland gör en högre denoise‑nivå eller en annan kontrastfaktor en märkbar skillnad. + +## Fullt fungerande exempel + +Nedan är det kompletta, fristående Java‑programmet som du kan kopiera, klistra in och köra. Det innehåller nödvändiga imports, en `main`‑metod och inline‑kommentarer som förklarar varje steg. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Spara detta som `OcrAccuracyDemo.java`, kompilera med `javac` och kör det med `java`. Om allt är korrekt konfigurerat kommer du att se den rensade texten skriven i terminalen. + +## Vanliga frågor & edge cases + +**Q: Min skannade sida är i färg – bör jag konvertera den till gråskala först?** +A: De flesta OCR‑motorer konverterar internt till gråskala, men att göra det själv (t.ex. med `BufferedImage` och `ColorConvertOp`) kan ge dig finare kontroll över konverteringsalgoritmen, särskilt när bakgrunden inte är enhetlig. + +**Q: Resultatet innehåller fortfarande stray symbols. Vad gör jag nu?** +A: Prova att öka `setDenoiseLevel` till 3 eller justera `setContrastBoost` till 1.6f. Om problemet kvarstår, överväg att applicera ett **binary threshold** (binarisering) före OCR – många bibliotek erbjuder ett `setBinarization(true)`‑alternativ. + +**Q: Hur hanterar jag multi‑page PDFs?** +A: Konvertera varje sida till en bild (t.ex. med Apache PDFBox) och loopa över sidorna, återanvänd samma `OcrEngine`‑instans men återställ bilden för varje iteration. + +## Slutsats + +Du har just lärt dig hur du **förbättrar OCR‑noggrannhet** i Java genom att korrekt **load image OCR**, tillämpa deskew, denoise och kontrastökning, sedan **perform OCR image** och slutligen **extract text scanned page**. Det viktigaste är att förbehandling ofta är den mest effektiva hävstången för att öka igenkänningskvaliteten – en väl förberedd bild kan dubbla eller till och med tredubbla andelen korrekta tecken. + +Redo för nästa steg? Prova att experimentera med: + +- Olika denoise‑nivåer för kraftigt korniga skanningar +- Adaptiv kontrastökning baserad på bildens histogramanalys +- Integrera en språkmodell (t.ex. stavningskontroll) efter extraktion för att rensa bort återstående fel + +Dessa tillägg kommer att fördjupa din OCR‑pipeline och göra den robust nog för produktionsarbetsbelastningar. + +Om du stöter på problem eller har ett smart trick att dela, lämna en kommentar nedan. Lycka till med kodandet, och må din text alltid vara läsbar! + +## Vad bör du lära dig härnäst? + +Följande handledningar täcker närbesläktade ämnen som bygger på teknikerna som demonstrerats i denna guide. Varje resurs innehåller kompletta fungerande kodexempel med steg‑för‑steg‑förklaringar för att hjälpa dig bemästra ytterligare API‑funktioner och utforska alternativa implementationsmetoder i dina egna projekt. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/java/ocr-basics/_index.md b/ocr/swedish/java/ocr-basics/_index.md index 0b6fd99af..99c71d9ca 100644 --- a/ocr/swedish/java/ocr-basics/_index.md +++ b/ocr/swedish/java/ocr-basics/_index.md @@ -100,6 +100,8 @@ 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. +### [Hur man utför OCR i Java – Komplett guide för att extrahera text från bilder](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Lär dig steg‑för‑steg hur du använder Aspose.OCR i Java för att läsa text från bilder och förbättra noggrannheten. --- @@ -112,4 +114,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/swedish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..c188ea315 --- /dev/null +++ b/ocr/swedish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,244 @@ +--- +category: general +date: 2026-06-06 +description: hur man utför OCR i Java – snabbt extrahera text från bild, konvertera + bild till text och läsa text från jpg med ett enkelt kodexempel. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: sv +og_description: hur man utför OCR i Java – lär dig hur du extraherar text från bild, + konverterar bild till text och läser text från jpg med ett färdigt exempel. +og_title: Hur man utför OCR i Java – Steg‑för‑steg‑guide +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Hur man utför OCR i Java – Komplett guide för att extrahera text från bilder +url: /sv/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man utför OCR i Java – Komplett guide för att extrahera text från bilder + +Har du någonsin undrat **how to perform OCR** på en bild du tog med din telefon? Du är inte ensam. Oavsett om du bygger en kvittoskanningsapp eller bara behöver dra ut text från en skannad PDF, **how to perform OCR** i Java är en färdighet som snabbt lönar sig. I den här handledningen går vi igenom ett praktiskt exempel som **extracts text from image**‑filer, **converts image to text**, och till och med visar hur du **read text from jpg** med bara några rader kod. + +> *Pro tip:* Samma tillvägagångssätt fungerar för PNG, BMP eller vilket format OCR‑motorn stödjer—byt bara filnamnet. + +## Hur man utför OCR i Java – Översikt + +Optisk teckenigenkänning (OCR) är tekniken som omvandlar bilder av bokstäver till faktisk, sökbar text. I Java‑ekosystemet finns flera bibliotek—Tesseract, Asprise och kommersiella SDK‑er—alla med ett liknande arbetsflöde: ladda en bild, tala om för motorn vilket språk som förväntas, kör igenkänningen och hämta resultatet. Nedan använder vi en generisk `OcrEngine`‑klass för att hålla exemplet tydligt, men du kan ersätta den med vilken konkret implementation som helst som följer samma mönster. + +### Vad du kommer att lära dig + +- Installera ett OCR‑bibliotek (ja, **ocr in java** är enklare än du tror). +- Skapa och konfigurera en OCR‑motorninstans. +- Ladda en JPG (eller någon bild) och ange språket. +- Bearbeta bilden och **extract text from image**‑filer. +- Skriv ut den igenkända strängen till konsolen. + +När du är klar har du ett fristående Java‑program som du kan släppa in i vilket projekt som helst och köra omedelbart. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## Steg 1 – Installera och importera ett OCR‑bibliotek (ocr in java) + +Innan du skriver en enda rad Java behöver du ett bibliotek som faktiskt utför det tunga arbetet. Om du använder Maven, lägg till ett beroende så här (byt ut `com.example.ocr` mot det faktiska grupp‑ID:t för ditt valda SDK): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Om du föredrar Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +När JAR‑filen är på din classpath, importera de klasser du behöver: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Why this matters:** Att importera rätt klasser förhindrar “cannot find symbol”-fel och gör din IDE glad—inget är mer frustrerande än en saknad import när du försöker **convert image to text**. + +## Steg 2 – Skapa OCR‑motorninstansen (how to perform OCR) + +Nu när biblioteket är klart, starta motorn. Tänk på motorn som hjärnan som kommer att titta på pixlarna och gissa bokstäverna. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Att skapa motorn är vanligtvis billigt; de flesta SDK‑er allokerar interna buffertar efter behov, så du kan säkert återanvända samma instans för många bilder om du bearbetar en batch. + +## Steg 3 – Ladda bilden och ange språket (extract text from image) + +Nästa steg är att ge motorn något att läsa. Här laddar vi en JPEG från disk och talar om för OCR‑motorn att texten är på mongoliska (ISO 639‑2‑kod “mon”). Du kan ändra sökvägen eller språkkoden för att passa ditt användningsfall. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Side note:** Om du inte anger ett språk, använder motorn engelska som standard, vilket kan kraftigt minska noggrannheten när texten faktiskt är kyrillisk eller i ett annat skriftsystem. Ange alltid rätt språk när du kan. + +## Steg 4 – Bearbeta bilden och hämta resultatet (convert image to text) + +Med bilden och språket på plats, be motorn göra sin magi. Anropet `process()` kör OCR‑algoritmen och returnerar ett `OcrResult`‑objekt som innehåller den igenkända strängen och förtroendesiffror. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Bakom kulisserna kan motorn utföra förbehandling—rättning av snedvridning, binarisering, brusreducering—så att du inte behöver skriva dessa steg själv. Det är därför de flesta moderna OCR‑bibliotek är ett nöje att använda för **convert image to text**‑uppgifter. + +## Steg 5 – Skriv ut den extraherade texten (read text from jpg) + +Till sist, hämta rentexten från resultatet och gör något användbart med den. För den här demonstrationen skriver vi helt enkelt ut den till konsolen, men du skulle kunna skriva den till en fil, mata in den i ett sökindex eller skicka den till en annan tjänst. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Den raden i sig bevisar att du framgångsrikt har **read text from jpg** (eller något annat stödd format). Om utskriften ser förvrängd ut, dubbelkolla språkkoden och bildkvaliteten. + +## Fullständigt fungerande exempel (Alla steg kombinerade) + +Nedan är en komplett, färdig‑att‑köra Java‑klass som binder ihop alla delar. Kopiera den till en fil med namnet `OcrDemo.java`, justera bildsökvägen och språket, och kör sedan `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Förväntad utskrift + +Om `input.jpg` innehåller den mongoliska frasen “Сайн байна уу?” kommer konsolen att visa: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Om bilden är suddig eller språkkoden är fel, kommer du att se förvrängda tecken eller en tom sträng—vanliga fallgropar som vi kommer att diskutera härnäst. + +## Vanliga fallgropar och hur du åtgärdar dem + +| Symptom | Trolig orsak | Åtgärd | +|---------|--------------|-----| +| Förvrängda kyrilliska tecken | Fel språkkod (standard är engelska) | Sätt `ocrEngine.getSettings().setLanguage("mon")` eller rätt kod. | +| Ingen utskrift alls | Fel bildsökväg eller filen kan inte läsas | Verifiera sökvägen, säkerställ att filen finns och att processen har läsrättigheter. | +| Låg noggrannhet (<70 %) | Bilden har låg kontrast eller är roterad | Förbehandla bilden: öka kontrast, räta upp, eller konvertera till gråskala innan du skickar den till motorn. | +| `OutOfMemoryError` på stora PDF‑filer | Laddar många högupplösta sidor samtidigt | Bearbeta sidor en i taget, eller skala ner bilder innan OCR. | + +### Proffstips: Batch‑bearbetning + +Om du behöver **extract text from image**‑filer i bulk, omslut kärnlogiken i en loop: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +## Gå vidare – Vad du kan utforska härnäst? + +- **Language Packs:** De flesta OCR‑SDK‑er låter dig ladda ner ytterligare språkdatafiler. Att lägga till ett nytt paket låter dig **convert image to text** för språk utöver engelska och mongoliska. +- **PDF OCR:** Kombinera den här koden med Apache PDFBox för att + +## Vad bör du lära dig härnäst? + +Följande handledningar täcker närbesläktade ämnen som bygger på teknikerna som demonstreras i den här guiden. Varje resurs innehåller kompletta fungerande kodexempel med steg‑för‑steg‑förklaringar för att hjälpa dig bemästra ytterligare API‑funktioner och utforska alternativa implementationsmetoder i dina egna projekt. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..5ea11f27d 100644 --- a/ocr/swedish/java/ocr-operations/_index.md +++ b/ocr/swedish/java/ocr-operations/_index.md @@ -81,6 +81,8 @@ 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. +### [Applicera Aspose OCR-licens i Java – Ta bort OCR‑vattenstämpel](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Lär dig hur du applicerar en Aspose OCR‑licens i Java för att ta bort vattenstämpeln från OCR‑resultaten. ## Vanliga frågor diff --git a/ocr/swedish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/swedish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..4f4fbf82c --- /dev/null +++ b/ocr/swedish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-06-06 +description: Applicera Aspose OCR-licens i Java för att låsa upp alla funktioner och + omedelbart ta bort OCR‑vattenstämpeln. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: sv +og_description: Applicera Aspose OCR-licens i Java för att eliminera utvärderingsgränser + och ta bort OCR‑vattenstämpeln från dina skanningar. +og_title: Applicera Aspose OCR-licens i Java – Ta bort OCR‑vattenstämpel +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Applicera Aspose OCR-licens i Java – Ta bort OCR‑vattenstämpel +url: /sv/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Applicera Aspose OCR-licens i Java – Ta bort OCR-vattenstämpel + +Har du någonsin undrat hur du **applicerar Aspose OCR-licens** i ett Java‑projekt utan att stöta på den fruktade utvärderingsvattnstämpeln? Du är inte ensam. Så snart du provar den kostnadsfria provversionen, blir varje skannad bild märkt med den grå “Aspose Evaluation”-överlägget, och det kan få även det renaste dokumentet att se oprofessionellt ut. + +I den här guiden går vi igenom de exakta stegen för att **applicera Aspose OCR-licens**, verifiera att biblioteket är helt upplåst och visa hur vattenstämpeln försvinner automatiskt. När du är klar kan du köra OCR på vilken bild som helst – vare sig det är ett kvitto, en passskanning eller en handskriven lapp – utan det fula överlägget. + +## Prerequisites + +Innan vi hoppar in, se till att du har: + +- **Java Development Kit (JDK) 8** eller nyare installerat. +- **Aspose OCR for Java** JAR‑fil (ladda ner från Aspose‑portalen). +- Din **Aspose OCR-licensfil** (`Aspose.OCR.Java.lic`). +- En IDE eller en enkel textredigerare (IntelliJ, Eclipse, VS Code – ditt val). + +Det är allt. Inga extra Maven‑plugin eller Gradle‑trick behövs, men du kan självklart lägga till dem senare om du föredrar det. + +## Project Setup (Quick Overview) + +1. Skapa en ny mapp kallad `AsposeOCRDemo`. +2. Lägg `aspose-ocr-*.jar`‑filen i en `lib`‑undermapp. +3. Placera din `Aspose.OCR.Java.lic`‑fil någonstans där den kan nås, t.ex. i `resources/`‑mappen. +4. Skriv en liten `Main.java`‑fil – här sker magin. + +Om du använder en IDE, lägg bara till JAR‑filen i projektets classpath och markera `resources`‑mappen som en resurssökväg. Om du kompilerar från kommandoraden kommer classpath att se ut ungefär så här: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Nu när strukturen är klar, låt oss gå till kärnan av saken. + +## Steg 1: **Applicera Aspose OCR-licens** – Kärnkoden + +Det första du måste göra är att tala om för Aspose OCR‑motorn att lita på din licensfil. Utan detta anrop förblir biblioteket i utvärderingsläge och kommer fortsätta lägga till den vattenstämpeln på varje resultat. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Varför detta är viktigt:** `License`‑klassen är portvakt. Så snart `setLicense` lyckas, växlar OCR‑motorn från *utvärdering* till *full* läge. Alla interna kontroller som normalt lägger till logiken för **remove OCR watermark** inaktiveras, så du kommer aldrig att se det grå överlägget igen. +> +> **Pro‑tips:** Håll licensfilen utanför ditt källkodshanteringssystem (t.ex. i en miljöspecifik mapp) för att undvika oavsiktliga incheckningar. + +## Steg 2: Verifiera att vattenstämpeln är borta + +Efter att du har anropat `applyAsposeOcrLicense` är det god praxis att köra ett snabbt test. Följande kodsnutt laddar en bild, utför OCR och skriver ut den extraherade texten. Om licensen inte är aktiv kommer Aspose att kasta ett undantag eller bädda in en vattenstämpel i utdata‑bilden (om du sparar ett visuellt resultat). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Förväntad utdata (utdrag):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Observera att det inte finns någon nämnning av en utvärderingsvattnstämpel någonstans. Det är **remove OCR watermark**‑effekten i praktiken. + +## Steg 3: Vanliga fallgropar & specialfall + +### 1. Fel licenssökväg +Om du anger en felaktig sökväg till `setLicense` misslyckas metoden tyst och biblioteket förblir i utvärderingsläge. Kontrollera alltid returvärdet eller fånga undantaget, som visas i `LicenseUtil`. + +### 2. Använda en relativ sökväg i en JAR‑baserad distribution +När du paketerar din app som en körbar JAR kan relativa filsystem‑sökvägar gå sönder. Ett säkrare tillvägagångssätt är att ladda licensen som en resurssström: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Placera `.lic`‑filen i `src/main/resources` så att den hamnar på classpath. + +### 3. Multi‑trådade scenarier +Om din applikation bearbetar många bilder samtidigt behöver du bara applicera licensen **en gång** per JVM. Att anropa `setLicense` igen från flera trådar kan ge en liten prestandapåverkan, men det kommer inte att bryta någonting. + +### 4. Licensutgång +Aspose‑licenser är vanligtvis eviga, men vissa prov- eller tidsbegränsade licenser kan gå ut. När det händer återgår motorn till utvärderingsläge och **remove OCR watermark**‑beteendet försvinner. Håll koll på licensens utgångsdatum i Aspose‑portalen. + +## Steg 4: Automatisera licensanvändning i verkliga projekt + +I en produktions‑mikrotjänst vill du förmodligen inte sprida `LicenseUtil.applyAsposeOcrLicense` över hela kodbasen. Istället, initiera den en gång under applikationens start – tänk på Spring Boot:s `@PostConstruct`‑metod eller ett statiskt initieringsblock. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Nu kan varje komponent som använder `OcrEngine` säkert anta att licensen redan är aktiv, vilket garanterar **remove OCR watermark**‑garantin i hela tjänsten. + +## Steg 5: Testa licensintegrationen + +Automatiserade tester kan bekräfta att vattenstämpeln faktiskt är borta. Ett enkelt JUnit‑test kan se ut så här: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Att köra detta test ger dig förtroende för att din distributionspipeline inte av misstag levererar en olicensierad build. + +## Visuell översikt (Valfritt) + +Om du gillar att se saker grafiskt, här är ett snabbt schema över flödet: + +![Apply Aspose OCR License in Java](apply-aspose-ocr-license.png "Apply Aspose OCR License in Java") + +*Alt text: Applicera Aspose OCR-licens i Java – diagram som visar licensladdning och sedan OCR‑bearbetning utan vattenstämpel.* + +## Slutsats + +Vi har gått igenom allt du behöver för att **applicera Aspose OCR-licens** i en Java‑miljö och, som en direkt bieffekt, **ta bort OCR‑vattnstämpeln** från alla bearbetade bilder. Från att skapa `License`‑objektet, hantera sökvägs‑kuriosa, verifiera resultatet, till att integrera det i en större applikation – varje steg förklarades med “varför” bakom det, inte bara “hur”. + +Nu kan du integrera Aspose OCR i vilket Java‑projekt som helst, med förtroende för att dina användare aldrig kommer att se den störande utvärderingsetiketten igen. + +### Vad blir nästa? + +- **Utforska språkpaket:** Aspose OCR stödjer över 70 språk; sätt bara rätt `OcrEngine`‑egenskap. +- **Kombinera med Aspose PDF:** Konvertera skannade bilder direkt till sökbara PDF‑filer utan vattenstämpel. +- **Prestandaoptimering** + +## Vad bör du lära dig härnäst? + +Följande handledningar täcker närliggande ämnen som bygger på teknikerna som demonstrerats i den här guiden. Varje resurs innehåller kompletta fungerande kodexempel med steg‑för‑steg‑förklaringar för att hjälpa dig bemästra ytterligare API‑funktioner och utforska alternativa implementeringsmetoder i dina egna projekt. + +- [Hur man ställer in licens och verifierar Aspose.OCR-licens i Java](/ocr/english/java/ocr-basics/set-license/) +- [Känna igen text i bild med Aspose OCR – Fullständig Java OCR‑handledning](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Beräkna snedvinkel med Aspose OCR Java – Fullständig guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..cfd5e63d6 100644 --- a/ocr/thai/java/advanced-ocr-techniques/_index.md +++ b/ocr/thai/java/advanced-ocr-techniques/_index.md @@ -45,25 +45,27 @@ Aspose.OCR สำหรับ Java เป็นตัวเปลี่ยนเ แยกข้อความจากรูปภาพได้อย่างง่ายดายโดยการระบุอักขระที่อนุญาตด้วย Aspose.OCR สำหรับ Java ปฏิบัติตามคำแนะนำทีละขั้นตอนของเราเพื่อการผสานรวมที่มีประสิทธิภาพ รับรองประสบการณ์การจดจำข้อความที่ราบรื่น ปรับปรุงแอปพลิเคชัน Java ของคุณด้วยความสามารถของ Aspose.OCR -## บทสรุป - -ด้วย Aspose.OCR สำหรับ Java การเรียนรู้เทคนิค OCR ขั้นสูงไม่เคยง่ายอย่างนี้มาก่อน เจาะลึกบทช่วยสอนเหล่านี้ และปลดล็อกศักยภาพเต็มรูปแบบของการจดจำข้อความในโปรเจ็กต์ Java ของคุณ ยกระดับแอปพลิเคชันของคุณด้วยการผสานรวมที่ราบรื่น ความแม่นยำสูง และความสามารถในการแยกข้อความที่หลากหลาย ดาวน์โหลดตอนนี้และก้าวแรกสู่ความเป็นเลิศของ OCR ด้วย Aspose.OCR สำหรับ Java! -## บทช่วยสอนเทคนิค OCR ขั้นสูง -### [การแสดง OCR บน BufferedImage ใน Aspose.OCR สำหรับ Java](./perform-ocr-buffered-image/) -ดำเนินการ OCR บน BufferedImage ได้อย่างง่ายดายด้วย Aspose.OCR สำหรับ Java แยกข้อความจากรูปภาพได้อย่างลงตัว ดาวน์โหลดตอนนี้เพื่อรับประสบการณ์การรู้จำข้อความที่หลากหลาย -### [การดำเนินการ OCR บนรูปภาพจาก URL ใน Aspose.OCR สำหรับ Java](./perform-ocr-image-from-url/) -ปลดล็อกการแยกข้อความรูปภาพอย่างราบรื่นใน Java ด้วย Aspose.OCR OCR ความแม่นยำสูงพร้อมการรวมที่ง่ายดาย -### [การดำเนินการ OCR บนเพจเฉพาะใน Aspose.OCR](./perform-ocr-on-page/) -ปลดล็อกพลังของ Aspose.OCR สำหรับ Java ด้วยคำแนะนำทีละขั้นตอนเกี่ยวกับการดำเนินการ OCR บนหน้าเว็บเฉพาะ แยกข้อความออกจากรูปภาพได้อย่างง่ายดายและปรับปรุงโปรเจ็กต์ Java ของคุณ -### [กำลังเตรียมสี่เหลี่ยมสำหรับ OCR ใน Aspose.OCR](./prepare-rectangles-for-ocr/) -ปลดล็อกพลังของการรู้จำข้อความด้วย Aspose.OCR สำหรับ Java ปฏิบัติตามคำแนะนำทีละขั้นตอนของเราเพื่อการบูรณาการที่ราบรื่น ปรับปรุงแอปพลิเคชัน Java ของคุณด้วยความสามารถ OCR ที่มีประสิทธิภาพ -### [การรับรู้บรรทัดใน Aspose.OCR สำหรับ Java](./recognize-lines/) -เสริมศักยภาพแอปพลิเคชัน Java ของคุณด้วย Aspose.OCR เพื่อการจดจำข้อความที่แม่นยำ บูรณาการได้ง่าย มีความแม่นยำสูง -### [การระบุอักขระที่อนุญาตใน Aspose.OCR](./specify-allowed-characters/) -ปลดล็อกการแยกข้อความจากรูปภาพได้อย่างราบรื่นด้วย Aspose.OCR สำหรับ Java ปฏิบัติตามคำแนะนำทีละขั้นตอนของเราเพื่อการบูรณาการที่มีประสิทธิภาพ +## [วิธีเปิดใช้งาน GPU ใน Java OCR – คู่มือขั้นตอนเต็ม](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) + +เรียนรู้วิธีเปิดใช้งาน GPU เพื่อเพิ่มความเร็วในการทำ OCR ด้วย Aspose.OCR สำหรับ Java อย่างละเอียดและง่ายต่อการทำตาม + +## [การแยกข้อความจากภาพสแกนใน Java – คู่มือ Aspose OCR ครบขั้นตอน](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) + +เรียนรู้วิธีแยกข้อความจากภาพสแกนใน Java ด้วย Aspose OCR อย่างละเอียดและง่ายต่อการทำตาม + +## [ตัวอย่าง Aspose OCR สำหรับ Java – คู่มือเต็มขั้นตอนการโหลดภาพ, แก้ไขการสะกด, และประมวลผล OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) + +เรียนรู้วิธีโหลดภาพ, แก้ไขการสะกด, และทำ OCR อย่างครบถ้วนด้วย Aspose OCR สำหรับ Java ดาวน์โหลดตอนนี้เพื่อเพิ่มประสิทธิภาพแอปของคุณ + +## [ปรับปรุงความแม่นยำของ OCR ใน Java – คู่มือเต็มขั้นตอน](./improve-ocr-accuracy-in-java-complete-guide/) + +## [สร้าง PDF ที่ค้นหาได้ใน Java – คู่มือ Aspose OCR เต็มรูปแบบ](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) + +เรียนรู้วิธีสร้างไฟล์ PDF ที่สามารถค้นหาและคัดลอกข้อความได้ใน 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/thai/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/thai/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..6b97feec3 --- /dev/null +++ b/ocr/thai/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-06-06 +description: ตัวอย่าง Aspose OCR สำหรับ Java แสดงวิธีโหลด OCR ของภาพ, แก้ไขข้อผิดพลาดของ + OCR, ตั้งค่าพจนานุกรมกำหนดเอง, และประมวลผล OCR ของภาพในไม่กี่ขั้นตอน. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: th +og_description: ตัวอย่าง Aspose OCR Java ที่โหลดภาพ, แก้ไขข้อผิดพลาด OCR, ตั้งพจนานุกรมกำหนดเอง, + และประมวลผล OCR ของภาพอย่างมีประสิทธิภาพ. +og_title: ตัวอย่าง Aspose OCR Java – โหลดภาพ, แก้ไขการสะกด & ประมวลผล OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: ตัวอย่าง Aspose OCR ด้วย Java – คู่มือฉบับสมบูรณ์สำหรับการโหลดภาพ, การแก้ไขการสะกด, + และการประมวลผล OCR +url: /th/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ตัวอย่าง Aspose OCR Java – คู่มือฉบับสมบูรณ์สำหรับโหลดภาพ, แก้ไขการสะกด, และประมวลผล OCR + +เคยต้องการ **ตัวอย่าง Aspose OCR Java** ที่ทำงานได้ทันทีหรือไม่? คุณไม่ได้เป็นคนเดียว—นักพัฒนามักมองภาพหน้าจอที่เบลอและสงสัยว่าทำไมข้อความที่สกัดออกมาถูกทำให้ยุ่งเหยิง ข่าวดีคือเอนจิน OCR ของ Aspose มีการแก้ไขการสะกดในตัวแล้ว และคุณยังสามารถต่อเติมด้วยรายการคำของคุณเองได้ ในบทแนะนำนี้เราจะเดินผ่านการโหลดภาพ OCR, เปิดใช้งานฟีเจอร์การแก้ไข, ตั้งค่าพจนานุกรมแบบกำหนดเอง (ถ้าต้องการ) และสุดท้ายประมวลผลภาพ OCR เพื่อให้ได้ข้อความที่สะอาดและอ่านง่าย + +เราจะอธิบายว่าทำไมคุณอาจต้อง **แก้ไขข้อผิดพลาด OCR**, วิธี **โหลดภาพ OCR** อย่างมีประสิทธิภาพ, ประโยชน์ของการเรียก **ตั้งค่าพจนานุกรมแบบกำหนดเอง**, และกระบวนการ **ประมวลผลภาพ OCR** แบบต้นจนจบ อย่างไร หลังจากอ่านจบคุณจะมีโปรแกรม Java ที่รันได้เต็มรูปแบบและสามารถนำไปใส่ในโปรเจกต์ Maven หรือ Gradle ใดก็ได้ + +--- + +## สิ่งที่คุณต้องมี + +- Java 8 หรือใหม่กว่า (API ยังทำงานกับ Java 11+ ด้วย) +- ไลบรารี Aspose.OCR for Java (ดาวน์โหลด JAR ล่าสุดจากเว็บไซต์ Aspose หรือเพิ่ม dependency ของ Maven) +- ไฟล์ภาพที่มีข้อความ (แนะนำให้เป็นเอกสารสแกนหรือภาพหน้าจอที่มีสัญญาณรบกวน) +- ตัวเลือก: ไฟล์พจนานุกรมแบบ plain‑text หากคุณต้องการ **ตั้งค่าพจนานุกรมแบบกำหนดเอง** สำหรับคำเฉพาะด้าน + +เท่านี้—ไม่มีเอนจิน OCR ขนาดใหญ่, ไม่มี dependency แบบ native, เพียง JAR เดียวและบรรทัดโค้ดไม่กี่บรรทัด + +--- + +## ขั้นตอนที่ 1: ตัวอย่าง Aspose OCR Java – โหลดภาพ OCR + +สิ่งแรกที่คุณต้องทำคือสร้างอินสแตนซ์ `OcrEngine` แล้วชี้ไปที่ไฟล์ที่ต้องการวิเคราะห์ คิดว่าเป็นการเปิดหนังสือก่อนเริ่มอ่าน + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **ทำไมเรื่องนี้ถึงสำคัญ:** การเรียก `setImage` คือหัวใจของ **โหลดภาพ OCR** หากไม่มีภาพที่ถูกต้อง เอนจินจะไม่มีอะไรให้จดจำและคุณจะได้สตริงว่างหรือเกิดข้อยกเว้น + +![aspose ocr java example loading image](image.png){alt="ตัวอย่าง Aspose OCR Java โหลดภาพ"} + +--- + +## ขั้นตอนที่ 2: เปิดใช้งานการแก้ไขการสะกดเพื่อ **แก้ไขข้อผิดพลาด OCR** + +Aspose OCR มีการแก้ไขการสะกดเปิดอยู่เป็นค่าเริ่มต้นแล้ว แต่การระบุอย่างชัดเจนก็ไม่เสียหาย—โดยเฉพาะเมื่อคุณกำลังสาธิต **ตัวอย่าง Aspose OCR Java** การเปิดฟีเจอร์นี้ช่วยลดข้อความไร้สาระอย่าง “t1e” หรือ “rec0gn1tion” อย่างมหาศาล + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **เคล็ดลับ:** หากคุณสังเกตว่าเอนจินยังคงจดจำคำบางคำผิด ให้ตรวจสอบการตั้งค่าภาษาอีกครั้งหรือเพิ่มพจนานุกรมแบบกำหนดเอง (ขั้นตอนต่อไป) + +การเปิดการแก้ไขการสะกดเป็นวิธีที่เร็วที่สุดในการ **แก้ไขข้อผิดพลาด OCR** โดยไม่ต้องเขียนโค้ดเพิ่มเติม + +--- + +## ขั้นตอนที่ 3: ตั้งค่าพจนานุกรมแบบกำหนดเองเพื่อความแม่นยำที่ดียิ่งขึ้น + +บางครั้งพจนานุกรมเริ่มต้นไม่รู้จักศัพท์เฉพาะอุตสาหกรรมของคุณ—เช่น คำทางการแพทย์, รหัสสินค้า, หรือชื่อแบรนด์ นั่นคือจุดที่ **ตั้งค่าพจนานุกรมแบบกำหนดเอง** มีประโยชน์ ให้ใส่ไฟล์ plain‑text ที่มีหนึ่งคำต่อบรรทัด แล้วเอนจิน OCR จะถือคำนั้นเป็นคำที่ถูกต้องระหว่างการแก้ไข + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **เมื่อใดควรใช้:** หากคุณกำลังประมวลผลใบแจ้งหนี้และชื่อบริษัทมักถูกบิดเบือน พจนานุกรมแบบกำหนดเองที่มีชื่อเหล่านั้นจะทำให้ขั้นตอน **ประมวลผลภาพ OCR** มีความน่าเชื่อถือมากขึ้น + +--- + +## ขั้นตอนที่ 4: ประมวลผลภาพ OCR และดึงข้อความออกมา + +เมื่อเอนจินถูกตั้งค่าแล้ว ถึงเวลารันการจดจำจริงๆ เมธอด `process` ทำงานหนักทั้งหมด—ตรวจจับบล็อกข้อความ, ใช้การแก้ไขการสะกด, และคืนค่าออบเจ็กต์ `OcrResult` + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **สิ่งที่คุณจะเห็น:** คอนโซลจะแสดงสตริงที่สะอาดและอ่านง่าย หากคุณไม่ได้เปิดการแก้ไขการสะกด คุณอาจเห็นอักขระแปลกๆ ซึ่งเป็นเหตุผลว่าทำไมการเปิดใช้งานก่อนหน้านี้จึงสำคัญสำหรับ **แก้ไขข้อผิดพลาด OCR** + +--- + +## ขั้นตอนที่ 5: รันตัวอย่างและตรวจสอบผลลัพธ์ + +คอมไพล์และรันคลาสด้วย IDE ที่คุณชอบหรือจากบรรทัดคำสั่ง: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +คุณควรเห็นผลลัพธ์ประมาณนี้: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +หากผลลัพธ์ยังคงมีการสะกดผิด ลองเพิ่มคำเหล่านั้นลงในพจนานุกรมแบบกำหนดเองและรันขั้นตอน **ประมวลผลภาพ OCR** อีกครั้ง + +--- + +## ข้อผิดพลาดทั่วไปและวิธีหลีกเลี่ยง + +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|--------|--------| +| **ผลลัพธ์เป็นค่าว่าง** | เส้นทางภาพผิดหรือรูปแบบไม่รองรับ | ตรวจสอบเส้นทาง, ใช้ PNG/JPEG, และให้แน่ใจว่าไฟล์อ่านได้ | +| **อักขระแปลก** | การแก้ไขการสะกดปิดอยู่หรือภาพคุณภาพต่ำ | เปิด `setEnableSpellCorrection(true)` และพิจารณาเตรียมภาพล่วงหน้า (เพิ่มคอนทราสต์) | +| **คำเฉพาะด้านยังผิด** | ไม่มีพจนานุกรมแบบกำหนดเอง | ใช้ `setCustomDictionary` พร้อมไฟล์ที่มีคำของคุณ | +| **ข้อผิดพลาด Out‑of‑memory** | โหลดภาพขนาดใหญ่มากโดยไม่ปรับขนาด | ปรับขนาดภาพก่อนส่งให้ `OcrEngine` | + +--- + +## การขยายตัวอย่าง + +เมื่อคุณมี **ตัวอย่าง Aspose OCR Java** ที่มั่นคงแล้ว คุณอาจต้องการ: + +- **ประมวลผลเป็นชุด** โฟลเดอร์ของภาพโดยวนลูปชื่อไฟล์และใช้อินสแตนซ์ `OcrEngine` เดียวกัน +- **สกัดข้อมูลโครงร่าง** (ตาราง, คอลัมน์) ด้วย `ocrResult.getPages()` สำหรับการวิเคราะห์เอกสารขั้นสูง +- **รวมกับ Apache PDFBox** เพื่อฝังข้อความที่จดจำได้กลับเข้าไปใน PDF + +ส่วนขยายทั้งหมดนี้สร้างบนขั้นตอนหลักที่เราได้อธิบายไว้: โหลดภาพ OCR, เปิดการแก้ไข, ตั้งค่าพจนานุกรมแบบกำหนดเอง (ถ้าต้องการ), และประมวลผลภาพ OCR + +--- + +## สรุป + +คุณเพิ่งสร้าง **ตัวอย่าง Aspose OCR Java** ที่โหลดภาพ, เปิดการแก้ไขการสะกดเพื่อ **แก้ไขข้อผิดพลาด OCR**, ตั้งค่า **พจนานุกรมแบบกำหนดเอง** (ถ้าต้องการ) และสุดท้าย **ประมวลผลภาพ OCR** เพื่อดึงข้อความที่สะอาด โค้ดสั้น, แนวคิดชัดเจน, และคุณมีพื้นฐานที่สามารถต่อยอดสำหรับงานแบบแบตช์, การรวม UI, หรือแม้กระทั่งบริการไมโครเซอร์วิสบนคลาวด์ + +ต่อไปคุณจะทำอะไร? ลองใส่ภาพถ่ายความละเอียดต่ำ, เพิ่มรายการ SKU ของสินค้าในพจนานุกรมแบบกำหนดเอง, แล้วดูว่าความแม่นยำดีขึ้นแค่ไหน การทดลองมากเท่าไหร่ คุณก็จะเข้าใจการแลกเปลี่ยนระหว่างคุณภาพภาพ, ขนาดพจนานุกรม, และความเร็วในการประมวลผลได้ดียิ่งขึ้น + +หากคุณเจออุปสรรคหรือมีไอเดียสำหรับการพัฒนาเพิ่มเติม อย่าลังเลที่จะแสดงความคิดเห็นนะครับ Happy coding! + +## สิ่งที่คุณควรเรียนต่อไป + +บทแนะนำต่อไปนี้ครอบคลุมหัวข้อที่เกี่ยวข้องอย่างใกล้ชิดและต่อยอดจากเทคนิคที่แสดงในคู่มือนี้ แต่ละแหล่งรวมโค้ดทำงานเต็มรูปแบบพร้อมคำอธิบายทีละขั้นตอน เพื่อช่วยคุณเชี่ยวชาญฟีเจอร์ API เพิ่มเติมและสำรวจแนวทางการทำงานอื่นๆ ในโปรเจกต์ของคุณเอง + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/thai/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..53a3cd7a3 --- /dev/null +++ b/ocr/thai/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,269 @@ +--- +category: general +date: 2026-06-06 +description: สร้าง PDF ที่ค้นหาได้ด้วย Java โดยใช้ Aspose OCR เรียนรู้การสกัดข้อความจาก + PDF เพิ่มความแม่นยำของ OCR และประมวลผล PDF หลายหน้าอย่างมีประสิทธิภาพ. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: th +og_description: สร้าง PDF ที่ค้นหาได้ด้วย Java โดยใช้ Aspose OCR คู่มือนี้จะพาคุณผ่านการดึงข้อความจาก + PDF การเพิ่มความแม่นยำของ OCR และการจัดการ PDF หลายหน้า +og_title: สร้าง PDF ที่ค้นหาได้ใน Java – บทเรียน Aspose OCR ฉบับเต็ม +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: สร้าง PDF ที่ค้นหาได้ใน Java – คู่มือ Aspose OCR ฉบับเต็ม +url: /th/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# สร้าง PDF ที่ค้นหาได้ใน Java – คู่มือ Aspose OCR เต็มรูปแบบ + +เคยสงสัยไหมว่า จะ **สร้าง PDF ที่ค้นหาได้** อย่างตรงจาก Java โดยไม่ต้องจัดการกับเครื่องมือบรรทัดคำสั่งหลายสิบรายการ? คุณไม่ได้เป็นคนเดียว นักพัฒนาหลายคนเจออุปสรรคเมื่อต้องแปลง PDF สแกนให้เป็นเอกสารที่ค้นหาข้อความได้, โดยเฉพาะเมื่อ PDF ต้นทางมีหลายหน้า. + +ในบทเรียนนี้เราจะพาคุณผ่านตัวอย่างที่สมบูรณ์และสามารถรันได้ ซึ่งไม่เพียงแต่ **สร้าง PDF ที่ค้นหาได้** แต่ยังแสดงวิธี **ดึงข้อความจาก PDF**, **เพิ่มความแม่นยำของ OCR**, และจัดการกระบวนการ **OCR เอกสาร PDF หลายหน้า** ด้วยไลบรารี Aspose OCR. เมื่อจบคุณจะได้โค้ดสั้นที่พร้อมใช้งานในโปรเจค Java ใดก็ได้. + +## สิ่งที่คุณต้องการ + +- Java 17 หรือใหม่กว่า (โค้ดสามารถคอมไพล์กับเวอร์ชันเก่าได้, แต่ JDK 17 เป็นจุดที่เหมาะที่สุด) +- Maven หรือ Gradle เพื่อดึง dependency `aspose-ocr` +- PDF ตัวอย่างหลายหน้า (เราจะเรียกว่า `sample_multi_page.pdf`) +- GPU ขนาดปานกลางหรืออย่างน้อย CPU หลายคอร์หากต้องการเปิดการประมวลผลแบบขนาน + +ไม่ต้องการไลบรารีเนทีฟเพิ่มเติม—Aspose OCR มีทุกอย่างที่คุณต้องการรวมอยู่แล้ว. + +--- + +## สร้าง PDF ที่ค้นหาได้ – การดำเนินการแบบขั้นตอน + +ด้านล่างเราจะแบ่งกระบวนการเป็นส่วนย่อยตามตรรกะ แต่ละส่วนมีหัวข้อ H2 ของตนเองเพื่อให้คุณกระโดดไปยังส่วนที่ต้องการได้โดยตรง, และคีย์เวิร์ดหลักปรากฏที่หัวข้อนี้. + +### ขั้นตอนที่ 1: ตั้งค่าโปรเจคและนำเข้า Aspose OCR + +แรกเริ่ม, เพิ่ม artifact ของ Aspose OCR สำหรับ Maven ลงในไฟล์ `pom.xml` ของคุณ. หากคุณใช้ Gradle, ตัวอย่างโค้ดที่เทียบเท่าจะอยู่ในคอมเมนต์. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **เคล็ดลับ:** รักษา dependency ของคุณให้เป็นเวอร์ชันล่าสุด; รุ่นใหม่มักมาพร้อมการปรับปรุงความแม่นยำที่ช่วยคุณ **เพิ่มความแม่นยำของ OCR** โดยตรง. + +### ขั้นตอนที่ 2: โหลด PDF หลายหน้าลงใน OCR Engine + +ตอนนี้เราจะสร้างอินสแตนซ์ `OcrEngine` และป้อน PDF ที่ต้องการประมวลผลให้มัน. Engine จะถือแต่ละหน้าเป็นภาพภายใน, ซึ่งทำให้วิธีนี้ทำงานได้สำหรับสถานการณ์ **ocr multi page pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**ทำไมเรื่องนี้สำคัญ:** การโหลด PDF เพียงครั้งเดียวและให้ engine จัดการการแบ่งหน้า ลดภาระการดึงแต่ละหน้าแบบแมนนวล, ประหยัดเวลาและหน่วยความจำ. + +### ขั้นตอนที่ 3: เปิดใช้งานฟีเจอร์ขั้นสูงเพื่อ **เพิ่มความแม่นยำของ OCR** + +Aspose OCR มีตัวเลือกหลายอย่างให้คุณปรับได้. การเปิดใช้งานการเร่งความเร็วด้วย GPU, เพิ่มจำนวนเธรด, และระบุหลายภาษา ล้วนช่วยให้ได้อัตราการจดจำที่ดียิ่งขึ้น, โดยเฉพาะกับสแกนที่มีสัญญาณรบกวน. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **ถ้าคุณไม่มี GPU จะทำอย่างไร?** เพียงตั้งค่า `setUseGpu(false)`; engine จะกลับไปใช้โหมด CPU‑only แต่ยังได้ประโยชน์จากการทำงานหลายเธรด. + +### ขั้นตอนที่ 4: การประมวลผลล่วงหน้าภาพเพื่อผลลัพธ์ที่ดีกว่า + +ขั้นตอนการประมวลผลล่วงหน้า เช่น การแก้ไขการเอียง, การลดสัญญาณรบกวน, และการเพิ่มคอนทราสต์ สามารถ **เพิ่มความแม่นยำของ OCR** อย่างมากบนเอกสารสแกน. คิดว่าเป็นการขัดหินหยาบก่อนแกะสลัก. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**ทำไมต้องตั้งค่าเหล่านี้?** ระดับการลดสัญญาณรบกวน `2` ทำงานได้ดีสำหรับ PDF สแกนส่วนใหญ่, ส่วนการเพิ่มคอนทราสต์ระดับปานกลาง (1.3×) ช่วยให้หมึกที่จางขึ้นเด่นชัดโดยไม่ทำให้พื้นหลังบิดเบือน. + +### ขั้นตอนที่ 5: กำหนดค่าการส่งออกเพื่อสร้าง PDF ที่ค้นหาได้ + +Aspose OCR สามารถฝังชั้นข้อความที่จดจำได้โดยตรงลงใน PDF, ทำให้ไฟล์ภาพแบนกลายเป็น **PDF ที่ค้นหาได้**. นี่คือหัวใจของคำถาม “วิธีทำ PDF ให้ค้นหาได้” ที่นักพัฒนาหลายคนถาม. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +เมื่อเปิดใช้งาน `setGenerateSearchablePdf(true)`, ไลบรารีจะสร้างชั้นข้อความที่มองไม่เห็นซึ่งสะท้อนเนื้อหาภาพ, ทำให้เอกสารสุดท้ายสามารถค้นหาได้ในโปรแกรมอ่าน PDF ใดก็ได้. + +### ขั้นตอนที่ 6: รัน OCR และบันทึกผลลัพธ์ + +ตอนนี้เราจะประมวลผลเอกสารจริงและเขียนไฟล์ผลลัพธ์. เมธอด `process` จะคืนค่าอ็อบเจ็กต์ `OcrResult` ที่มีทั้ง PDF ที่ค้นหาได้และข้อความธรรมดาที่ดึงออกมา. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### ขั้นตอนที่ 7: (ทางเลือก) **ดึงข้อความจาก PDF** เพื่อใช้ทันที + +หากคุณต้องการข้อความดิบด้วย—เพื่อการทำดัชนี, การวิเคราะห์, หรือแค่แสดงบนหน้าเว็บ—คุณสามารถดึงมันโดยตรงจาก `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**สิ่งที่คุณจะเห็น:** คอนโซลจะแสดงข้อความที่ต่อเนื่องจากทุกหน้า, รักษาการขึ้นบรรทัดใหม่เมื่อเป็นไปได้. นี้ตอบสนองความต้องการ **extract text from pdf** โดยไม่ต้องทำการประมวลผลครั้งที่สอง. + +## ภาพรวมเชิงภาพ + +ด้านล่างเป็นแผนภาพไหลง่ายที่เชื่อมแต่ละขั้นตอนกับบล็อกโค้ดที่สอดคล้องกัน. มันช่วยให้คุณมองเห็นว่า PDF อินพุตเดินทางผ่านการประมวลผลล่วงหน้า, OCR, และสุดท้ายกลายเป็นเอกสารที่ค้นหาได้อย่างไร. + +![แผนภาพการไหลของการสร้าง PDF ที่ค้นหาได้](https://example.com/flow-diagram.png "แผนภาพการไหลของการสร้าง PDF ที่ค้นหาได้") + +*ข้อความแทนภาพมีคีย์เวิร์ดหลักเพื่อให้ตรงกับ SEO ของภาพ* + +## คำถามทั่วไป & กรณีขอบ + +| คำถาม | คำตอบ | +|----------|--------| +| **ฉันสามารถประมวลผล PDF ที่ใหญ่กว่า 100 MB ได้หรือไม่?** | ได้, แต่ควรพิจารณาการสตรีมหน้าแทนการโหลดไฟล์ทั้งหมดเข้าสู่หน่วยความจำ. Aspose OCR จัดการการแบ่งหน้าโดยภายใน, แต่คุณอาจต้องเพิ่ม heap ของ JVM (`-Xmx4g`) สำหรับไฟล์ที่ใหญ่มาก. | +| **ถ้า PDF ของฉันมีโน้ตที่เขียนด้วยมือจะทำอย่างไร?** | การจดจำลายมือไม่ได้เปิดใช้งานโดยค่าเริ่มต้น. คุณสามารถสลับเป็น `setLanguage("eng,mon,handwritten")` หากเวอร์ชันของไลบรารีรองรับ, แม้ว่าความแม่นยำอาจแตกต่างกัน. | +| **ฉันต้องการไลเซนส์สำหรับ Aspose OCR หรือไม่?** | ไลเซนส์ประเมินผลชั่วคราวใช้ได้สำหรับการทดสอบ. สำหรับการใช้งานจริง, ควรซื้อไลเซนส์เชิงพาณิชย์เพื่อเอาวอเตอร์มาร์กออกและเปิดประสิทธิภาพเต็มที่. | +| **ฉันจะปิดการแก้ไขการสะกดได้อย่างไร?** | เรียก `ocr.getSettings().setEnableSpellCorrection(false);` – มีประโยชน์เมื่อคุณต้องการผลลัพธ์ OCR ดิบเพื่อการวิเคราะห์ทางนิติวิทยาศาสตร์. | +| **การสนับสนุน GPU จำเป็นหรือไม่?** | ไม่. ไลบรารีจะกลับไปใช้ CPU อย่างราบรื่น. อย่างไรก็ตาม, GPU สามารถลดเวลาการประมวลผลได้ถึง 60 % สำหรับเอกสารหลายหน้าขนาดใหญ่. | + +## ตัวอย่างทำงานเต็มรูปแบบ (พร้อมคัดลอก‑วาง) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**ผลลัพธ์ที่คาดหวัง** + +- `output_searchable.pdf` – PDF ที่คุณสามารถกด Ctrl + F เพื่อค้นหาคำใดก็ได้ที่ปรากฏในภาพสแกน. +- บันทึกคอนโซล – เนื้อหาข้อความเต็มของ PDF ต้นฉบับ, เหมาะสำหรับการทำดัชนีหรือการวิเคราะห์ต่อไป. + +## สรุป + +เราพึ่งแสดงวิธี **สร้าง PDF ที่ค้นหาได้** ใน Java ด้วย Aspose OCR, พร้อมทั้งสาธิตวิธี **ดึงข้อความจาก PDF**, **เพิ่มความแม่นยำของ OCR**, และจัดการกระบวนการ **OCR เอกสาร PDF หลายหน้า** อย่างมีประสิทธิภาพ. โค้ดสั้นเต็มรูปแบบข้างต้นพร้อมใส่ลงในโปรเจคของคุณ, และคำอธิบายช่วยให้คุณมั่นใจในการปรับตั้งค่าตามกรณีการใช้งานของคุณ. + +ต่อไปคุณจะทำอะไร? ลองทดลองฝังฟอนต์แบบกำหนดเอง, เพิ่มบุ๊กมาร์คที่สร้างจาก OCR, หรือผสานผลลัพธ์กับเครื่องมือค้นหาอย่าง Elasticsearch. แต่ละหัวข้อเชื่อมโยงกลับไปยังคีย์เวิร์ดรองของเรา—*how to make searchable pdf* และ *increase OCR accuracy*—เพื่อให้คุณมีเส้นทางที่ชัดเจนสำหรับการสำรวจต่อไป. + +อย่าลังเลที่จะแบ่งปันประสบการณ์หรือถามคำถามต่อในคอมเมนต์. ขอให้สนุกกับการเขียนโค้ด, และเพลิดเพลินกับการเปลี่ยนสแกนที่คงที่ให้เป็น PDF ที่ค้นหาได้เต็มรูปแบบและมีข้อความมากมาย! + +## สิ่งที่คุณควรเรียนต่อไป? + +บทเรียนต่อไปนี้ครอบคลุมหัวข้อที่เกี่ยวข้องอย่างใกล้ชิดซึ่งต่อยอดจากเทคนิคที่แสดงในคู่มือนี้. แต่ละแหล่งข้อมูลมีตัวอย่างโค้ดทำงานเต็มรูปแบบพร้อมคำอธิบายขั้นตอนเพื่อช่วยให้คุณเชี่ยวชาญฟีเจอร์ API เพิ่มเติมและสำรวจวิธีการทำงานแบบอื่นในโปรเจคของคุณ. + +- [Recognize PDF Text – OCR Operations with Aspose.OCR for Java](/ocr/english/java/ocr-operations/) +- [OCR Recognizing PDF Documents in Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/thai/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..1eb21ebcd --- /dev/null +++ b/ocr/thai/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-06-06 +description: ดึงข้อความจากภาพสแกนโดยใช้ Aspose OCR สำหรับ Java. เรียนรู้วิธีการจดจำข้อความจากไฟล์ + tiff ด้วยการประมวลผลแบบขนาน. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: th +og_description: ดึงข้อความจากภาพสแกนด้วย Aspose OCR คู่มือนี้แสดงวิธีการจดจำข้อความจากไฟล์ + TIFF อย่างมีประสิทธิภาพโดยใช้ Java. +og_title: ดึงข้อความจากภาพสแกน – บทเรียน Aspose OCR Java +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: ดึงข้อความจากภาพสแกนใน Java – คู่มือ Aspose OCR ฉบับสมบูรณ์ +url: /th/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# สกัดข้อความจากภาพสแกน – คู่มือ Aspose OCR ฉบับสมบูรณ์ + +เคยต้อง **สกัดข้อความจากภาพสแกน** แต่รู้สึกติดขัดที่ “ทำอย่างไร?” หรือไม่? คุณไม่ได้เป็นคนเดียว ไม่ว่าจะเป็นการดิจิไทซ์เอกสารเก่า, ดึงข้อมูลจากใบแจ้งหนี้, หรือสร้างห้องสมุด PDF ที่ค้นหาได้, การได้ข้อความที่เชื่อถือได้จากการสแกน TIFF อาจเป็นจุดบอดที่ทำให้เจ็บหัว + +ข่าวดี: ด้วย Aspose OCR for Java คุณสามารถ **จดจำข้อความจาก tiff** ได้ในไม่กี่บรรทัด, และยังเร่งความเร็วได้อีกโดยจำกัดเอนจินให้ใช้เพียงไม่กี่คอร์ของ CPU เท่านั้น ในบทแนะนำนี้เราจะเดินผ่านกระบวนการทั้งหมด—ตั้งแต่การตั้งค่าไลบรารีจนถึงการจัดการผลลัพธ์—เพื่อให้คุณสามารถคัดลอก‑วางตัวอย่างที่ทำงานได้ทันที + +## สิ่งที่บทแนะนำนี้ครอบคลุม + +- การติดตั้ง Aspose OCR for Java (Maven หรือ JAR แบบแมนนวล) +- การโหลดภาพ TIFF สแกนขนาดใหญ่ +- การกำหนดค่าเอนจินให้ใช้ได้สูงสุด 4 เธรด (OCR แบบขนาน) +- การรันกระบวนการ OCR และพิมพ์ข้อความที่สกัดได้ +- ข้อผิดพลาดทั่วไป (หน่วยความจำ, TIFF หลายหน้า) และวิธีหลีกเลี่ยง +- เคล็ดลับประสิทธิภาพเร็ว: เมื่อใดควรปรับ `setMaxThreads` + +เมื่อจบคุณจะสามารถ **สกัดข้อความจากภาพสแกน** ได้อย่างเชื่อถือได้, และคุณจะเข้าใจว่าการปรับจำนวนเธรดมีความสำคัญอย่างไรเมื่อคุณ *จดจำข้อความจาก tiff* ในสายการผลิต + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## ข้อกำหนดเบื้องต้น + +ก่อนที่เราจะดำดิ่งลงไป, โปรดตรวจสอบว่าคุณมี: + +1. **Java Development Kit (JDK) 8+** – เวอร์ชันล่าสุดใดก็ได้ทำงานได้ +2. **Maven** (หรือความสามารถในการเพิ่ม JAR ด้วยตนเอง) – เราจะใช้ Maven เพื่อความง่าย +3. ใบอนุญาต **Aspose OCR for Java** (การประเมินฟรีทำงานได้, แต่จะมีลายน้ำ) +4. **การสแกน TIFF ขนาดใหญ่** (เช่น `large_scan.tif`) ที่คุณต้องการประมวลผล + +หากสิ่งใดเหล่านี้ฟังดูแปลกใหม่, อย่ากังวล—แต่ละขั้นตอนจะอธิบายไว้ด้านล่าง + +## ขั้นตอนที่ 1: เพิ่ม Aspose OCR ไปยังโปรเจกต์ของคุณ + +### ผู้ใช้ Maven + +เพิ่ม dependency ต่อไปนี้ในไฟล์ `pom.xml` ของคุณ: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### การตั้งค่า JAR แบบแมนนวล + +ดาวน์โหลด `aspose-ocr-xx.jar` เวอร์ชันล่าสุดจากเว็บไซต์ Aspose แล้ววางไว้ใน classpath ของคุณ + +> **เคล็ดลับ:** เก็บ JAR ไว้ในโฟลเดอร์ `libs/` และอ้างอิงในการตั้งค่าโปรเจกต์ของ IDE. วิธีนี้จะช่วยหลีกเลี่ยงข้อผิดพลาด “class not found” ในภายหลัง + +## ขั้นตอนที่ 2: สร้างคลาส Java ง่าย ๆ + +สร้างไฟล์ชื่อ `ParallelOcrDemo.java` ในโฟลเดอร์ซอร์สของคุณ (`src/main/java`). คลาสนี้จะถือเวิร์กโฟลว์ OCR ทั้งหมด + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **ทำไมเราจึงจำกัดเธรด:** โดยค่าเริ่มต้น Aspose OCR จะพยายามใช้ทุกคอร์, ซึ่งอาจทำให้บริการอื่น ๆ บนเครื่องที่แชร์ทรัพยากรขาดแคลน. การตั้งค่า `setMaxThreads(4)` บอกเอนจินให้ทำงานพร้อมกันได้สูงสุดสี่เธรด—เพียงพอสำหรับการเพิ่มความเร็วที่สังเกตได้บน CPU สมัยใหม่ส่วนใหญ่โดยไม่ครอบงำทรัพยากร + +## ขั้นตอนที่ 3: คอมไพล์และรัน + +เปิดเทอร์มินัลที่รูทของโปรเจกต์และรันคำสั่ง: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +หากคุณไม่ได้ใช้ Maven, คอมไพล์ด้วย `javac` แล้วรัน: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### ผลลัพธ์ที่คาดหวัง + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +คอนโซลจะแสดงข้อความแบบ plain‑text ของสิ่งที่อยู่บนหน้าที่สแกน หากภาพมีหลายหน้า Aspose OCR จะต่อข้อความเหล่านั้นตามลำดับ + +## ขั้นตอนที่ 4: การจัดการ TIFF หลายหน้า (กรณีขอบ) + +สถานการณ์ทั่วไปคือ **multi‑page TIFF**—เช่นหนังสือที่สแกน. โดยค่าเริ่มต้น `OcrInputImage` จะอ่านเฟรมแรกเท่านั้น. เพื่อประมวลผลทุกหน้า, ใช้ `OcrInputImage` พร้อม `FileInputStream` และเปิดใช้งานการสนับสนุนหลายหน้า: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +ตอนนี้ `ocrEngine.process()` จะคืนค่า `OcrResult` เดียวที่มีข้อความที่ต่อกันจากทุกหน้า + +## ขั้นตอนที่ 5: ปรับแต่งความแม่นยำของการจดจำ + +หากคุณพบ **garbled characters** หรือคำหาย, ลองปรับตามนี้: + +| การตั้งค่า | ทำอะไร | เมื่อใดควรใช้ | +|-----------|--------|----------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | บังคับให้ใช้โมเดลภาษาอังกฤษ (เร็วขึ้น, แม่นยำมากขึ้นสำหรับการสแกนภาษาอังกฤษ) | เอกสารของคุณเป็นภาษาอังกฤษอย่างเดียว | +| `ocrEngine.getSettings().setResolution(300)` | เพิ่มความละเอียดของภาพที่ความละเอียดต่ำก่อนการจดจำ | สแกนที่ความละเอียดต่ำกว่า 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | พยายามทำความสะอาดจุดรบกวนและสิ่งแปลกปลอม | สแกนที่มีสัญญาณรบกวนมาก | + +ตัวอย่างโค้ดสั้น: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## ขั้นตอนที่ 6: ส่งออกผลลัพธ์ไปยังไฟล์ + +การพิมพ์ไปยังคอนโซลเหมาะสำหรับการสาธิต, แต่โค้ดการผลิตมักจะเขียนผลลัพธ์ไปยังที่ที่มีประโยชน์: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +ตอนนี้คุณมีไฟล์ plain‑text ที่สามารถป้อนเข้าสู่ดัชนีการค้นหา, ฐานข้อมูล, หรือสายการประมวลผลวิเคราะห์ต่อไปได้ + +--- + +## คำถามที่พบบ่อย (FAQ) + +**Q: ทำงานกับไฟล์ PNG หรือ JPEG ได้หรือไม่?** +A: ทำได้แน่นอน. `OcrInputImage` รองรับรูปแบบใดก็ได้ที่ Java’s ImageIO สามารถอ่านได้ เพียงเปลี่ยนนามสกุลไฟล์ในพาธ + +**Q: เซิร์ฟเวอร์ของฉันมี 8 คอร์—ควรตั้ง `setMaxThreads(8)` หรือไม่?** +A: คุณทำได้, แต่ต้องจำว่าเซอร์วิสอื่น ๆ อาจต้องการไซเคิล CPU. กฎง่าย ๆ คือ “จำนวนคอร์ทั้งหมด – 1” สำหรับเวิร์กเกอร์ OCR ที่ทุ่มเท + +**Q: ถ้าผลลัพธ์ OCR ว่างเปล่าจะทำอย่างไร?** +A: ตรวจสอบว่าภาพไม่ได้เป็นสีขาวทั้งหมด, ว่าคุณตั้งค่าภาษาอย่างถูกต้อง, และความละเอียดอย่างน้อย 200 DPI. การสแกนคุณภาพต่ำมักต้องทำการพรี‑โปรเซส (deskew, ปรับคอนทราสต์) ก่อนส่งให้ Aspose OCR + +## สรุป + +เราเพิ่ง **สกัดข้อความจากภาพสแกน** ด้วย Aspose OCR for Java, และคุณก็รู้แล้วว่า **จดจำข้อความจาก tiff** อย่างมีประสิทธิภาพด้วยการประมวลผลขนาน โค้ดเต็มอยู่ในสแนปด้านบน, คุณสามารถคัดลอก‑วางลงในโปรเจกต์ของคุณได้ทันที + +### สิ่งต่อไปที่ควรทำ + +- **การประมวลผลเป็นชุด**: วนลูปผ่านไดเรกทอรีของ TIFF, เก็บผลลัพธ์แต่ละไฟล์แยกกัน +- **ผสานกับ Elasticsearch**: ทำดัชนีข้อความที่สกัดเพื่อการค้นหาเต็มข้อความที่รวดเร็ว +- **เพิ่มการตรวจจับภาษา**: ใช้ `OcrLanguage.AutoDetect` สำหรับเอกสารหลายภาษา + +ลองทำตามแนวคิดเหล่านี้, แล้วคุณจะเปลี่ยนกองเอกสารสแกนเป็นข้อมูลที่ค้นหาได้และนำไปใช้ได้อย่างรวดเร็ว + +ขอให้เขียนโค้ดสนุกนะครับ, และอย่าลังเลที่จะคอมเมนต์หากเจออุปสรรค! + +## คุณควรเรียนรู้อะไรต่อไป? + +บทแนะนำต่อไปนี้ครอบคลุมหัวข้อที่เกี่ยวข้องอย่างใกล้ชิดและต่อยอดจากเทคนิคในคู่มือนี้. แต่ละแหล่งรวมตัวอย่างโค้ดทำงานเต็มรูปแบบพร้อมคำอธิบายทีละขั้นตอน เพื่อช่วยคุณเชี่ยวชาญฟีเจอร์ API เพิ่มเติมและสำรวจแนวทางการนำไปใช้แบบต่าง ๆ ในโปรเจกต์ของคุณ + +- [วิธีจดจำ tiff ด้วย Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [สกัดข้อความจากรูปภาพ – พื้นฐาน OCR ด้วย Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [สกัดข้อความจากภาพ Java ด้วยโหมดตรวจจับพื้นที่ของ Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/thai/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..830bda923 --- /dev/null +++ b/ocr/thai/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-06-06 +description: วิธีเปิดใช้งาน GPU ใน Java OCR และดึงข้อความจากไฟล์ JPEG. ทำตามตัวอย่าง + Java OCR นี้เพื่อแปลงภาพเป็นข้อความด้วยการเร่งความเร็วด้วย GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: th +og_description: วิธีเปิดใช้งาน GPU ใน Java OCR และดึงข้อความจากภาพ JPEG ได้ทันที คู่มือนี้แสดงตัวอย่าง + Java OCR แบบครบวงจรที่ใช้การเร่งความเร็วด้วย GPU +og_title: วิธีเปิดใช้งาน GPU ใน Java OCR – คู่มือการเขียนโปรแกรมเต็มรูปแบบ +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: วิธีเปิดใช้งาน GPU ใน Java OCR – คู่มือแบบครบถ้วนขั้นตอนต่อขั้นตอน +url: /th/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีเปิดใช้งาน GPU ใน Java OCR – คู่มือขั้นตอนเต็ม + +เคยสงสัย **วิธีเปิดใช้งาน GPU** สำหรับการจดจำอักขระด้วยแสง (OCR) ใน Java หรือไม่? คุณไม่ได้เป็นคนเดียว—นักพัฒนามักถามว่า “ฉันจะทำให้ OCR เร็วขึ้นได้โดยไม่ต้องเขียนโค้ดใหม่ทั้งหมดหรือไม่?” คำตอบสั้นคือใช่, และคำตอบยาวอยู่ที่นี่ ในบทแนะนำนี้เราจะเดินผ่าน **java ocr example** ที่ **ดึงข้อความจากไฟล์ JPEG** , **แปลงภาพเป็นข้อความ**, และใช้ **GPU accelerated OCR** เพื่อให้ได้ผลลัพธ์ที่เร็วเป็นแสง + +เราจะเริ่มจากการตั้งค่าไลบรารี Aspose OCR, โหลดไฟล์ JPEG ตัวอย่าง, เปิดการสนับสนุน GPU, รันเอนจิน, และสุดท้ายพิมพ์ข้อความที่จดจำได้ เมื่อเสร็จคุณจะมีโค้ดสั้น ๆ ที่สามารถนำไปใช้ในโปรเจกต์ Java ใดก็ได้ พร้อมกับเคล็ดลับหลากหลายที่ช่วยหลีกเลี่ยงปัญหาที่พบบ่อย ไม่ต้องมีเนื้อหาเกินความจำเป็น เพียงแค่ข้อมูลที่คุณต้องการเพื่อเริ่มต้น + +## ความต้องการเบื้องต้น + +ก่อนที่เราจะเริ่ม, โปรดตรวจสอบว่าคุณมี: + +* Java 8 หรือใหม่กว่า (โค้ดใช้ API มาตรฐาน, ดังนั้น JDK เวอร์ชันล่าสุดใดก็ได้) +* GPU ที่รองรับพร้อมไดรเวอร์อัปเดต – การ์ด NVIDIA/AMD รุ่นใหม่ส่วนใหญ่จะใช้งานได้ +* ไลบรารี Aspose.OCR for Java (สามารถดาวน์โหลดจาก Maven Central หรือเว็บไซต์ Aspose) +* ไฟล์ JPEG ที่ต้องการทำ OCR – เราจะอ้างอิงเป็น `sample.jpg` + +เท่านี้แค่นั้น หากมีส่วนใดที่คุณยังไม่มี, ให้หยุดและติดตั้งให้ครบก่อน; ส่วนที่เหลือของคู่มือถือว่ามีพร้อมแล้ว + +## วิธีเปิดใช้งาน GPU ใน Java OCR – ภาพรวม + +ด้านล่างเป็นภาพรวมสั้น ๆ ของสิ่งที่เราจะทำ: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +คิดว่า GPU คือ “เทอร์โบชาร์จ” สำหรับเอนจิน OCR ของคุณ — แทนที่ CPU จะทำการวิเคราะห์พิกเซลทุกพิกเซล, การ์ดกราฟิกจะรับภาระงานหนักแบบขนาน ผลลัพธ์? เวลาประมวลผลเร็วขึ้นอย่างเห็นได้ชัด โดยเฉพาะกับสแกนความละเอียดสูง + +## ขั้นตอนที่ 1: ตั้งค่าโปรเจกต์และนำเข้า Aspose OCR + +เริ่มแรกสร้างโปรเจกต์ Maven ใหม่ (หรือ Gradle หากคุณชอบ) แล้วเพิ่ม dependency ของ Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +หากคุณไม่ได้ใช้ Maven, ให้ดาวน์โหลดไฟล์ JAR จาก Aspose แล้วเพิ่มลงใน classpath ขั้นตอนนี้เป็นพื้นฐานของ **java ocr example** ใด ๆ ที่คุณจะเขียน, ดังนั้นตรวจสอบให้แน่ใจว่าไลบรารีถูกอ้างอิงอย่างถูกต้อง + +## ขั้นตอนที่ 2: โหลดไฟล์ JPEG (Extract Text from JPEG) + +ต่อไปเราจะเขียนโค้ดเพื่ออ่านไฟล์ JPEG. คลาส `OcrInputImage` รับพาธไฟล์, แล้วเราจะส่งต่อให้กับ `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **ทำไมจึงสำคัญ:** การโหลดภาพอย่างถูกต้องเป็นขั้นตอนแรกของกระบวนการ **convert image to text** ใด ๆ หากพาธผิด, เอนจินจะโยนข้อยกเว้นก่อนจะถึงขั้นตอน GPU + +## ขั้นตอนที่ 3: เปิดการเร่งความเร็วด้วย GPU (How to Enable GPU) + +นี่คือหัวใจของบทแนะนำ — การเปิดใช้งาน GPU. อ็อบเจ็กต์ `OcrSettings` มีฟลัก `setUseGpu`. เพียงตั้งค่าเป็น `true` แล้วคุณก็พร้อมใช้งาน + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **เคล็ดลับระดับมืออาชีพ:** ตรวจสอบให้แน่ใจว่าไดรเวอร์ GPU ของคุณเป็นเวอร์ชันล่าสุด ไดรเวอร์เก่าอาจทำให้การเรียก `setUseGpu(true)` ล้มเหลวโดยไม่มีข้อความแจ้ง, ทำให้คุณได้ประสิทธิภาพแบบ CPU‑only เท่านั้น + +## ขั้นตอนที่ 4: รัน OCR Engine (Java OCR Example) + +เมื่อโหลดภาพแล้วและเปิด GPU, ให้เรียกกระบวนการ OCR. เอนจินจะคืนค่าอ็อบเจ็กต์ `OcrResult` ที่บรรจุข้อความที่จดจำได้ + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +เบื้องหลัง, Aspose จะแบ่งภาพเป็นหลาย “tiles”, ส่งไปยัง GPU เพื่อทำ inference แบบขนาน, แล้วรวมผลลัพธ์กลับมา นี่คือสิ่งที่ทำให้ประสบการณ์ **gpu accelerated ocr** เร็วกว่าเส้นทาง CPU ปกติอย่างเห็นได้ชัด + +## ขั้นตอนที่ 5: แสดงข้อความที่จดจำได้ (Convert Image to Text) + +สุดท้ายพิมพ์ผลลัพธ์ลงคอนโซล ในแอปจริงคุณอาจบันทึกลงไฟล์หรือฐานข้อมูล, แต่เพื่อสาธิต `System.out.println` เพียงพอ + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### ผลลัพธ์ที่คาดหวัง + +สมมติว่า `sample.jpg` มีข้อความ “Hello, World!” คุณควรเห็น: + +``` +Recognized text: +Hello, World! +``` + +หากภาพซับซ้อนกว่า (หลายบรรทัด, ตาราง ฯลฯ) ผลลัพธ์จะมีการขึ้นบรรทัดและช่องว่างที่สอดคล้องกับเลย์เอาต์ต้นฉบับ นั่นคือความสวยงามของ OCR engine ของ Aspose — รักษาโครงสร้างขณะแปลงภาพเป็นข้อความ + +## ตัวอย่างทำงานเต็มรูปแบบ + +รวมทุกส่วนเข้าด้วยกัน, นี่คือโปรแกรมที่พร้อมรัน: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +บันทึกไฟล์เป็น `GpuOcrDemo.java`, คอมไพล์ด้วย `javac`, แล้วรันด้วย `java`. หากทุกอย่างเชื่อมต่อถูกต้อง, คอนโซลจะแสดงข้อความที่ดึงออกมาในพริบตา + +## คำถามที่พบบ่อย & กรณีขอบ + +### 1. GPU ของฉันไม่ทำงาน – ทำไม? + +* **ตรวจสอบเวอร์ชันไดรเวอร์** – ไดรเวอร์เก่าอาจไม่รองรับความสามารถคอมพิวเตอร์ที่จำเป็น +* **ยืนยันการสนับสนุน GPU** – Aspose ต้องการการ์ด NVIDIA ที่รองรับ CUDA หรือการ์ด AMD ที่รองรับ OpenCL. หากคุณใช้แล็ปท็อปที่ GPU แยกถูกปิด, ให้เปิดใน BIOS หรือในแผงควบคุมกราฟิก +* **ตรวจสอบล็อก** – Aspose จะเขียนบรรทัดดีบักเมื่อโหมด GPU ทำงาน. เปิดล็อกด้วย `ocr.getSettings().setLogLevel(LogLevel.Debug)` + +### 2. ผลลัพธ์ OCR มีอักขระผิดเพี้ยนในภาพความละเอียดต่ำ + +* **ทำการพรี‑โปรเซส JPEG** – ปรับขนาดให้มีความละเอียดอย่างน้อย 300 dpi, เพิ่มคอนทราสต์, หรือแปลงเป็นสีเทาก่อนส่งให้เอนจิน +* **ปรับตั้งค่า** – คุณสามารถเปลี่ยน `ocr.getSettings().setLanguage(OcrLanguage.English)` หรือเปิด `setUseLanguageDetection(true)` เพื่อความแม่นยำที่ดีกว่า + +### 3. ฉันสามารถประมวลผลหลายภาพพร้อมกันได้หรือไม่? + +ได้เลย. ให้วนลูปส่วนการโหลดและประมวลผล, ใช้ `OcrEngine` ตัวเดียวกัน. เพียงจำไว้ว่าให้เรียก `ocr.reset()` ระหว่างรอบเพื่อเคลียร์ภาพก่อนหน้า + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. การเร่งความเร็วด้วย GPU ทำงานบนเซิร์ฟเวอร์แบบ headless ได้หรือไม่? + +ได้, ตราบใดที่เซิร์ฟเวอร์มี GPU ที่รองรับและติดตั้งไดรเวอร์อย่างถูกต้อง บน Linux คุณอาจต้องติดตั้งแพคเกจ `nvidia‑utils` และตรวจสอบให้แน่ใจว่า `CUDA` toolkit อยู่ใน `PATH` + +## เคล็ดลับระดับมืออาชีพสำหรับ GPU OCR ที่พร้อมผลิต + +* **ขนาด batch มีผล** – ภาพขนาดใหญ่จะได้ประโยชน์จากการขนานของ GPU มากกว่า หากคุณประมวลผลไอคอนขนาดเล็ก, ค่าติดตั้ง GPU อาจไม่คุ้มค่า +* **การจัดการหน่วยความจำ** – GPU มี VRAM จำกัด. สำหรับ PDF ขนาดใหญ่หรือสแกนหลายเมกะพิกเซล, ให้แบ่งภาพเป็น “tiles” เล็ก ๆ ด้วยตนเอง +* **การจัดการข้อผิดพลาด** – ห่อการเรียก OCR ด้วย try‑catch แล้วสลับไปใช้โหมด CPU (`setUseGpu(false)`) หากเกิด `UnsupportedOperationException` + +## สรุป + +เราได้อธิบาย **วิธีเปิดใช้งาน GPU** ใน **java ocr example**, แสดงวิธี **extract text from JPEG** และสาธิตวิธี **convert image to text** ด้วย **gpu accelerated OCR** ของ Aspose โค้ดเต็มที่ให้ไว้ข้างต้นพร้อมใช้งานในโปรเจกต์ Java ใดก็ได้, พร้อมเคล็ดลับที่ช่วยหลีกเลี่ยงปัญหาที่พบบ่อย + +ต่อไปคุณอาจลองเพิ่ม language pack, ทดลองกับฟอร์แมตภาพอื่น ๆ (PNG, TIFF), หรือผสานผลลัพธ์เข้ากับระบบค้นหา ความเป็นไปได้ไม่มีที่สิ้นสุดเมื่อคุณจับคู่ OCR กับพลังของ GPU + +มีคำถามเพิ่มเติมเกี่ยวกับ GPU‑accelerated OCR หรืออยากให้ช่วยปรับแต่งการตั้งค่า? แสดงความคิดเห็นได้เลย, ขอให้สนุกกับการเขียนโค้ด! + +![วิธีเปิดใช้งาน GPU ในตัวอย่าง Java OCR](https://example.com/images/gpu-ocr-java.png "วิธีเปิดใช้งาน GPU ใน Java OCR") + +## คุณควรเรียนรู้อะไรต่อไป? + +บทแนะนำต่อไปนี้ครอบคลุมหัวข้อที่เกี่ยวข้องอย่างใกล้ชิดและต่อยอดจากเทคนิคที่แสดงในคู่มือนี้. แต่ละแหล่งรวมโค้ดทำงานเต็มรูปแบบพร้อมคำอธิบายขั้นตอนเพื่อช่วยคุณเชี่ยวชาญฟีเจอร์ API เพิ่มเติมและสำรวจแนวทางการทำงานอื่น ๆ ในโปรเจกต์ของคุณ + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/thai/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..60717aadf --- /dev/null +++ b/ocr/thai/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-06-06 +description: ปรับปรุงความแม่นยำของ OCR ใน Java ด้วยคู่มือขั้นตอนต่อขั้นตอนที่แสดงวิธีโหลด + OCR ของภาพ, ประมวลผล OCR ของภาพ และสกัดข้อความจากหน้าที่สแกนอย่างมีประสิทธิภาพ. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: th +og_description: ปรับปรุงความแม่นยำของ OCR ใน Java ด้วยตัวอย่างเชิงปฏิบัติ เรียนรู้วิธีโหลดภาพสำหรับ + OCR, ทำการเตรียมข้อมูลล่วงหน้า, และทำ OCR บนภาพเพื่อดึงข้อความจากหน้าที่สแกน. +og_title: เพิ่มความแม่นยำของ OCR ใน Java – คู่มือเต็ม +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: ปรับปรุงความแม่นยำของ OCR ใน Java – คู่มือฉบับสมบูรณ์ +url: /th/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ปรับปรุงความแม่นยำของ OCR ใน Java – คู่มือฉบับสมบูรณ์ + +เคยสงสัยไหมว่า **ปรับปรุงความแม่นยำของ OCR** อย่างไรเมื่อคุณต้องจัดการกับการสแกนหนังสือเก่าหรือใบเสร็จที่เบลอ? คุณไม่ได้อยู่คนเดียว ในหลายโครงการจริง ๆ ผลลัพธ์ดิบจากเครื่องมือ OCR จะดูเหมือนข้อความที่สับสน ซึ่งมักเกิดจากภาพไม่ได้รับการเตรียมล่วงหน้าอย่างถูกต้องก่อนที่คุณจะ **perform OCR image** + +ในบทเรียนนี้เราจะเดินผ่านตัวอย่าง Java เชิงปฏิบัติที่แสดงให้เห็นอย่างชัดเจนว่า **load image OCR** ทำอย่างไร, ประยุกต์ใช้ขั้นตอนการเตรียมล่วงหน้าที่ฉลาดบางอย่าง, **process image OCR**, และสุดท้าย **extract text scanned page** ด้วยผลลัพธ์ที่สะอาด หลังจากจบคุณจะเข้าใจไม่เพียง *ว่า* ต้องเขียนโค้ดอะไร แต่ *ทำไม* แต่ละบรรทัดจึงสำคัญต่อการยกระดับคุณภาพการจดจำ + +## สิ่งที่คุณจะได้เรียน + +- วิธีสร้างอินสแตนซ์ของ OCR engine ใน Java +- วิธี **load image OCR** จากดิสก์อย่างถูกต้อง +- ทำไมการ deskew, denoise, และการเพิ่มความคอนทราสต์จึงจำเป็นสำหรับ **improve OCR accuracy** +- วิธี **perform OCR image** และดึงข้อความที่จดจำได้ +- เคล็ดลับการจัดการรูปแบบภาพต่าง ๆ และกรณีขอบ + +ไม่ต้องอ้างอิงเอกสารภายนอก – ทุกอย่างที่คุณต้องการอยู่ที่นี่ และโค้ดที่สามารถรันได้ครบถ้วนอยู่ด้านล่าง + +## ข้อกำหนดเบื้องต้น + +- Java 17 (หรือ JDK รุ่นใหม่ใดก็ได้) ติดตั้งบนเครื่องของคุณ +- ไลบรารี OCR ที่มีคลาส `OcrEngine`, `OcrInputImage`, และ `OcrResult` (ตัวอย่างใช้ API ทั่วไป; แทนที่ด้วย jar ของผู้จำหน่ายของคุณหากจำเป็น) +- ภาพสแกน (PNG, JPEG หรือ TIFF) ที่คุณต้องการทำ OCR – สำหรับสาธิตเราจะใช้ `old_book_page.png` ที่อยู่ในโฟลเดอร์ชื่อ `YOUR_DIRECTORY` + +หากคุณขาด jar ของ OCR เพียงวางไว้ในโฟลเดอร์ `libs` ของโปรเจกต์และเพิ่มเข้าไปใน classpath. เท่านั้นแค่นั้น. + +--- + +## ขั้นตอนที่ 1 – ปรับปรุงความแม่นยำของ OCR: ตั้งค่า Engine + +ก่อนที่เราจะ **process image OCR** เราต้องมีอินสแตนซ์ engine ใหม่ การสร้าง `OcrEngine` ใหม่ให้เรามี “กระดานว่าง” ที่ไม่มีการตั้งค่าที่เหลือจากการรันก่อนหน้า + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*เหตุผลที่สำคัญ*: Engine ที่สร้างใหม่จะเริ่มต้นด้วยการปิดการเตรียมล่วงหน้าเป็นค่าเริ่มต้น นั่นคือเจตนา – เราต้องเปิดใช้งานเฉพาะขั้นตอนที่ช่วยภาพของเราเท่านั้น ซึ่งเป็นหัวใจของ **improve OCR accuracy**. + +--- + +## ขั้นตอนที่ 2 – Load Image OCR – เตรียมสแกนของคุณ + +ตอนนี้เราจะ **load image OCR** จริง ๆ เมธอด `setImage` ต้องการ `OcrInputImage` ที่ชี้ไปยังไฟล์บนดิสก์ + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +หมายเหตุสองข้อ: + +1. **รูปแบบที่รองรับ** – ไลบรารีส่วนใหญ่รับ PNG, JPEG, BMP, และ TIFF. หากคุณมี PDF ให้แปลงหน้าแรกเป็นภาพก่อน. +2. **การจัดการพาธ** – การใช้พาธแบบเต็มจะหลีกเลี่ยงปัญหา “ไฟล์ไม่พบ” เมื่อไดเรกทอรีทำงานเปลี่ยนไป. + +--- + +## ขั้นตอนที่ 3 – Deskew: ทำให้หน้าที่หมุนกลับเป็นแนวนอน + +หลายหน้าที่สแกนไม่ได้อยู่ในแนวนอนอย่างสมบูรณ์ การหมุนเล็กน้อยทำให้การจดจำล้มเหลว เพราะ OCR engine คาดว่าบรรทัดข้อความจะอยู่ระดับเดียวกัน การเปิดใช้งาน deskew จะตรวจจับและแก้ไขการหมุนนั้นโดยอัตโนมัติ + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**เคล็ดลับ**: หากคุณทราบมุมการหมุนล่วงหน้า (เช่น 90°) คุณสามารถหมุนภาพด้วยตนเองก่อนส่งให้ engine – มักเร็วกว่าในงานแบบแบตช์. + +--- + +## ขั้นตอนที่ 4 – Denoise: ลดเม็ดสีพื้นหลัง + +เอกสารเก่ามักมีเนื้อกระดาษ, ฝุ่น, หรือ artefacts จากการบีบอัด เมธอด `setDenoiseLevel` จะใช้ฟิลเตอร์ที่ทำให้สัญญาณรบกวนเหล่านี้เรียบลง ระดับ 2 เป็นจุดเริ่มต้นที่ดีสำหรับหน้าสแกนส่วนใหญ่ + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**ทำไมถึงช่วย**: สัญญาณรบกวนสร้างขอบเท็จที่ OCR engine อาจตีความเป็นอักขระ การทำความสะอาดภาพจึง **improve OCR accuracy** โดยไม่ทำลายรูปร่างของ glyphs จริง. + +--- + +## ขั้นตอนที่ 5 – Boost Contrast: ทำให้ข้อความโดดเด่น + +หากสแกนสีจาง ความคอนทราสต์ระหว่างหมึกและกระดาษจะต่ำ ทำให้ engine ยากต่อการแยก foreground จาก background การเพิ่มคอนทราสต์เล็กน้อยที่ `1.4f` (เพิ่ม 40 %) มักทำให้ผลลัพธ์ดีขึ้น + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*กรณีขอบ*: สำหรับภาพที่มืดมาก อาจต้องเพิ่มค่าเป็น 2.0 แต่ต้องระวัง clipping – พื้นที่ที่สว่างเกินไปอาจกลายเป็นสีขาวบริสุทธิ์และทำให้รายละเอียดละเอียดหายไป. + +--- + +## ขั้นตอนที่ 6 – Perform OCR Image – ขั้นตอนการประมวลผลหลัก + +ทุกการเตรียมพร้อมนำไปสู่บรรทัดนี้: รัน OCR engine บนภาพที่ผ่านการเตรียมล่วงหน้า + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +ภายใน engine จะทำการ segmentation, character recognition, และ language model. หากต้องการหลายภาษา ให้ตั้งค่าภาษาใน engine **ก่อน** เรียก `process()`. + +--- + +## ขั้นตอนที่ 7 – Extract Text Scanned Page – ดึงผลลัพธ์ + +สุดท้ายเราจะดึงสตริงที่จดจำจาก `OcrResult` การพิมพ์ลงคอนโซลเพียงพอสำหรับการสาธิตเร็ว ๆ นี้ แต่คุณก็สามารถเขียนลงไฟล์, ฐานข้อมูล, หรือส่งต่อไปยัง pipeline NLP ได้เช่นกัน + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**ผลลัพธ์ที่คาดหวัง** (ตัดบางส่วนเพื่อความกระชับ): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +หากผลลัพธ์ยังดูเป็นอักขระผสม ให้กลับไปตรวจสอบพารามิเตอร์การเตรียมล่วงหน้า – บางครั้งการเพิ่มระดับ denoise หรือเปลี่ยนค่า contrast factor จะทำให้แตกต่างอย่างเห็นได้ชัด. + +--- + +## ตัวอย่างทำงานเต็มรูปแบบ + +ด้านล่างเป็นโปรแกรม Java ที่สมบูรณ์และเป็นอิสระ คุณสามารถคัดลอก, วาง, และรันได้เลย รวมการ import ที่จำเป็น, เมธอด `main`, และคอมเมนต์ในบรรทัดที่อธิบายแต่ละขั้นตอน + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +บันทึกไฟล์นี้เป็น `OcrAccuracyDemo.java`, คอมไพล์ด้วย `javac`, แล้วรันด้วย `java`. หากทุกอย่างตั้งค่าอย่างถูกต้อง คุณจะเห็นข้อความที่ทำความสะอาดแล้วแสดงบนเทอร์มินัล. + +--- + +## คำถามที่พบบ่อย & กรณีขอบ + +**Q: หน้าสแกนของฉันเป็นสี – ควรแปลงเป็น grayscale ก่อนหรือไม่?** +A: ส่วนใหญ่ OCR engine จะทำการแปลงเป็น grayscale ภายใน แต่การทำเอง (เช่น ใช้ `BufferedImage` กับ `ColorConvertOp`) จะให้คุณควบคุมอัลกอริทึมการแปลงได้ละเอียดขึ้น โดยเฉพาะเมื่อพื้นหลังไม่สม่ำเสมอ. + +**Q: ผลลัพธ์ยังมีสัญลักษณ์แปลก ๆ อยู่ ทำอย่างไร?** +A: ลองเพิ่ม `setDenoiseLevel` เป็น 3 หรือปรับ `setContrastBoost` เป็น 1.6f. หากยังไม่ดีขึ้น ให้พิจารณาใช้ **binary threshold** (binarization) ก่อน OCR – ไลบรารีหลายตัวมีตัวเลือก `setBinarization(true)`. + +**Q: จะจัดการกับ PDF ที่มีหลายหน้าอย่างไร?** +A: แปลงแต่ละหน้าเป็นภาพ (เช่น ใช้ Apache PDFBox) แล้ววนลูปผ่านหน้าเหล่านั้น โดยใช้อินสแตนซ์ `OcrEngine` เดียวกันแต่รีเซ็ตภาพในแต่ละรอบ. + +--- + +## สรุป + +คุณเพิ่งเรียนรู้วิธี **improve OCR accuracy** ใน Java ด้วยการ **load image OCR** อย่างถูกต้อง, ใช้ deskew, denoise, และ boost contrast, จากนั้น **perform OCR image** และสุดท้าย **extract text scanned page**. สิ่งสำคัญคือการเตรียมล่วงหน้าเป็นตัวคูณที่มีประสิทธิภาพที่สุดสำหรับการยกระดับคุณภาพการจดจำ – ภาพที่เตรียมอย่างดีสามารถเพิ่มอัตราตัวอักษรที่ถูกต้องได้สองเท่าหรือมากกว่านั้น. + +พร้อมก้าวต่อไปหรือยัง? ลองทดลองกับ: + +- ระดับ denoise ที่ต่างกันสำหรับสแกนที่มีเม็ดสีมาก +- การเพิ่มคอนทราสต์แบบปรับตามฮิสโตแกรมของภาพ +- การผสาน language model (เช่น spell‑checking) หลังการสกัดข้อความเพื่อทำความสะอาดข้อผิดพลาดที่เหลือ + +การต่อยอดเหล่านี้จะทำให้ pipeline OCR ของคุณแข็งแรงพอสำหรับการใช้งานในระดับ production + +หากคุณเจออุปสรรคหรือมีเทคนิคเด็ดของคุณเอง แบ่งปันคอมเมนต์ด้านล่างได้เลย. Happy coding, and may your text be ever legible! + +## สิ่งที่คุณควรเรียนต่อไป + +บทเรียนต่อไปนี้ครอบคลุมหัวข้อที่เกี่ยวข้องอย่างใกล้ชิดและต่อยอดจากเทคนิคที่แสดงในคู่มือนี้ แต่ละแหล่งรวมโค้ดทำงานเต็มรูปแบบพร้อมคำอธิบายทีละขั้นตอน เพื่อช่วยคุณเชี่ยวชาญฟีเจอร์ API เพิ่มเติมและสำรวจแนวทางการทำงานอื่น ๆ ในโปรเจกต์ของคุณ + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/java/ocr-basics/_index.md b/ocr/thai/java/ocr-basics/_index.md index 48626dab5..635f5ac19 100644 --- a/ocr/thai/java/ocr-basics/_index.md +++ b/ocr/thai/java/ocr-basics/_index.md @@ -100,6 +100,8 @@ A: มากกว่า 30 ภาษา รวมถึง English, Spanish, Ch เพิ่มความแม่นยำของ OCR ด้วย Aspose.OCR for Java เรียนรู้การคำนวณมุมเอียงแบบละเอียด ปรับปรุงการประมวลผลเอกสารได้อย่างง่ายดาย ### [Getting Rectangles with Text Areas in Aspose.OCR](./get-rectangles-with-text-areas/) ปลดล็อกพลังของ Aspose.OCR for Java เรียนรู้วิธีสกัดข้อความจากรูปภาพอย่างไร้รอยต่อในคู่มือขั้นตอนนี้ ดาวน์โหลดตอนนี้เพื่อการจดจำข้อความที่มีประสิทธิภาพ +### [วิธีทำ OCR ใน Java – คู่มือเต็มสำหรับสกัดข้อความจากรูปภาพ](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +คู่มือครบถ้วนสำหรับการทำ OCR ด้วย Java เพื่อสกัดข้อความจากรูปภาพอย่างแม่นยำและง่ายดาย --- @@ -112,4 +114,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/thai/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..f97adf00f --- /dev/null +++ b/ocr/thai/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-06-06 +description: วิธีทำ OCR ใน Java – ดึงข้อความจากภาพอย่างรวดเร็ว, แปลงภาพเป็นข้อความ, + และอ่านข้อความจากไฟล์ jpg ด้วยตัวอย่างโค้ดง่าย ๆ +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: th +og_description: วิธีทำ OCR ใน Java – เรียนรู้วิธีดึงข้อความจากภาพ, แปลงภาพเป็นข้อความ, + และอ่านข้อความจากไฟล์ JPG พร้อมตัวอย่างที่พร้อมใช้งาน +og_title: วิธีทำ OCR ใน Java – คู่มือขั้นตอนโดยละเอียด +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: วิธีทำ OCR ใน Java – คู่มือครบวงจรสำหรับการดึงข้อความจากภาพ +url: /th/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีทำ OCR ใน Java – คู่มือเต็มสำหรับการดึงข้อความจากรูปภาพ + +เคยสงสัย **how to perform OCR** บนรูปภาพที่คุณถ่ายด้วยโทรศัพท์ของคุณหรือไม่? คุณไม่ได้เป็นคนเดียว ไม่ว่าคุณจะกำลังสร้างแอปสแกนใบเสร็จหรือแค่ต้องการดึงข้อความจาก PDF ที่สแกน, **how to perform OCR** ใน Java เป็นทักษะที่ให้ผลตอบแทนอย่างรวดเร็ว ในบทแนะนำนี้เราจะพาคุณผ่านตัวอย่างเชิงปฏิบัติที่ **extracts text from image** ไฟล์, **converts image to text**, และแม้แต่แสดงวิธี **read text from jpg** ด้วยเพียงไม่กี่บรรทัดของโค้ด. + +> *Pro tip:* วิธีเดียวกันทำงานได้กับ PNG, BMP หรือรูปแบบใดก็ได้ที่ OCR engine รองรับ—แค่เปลี่ยนชื่อไฟล์. + +## วิธีทำ OCR ใน Java – ภาพรวม + +Optical Character Recognition (OCR) คือเทคโนโลยีที่เปลี่ยนรูปภาพของตัวอักษรให้เป็นข้อความที่สามารถค้นหาได้จริง ในระบบนิเวศของ Java มีไลบรารีหลายตัว—Tesseract, Asprise, และ SDK เชิงพาณิชย์—ทั้งหมดให้ workflow คล้ายกัน: โหลดรูปภาพ, บอก engine ว่าคาดหวังภาษาอะไร, รันการจดจำ, แล้วดึงผลลัพธ์ออกมา ด้านล่างเราจะใช้คลาส `OcrEngine` แบบทั่วไปเพื่อให้ตัวอย่างชัดเจน, แต่คุณสามารถเปลี่ยนเป็นการทำงานของไลบรารีใดก็ได้ที่ทำตามรูปแบบเดียวกัน. + +### สิ่งที่คุณจะได้เรียนรู้ + +- ติดตั้งไลบรารี OCR (ใช่, **ocr in java** ง่ายกว่าที่คุณคิด). +- สร้างและกำหนดค่าอินสแตนซ์ของ OCR engine. +- โหลดไฟล์ JPG (หรือรูปภาพใดก็ได้) และตั้งค่าภาษา. +- ประมวลผลรูปภาพและ **extract text from image** ไฟล์. +- พิมพ์สตริงที่ได้รับการจดจำออกทางคอนโซล. + +เมื่อเสร็จสิ้นคุณจะมีโปรแกรม Java ที่ทำงานอิสระซึ่งสามารถนำไปใส่ในโปรเจกต์ใดก็ได้และรันได้ทันที. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## ขั้นตอนที่ 1 – ติดตั้งและนำเข้าไลบรารี OCR (ocr in java) + +ก่อนที่คุณจะเขียนบรรทัด Java ใด ๆ คุณต้องมีไลบรารีที่ทำงานหนักจริง ๆ หากคุณใช้ Maven ให้เพิ่ม dependency ดังนี้ (แทนที่ `com.example.ocr` ด้วย group ID ที่แท้จริงของ SDK ที่คุณเลือก): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +หากคุณชอบ Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +เมื่อ JAR อยู่ใน classpath แล้ว ให้นำเข้าคลาสที่คุณต้องการใช้: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Why this matters:** การนำเข้าคลาสที่ถูกต้องช่วยป้องกันข้อผิดพลาด “cannot find symbol” และทำให้ IDE ของคุณมีความสุข—ไม่มีอะไรน่าหงุดหงิดกว่าการขาด import เมื่อคุณกำลังพยายาม **convert image to text**. + +## ขั้นตอนที่ 2 – สร้างอินสแตนซ์ของ OCR Engine (how to perform OCR) + +ตอนนี้ไลบรารีพร้อมแล้ว ให้สตาร์ท engine คิดว่า engine คือสมองที่จะมองพิกเซลและคาดเดาตัวอักษร + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +การสร้าง engine มักจะมีค่าใช้จ่ายต่ำ; SDK ส่วนใหญ่จะจัดสรรบัฟเฟอร์ภายในแบบ lazy, ดังนั้นคุณสามารถใช้อินสแตนซ์เดียวกันซ้ำได้หลายรูปภาพหากต้องประมวลผลเป็นชุด. + +## ขั้นตอนที่ 3 – โหลดรูปภาพและตั้งค่าภาษา (extract text from image) + +ขั้นตอนต่อไปคือให้ engine มีอะไรให้อ่าน ที่นี่เราจะโหลด JPEG จากดิสก์และบอก OCR engine ว่าข้อความอยู่ในภาษามองโกเลีย (ISO 639‑2 code “mon”). คุณสามารถเปลี่ยนเส้นทางหรือรหัสภาษาให้ตรงกับกรณีการใช้งานของคุณได้ + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Side note:** หากคุณไม่ได้ตั้งค่าภาษา, engine จะใช้ค่าเริ่มต้นเป็นภาษาอังกฤษ, ซึ่งอาจทำให้ความแม่นยำลดลงอย่างมากเมื่อข้อความจริงเป็น Cyrillic หรือสคริปต์อื่น ๆ ควรระบุภาษาที่ถูกต้องเสมอเมื่อทำได้. + +## ขั้นตอนที่ 4 – ประมวลผลรูปภาพและรับผลลัพธ์ (convert image to text) + +เมื่อรูปภาพและภาษาเตรียมพร้อมแล้ว ให้สั่ง engine ทำเวทมนตร์ของมัน การเรียก `process()` จะรันอัลกอริทึม OCR และคืนค่าอ็อบเจ็กต์ `OcrResult` ที่มีสตริงที่จดจำได้และคะแนนความเชื่อมั่น + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +เบื้องหลัง engine อาจทำการพรีโพรเซสซิ่ง—deskewing, binarization, noise reduction—เพื่อให้คุณไม่ต้องเขียนขั้นตอนเหล่านั้นเอง นั่นคือเหตุผลที่ไลบรารี OCR สมัยใหม่ส่วนใหญ่เป็นมิตรต่อการใช้งานสำหรับงาน **convert image to text**. + +## ขั้นตอนที่ 5 – แสดงข้อความที่ดึงออกมา (read text from jpg) + +สุดท้ายให้ดึง plain‑text จากผลลัพธ์และทำสิ่งที่เป็นประโยชน์กับมัน สำหรับการสาธิตนี้เราจะพิมพ์ลงคอนโซลเท่านั้น, แต่คุณก็สามารถเขียนลงไฟล์, ส่งเข้า index การค้นหา, หรือส่งต่อให้บริการอื่นได้ + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +บรรทัดนั้นพิสูจน์ว่าคุณได้ **read text from jpg** (หรือรูปแบบที่สนับสนุนใด ๆ) สำเร็จแล้ว หากผลลัพธ์ดูเป็นอักขระผิดพลาด ให้ตรวจสอบรหัสภาษาและคุณภาพของรูปภาพอีกครั้ง + +## ตัวอย่างทำงานเต็ม (รวมทุกขั้นตอน) + +ด้านล่างเป็นคลาส Java ที่พร้อมรันครบถ้วนซึ่งเชื่อมทุกส่วนเข้าด้วยกัน คัดลอกไปไฟล์ชื่อ `OcrDemo.java`, ปรับเส้นทางรูปภาพและภาษา, แล้วรัน `javac OcrDemo.java && java OcrDemo` + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### ผลลัพธ์ที่คาดหวัง + +หาก `input.jpg` มีประโยคมองโกเลีย “Сайн байна уу?” คอนโซลจะแสดง: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +หากรูปภาพเบลอหรือรหัสภาษาไม่ถูกต้อง คุณจะเห็นอักขระผิดพลาดหรือสตริงว่าง—เป็นข้อผิดพลาดทั่วไปที่เราจะพูดถึงต่อไป + +## ปัญหาที่พบบ่อยและวิธีแก้ไข + +| อาการ | สาเหตุที่เป็นไปได้ | วิธีแก้ | +|---------|--------------|-----| +| อักขระ Cyrillic ผิดพลาด | รหัสภาษาไม่ถูกต้อง (ค่าเริ่มต้นเป็นภาษาอังกฤษ) | ตั้งค่า `ocrEngine.getSettings().setLanguage("mon")` หรือรหัสที่เหมาะสม | +| ไม่มีผลลัพธ์เลย | เส้นทางไฟล์ไม่ถูกต้องหรือไฟล์ไม่สามารถอ่านได้ | ตรวจสอบเส้นทาง, ยืนยันว่าไฟล์มีอยู่, และให้สิทธิ์การอ่านกับโปรเซส | +| ความแม่นยำต่ำ (<70 %) | รูปภาพมีคอนทราสต์ต่ำหรือหมุน | พรีโพรเซสรูปภาพ: เพิ่มคอนทราสต์, deskew, หรือแปลงเป็น grayscale ก่อนส่งให้ engine | +| `OutOfMemoryError` บน PDF ขนาดใหญ่ | โหลดหลายหน้าความละเอียดสูงพร้อมกัน | ประมวลผลหน้าแต่ละหน้าแยกกัน, หรือย่อขนาดภาพก่อนทำ OCR | + +### เคล็ดลับพิเศษ: การประมวลผลเป็นชุด + +หากคุณต้องการ **extract text from image** ไฟล์เป็นจำนวนมาก, ให้ห่อโค้ดหลักในลูป: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +สแนปช็อตนี้แสดงให้เห็นว่าการขยายจาก JPG เดียวไปจนถึงโฟลเดอร์สแกนทั้งหมดทำได้ง่ายแค่ไหน + +## ไปต่อ – สิ่งที่ควรสำรวจต่อ + +- **Language Packs:** SDK OCR ส่วนใหญ่ให้คุณดาวน์โหลดไฟล์ข้อมูลภาษาที่เพิ่มขึ้น การเพิ่มแพ็คใหม่ทำให้คุณ **convert image to text** สำหรับภาษานอกเหนือจากอังกฤษและมองโกเลียได้ +- **PDF OCR:** Combine this code with Apache PDFBox to + +## คุณควรเรียนรู้อะไรต่อไป? + +บทแนะนำต่อไปนี้ครอบคลุมหัวข้อที่เกี่ยวข้องอย่างใกล้ชิดและต่อยอดจากเทคนิคที่แสดงในคู่มือนี้ แต่ละแหล่งรวมตัวอย่างโค้ดทำงานเต็มรูปแบบพร้อมคำอธิบายขั้นตอน‑โดย‑ขั้นตอน เพื่อช่วยคุณเชี่ยวชาญฟีเจอร์ API เพิ่มเติมและสำรวจแนวทางการทำงานทางเลือกในโปรเจกต์ของคุณเอง + +- [ดึงข้อความจากรูปภาพ – พื้นฐาน OCR ด้วย Aspose.OCR สำหรับ Java](/ocr/english/java/ocr-basics/) +- [แปลงรูปภาพเป็นข้อความใน Java ด้วย Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [วิธี OCR ข้อความรูปภาพด้วยภาษาโดยใช้ Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..0a77e121e 100644 --- a/ocr/thai/java/ocr-operations/_index.md +++ b/ocr/thai/java/ocr-operations/_index.md @@ -80,6 +80,8 @@ 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 +### [ใช้ใบอนุญาต Aspose OCR ใน Java – ลบลายน้ำ OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +เรียนรู้วิธีตั้งค่าใบอนุญาต Aspose OCR ใน Java เพื่อลบลายน้ำ OCR จากผลลัพธ์ {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/ocr/thai/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/thai/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..81a06d45a --- /dev/null +++ b/ocr/thai/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,261 @@ +--- +category: general +date: 2026-06-06 +description: ใช้ใบอนุญาต Aspose OCR ใน Java เพื่อเปิดใช้งานฟีเจอร์เต็มรูปแบบและลบลายน้ำ + OCR ทันที +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: th +og_description: ใช้ไลเซนส์ Aspose OCR ใน Java เพื่อขจัดข้อจำกัดการประเมินและลบลายน้ำ + OCR จากการสแกนของคุณ +og_title: ใช้ใบอนุญาต Aspose OCR ใน Java – ลบลายน้ำ OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: ใช้ไลเซนส์ Aspose OCR ใน Java – ลบลายน้ำ OCR +url: /th/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ใช้ลิขสิทธิ์ Aspose OCR ใน Java – ลบลายน้ำ OCR + +เคยสงสัยไหมว่า **apply Aspose OCR license** ในโครงการ Java อย่างไรโดยไม่เจอแถบลายน้ำการประเมินที่น่ากลัว? คุณไม่ได้เป็นคนเดียวที่เจอเรื่องนี้. ทันทีที่คุณลองใช้รุ่นทดลองฟรี ทุกภาพที่สแกนจะถูกปิดด้วยแถบสีเทา “Aspose Evaluation” ซึ่งทำให้เอกสารที่ดูเรียบร้อยที่สุดดูไม่เป็นมืออาชีพ. + +ในคู่มือนี้เราจะพาคุณผ่านขั้นตอนที่แน่นอนเพื่อ **apply Aspose OCR license**, ตรวจสอบว่าห้องสมุดถูกปลดล็อกอย่างเต็มที่, และแสดงให้คุณเห็นว่าลายน้ำหายไปโดยอัตโนมัติ. เมื่อเสร็จสิ้น, คุณจะสามารถทำ OCR บนภาพใดก็ได้—ไม่ว่าจะเป็นใบเสร็จ, สแกนพาสปอร์ต, หรือโน้ตมือเขียน—โดยไม่มีแถบลายน้ำที่น่าเกลียด. + +## ข้อกำหนดเบื้องต้น + +- **Java Development Kit (JDK) 8** หรือใหม่กว่า ติดตั้งแล้ว +- ไฟล์ JAR **Aspose OCR for Java** (ดาวน์โหลดจากพอร์ทัลของ Aspose) +- ไฟล์ลิขสิทธิ์ **Aspose OCR license** ของคุณ (`Aspose.OCR.Java.lic`) +- IDE หรือโปรแกรมแก้ไขข้อความง่าย ๆ (IntelliJ, Eclipse, VS Code—เลือกตามสะดวก) + +แค่นั้นเอง. ไม่ต้องใช้ปลั๊กอิน Maven หรือเทคนิค Gradle เพิ่มเติม, แม้ว่าคุณอาจเพิ่มเข้าไปในภายหลังหากต้องการ. + +## การตั้งค่าโครงการ (ภาพรวมอย่างรวดเร็ว) + +1. สร้างโฟลเดอร์ใหม่ชื่อ `AsposeOCRDemo` +2. วางไฟล์ `aspose-ocr-*.jar` ลงในโฟลเดอร์ย่อย `lib` +3. ใส่ไฟล์ `Aspose.OCR.Java.lic` ของคุณไว้ในตำแหน่งที่เข้าถึงได้, เช่นโฟลเดอร์ `resources/` +4. เขียนไฟล์ `Main.java` เล็ก ๆ—นี่คือที่ที่เวทมนตร์เกิดขึ้น + +หากคุณใช้ IDE เพียงเพิ่ม JAR เข้าไปใน classpath ของโครงการและทำเครื่องหมายโฟลเดอร์ `resources` ให้เป็น resources root. หากคุณคอมไพล์จากบรรทัดคำสั่ง, classpath จะมีลักษณะประมาณนี้: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +เมื่อโครงสร้างพื้นฐานพร้อม, เรามาเข้าสู่หัวใจของเรื่องกัน. + +## ขั้นตอนที่ 1: **Apply Aspose OCR License** – โค้ดหลัก + +สิ่งแรกที่คุณต้องทำคือบอกให้ Aspose OCR engine เชื่อถือไฟล์ลิขสิทธิ์ของคุณ. หากไม่เรียกเมธอดนี้, ห้องสมุดจะอยู่ในโหมดประเมินและจะเพิ่มลายน้ำในทุกผลลัพธ์. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **ทำไมเรื่องนี้ถึงสำคัญ:** คลาส `License` เป็นผู้คุมประตู. ทันทีที่ `setLicense` สำเร็จ, OCR engine จะสลับจาก *evaluation* ไปเป็น *full* mode. การตรวจสอบภายในที่โดยปกติจะเพิ่มตรรกะ **remove OCR watermark** จะถูกปิด, ดังนั้นคุณจะไม่เห็นแถบสีเทาอีกต่อไป. +> +> **เคล็ดลับ:** เก็บไฟล์ลิขสิทธิ์ไว้ไกลจากระบบควบคุมเวอร์ชัน (เช่นในโฟลเดอร์เฉพาะสภาพแวดล้อม) เพื่อหลีกเลี่ยงการคอมมิตโดยบังเอิญ. + +## ขั้นตอนที่ 2: ตรวจสอบว่าลายน้ำหายไปแล้ว + +หลังจากที่คุณเรียก `applyAsposeOcrLicense`, ควรทำการทดสอบอย่างรวดเร็ว. โค้ดตัวอย่างต่อไปนี้จะโหลดภาพ, ทำ OCR, และพิมพ์ข้อความที่สกัดออกมา. หากลิขสิทธิ์ไม่ทำงาน, Aspose จะโยนข้อยกเว้นหรือฝังลายน้ำในภาพผลลัพธ์ (หากคุณบันทึกผลภาพ). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**ผลลัพธ์ที่คาดหวัง (ส่วนหนึ่ง):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +สังเกตว่าไม่มีการกล่าวถึงลายน้ำการประเมินใด ๆ. นั่นคือผลของ **remove OCR watermark** ที่ทำงาน. + +## ขั้นตอนที่ 3: ข้อผิดพลาดทั่วไปและกรณีขอบ + +### 1. เส้นทางลิขสิทธิ์ไม่ถูกต้อง +หากคุณส่งเส้นทางที่ไม่ถูกต้องไปยัง `setLicense`, เมธอดจะล้มเหลวโดยเงียบและห้องสมุดจะคงอยู่ในโหมดประเมิน. ควรตรวจสอบค่าที่คืนหรือดักจับข้อยกเว้นเสมอ, ตามที่แสดงใน `LicenseUtil`. + +### 2. ใช้เส้นทางสัมพัทธ์ในการปรับใช้แบบ JAR +เมื่อคุณแพคเกจแอปเป็น JAR ที่สามารถทำงานได้, เส้นทางไฟล์ระบบสัมพัทธ์อาจทำให้เกิดปัญหา. วิธีที่ปลอดภัยกว่าคือโหลดลิขสิทธิ์เป็นสตรีมทรัพยากร: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +วางไฟล์ `.lic` ไว้ใน `src/main/resources` เพื่อให้มันอยู่บน classpath. + +### 3. สถานการณ์หลายเธรด +หากแอปของคุณประมวลผลภาพหลายภาพพร้อมกัน, คุณเพียงต้องเรียกใช้ลิขสิทธิ์ **หนึ่งครั้ง** ต่อ JVM. การเรียก `setLicense` ซ้ำจากหลายเธรดอาจทำให้ประสิทธิภาพลดลงเล็กน้อย, แต่จะไม่ทำให้แอปพัง. + +### 4. การหมดอายุของลิขสิทธิ์ +ลิขสิทธิ์ของ Aspose ส่วนใหญ่เป็นแบบถาวร, แต่ลิขสิทธิ์ทดลองหรือแบบจำกัดเวลาอาจหมดอายุ. เมื่อเกิดเหตุการณ์นี้, engine จะกลับไปเป็นโหมดประเมินและพฤติกรรม **remove OCR watermark** จะหายไป. ควรตรวจสอบวันหมดอายุของลิขสิทธิ์ในพอร์ทัลของ Aspose อย่างสม่ำเสมอ. + +## ขั้นตอนที่ 4: การทำให้การใช้ลิขสิทธิ์เป็นอัตโนมัติในโครงการจริง + +ในไมโครเซอร์วิสที่ใช้งานจริง, คุณอาจไม่ต้องการกระจาย `LicenseUtil.applyAsposeOcrLicense` ทั่วโค้ดเบส. แทนที่จะทำเช่นนั้น, ให้ทำการเริ่มต้นครั้งเดียวในช่วงเริ่มต้นของแอป—เช่นเมธอด `@PostConstruct` ของ Spring Boot หรือบล็อก static initializer. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +ตอนนี้ทุกคอมโพเนนต์ที่ใช้ `OcrEngine` สามารถมั่นใจได้ว่าลิขสิทธิ์ได้เปิดใช้งานแล้ว, ทำให้การรับประกัน **remove OCR watermark** ครอบคลุมทั่วทั้งบริการ. + +## ขั้นตอนที่ 5: ทดสอบการรวมลิขสิทธิ์ + +การทดสอบอัตโนมัติสามารถยืนยันว่าลายน้ำหายไปจริง ๆ. ตัวอย่าง JUnit อย่างง่ายอาจมีลักษณะดังนี้: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +การรันเทสต์นี้จะทำให้คุณมั่นใจว่าท่อการปรับใช้ของคุณจะไม่ส่งมอบบิลด์ที่ไม่มีลิขสิทธิ์โดยบังเอิญ. + +## ภาพรวมเชิงภาพ (ทางเลือก) + +หากคุณชอบดูภาพกราฟิก, นี่คือแผนภาพสรุปของกระบวนการ: + +![ใช้ลิขสิทธิ์ Aspose OCR ใน Java – แผนภาพแสดงการโหลดลิขสิทธิ์แล้วการประมวลผล OCR โดยไม่มีลายน้ำ](apply-aspose-ocr-license.png "ใช้ลิขสิทธิ์ Aspose OCR ใน Java") + +## สรุป + +เราได้อธิบายทุกอย่างที่คุณต้องการเพื่อ **apply Aspose OCR license** ในสภาพแวดล้อม Java และผลข้างเคียงโดยตรงคือ **remove OCR watermark** จากภาพที่ประมวลผลทั้งหมด. ตั้งแต่การสร้างอ็อบเจ็กต์ `License`, จัดการปัญหาเส้นทาง, ตรวจสอบผลลัพธ์, จนถึงการเชื่อมต่อเข้ากับแอปขนาดใหญ่—แต่ละขั้นตอนอธิบาย “ทำไม” ไม่ใช่แค่ “ทำอย่างไร”. + +ตอนนี้คุณสามารถผสาน Aspose OCR เข้ากับโครงการ Java ใดก็ได้, เชื่อมั่นว่าผู้ใช้ของคุณจะไม่เห็นแท็กการประเมินที่รบกวนอีกต่อไป. + +### ขั้นตอนต่อไป? + +- **สำรวจแพ็คเกจภาษา:** Aspose OCR รองรับกว่า 70 ภาษา; เพียงตั้งค่าคุณสมบัติ `OcrEngine` ที่เหมาะสม +- **รวมกับ Aspose PDF:** แปลงภาพสแกนเป็น PDF ที่สามารถค้นหาได้โดยตรงโดยไม่มีลายน้ำ +- **ปรับจูนประสิทธิภาพ** + +## คุณควรเรียนรู้อะไรต่อไป? + +บทแนะนำต่อไปนี้ครอบคลุมหัวข้อที่เกี่ยวข้องอย่างใกล้ชิดและต่อยอดจากเทคนิคที่แสดงในคู่มือนี้. แต่ละแหล่งข้อมูลมีตัวอย่างโค้ดทำงานเต็มรูปแบบพร้อมคำอธิบายทีละขั้นตอน เพื่อช่วยคุณเชี่ยวชาญฟีเจอร์ API เพิ่มเติมและสำรวจแนวทางการนำไปใช้ทางเลือกในโครงการของคุณเอง. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..8fd41787c 100644 --- a/ocr/turkish/java/advanced-ocr-techniques/_index.md +++ b/ocr/turkish/java/advanced-ocr-techniques/_index.md @@ -45,6 +45,9 @@ Hassas metin tanıma için Java uygulamalarınızı Aspose.OCR ile güçlendirin Aspose.OCR for Java ile izin verilen karakterleri belirterek görüntülerden zahmetsizce metin çıkarın. Sorunsuz bir metin tanıma deneyimi sağlayan verimli entegrasyon için adım adım kılavuzumuzu izleyin. Aspose.OCR özellikleriyle Java uygulamalarınızı geliştirin. +## [Java OCR'da GPU'yu Etkinleştirme – Tam Adım Adım Kılavuz](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Java OCR performansını artırmak için GPU'yu nasıl etkinleştireceğinizi adım adım öğrenin. + ## Çözüm Aspose.OCR for Java ile gelişmiş OCR tekniklerinde uzmanlaşmak hiç bu kadar kolay olmamıştı. Bu eğitimlere dalın ve Java projelerinizde metin tanımanın tam potansiyelini ortaya çıkarın. Sorunsuz entegrasyon, yüksek doğruluk ve çok yönlü metin çıkarma yetenekleriyle uygulamalarınızı geliştirin. Hemen indirin ve Aspose.OCR for Java ile OCR mükemmelliğine doğru ilk adımı atın! @@ -61,9 +64,18 @@ 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 Taralı Görüntüden Metin Çıkarma – Tam Aspose OCR Kılavuzu](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Java'da taranmış görüntülerden metin çıkarın. Aspose OCR ile yüksek doğruluk ve kolay entegrasyon sağlayın. Tam kılavuzla hemen indirin. +### [Aspose OCR Java Örneği – Görüntü Yükleme, Yazım Düzeltme ve OCR İşleme Tam Kılavuzu](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +Aspose OCR Java örneğiyle görüntü yükleyin, yazım hatalarını düzeltin ve OCR işlemini tamamlayın. Java projelerinizde metin tanımayı kolaylaştırın. +### [Java'da OCR Doğruluğunu Artırma – Tam Kılavuz](./improve-ocr-accuracy-in-java-complete-guide/) +Java projelerinizde OCR doğruluğunu artırmak için adım adım rehber. Aspose.OCR ile yüksek hassasiyet elde edin. +### [Java'da Arama Yapılabilir PDF Oluşturma – Tam Aspose OCR Kılavuzu](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Java'da arama yapılabilir PDF oluşturun. Aspose OCR ile tam adım adım kılavuz, yüksek doğruluk ve kolay entegrasyon. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/turkish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..f887bf42f --- /dev/null +++ b/ocr/turkish/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,177 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Java örneği, görüntü OCR'sini nasıl yükleyeceğinizi, OCR hatalarını + nasıl düzelteceğinizi, özel sözlük ayarlamayı ve sadece birkaç adımda görüntü OCR'sini + işlemeyi gösterir. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: tr +og_description: Görüntüyü yükleyen, OCR hatalarını düzelten, özel bir sözlük ayarlayan + ve görüntü OCR'sini verimli bir şekilde işleyen Aspose OCR Java örneği. +og_title: Aspose OCR Java Örneği – Görüntüyü Yükle, Yazım Düzeltmesi Yap ve OCR İşle +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Aspose OCR Java Örneği – Görüntüyü Yükleme, Yazım Düzeltme ve OCR İşleme İçin + Tam Kılavuz +url: /tr/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – Görüntü Yükleme, Yazım Düzeltme ve OCR İşleme İçin Tam Kılavuz + +Hiç **Aspose OCR Java example**'ı kutudan çıkar çıkmaz çalışan bir örnek aradınız mı? Yalnız değilsiniz—geliştiriciler sık sık bulanık bir ekran görüntüsüne bakıp çıkarılan metnin neden karışık olduğunu merak ederler. İyi haber, Aspose'un OCR motoru zaten yerleşik yazım düzeltme ile geliyor ve hatta kendi kelime listenizi ekleyebilirsiniz. Bu öğreticide bir görüntü OCR'ı yüklemeyi, düzeltme özelliğini etkinleştirmeyi, isteğe bağlı olarak özel bir sözlük ayarlamayı ve sonunda görüntü OCR'ını işleyerek temiz, okunabilir metin elde etmeyi adım adım göstereceğiz. + +Ayrıca **correct OCR errors** neden isteyebileceğinizi, **load image OCR**'ı nasıl verimli bir şekilde yapacağınızı, **set custom dictionary** çağrısının faydalarını ve uçtan uca **process image OCR** akışının nasıl göründüğünü de ele alacağız. Sonunda, herhangi bir Maven ya da Gradle projesine ekleyebileceğiniz tamamen çalıştırılabilir bir Java programına sahip olacaksınız. + +--- + +## Gereksinimler + +- Java 8 ve üzeri (API Java 11+ ile de çalışır) +- Aspose.OCR for Java kütüphanesi (en son JAR'ı Aspose web sitesinden indirin veya Maven bağımlılığını ekleyin) +- Metin içeren bir görüntü dosyası (tercihen taranmış bir belge ya da biraz gürültülü bir ekran görüntüsü) +- Opsiyonel: alan‑spesifik terimler için **set custom dictionary**'yi kullanmak istiyorsanız düz metin sözlük dosyası + +Hepsi bu—ağır OCR motorları yok, yerel bağımlılıklar yok, sadece tek bir JAR ve birkaç satır kod. + +## Adım 1: Aspose OCR Java Example – Görüntü OCR'ı Yükleme + +İlk yapmanız gereken, bir `OcrEngine` örneği oluşturup analiz etmek istediğiniz dosyaya yönlendirmektir. Bunu, okumaya başlamadan önce bir kitabı açmak gibi düşünün. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Neden önemli:** `setImage` çağrısı **load image OCR**'ın kalbidir. Geçerli bir görüntü olmadan, motorun tanıyacak bir şeyi yoktur ve boş bir dize ya da bir istisna ile karşılaşırsınız. + +![aspose ocr java example loading image](image.png){alt="aspose ocr java örneği görüntü yükleme"} + +## Adım 2: OCR Hatalarını Düzeltmek İçin Yazım‑Düzeltmeyi Etkinleştir + +Aspose OCR, varsayılan olarak yazım‑düzeltme açık olarak gelir, ancak özellikle bir **aspose ocr java example** gösterdiğinizde bunu açıkça belirtmek zarar vermez. Bu özelliği etkinleştirmek, “t1e” ya da “rec0gn1tion” gibi anlamsız karakterleri büyük ölçüde azaltır. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Pro ipucu:** Motorun hâlâ belirli kelimeleri yanlış tanıdığını fark ederseniz, dil ayarlarını tekrar kontrol edin veya özel bir sözlük ekleyin (sonraki adım). + +Yazım‑düzeltmeyi etkinleştirmek, ekstra kod yazmadan **correct OCR errors**'ı düzeltmenin en hızlı yoludur. + +## Adım 3: Daha İyi Doğruluk İçin Özel Sözlük Ayarla + +Bazen varsayılan sözlük, sektörünüze özgü jargonunuzu bilmez—tıbbi terimler, ürün kodları ya da marka adları gibi. İşte **set custom dictionary** devreye girer. Satır başına bir kelime olacak şekilde düz metin bir dosya sağlayın ve OCR motoru bu girişleri düzeltme sırasında geçerli kabul eder. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Ne zaman kullanılmalı:** Faturaları işlerken şirket adları bozuluyorsa, bu adları içeren bir özel sözlük **process image OCR** aşamasını çok daha güvenilir hâle getirir. + +## Adım 4: Görüntü OCR'ını İşle ve Metni Al + +Motor yapılandırıldıktan sonra, tanıma işlemini gerçekten çalıştırma zamanı. `process` metodu tüm ağır işi yapar—metin bloklarını algılar, yazım‑düzeltmeyi uygular ve bir `OcrResult` nesnesi döndürür. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Gördükleriniz:** Konsol temiz, insan tarafından okunabilir bir dize yazdırır. Yazım‑düzeltmeyi atlamış olsaydınız, muhtemelen garip karakterler görürdünüz; bu yüzden onu önce etkinleştirmek **correct OCR errors** için çok önemlidir. + +## Adım 5: Örneği Çalıştır ve Çıktıyı Doğrula + +Sınıfı sevdiğiniz IDE ile ya da komut satırından derleyip çalıştırın: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Şuna benzer bir şey görmelisiniz: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Çıktı hâlâ yazım hataları içeriyorsa, bu kelimeleri özel sözlüğünüze ekleyip **process image OCR** adımını yeniden çalıştırın. + +## Yaygın Tuzaklar ve Nasıl Kaçınılır + +| Sorun | Neden Oluşur | Çözüm | +|-------|----------------|-----| +| **Boş çıktı** | Görüntü yolu yanlış veya desteklenmeyen format | Yolu doğrulayın, PNG/JPEG kullanın ve dosyanın okunabilir olduğundan emin olun | +| **Bozuk karakterler** | Yazım‑düzeltme kapalı veya düşük kaliteli görüntü | `setEnableSpellCorrection(true)`'ı etkinleştirin ve görüntüyü ön‑işlemeyi (kontrastı artırma) düşünün | +| **Alan‑spesifik kelimeler hâlâ yanlış** | Özel sözlük yok | Terimlerinizi içeren bir dosyayla `setCustomDictionary` kullanın | +| **Bellek yetersizliği hataları** | Ölçeklendirme yapılmadan çok büyük görüntüler yüklendi | `OcrEngine`'e vermeden önce görüntüyü yeniden boyutlandırın | + +## Örneği Genişletmek + +Artık sağlam bir **aspose ocr java example**'a sahip olduğunuz için şunları yapmak isteyebilirsiniz: + +- **Batch process** bir klasördeki görüntüleri dosya adları üzerinde döngü kurarak ve aynı `OcrEngine` örneğini yeniden kullanarak işleyin. +- **Extract layout information** (tablolar, sütunlar) daha gelişmiş belge analizi için `ocrResult.getPages()` kullanarak çıkarın. +- **Integrate with Apache PDFBox** tanınan metni bir PDF'e gömmek için entegre edin. + +Bu uzantıların tümü, ele aldığımız aynı temel adımlara dayanır: görüntü OCR'ı yükleme, düzeltmeyi etkinleştirme, isteğe bağlı olarak özel bir sözlük ayarlama ve görüntü OCR'ını işleme. + +## Sonuç + +Şimdi bir görüntüyü yükleyen, **correct OCR errors** için yazım‑düzeltmeyi etkinleştiren, isteğe bağlı olarak **set custom dictionary** yapan ve sonunda temiz metin elde etmek için **process image OCR** yapan eksiksiz bir **aspose ocr java example** oluşturdunuz. Kod kısa, kavramlar net ve artık bu temeli toplu işler, UI entegrasyonları ya da bulut mikro‑servisleri için genişletebilirsiniz. + +Sırada ne var? Motoru düşük çözünürlüklü bir fotoğrafla besleyin, özel sözlüğünüze ürün SKU'larının bir listesini ekleyin ve doğruluğun nasıl arttığını görün. Ne kadar çok denerseniz, görüntü kalitesi, sözlük boyutu ve işleme hızı arasındaki dengeyi o kadar iyi anlarsınız. + +Herhangi bir sorunla karşılaşırsanız ya da ek geliştirme fikirleriniz varsa yorum bırakmaktan çekinmeyin. Kodlamanın tadını çıkarın! + +## Sonra Ne Öğrenmelisiniz? + +Aşağıdaki öğreticiler, bu rehberde gösterilen tekniklere dayanan yakından ilgili konuları kapsar. Her kaynak, ek API özelliklerini öğrenmenize ve kendi projelerinizde alternatif uygulama yaklaşımlarını keşfetmenize yardımcı olmak için adım adım açıklamalar içeren tam çalışan kod örnekleri sunar. + +- [Java'da Lisans Ayarlama ve Aspose.OCR Lisansını Doğrulama](/ocr/english/java/ocr-basics/set-license/) +- [Aspose.OCR Kullanarak Dil ile Görüntü Metnini OCR'lama](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Görüntülerde Satırları Tanıma](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/turkish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..51a9c5a29 --- /dev/null +++ b/ocr/turkish/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,273 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR kullanarak Java ile aranabilir PDF oluşturun. PDF'den metin + çıkarmayı öğrenin, OCR doğruluğunu artırın ve çok sayfalı PDF'leri verimli bir şekilde + işleyin. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: tr +og_description: Aspose OCR kullanarak Java ile aranabilir PDF oluşturun. Bu rehber, + PDF'den metin çıkarmayı, OCR doğruluğunu artırmayı ve çok sayfalı PDF'leri yönetmeyi + adım adım gösterir. +og_title: Java'da Aranabilir PDF Oluşturma – Tam Aspose OCR Öğreticisi +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Java'da Aranabilir PDF Oluşturma – Tam Aspose OCR Rehberi +url: /tr/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java'da Aranabilir PDF Oluşturma – Tam Aspose OCR Rehberi + +Java'dan doğrudan **aranabilir PDF** dosyaları oluşturmanın nasıl yapılacağını hiç merak ettiniz mi, komut satırı araçlarıyla uğraşmadan? Yalnız değilsiniz. Birçok geliştirici, özellikle kaynak PDF'ler birkaç sayfaya yayıldığında, taranmış PDF'leri metin‑aranabilir belgelere dönüştürmek zorunda kaldıklarında bir duvara çarpar. + +Bu öğreticide, sadece **aranabilir PDF** dosyaları **oluşturan** değil, aynı zamanda **PDF'den metin çıkarma**, **OCR doğruluğunu artırma** ve Aspose OCR kütüphanesini kullanarak bir **OCR çok sayfalı PDF** iş akışını yönetme konularını gösteren eksiksiz, çalıştırılabilir bir örnek üzerinden ilerleyeceğiz. Sonunda, herhangi bir Java projesine ekleyebileceğiniz sağlam, üretim‑hazır bir kod parçacığına sahip olacaksınız. + +## Gereksinimler + +- Java 17 veya daha yeni (kod eski sürümlerle de derlenebilir, ancak JDK 17 ideal) +- Maven veya Gradle ile `aspose-ocr` bağımlılığını eklemek +- Örnek çok sayfalı PDF (adı `sample_multi_page.pdf` olacak) +- Paralel işleme etkinleştirmek istiyorsanız makul bir GPU ya da en az çok çekirdekli bir CPU + +Ek bir yerel kütüphane gerekmez—Aspose OCR ihtiyacınız olan her şeyi içinde barındırır. + +--- + +## Aranabilir PDF Oluşturma – Adım‑Adım Uygulama + +Aşağıda süreci mantıksal parçalara ayırıyoruz. Her bölüm kendi H2 başlığına sahip, böylece ilgilendiğiniz bölüme doğrudan atlayabilirsiniz ve anahtar kelime başlıkta burada yer alıyor. + +### Adım 1: Projeyi Kurun ve Aspose OCR'yi İçe Aktarın + +İlk olarak, Aspose OCR Maven artefaktını `pom.xml` dosyanıza ekleyin. Gradle tercih ediyorsanız, eşdeğer kod parçacığı yorumlarda sağlanmıştır. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Pro ipucu:** Bağımlılıklarınızı güncel tutun; yeni sürümler genellikle doğruluk iyileştirmeleri getirir ve bu doğrudan **OCR doğruluğunu artırmanıza** yardımcı olur. + +### Adım 2: Çok Sayfalı PDF'yi OCR Motoruna Yükleyin + +Şimdi bir `OcrEngine` örneği oluşturup işlemek istediğimiz PDF'yi ona veriyoruz. Motor, her sayfayı dahili olarak bir görüntü olarak ele alır; bu yüzden bu yaklaşım **ocr çok sayfalı pdf** senaryosu için çalışır. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Neden önemli:** PDF'yi bir kez yükleyip motorun sayfalama işlemini yapmasına izin vermek, her sayfayı manuel olarak çıkarmanın getirdiği ek yükten kaçınır, zaman ve bellek tasarrufu sağlar. + +### Adım 3: **OCR Doğruluğunu Artırmak** İçin Gelişmiş Özellikleri Etkinleştirin + +Aspose OCR, ayarlayabileceğiniz çeşitli seçenekler sunar. GPU hızlandırmasını etkinleştirmek, iş parçacığı sayısını artırmak ve birden fazla dil belirtmek, özellikle gürültülü taramalarda daha iyi tanıma oranlarına katkıda bulunur. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **GPU'nuz yoksa ne olur?** Sadece `setUseGpu(false)` ayarlayın; motor CPU‑only moda geri dönecek ancak çok iş parçacıklı işlemden hâlâ faydalanacaktır. + +### Adım 4: Daha İyi Sonuçlar İçin Görüntüleri Ön‑İşleme + +Kaydırma düzeltme, gürültü giderme ve kontrast artırma gibi ön‑işleme adımları, taranmış belgelerde **OCR doğruluğunu büyük ölçüde artırır**. Bunu, oyma işleminden önce kaba bir taşı parlatmak gibi düşünün. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Bu ayarlar neden?** `2` seviyesindeki gürültü giderme çoğu taranmış PDF için iyi çalışır, aynı zamanda mütevazı bir kontrast artırma (1.3×) arka planı bozmadan soluk mürekkebi yükseltir. + +### Adım 5: Çıktıyı Aranabilir PDF Oluşturacak Şekilde Yapılandırın + +Aspose OCR, tanınan metin katmanını doğrudan bir PDF'e gömebilir, düz bir görüntü dosyasını **aranabilir PDF**'ye dönüştürür. Bu, birçok geliştiricinin sorduğu “aranabilir pdf nasıl yapılır” sorusunun özüdür. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +`setGenerateSearchablePdf(true)` etkinleştirildiğinde, kütüphane görsel içeriği yansıtan görünmez bir metin katmanı oluşturur ve böylece son belge herhangi bir PDF görüntüleyicide aranabilir hâle gelir. + +### Adım 6: OCR'yi Çalıştırın ve Sonucu Kaydedin + +Şimdi belgeyi gerçekten işliyor ve çıktı dosyasını yazıyoruz. `process` yöntemi, hem aranabilir PDF'i hem de çıkarılan düz metni içeren bir `OcrResult` nesnesi döndürür. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Adım 7: (İsteğe Bağlı) **PDF'den Metin Çıkarma** Anında Kullanım İçin + +Eğer ham metne de ihtiyacınız varsa—indeksleme, analiz veya sadece bir web sayfasında gösterme amaçlı—`OcrResult`'tan doğrudan alabilirsiniz. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Gördükleriniz:** Konsol, mümkün olduğunca satır sonlarını koruyarak tüm sayfaların birleştirilmiş metnini gösterecek. Bu, **pdf'den metin çıkarma** gereksinimini ikinci bir geçiş yapmadan karşılar. + +--- + +## Görsel Genel Bakış + +Aşağıda, her adımı ilgili kod bloğuna eşleyen basit bir akış diyagramı bulunuyor. Giriş PDF'inin ön‑işleme, OCR ve sonunda aranabilir bir belgeye dönüşümünü görselleştirmenize yardımcı olur. + +![Aranabilir PDF akış diyagramı](https://example.com/flow-diagram.png "Aranabilir PDF akış diyagramı") + +*Alt metin, görüntü SEO'sunu karşılamak için anahtar kelimeyi içerir.* + +## Yaygın Sorular ve Kenar Durumları + +| Soru | Cevap | +|----------|--------| +| **100 MB'den büyük PDF'leri işleyebilir miyim?** | Evet, ancak tüm dosyayı belleğe yüklemek yerine sayfaları akış olarak işlemeyi düşünün. Aspose OCR dahili olarak sayfalama yönetir, ancak çok büyük dosyalar için JVM yığınını (`-Xmx4g`) artırmak isteyebilirsiniz. | +| **PDF'im el yazısı notlar içeriyorsa ne olur?** | El yazısı tanıma varsayılan olarak etkin değildir. Kütüphane sürümü destekliyorsa `setLanguage("eng,mon,handwritten")`'a geçebilirsiniz, ancak doğruluk değişkenlik gösterebilir. | +| **Aspose OCR için lisansa ihtiyacım var mı?** | Geçici bir değerlendirme lisansı test için çalışır. Üretim için, filigranları kaldırmak ve tam performansı açmak amacıyla ticari bir lisans edinin. | +| **Yazım düzeltmeyi nasıl devre dışı bırakırım?** | `ocr.getSettings().setEnableSpellCorrection(false);` çağırın – adli amaçlar için ham OCR çıktısına ihtiyacınız olduğunda faydalıdır. | +| **GPU desteği zorunlu mu?** | Hayır. Kütüphane sorunsuz bir şekilde CPU'ya geri döner. Ancak, GPU büyük çok sayfalı belgelerde işleme süresini %60'a kadar azaltabilir. | + +## Tam Çalışan Örnek (Kopyala‑Yapıştır Hazır) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Beklenen Çıktı** + +- `output_searchable.pdf` – taranmış görüntülerde görülen herhangi bir kelimeyi Ctrl + F ile bulabileceğiniz bir PDF. +- Konsol kaydı – orijinal PDF'in tam metin içeriği, indeksleme veya daha ileri analiz için mükemmeldir. + +## Sonuç + +Aspose OCR kullanarak Java'da **aranabilir PDF** dosyaları nasıl oluşturacağınızı gösterdik, ayrıca **PDF'den metin çıkarma**, **OCR doğruluğunu artırma** ve **OCR çok sayfalı PDF** iş akışını verimli bir şekilde yönetme konularını da anlattık. Yukarıdaki tam kod parçacığı projenize eklemeye hazır ve açıklamalar, belirli kullanım durumunuz için ayarları nasıl özelleştireceğiniz konusunda size güven verir. + +Sırada ne var? Özel yazı tipi gömmeleriyle denemeler yapın, OCR‑oluşturulmuş yer imleri ekleyin veya çıktıyı Elasticsearch gibi bir arama motoruyla bütünleştirin. Bu konuların her biri ikincil anahtar kelimelerimizle—*aranabilir pdf nasıl yapılır* ve *OCR doğruluğunu artır*—bağlantılı, böylece daha derin bir keşif için net bir yol haritanız olur. + +Deneyimlerinizi paylaşmaktan veya yorumlarda takip soruları sormaktan çekinmeyin. Kodlamaktan keyif alın ve bu statik taramaları tamamen aranabilir, metin‑zengin PDF'lere dönüştürmenin tadını çıkarın! + +## Sonra Ne Öğrenmelisiniz? + +Aşağıdaki öğreticiler, bu rehberde gösterilen tekniklere dayanan ve yakından ilgili konuları kapsar. Her kaynak, ek API özelliklerini öğrenmenize ve kendi projelerinizde alternatif uygulama yaklaşımlarını keşfetmenize yardımcı olmak için adım‑adım açıklamalar içeren eksiksiz çalışan kod örnekleri sunar. + +- [PDF Metni Tanıma – Aspose.OCR for Java ile OCR İşlemleri](/ocr/english/java/ocr-operations/) +- [Aspose.OCR for Java'da PDF Belgelerini OCR ile Tanıma](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Aspose.OCR for Java'da PDF Belgelerinin OCR Tanıması (İspanyolca)](/ocr/spanish/java/ocr-operations/recognize-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/turkish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/turkish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..55ad78870 --- /dev/null +++ b/ocr/turkish/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR for Java kullanarak taranmış görüntüden metin çıkarın. Paralel + işleme ile tiff dosyalarından metin tanımayı öğrenin. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: tr +og_description: Aspose OCR ile taranmış görüntüden metin çıkarın. Bu kılavuz, Java + kullanarak tiff dosyalarından metni verimli bir şekilde tanımanın yolunu gösterir. +og_title: Taralı Görüntüden Metin Çıkarma – Aspose OCR Java Öğreticisi +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Java'da Taralı Görüntüden Metin Çıkarma – Tam Aspose OCR Rehberi +url: /tr/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tarama Görüntüsünden Metin Çıkarma – Tam Aspose OCR Kılavuzu + +Tarama görüntüsünden **metin çıkarmak** gerektiğinde ama “nasıl?” sorusunda takılmış mıydınız? Tek başınıza değilsiniz. İster eski arşivleri dijitalleştiriyor olun, faturalardan veri çekiyor olun ya da aranabilir bir PDF kütüphanesi oluşturuyor olun, bir TIFF taramasından güvenilir metin elde etmek sorunlu bir nokta olabilir. + +İyi haber: Aspose OCR for Java ile sadece birkaç satırda **tiff dosyalarından metin tanıyabilirsiniz**, ayrıca motoru birkaç CPU çekirdeğiyle sınırlayarak ekstra hız elde edebilirsiniz. Bu öğreticide, kütüphaneyi kurmaktan sonuca kadar tüm süreci adım adım göstereceğiz—böylece çalışan bir örneği hemen kopyalayıp yapıştırabilirsiniz. + +## Bu Öğreticide Neler Ele Alınıyor + +- Aspose OCR for Java kurulumu (Maven veya manuel JAR) +- Büyük bir taranmış TIFF görüntüsünün yüklenmesi +- Motorun en fazla 4 iş parçacığı kullanacak şekilde yapılandırılması (paralel OCR) +- OCR sürecinin çalıştırılması ve çıkarılan metnin yazdırılması +- Yaygın tuzaklar (bellek, çok sayfalı TIFF'ler) ve bunlardan kaçınma yolları +- Hızlı performans ipucu: `setMaxThreads` ne zaman ayarlanmalı + +Sonunda **tarama görüntüsü dosyalarından metin çıkarabilir** ve üretim hattında *tiff dosyalarından metin tanıma* sırasında iş parçacığı sayısını ayarlamanın neden önemli olduğunu anlayacaksınız. + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Önkoşullar + +Before we dive in, make sure you have: + +1. **Java Development Kit (JDK) 8+** – any recent version works. +2. **Maven** (or the ability to add JARs manually) – we’ll use Maven for simplicity. +3. An **Aspose OCR for Java** license (the free evaluation works, but it adds a watermark). +4. A **large TIFF scan** (e.g., `large_scan.tif`) you want to process. + +If any of these sound unfamiliar, don’t worry—each step is explained below. + +## Adım 1: Projenize Aspose OCR Ekleyin + +### Maven kullanıcıları + +Add the following dependency to your `pom.xml`: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Manuel JAR kurulumu + +En son `aspose-ocr-xx.jar` dosyasını Aspose web sitesinden indirin ve sınıf yolunuza (classpath) yerleştirin. + +> **Pro tip:** JAR'ı bir `libs/` klasöründe tutun ve IDE'nizin proje ayarlarında referans gösterin. Bu, daha sonra “class not found” hatalarını önler. + +## Adım 2: Basit Bir Java Sınıfı Oluşturun + +Create a file named `ParallelOcrDemo.java` in your source folder (`src/main/java`). This class will hold the entire OCR workflow. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Neden iş parçacıklarını sınırlıyoruz:** Varsayılan olarak Aspose OCR tüm çekirdekleri kullanmaya çalışır, bu da paylaşımlı bir makinede diğer hizmetleri aç bırakabilir. `setMaxThreads(4)` ayarlamak, motorun en fazla dört paralel çalışan çalıştırmasını söyler—çoğu modern CPU’da belirgin bir hız artışı sağlar ve kaynakları tekelleştirmez. + +## Adım 3: Derleyin ve Çalıştırın + +Open a terminal at the project root and execute: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +If you’re not using Maven, compile with `javac` and run: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Beklenen Çıktı + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Konsol, taranan sayfada ne varsa onun düz metin sürümünü gösterecek. Görüntü birden fazla sayfa içeriyorsa, Aspose OCR bunları sırayla birleştirir. + +## Adım 4: Çok Sayfalı TIFF'leri İşleme (Köşe Durumu) + +A common scenario is a **multi‑page TIFF**—think of a scanned book. By default `OcrInputImage` reads the first frame only. To process all pages, use `OcrInputImage` with a `FileInputStream` and enable multi‑page support: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +## Adım 5: Tanıma Doğruluğunu İnce Ayar Yapma + +If you notice **garbled characters** or missing words, try these adjustments: + +| Ayar | Ne işe yarar | Ne zaman kullanılmalı | +|------|--------------|------------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | İngilizce dil modelini zorlar (İngilizce taramalar için daha hızlı, daha doğru) | Belgeniz tek dilli İngilizce ise | +| `ocrEngine.getSettings().setResolution(300)` | Tanımadan önce düşük çözünürlüklü görüntüleri yükseltir | 200 DPI'nin altında taramalar | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Lekeleri ve artefaktları temizlemeye çalışır | Yoğun gürültülü taramalar | + +Örnek kod parçacığı: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Adım 6: Sonuçları Bir Dosyaya Dışa Aktarma + +Printing to the console is fine for demos, but production code usually writes the output somewhere useful: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +--- + +## Sık Sorulan Sorular (SSS) + +**S: Bu PNG veya JPEG dosyalarıyla çalışır mı?** +C: Kesinlikle. `OcrInputImage` Java’nın ImageIO'sunun okuyabildiği herhangi bir formatı kabul eder. Yalnızca yol içindeki dosya uzantısını değiştirin. + +**S: Sunucumda 8 çekirdek var—`setMaxThreads(8)` ayarlamalı mıyım?** +C: Ayarlayabilirsiniz, ancak diğer hizmetlerin de CPU döngülerine ihtiyaç duyabileceğini unutmayın. Ayrı bir OCR çalışanı için iyi bir kural “toplam çekirdek – 1” dir. + +**S: OCR sonucu boş çıkarsa ne olur?** +C: Görüntünün tamamen beyaz olmadığını, doğru dili ayarladığınızı ve çözünürlüğün en az 200 DPI olduğunu kontrol edin. Düşük kaliteli taramalar genellikle Aspose OCR'a vermeden önce ön işleme (eğikliği düzeltme, kontrast artırma) ihtiyaç duyar. + +## Özet + +Az önce Aspose OCR for Java kullanarak **tarama görüntüsü dosyalarından metin çıkardık** ve artık **tiff dosyalarından metin tanımayı** paralel işleme ile verimli bir şekilde nasıl yapacağınızı biliyorsunuz. Tam kod yukarıdaki parçacıklarda yer alıyor ve hemen kendi projenize kopyalayıp yapıştırabilirsiniz. + +### Sıradaki Adımlar + +- **Toplu işleme**: TIFF'lerin bulunduğu bir dizini döngüyle işleyin, her sonucu ayrı bir dosyada saklayın. +- **Elasticsearch ile bütünleştirme**: Çıkarılan metni hızlı tam metin arama için indeksleyin. +- **Dil algılama ekleyin**: Çok dilli belgeler için `OcrLanguage.AutoDetect` kullanın. + +Bu fikirlerle denemeler yapın, ve taranmış evrak yığınını hızlıca aranabilir, eyleme geçirilebilir verilere dönüştüreceksiniz. + +İyi kodlamalar, ve bir sorunla karşılaşırsanız yorum bırakmaktan çekinmeyin! + +## Sonra Ne Öğrenmelisiniz? + +The following tutorials cover closely related topics that build on the techniques demonstrated in this guide. Each resource includes complete working code examples with step-by-step explanations to help you master additional API features and explore alternative implementation approaches in your own projects. + +- [Aspose.OCR for Java ile tiff nasıl tanınır](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Görüntülerden Metin Çıkarma – Aspose.OCR for Java ile OCR Temelleri](/ocr/english/java/ocr-basics/) +- [Aspose.OCR Detect Areas Mode ile Java'da Görüntüden Metin Çıkarma](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/turkish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..20d2f11d6 --- /dev/null +++ b/ocr/turkish/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-06-06 +description: Java OCR'de GPU'yu nasıl etkinleştirir ve JPEG dosyalarından metin çıkarırsınız. + GPU hızlandırmasıyla görüntüyü metne dönüştürmek için bu Java OCR örneğini izleyin. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: tr +og_description: Java OCR'de GPU'yu nasıl etkinleştirir ve JPEG görüntülerinden anında + metin çıkarırsınız. Bu rehber, GPU hızlandırmalı OCR ile tam bir Java OCR örneği + gösterir. +og_title: Java OCR'de GPU'yu Nasıl Etkinleştirirsiniz – Tam Programlama Rehberi +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Java OCR'de GPU'yu Nasıl Etkinleştirirsiniz – Tam Adım Adım Kılavuz +url: /tr/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java OCR'da GPU'yu Etkinleştirme – Tam Adım‑Adım Kılavuz + +Java'da optik karakter tanıma (OCR) için **GPU'yu nasıl etkinleştireceğinizi** hiç merak ettiniz mi? Tek başınıza değilsiniz—geliştiriciler sürekli olarak “Her şeyi yeniden yazmadan OCR'ı daha hızlı yapabilir miyim?” sorusunu soruyor. Kısa cevap evet, uzun cevap ise burada. Bu öğreticide **java ocr example** üzerinden **JPEG** dosyalarından **metin çıkaran**, **görüntüyü metne dönüştüren** ve **GPU accelerated OCR** kullanarak çok hızlı sonuçlar elde eden bir örnek üzerinden ilerleyeceğiz. + +Projeyi Aspose OCR kütüphanesini kurarak, örnek bir JPEG'i yükleyerek, GPU desteğini açarak, motoru çalıştırarak ve sonunda tanınan metni yazdırarak başlatacağız. Sonunda, herhangi bir Java projesine ekleyebileceğiniz yeniden kullanılabilir bir kod parçasına ve yaygın tuzaklardan kaçınmanızı sağlayacak birkaç ipucuna sahip olacaksınız. Gereksiz ayrıntı yok, sadece hareket etmeniz için gereken öz ve teknik bilgiler. + +## Önkoşullar + +* Java 8 veya daha yeni bir sürüm yüklü (kod standart API'leri kullanır, bu yüzden herhangi bir yeni JDK çalışır). +* Güncel sürücülere sahip uyumlu bir GPU – çoğu modern NVIDIA/AMD kartı uygundur. +* Aspose.OCR for Java kütüphanesi (Maven Central'dan ya da Aspose web sitesinden alabilirsiniz). +* OCR uygulamak istediğiniz bir JPEG görüntüsü – buna `sample.jpg` adını vereceğiz. + +Hepsi bu. Eğer bunlardan biri size yabancı geliyorsa, durup eksik parçayı kurun; rehberin geri kalanı zaten yerinde olduğunu varsayar. + +## Java OCR'da GPU'yu Etkinleştirme – Genel Bakış + +Aşağıda elde edeceğimiz şeyin hızlı bir özeti yer alıyor: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +GPU'yu OCR motorunuz için bir turbo‑şarj olarak düşünün—CPU her pikseli tek tek analiz etmek yerine, grafik kartı paralel olarak ağır işi üstlenir. Sonuç? Özellikle yüksek çözünürlüklü taramalarda daha hızlı işleme süreleri. + +## Adım 1: Projeyi Kurun ve Aspose OCR'yi İçe Aktarın + +İlk olarak yeni bir Maven projesi oluşturun (ya da tercih ederseniz Gradle). Aspose OCR bağımlılığını ekleyin: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Maven kullanmıyorsanız, JAR dosyasını Aspose'tan indirip sınıf yolunuza ekleyin. Bu adım, yazacağınız herhangi bir **java ocr example** için temeldir; bu yüzden kütüphanenin doğru çözüldüğünden iki kez emin olun. + +## Adım 2: JPEG Görüntüsünü Yükleyin (JPEG'den Metin Çıkarma) + +Şimdi bir JPEG dosyasını okuyacak kodu yazacağız. `OcrInputImage` sınıfı bir yol alır ve bunu `OcrEngine`'e besleyeceğiz. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Why this matters:** Görüntünün doğru yüklenmesi, herhangi bir **convert image to text** iş akışının ilk adımıdır. Yol hatalıysa, motor GPU aşamasına geçmeden bir istisna fırlatır. + +## Adım 3: GPU Hızlandırmayı Etkinleştirin (GPU'yu Nasıl Etkinleştirirsiniz) + +İşte öğretinin özü—GPU desteğini açmak. `OcrSettings` nesnesi bir `setUseGpu` bayrağı sunar. Bunu `true` olarak ayarlayın, yeter. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Pro tip:** GPU sürücünüzün güncel olduğundan emin olun. Eski sürücüler genellikle `setUseGpu(true)` çağrısının sessizce başarısız olmasına neden olur ve sadece CPU performansı kalır. + +## Adım 4: OCR Motorunu Çalıştırın (Java OCR Örneği) + +Görüntü yüklendi ve GPU etkinleştirildi, OCR sürecini başlatın. Motor, tanınan metni içeren bir `OcrResult` nesnesi döndürür. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Arka planda Aspose görüntüyü parçalara ayırır, bunları paralel çıkarım için GPU'ya gönderir ve sonuçları birleştirir. İşte **gpu accelerated ocr** deneyiminin, varsayılan CPU yolundan belirgin şekilde daha hızlı olmasını sağlayan şey budur. + +## Adım 5: Tanınan Metni Çıktılayın (Görüntüyü Metne Dönüştürme) + +Son olarak sonucu konsola yazdırın. Gerçek bir uygulamada muhtemelen bir dosyaya ya da veritabanına yazarsınız, ama örnek olması açısından basit bir `System.out.println` yeterli. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Beklenen Çıktı + +`sample.jpg` içinde “Hello, World!” ifadesi varsa, şu çıktıyı görmelisiniz: + +``` +Recognized text: +Hello, World! +``` + +Görüntü daha karmaşıksa (birden fazla satır, tablo vb.), çıktı orijinal düzeni yansıtan satır sonları ve boşluklar içerecektir. Aspose OCR motorunun güzelliği budur—görüntüyü metne dönüştürürken yapıyı korur. + +## Tam Çalışan Örnek + +Hepsini bir araya getirdiğimizde, tamamen çalışır ve doğrudan çalıştırılabilir program şu şekildedir: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Bunu `GpuOcrDemo.java` olarak kaydedin, `javac` ile derleyin ve `java` ile çalıştırın. Her şey doğru bağlandıysa, konsol bir anda çıkarılan metni gösterecektir. + +## Yaygın Sorular ve Kenar Durumları + +### 1. GPU'm kullanılmıyor – neden? + +* **Check driver version** – eski sürücüler gerekli hesaplama yeteneklerini ortaya koymayabilir. +* **Validate GPU support** – Aspose, CUDA‑uyumlu bir NVIDIA kartı ya da OpenCL‑uyumlu bir AMD kartı gerektirir. Eğer devre dışı bırakılmış bir ayrı GPU'ya sahip bir dizüstü bilgisayar kullanıyorsanız, BIOS'ta ya da grafik kontrol panelinde etkinleştirin. +* **Inspect logs** – GPU modu aktif olduğunda Aspose bir debug satırı yazar. `ocr.getSettings().setLogLevel(LogLevel.Debug)` ile loglamayı etkinleştirin. + +### 2. Düşük çözünürlüklü bir görüntüde OCR sonucu bozuk. + +* **Pre‑process the JPEG** – en az 300 dpi'ye yeniden boyutlandırın, kontrast artırımı uygulayın veya motorun önüne geçmeden önce gri tonlamaya dönüştürün. +* **Adjust settings** – `ocr.getSettings().setLanguage(OcrLanguage.English)` ayarını değiştirebilir veya daha iyi doğruluk için `setUseLanguageDetection(true)` etkinleştirebilirsiniz. + +### 3. Birden fazla görüntüyü toplu işleyebilir miyim? + +Elbette. Yükleme ve işleme bloklarını bir döngü içinde sarın, aynı `OcrEngine` örneğini yeniden kullanın. Tekrarlar arasında önceki görüntüyü temizlemek için `ocr.reset()` çağırmayı unutmayın. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. GPU hızlandırması başsız (headless) sunucularda çalışır mı? + +Evet, sunucuda desteklenen bir GPU ve uygun sürücüler olduğu sürece çalışır. Linux'ta `nvidia‑utils` paketini kurmanız ve `CUDA` araç setinin `PATH` içinde olduğundan emin olmanız gerekebilir. + +## Üretim‑Hazır GPU OCR için Pro İpuçları + +* **Batch size matters** – daha büyük görüntüler GPU paralelizminden daha çok fayda sağlar. Çok küçük ikonları işliyorsanız, GPU aktarımının ek yükü kazançtan daha ağır olabilir. +* **Memory management** – GPU'ların VRAM'i sınırlıdır. Çok büyük PDF'ler veya çok‑megapiksel taramalar için görüntüyü manuel olarak daha küçük parçalara bölün. +* **Error handling** – OCR çağrısını bir try‑catch bloğuna sarın ve bir `UnsupportedOperationException` fırlatılırsa CPU moduna geri dönün (`setUseGpu(false)`). + +## Sonuç + +**GPU'yu nasıl etkinleştireceğinizi** bir **java ocr example** içinde gösterdik, **JPEG** dosyalarından **metin çıkarma** adımlarını anlattık ve Aspose'un **gpu accelerated OCR** motorunu kullanarak **görüntüyü metne dönüştürme** için temiz bir yol sunduk. Yukarıdaki tam kod parçası herhangi bir Java projesine eklenmeye hazır ve eklediğimiz ipuçları sizi olağan sorunlardan koruyacak. + +Sırada ne var? Dil paketleri ekleyin, farklı görüntü formatlarıyla (PNG, TIFF) deney yapın ya da çıktıyı bir arama indeksine entegre edin. OCR'ı GPU gücüyle birleştirdiğinizde sınır yoktur. + +GPU‑hızlandırmalı OCR hakkında daha fazla sorunuz mu var ya da ayarları ince ayarlamakta yardıma mı ihtiyacınız var? Yorum bırakın, mutlu kodlamalar! + +![Java OCR örneğinde GPU'yu nasıl etkinleştirirsiniz](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## Sonra Ne Öğrenmelisiniz? + +Aşağıdaki öğreticiler, bu rehberde gösterilen tekniklere dayanan ve yakından ilgili konuları kapsar. Her kaynak, ek API özelliklerini öğrenmenize ve kendi projelerinizde alternatif uygulama yaklaşımlarını keşfetmenize yardımcı olacak tam çalışan kod örnekleri ve adım‑adım açıklamalar içerir. + +- [Metin Görüntülerini Çıkar – Aspose.OCR for Java ile OCR Temelleri](/ocr/english/java/ocr-basics/) +- [Java'da Aspose.OCR BufferedImage kullanarak Görüntüyü Metne Dönüştür](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Aspose.OCR ile Dil Kullanarak Görüntü Metnini OCR'lamak](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/turkish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..37c48ad84 --- /dev/null +++ b/ocr/turkish/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-06-06 +description: Java'da OCR doğruluğunu artırın; adım adım rehberde görüntü OCR'si nasıl + yüklenir, görüntü OCR'si nasıl işlenir ve taranmış sayfadan metin nasıl verimli + bir şekilde çıkarılır gösterilmektedir. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: tr +og_description: Java'da OCR doğruluğunu artırın, uygulamalı bir örnekle. Görüntüyü + OCR ile yüklemeyi, ön işleme yapmayı ve taranmış sayfadan metin çıkarmak için OCR + işlemini gerçekleştirmeyi öğrenin. +og_title: Java'da OCR Doğruluğunu Artırma – Tam Kılavuz +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Java'da OCR Doğruluğunu Artırma – Tam Kılavuz +url: /tr/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java'da OCR Doğruluğunu Artırma – Tam Kılavuz + +Eski kitap taramaları ya da bulanık makbuzlarla uğraşırken **improve OCR accuracy** konusunda hiç merak ettiniz mi? Yalnız değilsiniz. Birçok gerçek‑world projesinde OCR motorundan gelen ham çıktı, şifreli bir karmaşa gibi görünür ve bu genellikle görüntüyü **perform OCR image** işleminden önce doğru şekilde ön‑işlemden geçirmediğiniz için olur. + +Bu öğreticide, **load image OCR** nasıl yapılır, birkaç akıllı ön‑işlem adımı uygulanır, **process image OCR** nasıl yürütülür ve sonunda **extract text scanned page** temiz bir sonuçla nasıl elde edilir, bunu gösteren pratik bir Java örneği üzerinden ilerleyeceğiz. Sonunda sadece *ne* kodlayacağınızı değil, *neden* her satırın tanıma kalitesini artırmada önemli olduğunu da anlayacaksınız. + +## Öğrenecekleriniz + +- Java'da bir OCR motoru nasıl örneklenir +- Diskten **load image OCR** doğru şekilde nasıl yapılır +- Deskewing, denoising ve kontrast artırmanın **improve OCR accuracy** için neden gerekli olduğu +- **perform OCR image** nasıl yapılır ve tanınan metin nasıl alınır +- Farklı görüntü formatları ve kenar‑durumlarıyla başa çıkma ipuçları + +Harici bir dokümantasyona gerek yok – ihtiyacınız olan her şey burada ve eksiksiz, çalıştırılabilir kod en altta yer alıyor. + +## Önkoşullar + +- Makinenizde Java 17 (veya herhangi bir güncel JDK) yüklü +- `OcrEngine`, `OcrInputImage` ve `OcrResult` sınıflarını sağlayan bir OCR kütüphanesi (örnek genel bir API kullanıyor; gerekirse satıcı jar'ınızla değiştirin) +- OCR çalıştırmak istediğiniz taranmış bir görüntü (PNG, JPEG veya TIFF) – demo için `old_book_page.png` adlı dosyayı `YOUR_DIRECTORY` klasöründe kullanacağız + +Eğer OCR jar'ınız eksikse, sadece projenizin `libs` klasörüne atın ve sınıf yoluna ekleyin. Hepsi bu. + +--- + +## Adım 1 – OCR Doğruluğunu Artırma: Motoru Kurma + +**process image OCR** yapmadan önce yeni bir motor örneğine ihtiyacımız var. Yeni bir `OcrEngine` oluşturmak temiz bir sayfa sağlar ve önceki çalışmalardan kalan ayarların kalmamasını garantiler. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Why this matters*: Yeni oluşturulan bir motor, varsayılan ön‑işlemeyi devre dışı bırakmış olarak başlar. Bu kasıtlıdır – sadece belirli görüntümüzü gerçekten yardımcı olan adımları etkinleştirmek istiyoruz, bu da **improve OCR accuracy**'nin temel taşıdır. + +## Adım 2 – Görüntüyü OCR'ye Yükleme – Taramanızı Hazırlama + +Şimdi gerçekten **load image OCR** yapıyoruz. `setImage` metodu, diskteki dosyaya işaret eden bir `OcrInputImage` bekler. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +A couple of notes: + +1. **Supported formats** – çoğu kütüphane PNG, JPEG, BMP ve TIFF'i kabul eder. PDF'niz varsa, önce ilk sayfayı bir görüntüye dönüştürün. +2. **Path handling** – mutlak bir yol kullanmak, çalışma dizini değiştiğinde “dosya bulunamadı” hatasından kaçınır. + +## Adım 3 – Deskew: Döndürülmüş Sayfaları Düzeltme + +Birçok taranmış sayfa tam olarak yatay değildir. Hafif bir döndürme, OCR motorunun metin satırlarının düz olmasını beklemesi nedeniyle tanıma yeteneğini bozabilir. Deskew'i etkinleştirmek, bu döndürmeyi otomatik olarak algılar ve düzeltir. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Pro tip**: Rotasyon açısını önceden biliyorsanız (ör. 90°), motorun içine vermeden önce görüntüyü manuel olarak döndürebilirsiniz – toplu işler için genellikle daha hızlıdır. + +## Adım 4 – Denoise: Arka Plan Taneliğini Azaltma + +Eski belgeler sık sık kağıt dokusu, toz veya sıkıştırma artefaktları içerir. `setDenoiseLevel` metodu bu gürültüyü yumuşatan bir filtre uygular. Seviye 2, çoğu taranmış sayfa için iyi bir başlangıç noktasıdır. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Why it helps**: Gürültü, OCR motorunun karakter olarak yorumlayabileceği sahte kenarlar oluşturur. Görüntüyü temizleyerek **improve OCR accuracy** elde ederiz ve gerçek glif şekillerini kaybetmeyiz. + +## Adım 5 – Kontrastı Artırma: Metni Öne Çıkarma + +Eğer tarama soluksa, mürekkep ve kağıt arasındaki kontrast düşük olur ve motor ön planı arka plandan ayırt etmekte zorlanır. `1.4f` ( %40 artış) gibi mütevazı bir kontrast artırımı genellikle işe yarar. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Edge case*: Çok karanlık görüntüler için daha yüksek bir faktör (2.0'a kadar) faydalı olabilir, ancak kırpma riskine dikkat edin – aşırı parlak bölgeler tamamen beyazlaşabilir ve ince detayları silebilir. + +## Adım 6 – Perform OCR Image – Çekirdek İşlem Adımı + +Tüm hazırlıklar bu satıra getirir: ön‑işlenmiş görüntü üzerinde OCR motorunu gerçekten çalıştırmak. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Motor, arka planda segmentasyon, karakter tanıma ve dil modeli aşamalarını yürütür. Birden fazla dile ihtiyacınız varsa, motor üzerinde **before** `process()` çağırmadan ayarlayın. + +## Adım 7 – Extract Text Scanned Page – Çıktıyı Alma + +Son olarak, tanınan dizeyi `OcrResult`'tan alıyoruz. Konsola yazdırmak hızlı bir demo için yeterli, ancak aynı zamanda bir dosyaya, veritabanına yazabilir veya sonraki bir NLP hattına besleyebilirsiniz. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Beklenen çıktı** (kısaltılmış olarak): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Eğer çıktı hâlâ karışık görünüyorsa, ön‑işlem parametrelerine tekrar bakın – bazen daha yüksek bir denoise seviyesi ya da farklı bir kontrast faktörü belirgin bir fark yaratır. + +## Tam Çalışan Örnek + +Aşağıda, kopyalayıp yapıştırıp çalıştırabileceğiniz eksiksiz, bağımsız bir Java programı bulunuyor. Gerekli import'ları, bir `main` metodunu ve her adımı açıklayan satır içi yorumları içerir. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +`OcrAccuracyDemo.java` olarak kaydedin, `javac` ile derleyin ve `java` ile çalıştırın. Her şey doğru kurulduysa, temizlenmiş metnin terminale yazdırıldığını göreceksiniz. + +## Yaygın Sorular & Kenar Durumları + +**S: Taradığım sayfa renkli – önce gri tonlamaya dönüştürmeli miyim?** +C: Çoğu OCR motoru dahili olarak gri tonlamaya çevirir, ancak kendiniz yaparsanız (ör. `BufferedImage` ve `ColorConvertOp` kullanarak) dönüşüm algoritması üzerinde daha ince kontrol elde edersiniz, özellikle arka plan tekdüzgün olmadığında. + +**S: Çıktı hâlâ yabancı semboller içeriyor. Şimdi ne yapmalı?** +C: `setDenoiseLevel`'ı 3'e yükseltmeyi veya `setContrastBoost`'ı 1.6f'ye ayarlamayı deneyin. Sorun devam ederse, OCR'den önce bir **binary threshold** (ikili eşikleme) uygulamayı düşünün – birçok kütüphane `setBinarization(true)` seçeneğini sunar. + +**S: Çok sayfalı PDF'lerle nasıl başa çıkılır?** +C: Her sayfayı bir görüntüye dönüştürün (ör. Apache PDFBox kullanarak) ve sayfalar üzerinde döngü yapın, aynı `OcrEngine` örneğini yeniden kullanın ancak her yinelemede görüntüyü sıfırlayın. + +## Sonuç + +Java'da **improve OCR accuracy**'yi, **load image OCR**'yi doğru şekilde yaparak, deskew, denoise ve kontrast artırma uygulayarak, ardından **perform OCR image** ve sonunda **extract text scanned page** yaparak yeni öğrendiniz. Temel çıkarım, ön‑işlemenin tanıma kalitesini artırmada genellikle en etkili kaldıraç olduğu; iyi hazırlanmış bir görüntü doğru karakter oranını iki katına hatta üç katına çıkarabilir. + +Bir sonraki adım için hazır mısınız? Şunları deneyin: + +- Ağır taneli taramalar için farklı denoise seviyeleri +- Görüntü histogramı analizine dayalı uyarlamalı kontrast artırma +- Çıkarma sonrası bir dil modeli (ör. yazım denetimi) entegre ederek kalan hataları temizleme + +Bu genişletmeler OCR hattınızı derinleştirecek ve üretim iş yükleri için yeterince sağlam hâle getirecek. + +Bir sorunla karşılaşırsanız ya da kendi akıllı püf noktanız varsa, aşağıya yorum bırakın. Kodlamaktan keyif alın, ve metniniz her zaman okunabilir olsun! + +## Sonra Ne Öğrenmeli? + +Aşağıdaki öğreticiler, bu kılavuzda gösterilen tekniklere dayanarak yakından ilgili konuları kapsar. Her kaynak, ek API özelliklerini öğrenmenize ve kendi projelerinizde alternatif uygulama yaklaşımlarını keşfetmenize yardımcı olacak adım adım açıklamalı eksiksiz çalışan kod örnekleri içerir. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/java/ocr-basics/_index.md b/ocr/turkish/java/ocr-basics/_index.md index 564df867f..698eb976c 100644 --- a/ocr/turkish/java/ocr-basics/_index.md +++ b/ocr/turkish/java/ocr-basics/_index.md @@ -101,6 +101,8 @@ 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 OCR Nasıl Yapılır – Görüntülerden Metin Çıkarma İçin Tam Kılavuz](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Java’da OCR işlemini adım adım öğrenin, görüntülerden yüksek doğrulukla metin çıkarın. --- @@ -113,4 +115,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/turkish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..6825d5e30 --- /dev/null +++ b/ocr/turkish/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-06-06 +description: Java’da OCR nasıl yapılır – görüntüden hızlıca metin çıkarma, görüntüyü + metne dönüştürme ve basit bir kod örneğiyle jpg’den metin okuma. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: tr +og_description: Java'da OCR nasıl yapılır – görüntüden metin çıkarma, görüntüyü metne + dönüştürme ve jpg'den metin okuma konularını hazır‑çalıştırılabilir bir örnekle + öğrenin. +og_title: Java'da OCR Nasıl Yapılır – Adım Adım Rehber +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Java'da OCR Nasıl Yapılır – Görsellerden Metin Çıkarma İçin Tam Rehber +url: /tr/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java'da OCR Nasıl Yapılır – Görsellerden Metin Çıkarma Tam Kılavuzu + +Telefonunuzla çektiğiniz bir fotoğrafta **how to perform OCR** yapmayı hiç merak ettiniz mi? Tek başınıza değilsiniz. İster bir fiş tarama uygulaması geliştiriyor olun, ister taranmış bir PDF'den metin çıkarmanız gerekiyor olsun, Java'da **how to perform OCR** bir beceridir ve hızlıca karşılığını alır. Bu öğreticide, **extracts text from image** dosyalarından metin çıkarmayı, **converts image to text** işlemini ve hatta sadece birkaç satır kodla **read text from jpg** nasıl yapılır gösteren pratik bir örnek üzerinden ilerleyeceğiz. + +> *Pro tip:* Aynı yaklaşım PNG, BMP veya OCR motorunun desteklediği herhangi bir format için çalışır—sadece dosya adını değiştirin. + +## Java'da OCR Nasıl Yapılır – Genel Bakış + +Optik Karakter Tanıma (OCR), harf resimlerini gerçek, aranabilir metne dönüştüren teknolojidir. Java ekosisteminde Tesseract, Asprise ve ticari SDK'lar gibi çeşitli kütüphaneler bulunur; hepsi benzer bir iş akışı sunar: bir görüntü yükleyin, motorun hangi dili bekleyeceğini belirtin, tanıma işlemini çalıştırın ve sonucu alın. Aşağıda örneği net tutmak için genel bir `OcrEngine` sınıfı kullanacağız, ancak aynı deseni izleyen herhangi bir somut uygulama ile değiştirebilirsiniz. + +### Öğrenecekleriniz + +- Bir OCR kütüphanesi kurun (evet, **ocr in java** düşündüğünüzden daha kolay). +- Bir OCR motoru örneği oluşturun ve yapılandırın. +- Bir JPG (veya herhangi bir görüntü) yükleyin ve dili ayarlayın. +- Görüntüyü işleyin ve **extract text from image** dosyalarından metin çıkarın. +- Tanınan dizeyi konsola yazdırın. + +Sonunda, herhangi bir projeye ekleyebileceğiniz ve anında çalıştırabileceğiniz bağımsız bir Java programına sahip olacaksınız. + +![how to perform OCR example](ocr-example.png "how to perform OCR in Java illustration") + +## Adım 1 – Bir OCR Kütüphanesi Kurun ve İçe Aktarın (ocr in java) + +Java kodu yazmadan önce, işi gerçekten yapan bir kütüphaneye ihtiyacınız var. Maven kullanıyorsanız, aşağıdaki gibi bir bağımlılık ekleyin (`com.example.ocr` kısmını seçtiğiniz SDK'nın gerçek grup kimliğiyle değiştirin): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Gradle tercih ediyorsanız: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +JAR sınıf yolunda yer aldığında, ihtiyacınız olan sınıfları içe aktarın: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Neden önemli:** Doğru sınıfları içe aktarmak “cannot find symbol” hatalarını önler ve IDE'nizi mutlu eder—**convert image to text** yapmaya çalışırken eksik bir import kadar sinir bozucu bir şey yoktur. + +## Adım 2 – OCR Motoru Örneğini Oluşturun (how to perform OCR) + +Kütüphane hazır olduğuna göre, motoru başlatın. Motoru, piksellere bakıp harfleri tahmin edecek beyin olarak düşünün. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Motoru oluşturmak genellikle ucuzdur; çoğu SDK iç tamponları tembel bir şekilde tahsis eder, bu yüzden bir toplu işlem yapıyorsanız aynı örneği birçok görüntüde güvenle yeniden kullanabilirsiniz. + +## Adım 3 – Görüntüyü Yükleyin ve Dili Ayarlayın (extract text from image) + +Sonraki adım, motora okuyacak bir şey vermektir. Burada bir JPEG'i disktan yüklüyor ve OCR motoruna metnin Moğolca (ISO 639‑2 kodu “mon”) olduğunu söylüyoruz. Yol ya da dil kodunu kullanım durumunuza göre değiştirebilirsiniz. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Not:** Bir dil ayarlamazsanız, motor varsayılan olarak İngilizceyi kullanır; metin aslında Kiril alfabesi ya da başka bir yazı sistemi ise doğruluk büyük ölçüde düşebilir. Mümkün olduğunda doğru dili her zaman belirtin. + +## Adım 4 – Görüntüyü İşleyin ve Sonucu Alın (convert image to text) + +Görüntü ve dil ayarları yapıldıktan sonra, motorun sihrini çalıştırın. `process()` çağrısı OCR algoritmasını çalıştırır ve tanınan dizeyi ve güven skorlarını içeren bir `OcrResult` nesnesi döndürür. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Arka planda motor, ön işleme—eğrilik düzeltme, ikilileştirme, gürültü azaltma—yapabilir, böylece bu adımları kendiniz yazmak zorunda kalmazsınız. Bu yüzden çoğu modern OCR kütüphanesi **convert image to text** görevleri için kullanımı keyifli kılar. + +## Adım 5 – Çıkarılan Metni Çıktılayın (read text from jpg) + +Son olarak, sonuçtan düz metni alın ve bununla bir şeyler yapın. Bu demo için sadece konsola yazdırıyoruz, ancak bir dosyaya yazabilir, bir arama indeksine besleyebilir ya da başka bir servise gönderebilirsiniz. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Bu satır, **read text from jpg** (veya desteklenen herhangi bir format) işlemini başarıyla gerçekleştirdiğinizi kanıtlar. Çıktı bozuk görünüyorsa, dil kodunu ve görüntü kalitesini tekrar kontrol edin. + +## Tam Çalışan Örnek (Tüm Adımlar Birleştirildi) + +Aşağıda, tüm parçaları bir araya getiren eksiksiz, çalıştırmaya hazır bir Java sınıfı bulunuyor. `OcrDemo.java` adlı bir dosyaya kopyalayın, görüntü yolunu ve dili ayarlayın, ardından `javac OcrDemo.java && java OcrDemo` komutunu çalıştırın. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Beklenen Çıktı + +Eğer `input.jpg` Moğolca “Сайн байна уу?” ifadesini içeriyorsa, konsol şu çıktıyı gösterir: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Eğer görüntü bulanıksa veya dil kodu yanlışsa, bozuk karakterler veya boş bir dize göreceksiniz—sonraki bölümde ele alacağımız yaygın tuzaklar. + +## Yaygın Tuzaklar ve Çözümleri + +| Belirti | Muhtemel Neden | Çözüm | +|---------|----------------|-------| +| Bozuk Kiril karakterleri | Yanlış dil kodu (varsayılan olarak İngilizce) | `ocrEngine.getSettings().setLanguage("mon")` ya da uygun kodu ayarlayın. | +| Hiç çıktı yok | Görüntü yolu hatalı veya dosya okunamıyor | Yolu doğrulayın, dosyanın var olduğundan ve işlemin okuma izinlerine sahip olduğundan emin olun. | +| Düşük doğruluk (<%70) | Görüntü düşük kontrastlı veya döndürülmüş | Görüntüyü ön işleyin: kontrastı artırın, eğriliği düzeltin veya motorun önüne göndermeden önce gri tonlamaya dönüştürün. | +| Büyük PDF'lerde `OutOfMemoryError` | Birçok yüksek çözünürlüklü sayfayı aynı anda yüklemek | Sayfaları tek tek işleyin veya OCR'den önce görüntüleri küçültün. | + +### Pro Tip: Toplu İşleme + +Eğer toplu olarak **extract text from image** dosyalarından metin çıkarmanız gerekiyorsa, temel mantığı bir döngü içinde sarın: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Bu snippet, tek bir JPG'den bir klasör içindeki tüm taramalara ölçeklendirmenin ne kadar kolay olduğunu gösterir. + +## Daha İleri – Sonraki Keşifler + +- **Language Packs:** Çoğu OCR SDK'sı ek dil veri dosyaları indirmenize izin verir. Yeni bir paket eklemek, İngilizce ve Moğolcadan daha fazla dil için **convert image to text** yapmanızı sağlar. +- **PDF OCR:** Bu kodu Apache PDFBox ile birleştirerek + +## Sonra Ne Öğrenmelisiniz? + +Aşağıdaki öğreticiler, bu rehberde gösterilen tekniklere dayanarak yakından ilgili konuları kapsar. Her kaynak, ek API özelliklerini öğrenmenize ve kendi projelerinizde alternatif uygulama yaklaşımlarını keşfetmenize yardımcı olacak adım adım açıklamalar içeren eksiksiz çalışan kod örnekleri sunar. + +- [Metin Görsellerini Çıkar – Aspose.OCR for Java ile OCR Temelleri](/ocr/english/java/ocr-basics/) +- [Java'da Aspose.OCR BufferedImage Kullanarak Görüntüyü Metne Dönüştür](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Aspose.OCR Kullanarak Dil ile Görüntü Metnini OCR Yapma](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..7e9466aeb 100644 --- a/ocr/turkish/java/ocr-operations/_index.md +++ b/ocr/turkish/java/ocr-operations/_index.md @@ -80,6 +80,8 @@ 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. +### [Java'da Aspose OCR Lisansını Uygulama – OCR Filigranını Kaldır](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Java uygulamanızda Aspose OCR lisansını ayarlayarak OCR filigranını kaldırın ve temiz çıktılar elde edin. ## Sıkça Sorulan Sorular diff --git a/ocr/turkish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/turkish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..48a450947 --- /dev/null +++ b/ocr/turkish/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-06-06 +description: Aspose OCR Lisansını Java'da uygulayarak tam özelliklerin kilidini açın + ve OCR filigranını anında kaldırın. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: tr +og_description: Java'da Aspose OCR lisansını uygulayarak değerlendirme sınırlamalarını + ortadan kaldırın ve taramalarınızdaki OCR filigranını kaldırın. +og_title: Java'da Aspose OCR Lisansını Uygulayın – OCR Filigranını Kaldırın +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Java'da Aspose OCR Lisansını Uygulayın – OCR Filigranını Kaldırın +url: /tr/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Java’da Aspose OCR Lisansını Uygulama – OCR Su İşaretini Kaldırma + +Hiç **Aspose OCR lisansını** bir Java projesinde korkunç değerlendirme su işaretine takılmadan nasıl uygulayacağınızı merak ettiniz mi? Tek başınıza değilsiniz. Ücretsiz deneme sürümünü denediğiniz anda, taranan her görüntü gri “Aspose Evaluation” kaplamasıyla damgalanıyor ve en temiz belge bile profesyonel olmayan bir izlenim bırakabiliyor. + +Bu rehberde **Aspose OCR lisansını** uygulamak için tam adımları gösterecek, kütüphanenin tamamen kilidinin açıldığını doğrulayacak ve su işaretinin otomatik olarak nasıl kaybolduğunu göstereceğiz. Sonuna geldiğinizde, bir makbuz, pasaport taraması ya da el yazısı not olsun, hiç su işareti olmadan OCR çalıştırabileceksiniz. + +## Önkoşullar + +İlerlemeye başlamadan önce şunların kurulu olduğundan emin olun: + +- **Java Development Kit (JDK) 8** veya daha yeni bir sürüm. +- **Aspose OCR for Java** JAR dosyası (Aspose portalından indirin). +- **Aspose OCR lisans dosyanız** (`Aspose.OCR.Java.lic`). +- Bir IDE ya da basit bir metin düzenleyici (IntelliJ, Eclipse, VS Code—seçiminiz). + +Hepsi bu. Ek Maven eklentileri ya da Gradle hilelerine gerek yok, isterseniz sonradan ekleyebilirsiniz. + +## Proje Kurulumu (Hızlı Bakış) + +1. `AsposeOCRDemo` adında yeni bir klasör oluşturun. +2. `aspose-ocr-*.jar` dosyasını bir `lib` alt‑klasörüne bırakın. +3. `Aspose.OCR.Java.lic` dosyanızı erişilebilir bir yere koyun, örneğin `resources/` klasörü. +4. Küçük bir `Main.java` dosyası yazın—burası sihrin gerçekleştiği yer. + +Bir IDE kullanıyorsanız, JAR dosyasını projenin sınıf yoluna ekleyin ve `resources` klasörünü kaynak kökü olarak işaretleyin. Komut satırından derliyorsanız, sınıf yolu şöyle görünecektir: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Şimdi iskelet hazır, konunun özüne geçelim. + +## Adım 1: **Apply Aspose OCR License** – Çekirdek Kod + +İlk yapmanız gereken, Aspose OCR motoruna lisans dosyanıza güvenmesi gerektiğini söylemektir. Bu çağrı olmadan kütüphane değerlendirme modunda kalır ve her çıktıya su işareti eklemeye devam eder. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Neden önemli:** `License` sınıfı kapı bekçisidir. `setLicense` başarılı olduğunda OCR motoru *değerlendirme* modundan *tam* moda geçer. Normalde **remove OCR watermark** mantığını ekleyen tüm iç kontroller devre dışı kalır, böylece gri kaplamayı bir daha görmezsiniz. +> +> **İpucu:** Lisans dosyasını kaynak kontrolünüzün dışına (ör. ortam‑özel bir klasöre) koyun; böylece yanlışlıkla commit edilmesinin önüne geçersiniz. + +## Adım 2: Su İşaretinin Gittiğini Doğrulama + +`applyAsposeOcrLicense` metodunu çağırdıktan sonra hızlı bir test çalıştırmak iyi bir uygulamadır. Aşağıdaki kod parçası bir resmi yükler, OCR gerçekleştirir ve elde edilen metni yazdırır. Lisans aktif değilse, Aspose bir istisna fırlatır ya da (görsel sonuç kaydediyorsanız) çıktıya su işareti ekler. + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Beklenen çıktı (alıntı):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Herhangi bir değerlendirme su işareti bulunmadığını fark edin. İşte **remove OCR watermark** etkisinin çalışması. + +## Adım 3: Yaygın Tuzaklar ve Kenar Durumları + +### 1. Yanlış Lisans Yolu +`setLicense` metoduna hatalı bir yol verirseniz, yöntem sessizce başarısız olur ve kütüphane değerlendirme modunda kalır. `LicenseUtil` içinde gösterildiği gibi dönüş değerini kontrol edin ya da istisnayı yakalayın. + +### 2. JAR‑Tabanlı Dağıtımlarda Göreli Yol Kullanımı +Uygulamanızı çalıştırılabilir bir JAR olarak paketlediğinizde, göreli dosya sistemi yolları kırılabilir. Daha güvenli bir yaklaşım, lisansı bir kaynak akışı olarak yüklemektir: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +`.lic` dosyasını `src/main/resources` içine koyun; böylece sınıf yolunda yer alır. + +### 3. Çok‑İş Parçacıklı Senaryolar +Uygulamanız aynı anda birçok resmi işliyorsa, lisansı **JVM başına bir kez** uygulamanız yeterlidir. `setLicense` metodunu birden çok iş parçacığından tekrar çağırmak küçük bir performans kaybına yol açabilir, ancak bir soruna neden olmaz. + +### 4. Lisans Süresi Dolması +Aspose lisansları genellikle süresizdir, ancak bazı deneme ya da sınırlı‑zamanlı lisansların süresi dolabilir. Bu durumda motor değerlendirme moduna geri döner ve **remove OCR watermark** davranışı ortadan kalkar. Aspose portalındaki lisans bitiş tarihine dikkat edin. + +## Adım 4: Gerçek‑Dünya Projelerinde Lisans Uygulamasını Otomatikleştirme + +Üretim ortamındaki bir mikroserviste, `LicenseUtil.applyAsposeOcrLicense` kodunu tüm kod tabanına serpiştirmek istemezsiniz. Bunun yerine, uygulama başlatılırken bir kez başlatın—örneğin Spring Boot’un `@PostConstruct` metodu ya da statik bir başlatıcı bloğu. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Artık `OcrEngine` kullanan her bileşen, lisansın zaten aktif olduğunu varsayabilir ve **remove OCR watermark** garantisini tüm servis boyunca sağlayabilir. + +## Adım 5: Lisans Entegrasyonunu Test Etme + +Otomatik testler, su işaretinin gerçekten kalktığını doğrulayabilir. Basit bir JUnit testi şöyle görünebilir: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Bu testi çalıştırmak, dağıtım hattınızın yanlışlıkla lisansı olmayan bir yapı göndermeyeceği konusunda size güven verir. + +## Görsel Genel Bakış (Opsiyonel) + +Şematik bir görünüm isterseniz, akışın hızlı bir diyagramı aşağıdadır: + +![Java’da Aspose OCR Lisansını Uygulama](apply-aspose-ocr-license.png "Java’da Aspose OCR Lisansını Uygulama") + +*Alt metin: Java’da Aspose OCR Lisansını Uygulama – lisansın yüklendiği ve ardından OCR işleminin su işareti olmadan gerçekleştiğini gösteren diyagram.* + +## Sonuç + +Java ortamında **Aspose OCR lisansını** nasıl **apply** edeceğinizi ve doğrudan yan etkisi olarak **remove OCR watermark** işlemini tüm işlenen görüntülerden nasıl kaldıracağınızı ele aldık. `License` nesnesinin oluşturulması, yol sorunlarının ele alınması, sonucun doğrulanması ve daha büyük bir uygulamaya entegrasyonu—her adım “nasıl” değil, “neden” açıklamasıyla verildi. + +Artık Aspose OCR’u herhangi bir Java projesine entegre edebilir, kullanıcılarınızın bir daha o dikkat dağıtan değerlendirme etiketini görmeyeceğinden emin olabilirsiniz. + +### Sıradaki Adım Ne? + +- **Dil paketlerini keşfedin:** Aspose OCR 70’den fazla dili destekler; sadece uygun `OcrEngine` özelliğini ayarlayın. +- **Aspose PDF ile birleştirin:** Tarama görüntülerini su işareti olmadan doğrudan aranabilir PDF’lere dönüştürün. +- **Performans ayarı** + +## Sonraki Öğrenmeniz Gerekenler + +Aşağıdaki öğreticiler, bu kılavuzda gösterilen tekniklere dayanarak yakından ilgili konuları kapsar. Her kaynak, adım adım açıklamalarla tam çalışan kod örnekleri içerir ve kendi projelerinizde ek API özelliklerini ustalaşmanıza ve alternatif uygulama yaklaşımlarını keşfetmenize yardımcı olur. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Calculate Skew Angle with Aspose OCR Java – Full Guide](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..eb33be057 100644 --- a/ocr/vietnamese/java/advanced-ocr-techniques/_index.md +++ b/ocr/vietnamese/java/advanced-ocr-techniques/_index.md @@ -61,9 +61,19 @@ 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 trong OCR Java – Hướng dẫn chi tiết từng bước](./how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/) +Khám phá cách kích hoạt GPU để tăng tốc độ OCR trong Java bằng Aspose.OCR, hướng dẫn chi tiết từng bước để đạt hiệu suất tối ưu. +### [Trích xuất văn bản từ hình ảnh quét trong Java – Hướng dẫn Aspose OCR toàn diện](./extract-text-from-scanned-image-in-java-complete-aspose-ocr/) +Khám phá cách trích xuất văn bản từ hình ảnh quét trong Java bằng Aspose.OCR, hướng dẫn chi tiết từng bước để đạt độ chính xác cao. +### [Ví dụ Aspose OCR Java – Hướng dẫn toàn diện tải ảnh, sửa lỗi chính tả và xử lý OCR](./aspose-ocr-java-example-complete-guide-to-load-image-spell-c/) +### [Cải thiện độ chính xác OCR trong Java – Hướng dẫn toàn diện](./improve-ocr-accuracy-in-java-complete-guide/) +Khám phá các kỹ thuật nâng cao để tăng độ chính xác OCR trong Java bằng Aspose.OCR, hướng dẫn chi tiết từng bước. +### [Tạo PDF có thể tìm kiếm trong Java – Hướng dẫn Aspose OCR toàn diện](./create-searchable-pdf-in-java-full-aspose-ocr-guide/) +Hướng dẫn chi tiết cách tạo PDF có thể tìm kiếm bằng Aspose OCR trong Java, bao gồm các bước cấu hình và tối ưu hóa hiệu suất. + {{< /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/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md b/ocr/vietnamese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md new file mode 100644 index 000000000..f568c99ea --- /dev/null +++ b/ocr/vietnamese/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/_index.md @@ -0,0 +1,192 @@ +--- +category: general +date: 2026-06-06 +description: Ví dụ Aspose OCR Java cho thấy cách tải OCR hình ảnh, sửa lỗi OCR, thiết + lập từ điển tùy chỉnh và xử lý OCR hình ảnh chỉ trong vài bước. +draft: false +keywords: +- aspose ocr java example +- correct ocr errors +- load image ocr +- set custom dictionary +- process image ocr +language: vi +og_description: Ví dụ Aspose OCR Java tải một hình ảnh, sửa lỗi OCR, thiết lập từ + điển tùy chỉnh và xử lý OCR hình ảnh một cách hiệu quả. +og_title: Ví dụ Aspose OCR Java – Tải ảnh, sửa lỗi chính tả và xử lý OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Aspose OCR Java example showing how to load image OCR, correct OCR + errors, set custom dictionary, and process image OCR in just a few steps. + headline: Aspose OCR Java Example – Complete Guide to Load Image, Spell‑Correct, + and Process OCR + type: TechArticle +tags: +- Aspose +- OCR +- Java +- Text Recognition +title: Ví dụ Aspose OCR Java – Hướng dẫn đầy đủ để tải ảnh, sửa lỗi chính tả và xử + lý OCR +url: /vi/java/advanced-ocr-techniques/aspose-ocr-java-example-complete-guide-to-load-image-spell-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Java Example – Hướng Dẫn Đầy Đủ Để Tải Ảnh, Sửa Chính Tả, và Xử Lý OCR + +Bạn đã bao giờ cần một **ví dụ Aspose OCR Java** hoạt động ngay từ đầu chưa? Bạn không phải là người duy nhất—các nhà phát triển thường nhìn vào một ảnh chụp mờ và tự hỏi tại sao văn bản trích xuất ra lại lộn xộn. Tin tốt là engine OCR của Aspose đã tích hợp sẵn tính năng sửa chính tả, và bạn thậm chí có thể chèn danh sách từ của riêng mình. Trong hướng dẫn này, chúng ta sẽ đi qua các bước tải ảnh OCR, bật tính năng sửa lỗi, tùy chọn thiết lập từ điển tùy chỉnh, và cuối cùng xử lý OCR ảnh để có được văn bản sạch, dễ đọc. + +Chúng ta cũng sẽ đề cập vì sao bạn có thể muốn **sửa lỗi OCR**, cách **tải ảnh OCR** hiệu quả, lợi ích của việc gọi **thiết lập từ điển tùy chỉnh**, và quy trình **xử lý OCR ảnh** từ đầu đến cuối. Khi hoàn thành, bạn sẽ có một chương trình Java chạy được, có thể đưa vào bất kỳ dự án Maven hoặc Gradle nào. + +--- + +## Những Điều Bạn Cần Chuẩn Bị + +- Java 8 hoặc mới hơn (API cũng hoạt động với Java 11+) +- Thư viện Aspose.OCR for Java (tải JAR mới nhất từ trang web Aspose hoặc thêm dependency Maven) +- Một file ảnh chứa văn bản (tốt nhất là tài liệu đã quét hoặc ảnh chụp màn hình có một chút nhiễu) +- Tùy chọn: file từ điển dạng plain‑text nếu bạn muốn **thiết lập từ điển tùy chỉnh** cho các thuật ngữ chuyên ngành + +Đó là tất cả—không cần engine OCR nặng, không có phụ thuộc native, chỉ một JAR và vài dòng code. + +--- + +## Bước 1: Aspose OCR Java Example – Tải Ảnh OCR + +Điều đầu tiên bạn cần làm là tạo một thể hiện `OcrEngine` và chỉ định file bạn muốn phân tích. Hãy nghĩ đây như việc mở một cuốn sách trước khi bắt đầu đọc. + +```java +import com.aspose.ocr.*; + +public class AsposeOcrDemo { + public static void main(String[] args) throws Exception { + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Load the image you want to process + // Replace YOUR_DIRECTORY/noisy_doc.png with your actual file path + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/noisy_doc.png")); +``` + +> **Tại sao lại quan trọng:** Lệnh `setImage` là trái tim của **tải ảnh OCR**. Nếu không có ảnh hợp lệ, engine sẽ không có gì để nhận dạng và bạn sẽ nhận được một chuỗi rỗng hoặc một ngoại lệ. + +![aspose ocr java example loading image](image.png){alt="ví dụ Aspose OCR Java tải ảnh"} + +--- + +## Bước 2: Bật Sửa Chính Tả Để Sửa Lỗi OCR + +Aspose OCR đã bật tính năng sửa chính tả mặc định, nhưng việc khai báo rõ ràng vẫn hữu ích—đặc biệt khi bạn đang trình bày một **ví dụ Aspose OCR Java**. Bật tính năng này giảm đáng kể các ký tự vô nghĩa như “t1e” hay “rec0gn1tion”. + +```java + // Explicitly enable spell‑correction (enabled by default) + ocrEngine.getSettings().setEnableSpellCorrection(true); +``` + +> **Mẹo chuyên nghiệp:** Nếu bạn nhận thấy engine vẫn nhận dạng sai một số từ, hãy kiểm tra lại cài đặt ngôn ngữ hoặc thêm từ điển tùy chỉnh (bước tiếp theo). + +Bật sửa chính tả là cách nhanh nhất để **sửa lỗi OCR** mà không cần viết thêm code. + +--- + +## Bước 3: Thiết Lập Từ Điển Tùy Chỉnh Để Tăng Độ Chính Xác + +Đôi khi từ điển mặc định không biết các thuật ngữ chuyên ngành của bạn—ví dụ như thuật ngữ y tế, mã sản phẩm, hoặc tên thương hiệu. Đó là lúc **thiết lập từ điển tùy chỉnh** tỏa sáng. Cung cấp một file plain‑text, mỗi dòng một từ, và engine OCR sẽ coi các mục này là hợp lệ khi sửa lỗi. + +```java + // OPTIONAL: Provide a custom dictionary to improve correction + // Uncomment and adjust the path to your dictionary file + // ocrEngine.getSettings().setCustomDictionary("YOUR_DIRECTORY/my_dict.txt"); +``` + +> **Khi nào nên dùng:** Nếu bạn đang xử lý hoá đơn và tên công ty luôn bị biến dạng, một từ điển tùy chỉnh chứa các tên đó sẽ làm cho giai đoạn **xử lý OCR ảnh** trở nên đáng tin cậy hơn nhiều. + +--- + +## Bước 4: Xử Lý OCR Ảnh và Lấy Văn Bản + +Bây giờ engine đã được cấu hình, đã đến lúc thực hiện nhận dạng. Phương thức `process` thực hiện toàn bộ công việc nặng—phát hiện khối văn bản, áp dụng sửa chính tả, và trả về một đối tượng `OcrResult`. + +```java + // Run the OCR process + OcrResult ocrResult = ocrEngine.process(); + + // Output the corrected text + System.out.println("Corrected text:"); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Bạn sẽ thấy gì:** Console in ra một chuỗi sạch, dễ đọc. Nếu bạn bỏ qua sửa chính tả, có khả năng sẽ thấy các ký tự lạ, vì vậy việc bật tính năng này trước là rất quan trọng để **sửa lỗi OCR**. + +--- + +## Bước 5: Chạy Ví Dụ và Kiểm Tra Kết Quả + +Biên dịch và thực thi lớp với IDE yêu thích hoặc từ dòng lệnh: + +```bash +javac -cp "path/to/aspose-ocr.jar" AsposeOcrDemo.java +java -cp ".:path/to/aspose-ocr.jar" AsposeOcrDemo +``` + +Bạn sẽ thấy kết quả tương tự: + +``` +Corrected text: +This is a sample document containing several lines of text. +The OCR engine has successfully recognized and corrected the content. +``` + +Nếu đầu ra vẫn còn lỗi chính tả, hãy thêm các từ đó vào từ điển tùy chỉnh và chạy lại bước **xử lý OCR ảnh**. + +--- + +## Những Sai Lầm Thường Gặp và Cách Tránh + +| Vấn đề | Nguyên nhân | Giải pháp | +|-------|-------------|-----------| +| **Kết quả trống** | Đường dẫn ảnh sai hoặc định dạng không hỗ trợ | Kiểm tra lại đường dẫn, dùng PNG/JPEG, và đảm bảo file có thể đọc được | +| **Ký tự rác** | Tính năng sửa chính tả bị tắt hoặc ảnh chất lượng thấp | Bật `setEnableSpellCorrection(true)` và cân nhắc tiền xử lý ảnh (tăng độ tương phản) | +| **Từ chuyên ngành vẫn sai** | Không có từ điển tùy chỉnh | Dùng `setCustomDictionary` với file chứa các thuật ngữ của bạn | +| **Lỗi hết bộ nhớ** | Ảnh quá lớn mà không thu nhỏ | Thu nhỏ ảnh trước khi đưa vào `OcrEngine` | + +--- + +## Mở Rộng Ví Dụ + +Sau khi đã có một **ví dụ Aspose OCR Java** vững chắc, bạn có thể muốn: + +- **Xử lý hàng loạt** một thư mục ảnh bằng cách lặp qua tên file và tái sử dụng cùng một thể hiện `OcrEngine`. +- **Trích xuất thông tin bố cục** (bảng, cột) bằng `ocrResult.getPages()` cho các phân tích tài liệu nâng cao. +- **Tích hợp với Apache PDFBox** để nhúng văn bản đã nhận dạng trở lại vào file PDF. + +Tất cả các mở rộng này dựa trên các bước cốt lõi mà chúng ta đã đề cập: tải ảnh OCR, bật sửa lỗi, tùy chọn thiết lập từ điển tùy chỉnh, và xử lý OCR ảnh. + +--- + +## Kết Luận + +Bạn vừa xây dựng một **ví dụ Aspose OCR Java** hoàn chỉnh, tải ảnh, bật sửa chính tả để **sửa lỗi OCR**, tùy chọn **thiết lập từ điển tùy chỉnh**, và cuối cùng **xử lý OCR ảnh** để lấy văn bản sạch. Mã ngắn gọn, khái niệm rõ ràng, và bạn đã có nền tảng để mở rộng cho các công việc batch, tích hợp UI, hoặc thậm chí dịch vụ micro‑service trên cloud. + +Tiếp theo bạn sẽ làm gì? Hãy thử đưa vào engine một bức ảnh độ phân giải thấp, thêm danh sách SKU sản phẩm vào từ điển tùy chỉnh, và quan sát độ chính xác cải thiện. Bạn càng thử nghiệm, bạn sẽ càng hiểu rõ các cân bằng giữa chất lượng ảnh, kích thước từ điển, và tốc độ xử lý. + +Nếu gặp khó khăn hoặc có ý tưởng cải tiến, đừng ngần ngại để lại bình luận. Chúc bạn lập trình vui vẻ! + +## Bạn Nên Học Gì Tiếp Theo? + +Các hướng dẫn sau đây đề cập đến các chủ đề liên quan chặt chẽ, xây dựng trên các kỹ thuật đã trình bày trong hướng dẫn này. Mỗi tài nguyên bao gồm các ví dụ code đầy đủ với giải thích từng bước để giúp bạn làm chủ các tính năng API bổ sung và khám phá các cách triển khai thay thế trong dự án của mình. + +- [How to Set License and Verify Aspose.OCR License in Java](/ocr/english/java/ocr-basics/set-license/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Aspose OCR Java Example – Recognizing Lines in Images](/ocr/english/java/advanced-ocr-techniques/recognize-lines/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md b/ocr/vietnamese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..c09842ecf --- /dev/null +++ b/ocr/vietnamese/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/_index.md @@ -0,0 +1,279 @@ +--- +category: general +date: 2026-06-06 +description: Tạo PDF có thể tìm kiếm bằng Java sử dụng Aspose OCR. Học cách trích + xuất văn bản từ PDF, nâng cao độ chính xác của OCR và xử lý các PDF đa trang một + cách hiệu quả. +draft: false +keywords: +- create searchable pdf +- extract text from pdf +- ocr multi page pdf +- increase ocr accuracy +- how to make searchable pdf +language: vi +og_description: Tạo PDF có thể tìm kiếm bằng Java sử dụng Aspose OCR. Hướng dẫn này + sẽ chỉ cho bạn cách trích xuất văn bản từ PDF, tăng độ chính xác của OCR và xử lý + các PDF đa trang. +og_title: Tạo PDF có thể tìm kiếm trong Java – Hướng dẫn đầy đủ về Aspose OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + headline: Create Searchable PDF in Java – Full Aspose OCR Guide + type: TechArticle +- description: Create searchable PDF with Java using Aspose OCR. Learn to extract + text from PDF, boost OCR accuracy, and process multi‑page PDFs efficiently. + name: Create Searchable PDF in Java – Full Aspose OCR Guide + steps: + - name: Set Up the Project and Import Aspose OCR + text: First, add the Aspose OCR Maven artifact to your `pom.xml`. If you prefer + Gradle, the equivalent snippet is provided in the comments. + - name: Load the Multi‑Page PDF into the OCR Engine + text: Now we create an `OcrEngine` instance and feed it the PDF we want to process. + The engine treats each page as an image internally, which is why this approach + works for an **ocr multi page pdf** scenario. + - name: Enable Advanced Features to **Increase OCR Accuracy** + text: Aspose OCR offers several knobs you can turn. Enabling GPU acceleration, + increasing thread count, and specifying multiple languages all contribute to + better recognition rates, especially on noisy scans. + - name: Pre‑process Images for Better Results + text: Pre‑processing steps such as deskewing, denoising, and contrast boosting + dramatically **increase OCR accuracy** on scanned documents. Think of it as + polishing a rough stone before carving. + - name: Configure the Output to Generate a Searchable PDF + text: Aspose OCR can embed the recognized text layer directly into a PDF, turning + a flat image file into a **searchable PDF**. This is the core of the “how to + make searchable pdf” question many developers ask. + - name: Run OCR and Persist the Result + text: Now we actually process the document and write the output file. The `process` + method returns an `OcrResult` object that contains both the searchable PDF and + the extracted plain text. + - name: (Optional) **Extract Text from PDF** for Immediate Use + text: If you also need the raw text—for indexing, analytics, or simply displaying + on a web page—you can pull it straight from the `OcrResult`. + type: HowTo +tags: +- Aspose OCR +- Java +- PDF processing +title: Tạo PDF có thể tìm kiếm trong Java – Hướng dẫn đầy đủ về Aspose OCR +url: /vi/java/advanced-ocr-techniques/create-searchable-pdf-in-java-full-aspose-ocr-guide/ +--- + +{{< 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 trong Java – Hướng dẫn đầy đủ Aspose OCR + +Bạn đã bao giờ tự hỏi làm thế nào để **tạo PDF có thể tìm kiếm** trực tiếp từ Java mà không phải loay hoay với hàng chục công cụ dòng lệnh? Bạn không phải là người duy nhất. Nhiều nhà phát triển gặp khó khăn khi cần chuyển các PDF đã quét thành tài liệu có thể tìm kiếm bằng văn bản, đặc biệt khi các PDF nguồn có nhiều trang. + +Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn qua một ví dụ đầy đủ, có thể chạy được, không chỉ **tạo PDF có thể tìm kiếm** mà còn cho bạn biết cách **trích xuất văn bản từ PDF**, **tăng độ chính xác OCR**, và xử lý quy trình **OCR đa trang PDF** bằng thư viện Aspose OCR. Khi kết thúc, bạn sẽ có một đoạn mã vững chắc, sẵn sàng cho môi trường sản xuất, có thể 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ã có thể biên dịch với các phiên bản cũ hơn, nhưng JDK 17 là lựa chọn tối ưu) +- Maven hoặc Gradle để kéo vào phụ thuộc `aspose-ocr` +- Một PDF đa trang mẫu (chúng tôi sẽ gọi là `sample_multi_page.pdf`) +- Một GPU vừa phải hoặc ít nhất một CPU đa nhân nếu bạn muốn bật xử lý song song + +Không cần thư viện gốc bổ sung—Aspose OCR đã gói mọi thứ bạn cần. + +--- + +## Tạo PDF có thể tìm kiếm – Triển khai từng bước + +Dưới đây chúng tôi chia quá trình thành các phần logic. Mỗi phần có tiêu đề H2 riêng để bạn có thể nhảy trực tiếp đến phần mình quan tâm, và từ khóa chính xuất hiện ngay trong tiêu đề. + +### Bước 1: Thiết lập dự án và nhập Aspose OCR + +Đầu tiên, thêm artifact Aspose OCR Maven vào tệp `pom.xml` của bạn. Nếu bạn thích Gradle, đoạn mã tương đương được cung cấp trong phần chú thích. + +```xml + + + com.aspose + aspose-ocr + 23.10 + +``` + +> **Mẹo chuyên nghiệp:** Giữ các phụ thuộc của bạn luôn cập nhật; các phiên bản mới thường mang lại cải thiện độ chính xác, giúp bạn **tăng độ chính xác OCR**. + +### Bước 2: Tải PDF đa trang vào Engine OCR + +Bây giờ chúng ta tạo một thể hiện `OcrEngine` và cung cấp cho nó PDF mà chúng ta muốn xử lý. Engine này coi mỗi trang như một hình ảnh nội bộ, vì vậy cách tiếp cận này hoạt động cho kịch bản **ocr đa trang pdf**. + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Initialize OCR engine and point it at the source PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); +``` + +**Tại sao điều này quan trọng:** Tải PDF một lần và để engine xử lý phân trang tránh được chi phí của việc trích xuất từng trang thủ công, tiết kiệm thời gian và bộ nhớ. + +### Bước 3: Bật các tính năng nâng cao để **tăng độ chính xác OCR** + +Aspose OCR cung cấp một số tùy chỉnh bạn có thể điều chỉnh. Bật tăng tốc GPU, tăng số lượng luồng, và chỉ định nhiều ngôn ngữ đều góp phần cải thiện tỷ lệ nhận dạng, đặc biệt trên các bản quét nhiễu. + +```java + // Enable GPU acceleration (if a compatible GPU is present) + ocr.getSettings().setUseGpu(true); + + // Use up to 8 threads for parallel page processing + ocr.getSettings().setMaxThreads(8); + + // Recognize both English and Mongolian text + ocr.getSettings().setLanguage("eng,mon"); + + // Turn on spell correction to clean up common OCR mistakes + ocr.getSettings().setEnableSpellCorrection(true); +``` + +> **Nếu bạn không có GPU thì sao?** Chỉ cần đặt `setUseGpu(false)`; engine sẽ quay lại chế độ chỉ CPU trong khi vẫn hưởng lợi từ đa luồng. + +### Bước 4: Tiền xử lý hình ảnh để có kết quả tốt hơn + +Các bước tiền xử lý như chỉnh nghiêng, giảm nhiễu và tăng độ tương phản đáng kể **tăng độ chính xác OCR** trên tài liệu đã quét. Hãy nghĩ nó như việc đánh bóng một tảng đá thô trước khi khắc. + +```java + // Apply image preprocessing + ocr.getPreprocessing().setDeskew(true); // Straighten tilted pages + ocr.getPreprocessing().setDenoiseLevel(2); // Reduce background noise + ocr.getPreprocessing().setContrastBoost(1.3f); // Enhance faint characters +``` + +**Tại sao lại dùng các thiết lập này?** Mức giảm nhiễu `2` hoạt động tốt cho hầu hết các PDF đã quét, trong khi tăng độ tương phản vừa phải (1.3×) làm nổi bật mực in mờ mà không làm mất nền. + +### Bước 5: Cấu hình đầu ra để tạo PDF có thể tìm kiếm + +Aspose OCR có thể nhúng lớp văn bản đã nhận dạng trực tiếp vào PDF, biến một tệp hình ảnh phẳng thành **PDF có thể tìm kiếm**. Đây là cốt lõi của câu hỏi “cách tạo PDF có thể tìm kiếm” mà nhiều nhà phát triển đặt ra. + +```java + // Prepare PDF save options – we want a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); +``` + +Khi `setGenerateSearchablePdf(true)` được bật, thư viện tạo một lớp văn bản ẩn phản ánh nội dung hình ảnh, khiến tài liệu cuối cùng có thể tìm kiếm trong bất kỳ trình xem PDF nào. + +### Bước 6: Chạy OCR và lưu kết quả + +Bây giờ chúng ta thực sự xử lý tài liệu và ghi tệp đầu ra. Phương thức `process` trả về một đối tượng `OcrResult` chứa cả PDF có thể tìm kiếm và văn bản thuần đã trích xuất. + +```java + // Execute OCR and save the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); +``` + +### Bước 7: (Tùy chọn) **Trích xuất văn bản từ PDF** để sử dụng ngay + +Nếu bạn cũng cần văn bản thô — để lập chỉ mục, phân tích, hoặc chỉ đơn giản hiển thị trên trang web — bạn có thể lấy trực tiếp từ `OcrResult`. + +```java + // Print extracted text to the console (or pipe it elsewhere) + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Bạn sẽ thấy:** Console sẽ xuất ra văn bản đã nối của tất cả các trang, giữ lại các ngắt dòng khi có thể. Điều này đáp ứng yêu cầu **trích xuất văn bản từ pdf** mà không cần lần xử lý thứ hai. + +--- + +## Tổng quan trực quan + +Dưới đây là một sơ đồ luồng đơn giản ánh xạ mỗi bước tới khối mã tương ứng. Nó giúp bạn hình dung cách PDF đầu vào đi qua quá trình tiền xử lý, OCR, và cuối cùng trở thành tài liệu có thể tìm kiếm. + +![Sơ đồ luồng tạo PDF có thể tìm kiếm](https://example.com/flow-diagram.png "Sơ đồ luồng tạo PDF có thể tìm kiếm") + +*Văn bản thay thế chứa từ khóa chính để đáp ứng SEO cho hình ảnh.* + +--- + +## Các câu hỏi thường gặp & Trường hợp đặc biệt + +| Question | Answer | +|----------|--------| +| **Tôi có thể xử lý các PDF lớn hơn 100 MB không?** | Có, nhưng nên cân nhắc truyền luồng các trang thay vì tải toàn bộ tệp vào bộ nhớ. Aspose OCR quản lý phân trang nội bộ, nhưng bạn có thể muốn tăng kích thước heap JVM (`-Xmx4g`) cho các tệp rất lớn. | +| **Nếu PDF của tôi chứa ghi chú viết tay thì sao?** | Nhận dạng chữ viết tay không được bật mặc định. Bạn có thể chuyển sang `setLanguage("eng,mon,handwritten")` nếu phiên bản thư viện hỗ trợ, mặc dù độ chính xác sẽ thay đổi. | +| **Tôi có cần giấy phép cho Aspose OCR không?** | Giấy phép đánh giá tạm thời hoạt động cho việc thử nghiệm. Đối với môi trường sản xuất, hãy mua giấy phép thương mại để loại bỏ watermark và mở khóa hiệu năng đầy đủ. | +| **Làm sao để tắt tính năng sửa chính tả?** | Gọi `ocr.getSettings().setEnableSpellCorrection(false);` – hữu ích khi bạn cần đầu ra OCR thô cho mục đích pháp y. | +| **Hỗ trợ GPU có bắt buộc không?** | Không. Thư viện sẽ tự động quay lại CPU. Tuy nhiên, GPU có thể giảm thời gian xử lý tới 60 % trên các tài liệu đa trang lớn. | + +--- + +## Ví dụ hoàn chỉnh hoạt động (Sẵn sàng sao chép‑dán) + +```java +import com.aspose.ocr.*; +import com.aspose.ocr.output.*; + +public class FullFeatureDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the multi‑page PDF + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample_multi_page.pdf")); + + // Step 2: Enable performance and language settings + ocr.getSettings().setUseGpu(true); + ocr.getSettings().setMaxThreads(8); + ocr.getSettings().setLanguage("eng,mon"); + ocr.getSettings().setEnableSpellCorrection(true); + + // Step 3: Pre‑process images for higher accuracy + ocr.getPreprocessing().setDeskew(true); + ocr.getPreprocessing().setDenoiseLevel(2); + ocr.getPreprocessing().setContrastBoost(1.3f); + + // Step 4: Tell Aspose to generate a searchable PDF + PdfSaveOptions pdfOpts = new PdfSaveOptions(); + pdfOpts.setGenerateSearchablePdf(true); + + // Step 5: Run OCR and write the searchable PDF + OcrResult result = ocr.process(pdfOpts); + result.save("YOUR_DIRECTORY/output_searchable.pdf"); + + // Step 6: (Optional) Output plain text + System.out.println("Done. Extracted text:"); + System.out.println(result.getText()); + } +} +``` + +**Kết quả mong đợi** + +- `output_searchable.pdf` – một PDF mà bạn có thể nhấn Ctrl + F và tìm bất kỳ từ nào xuất hiện trong hình ảnh đã quét. +- Console log – nội dung văn bản đầy đủ của PDF gốc, hoàn hảo cho việc lập chỉ mục hoặc phân tích sâu hơn. + +--- + +## Kết luận + +Chúng tôi vừa trình bày cách **tạo PDF có thể tìm kiếm** trong Java bằng Aspose OCR, đồng thời cho bạn biết cách **trích xuất văn bản từ PDF**, **tăng độ chính xác OCR**, và xử lý hiệu quả quy trình **OCR đa trang PDF**. Đoạn mã hoàn chỉnh ở trên đã sẵn sàng để chèn vào dự án của bạn, và các giải thích giúp bạn tự tin tùy chỉnh các thiết lập cho trường hợp sử dụng cụ thể. + +Tiếp theo? Hãy thử nghiệm với việc nhúng phông chữ tùy chỉnh, thêm dấu trang do OCR tạo ra, hoặc tích hợp đầu ra với công cụ tìm kiếm như Elasticsearch. Mỗi chủ đề này đều liên quan tới các từ khóa phụ của chúng tôi — *cách tạo PDF có thể tìm kiếm* và *tăng độ chính xác OCR* — vì vậy bạn có một lộ trình rõ ràng để khám phá sâu hơn. + +Bạn cứ tự nhiên chia sẻ kinh nghiệm hoặc đặt câu hỏi tiếp theo trong phần bình luận. Chúc lập trình vui vẻ, và tận hưởng việc biến những bản quét tĩnh thành PDF hoàn toàn có thể tìm kiếm, giàu văn bản! + +## Bạn nên học gì tiếp theo? + +Các hướng dẫn sau đây bao quát các chủ đề liên quan chặt chẽ, xây dựng dựa trên các kỹ thuật được trình bày trong hướng dẫn này. Mỗi tài nguyên bao gồm các ví dụ mã hoạt động đầy đủ với giải thích từng bước để giúp bạn làm chủ các tính năng API bổ sung và khám phá các cách triển khai thay thế trong dự án của mình. + +- [Nhận dạng văn bản PDF – Các thao tác OCR với Aspose.OCR cho Java](/ocr/english/java/ocr-operations/) +- [OCR nhận dạng tài liệu PDF trong Aspose.OCR cho Java](/ocr/english/java/ocr-operations/recognize-pdf/) +- [Reconocimiento OCR de documentos PDF en Aspose.OCR para Java](/ocr/spanish/java/ocr-operations/recognize-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/vietnamese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md b/ocr/vietnamese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md new file mode 100644 index 000000000..5a20bc654 --- /dev/null +++ b/ocr/vietnamese/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/_index.md @@ -0,0 +1,273 @@ +--- +category: general +date: 2026-06-06 +description: Trích xuất văn bản từ hình ảnh đã quét bằng Aspose OCR cho Java. Tìm + hiểu cách nhận dạng văn bản từ các tệp TIFF với xử lý song song. +draft: false +keywords: +- extract text from scanned image +- recognize text from tiff +- Aspose OCR Java tutorial +- parallel OCR processing +- Java image recognition +language: vi +og_description: Trích xuất văn bản từ hình ảnh đã quét bằng Aspose OCR. Hướng dẫn + này cho thấy cách nhận dạng văn bản từ các tệp TIFF một cách hiệu quả bằng Java. +og_title: Trích xuất văn bản từ hình ảnh đã quét – Hướng dẫn Aspose OCR Java +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + headline: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + type: TechArticle +- description: Extract text from scanned image using Aspose OCR for Java. Learn how + to recognize text from tiff files with parallel processing. + name: Extract Text from Scanned Image in Java – Complete Aspose OCR Guide + steps: + - name: Maven users + text: 'Add the following dependency to your `pom.xml`:' + - name: Manual JAR setup + text: Download the latest `aspose-ocr-xx.jar` from the Aspose website and place + it on your classpath. + - name: Expected Output + text: '``` === Extracted Text === Invoice Number: 12345 Date: 2024‑05‑01 Total: + $1,250.00 ... ```' + - name: What’s Next? + text: '- **Batch processing**: Loop over a directory of TIFFs, store each result + in its own file. - **Integrate with Elasticsearch**: Index the extracted text + for fast full‑text search. - **Add language detection**: Use `OcrLanguage.AutoDetect` + for multi‑lingual documents.' + type: HowTo +- questions: + - answer: Absolutely. `OcrInputImage` accepts any format that Java’s ImageIO can + read. Just replace the file extension in the path. + question: Does this work with PNG or JPEG files? + - answer: You could, but remember other services may need CPU cycles. A good rule + of thumb is “total cores – 1” for dedicated OCR workers. + question: My server has 8 cores—should I set `setMaxThreads(8)`? + - answer: 'Check that the image isn’t completely white, that you set the correct + language, and that the resolution is at least 200 DPI. Low‑quality scans often + need pre‑processing (deskew, contrast boost) before feeding them to Aspose OCR. + --- ## Wrap‑Up We’ve just **extracted text from scanned image** files u' + question: What if the OCR result is empty? + type: FAQPage +tags: +- Java +- OCR +- Aspose +- Image Processing +title: Trích xuất văn bản từ hình ảnh đã quét trong Java – Hướng dẫn đầy đủ về Aspose + OCR +url: /vi/java/advanced-ocr-techniques/extract-text-from-scanned-image-in-java-complete-aspose-ocr/ +--- + +{{< 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 đã quét – Hướng dẫn đầy đủ Aspose OCR + +Bạn đã bao giờ cần **trích xuất văn bản từ hình ảnh đã quét** nhưng không biết bắt đầu từ đâu? Bạn không phải là người duy nhất. Dù bạn đang số hoá các tài liệu lưu trữ cũ, lấy dữ liệu từ hoá đơn, hay xây dựng một thư viện PDF có thể tìm kiếm, việc lấy được văn bản đáng tin cậy từ một tệp TIFF quét luôn là một thách thức. + +Tin tốt: với Aspose OCR cho Java, bạn có thể **nhận dạng văn bản từ tiff** chỉ trong vài dòng code, và thậm chí tăng tốc độ bằng cách giới hạn engine chỉ sử dụng một vài lõi CPU. Trong tutorial này, chúng ta sẽ đi qua toàn bộ quy trình — từ cài đặt thư viện đến xử lý kết quả — để bạn có thể sao chép‑dán một ví dụ hoạt động ngay lập tức. + +## Những nội dung tutorial này sẽ đề cập + +- Cài đặt Aspose OCR cho Java (Maven hoặc JAR thủ công) +- Tải một ảnh TIFF quét lớn +- Cấu hình engine để sử dụng tối đa 4 luồng (OCR song song) +- Chạy quá trình OCR và in ra văn bản đã trích xuất +- Những bẫy thường gặp (bộ nhớ, TIFF đa trang) và cách tránh +- Mẹo hiệu năng nhanh: khi nào nên điều chỉnh `setMaxThreads` + +Kết thúc phần này, bạn sẽ có thể **trích xuất văn bản từ hình ảnh đã quét** một cách đáng tin cậy, và hiểu vì sao việc điều chỉnh số luồng lại quan trọng khi bạn *nhận dạng văn bản từ tiff* trong một pipeline sản xuất. + +--- + +![extract text from scanned image example](example.png "Screenshot showing extracted text from a scanned TIFF image") + +## Yêu cầu trước + +Trước khi bắt đầu, hãy chắc chắn rằng bạn đã có: + +1. **Java Development Kit (JDK) 8+** – bất kỳ phiên bản mới nào cũng được. +2. **Maven** (hoặc khả năng thêm JAR thủ công) – chúng ta sẽ dùng Maven để đơn giản. +3. Giấy phép **Aspose OCR cho Java** (bản đánh giá miễn phí vẫn hoạt động, nhưng sẽ có watermark). +4. Một **tệp TIFF quét lớn** (ví dụ: `large_scan.tif`) mà bạn muốn xử lý. + +Nếu có mục nào chưa quen, đừng lo — mỗi bước sẽ được giải thích chi tiết bên dưới. + +## Bước 1: Thêm Aspose OCR vào dự án + +### Người dùng Maven + +Thêm dependency sau vào file `pom.xml` của bạn: + +```xml + + com.aspose + aspose-ocr + 23.12 + +``` + +### Cài đặt JAR thủ công + +Tải phiên bản mới nhất `aspose-ocr-xx.jar` từ trang Aspose và đặt vào classpath của dự án. + +> **Mẹo chuyên nghiệp:** Đặt JAR trong thư mục `libs/` và tham chiếu trong cài đặt dự án IDE. Điều này giúp tránh các lỗi “class not found” sau này. + +## Bước 2: Tạo một lớp Java đơn giản + +Tạo file có tên `ParallelOcrDemo.java` trong thư mục nguồn của bạn (`src/main/java`). Lớp này sẽ chứa toàn bộ quy trình OCR. + +```java +package com.example.ocr; + +import com.aspose.ocr.*; + +public class ParallelOcrDemo { + public static void main(String[] args) throws Exception { + + // Step 2.1: Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2.2: Load the scanned TIFF image you want to process + // Replace the path with the actual location of your image + ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/large_scan.tif")); + + // Step 2.3: Limit the engine to use up to 4 CPU cores. + // This is useful on servers where you don't want to hog all cores. + ocrEngine.getSettings().setMaxThreads(4); + + // Step 2.4: Run the OCR operation + OcrResult ocrResult = ocrEngine.process(); + + // Step 2.5: Output the recognized text to the console + System.out.println("=== Extracted Text ==="); + System.out.println(ocrResult.getText()); + } +} +``` + +> **Tại sao chúng ta giới hạn luồng:** Mặc định Aspose OCR sẽ cố gắng sử dụng mọi lõi CPU, điều này có thể làm các dịch vụ khác trên máy chia sẻ bị thiếu tài nguyên. Đặt `setMaxThreads(4)` cho engine chạy tối đa bốn worker song song — đủ để tăng tốc đáng kể trên hầu hết CPU hiện đại mà không chiếm dụng toàn bộ tài nguyên. + +## Bước 3: Biên dịch và chạy + +Mở terminal tại thư mục gốc của dự án và thực thi: + +```bash +mvn clean compile exec:java -Dexec.mainClass="com.example.ocr.ParallelOcrDemo" +``` + +Nếu bạn không dùng Maven, biên dịch bằng `javac` và chạy: + +```bash +javac -cp "libs/*" src/main/java/com/example/ocr/ParallelOcrDemo.java +java -cp "libs/*:src/main/java" com.example.ocr.ParallelOcrDemo +``` + +### Kết quả mong đợi + +``` +=== Extracted Text === +Invoice Number: 12345 +Date: 2024‑05‑01 +Total: $1,250.00 +... +``` + +Console sẽ hiển thị phiên bản plain‑text của nội dung trên trang đã quét. Nếu ảnh chứa nhiều trang, Aspose OCR sẽ tự động nối chúng theo thứ tự. + +## Bước 4: Xử lý TIFF đa trang (Trường hợp đặc biệt) + +Một kịch bản phổ biến là **TIFF đa trang** — ví dụ như một cuốn sách đã quét. Mặc định `OcrInputImage` chỉ đọc khung đầu tiên. Để xử lý tất cả các trang, hãy sử dụng `OcrInputImage` cùng với `FileInputStream` và bật hỗ trợ đa trang: + +```java +import java.io.FileInputStream; +import com.aspose.ocr.*; + +FileInputStream fis = new FileInputStream("YOUR_DIRECTORY/multi_page.tif"); +ocrEngine.setImage(new OcrInputImage(fis, true)); // 'true' enables multi‑page +``` + +Bây giờ `ocrEngine.process()` sẽ trả về một `OcrResult` duy nhất chứa văn bản đã nối từ mọi trang. + +## Bước 5: Tinh chỉnh độ chính xác nhận dạng + +Nếu bạn gặp **ký tự bị lỗi** hoặc từ bị thiếu, hãy thử các điều chỉnh sau: + +| Cài đặt | Chức năng | Khi nào nên dùng | +|---------|-----------|-------------------| +| `ocrEngine.getSettings().setLanguage(OcrLanguage.English)` | Buộc sử dụng mô hình ngôn ngữ tiếng Anh (nhanh hơn, chính xác hơn cho tài liệu tiếng Anh) | Tài liệu của bạn chỉ có tiếng Anh | +| `ocrEngine.getSettings().setResolution(300)` | Tăng độ phân giải ảnh thấp trước khi nhận dạng | Ảnh quét dưới 200 DPI | +| `ocrEngine.getSettings().setNoiseRemoval(true)` | Cố gắng loại bỏ nhiễu và các điểm lạ | Ảnh có nhiều nhiễu | + +Đoạn mã ví dụ: + +```java +ocrEngine.getSettings().setLanguage(OcrLanguage.English); +ocrEngine.getSettings().setResolution(300); +ocrEngine.getSettings().setNoiseRemoval(true); +``` + +## Bước 6: Xuất kết quả ra tệp + +In ra console phù hợp cho demo, nhưng trong môi trường sản xuất thường cần ghi kết quả vào nơi có ích: + +```java +import java.io.FileWriter; +import java.io.IOException; + +// After processing +String extractedText = ocrResult.getText(); +try (FileWriter writer = new FileWriter("output.txt")) { + writer.write(extractedText); +} +System.out.println("Text saved to output.txt"); +``` + +Bây giờ bạn có một tệp plain‑text có thể đưa vào chỉ mục tìm kiếm, cơ sở dữ liệu, hoặc pipeline phân tích downstream. + +--- + +## Câu hỏi thường gặp (FAQ) + +**Hỏi: Điều này có hoạt động với file PNG hoặc JPEG không?** +Đáp: Hoàn toàn có thể. `OcrInputImage` chấp nhận bất kỳ định dạng nào mà Java ImageIO hỗ trợ. Chỉ cần thay đổi phần mở rộng trong đường dẫn. + +**Hỏi: Máy chủ của tôi có 8 lõi — có nên đặt `setMaxThreads(8)` không?** +Đáp: Bạn có thể, nhưng nhớ rằng các dịch vụ khác cũng cần CPU. Quy tắc chung là “tổng số lõi – 1” cho các worker OCR chuyên dụng. + +**Hỏi: Nếu kết quả OCR rỗng thì sao?** +Đáp: Kiểm tra xem ảnh có phải toàn trắng không, bạn đã đặt đúng ngôn ngữ chưa, và độ phân giải ít nhất là 200 DPI. Các ảnh quét chất lượng thấp thường cần tiền xử lý (điều chỉnh góc, tăng độ tương phản) trước khi đưa vào Aspose OCR. + +--- + +## Kết luận + +Chúng ta vừa **trích xuất văn bản từ hình ảnh đã quét** bằng Aspose OCR cho Java, và bạn đã biết cách **nhận dạng văn bản từ tiff** một cách hiệu quả với xử lý song song. Toàn bộ mã nguồn nằm trong các đoạn code ở trên, và bạn có thể sao chép‑dán ngay vào dự án của mình. + +### Bước tiếp theo là gì? + +- **Xử lý hàng loạt**: Duyệt qua một thư mục chứa các tệp TIFF, lưu mỗi kết quả vào một tệp riêng. +- **Tích hợp với Elasticsearch**: Đánh chỉ mục văn bản đã trích xuất để tìm kiếm nhanh toàn văn. +- **Thêm phát hiện ngôn ngữ**: Sử dụng `OcrLanguage.AutoDetect` cho tài liệu đa ngôn ngữ. + +Hãy thử các ý tưởng này, và bạn sẽ nhanh chóng biến một đống tài liệu quét thành dữ liệu có thể tìm kiếm và khai thác. + +Chúc lập trình vui vẻ, và đừng ngại để lại bình luận nếu gặp khó khăn! + +## Bạn nên học gì tiếp theo? + +Các tutorial sau đây liên quan chặt chẽ đến các kỹ thuật đã trình bày trong hướng dẫn này. Mỗi tài nguyên đều bao gồm mã nguồn hoàn chỉnh và giải thích chi tiết từng bước để giúp bạn làm chủ các tính năng API bổ sung và khám phá các cách triển khai thay thế trong dự án của mình. + +- [How to recognize tiff with Aspose.OCR for Java](/ocr/english/java/ocr-operations/recognize-tiff/) +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md b/ocr/vietnamese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md new file mode 100644 index 000000000..9e329445c --- /dev/null +++ b/ocr/vietnamese/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/_index.md @@ -0,0 +1,256 @@ +--- +category: general +date: 2026-06-06 +description: Cách bật GPU trong Java OCR và trích xuất văn bản từ các tệp JPEG. Thực + hiện theo ví dụ Java OCR này để chuyển đổi hình ảnh thành văn bản với tốc độ tăng + tốc GPU. +draft: false +keywords: +- how to enable gpu +- extract text from jpeg +- convert image to text +- java ocr example +- gpu accelerated ocr +language: vi +og_description: Cách bật GPU trong Java OCR và ngay lập tức trích xuất văn bản từ + hình ảnh JPEG. Hướng dẫn này trình bày một ví dụ Java OCR hoàn chỉnh với OCR được + tăng tốc bằng GPU. +og_title: Cách bật GPU trong Java OCR – Hướng dẫn lập trình chi tiết +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + headline: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + type: TechArticle +- description: How to enable GPU in Java OCR and extract text from JPEG files. Follow + this java ocr example to convert image to text with GPU acceleration. + name: How to enable GPU in Java OCR – Complete Step‑by‑Step Guide + steps: + - name: Expected Output + text: 'Assuming `sample.jpg` contains the phrase “Hello, World!”, you should see:' + - name: 1. My GPU isn’t being used – what gives? + text: '* **Check driver version** – older drivers may not expose the required + compute capabilities. * **Validate GPU support** – Aspose requires a CUDA‑compatible + NVIDIA card or an OpenCL‑compatible AMD card. If you’re on a laptop with a disabled + discrete GPU, enable it in BIOS or the graphics control pane' + - name: 2. The OCR result is garbled on a low‑resolution image. + text: '* **Pre‑process the JPEG** – resize to at least 300 dpi, apply contrast + enhancement, or convert to grayscale before feeding it to the engine. * **Adjust + settings** – you can tweak `ocr.getSettings().setLanguage(OcrLanguage.English)` + or enable `setUseLanguageDetection(true)` for better accuracy.' + - name: 3. Can I process multiple images in a batch? + text: Absolutely. Wrap the loading and processing blocks in a loop, re‑using the + same `OcrEngine` instance. Just remember to call `ocr.reset()` between iterations + to clear the previous image. + - name: 4. Does GPU acceleration work on headless servers? + text: Yes, as long as the server has a supported GPU and the proper drivers. On + Linux, you might need to install the `nvidia‑utils` package and ensure the `CUDA` + toolkit is on the `PATH`. + type: HowTo +tags: +- Java +- OCR +- GPU +title: Cách bật GPU trong Java OCR – Hướng dẫn chi tiết từng bước +url: /vi/java/advanced-ocr-techniques/how-to-enable-gpu-in-java-ocr-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách bật GPU trong Java OCR – Hướng dẫn chi tiết từng bước + +Bạn đã bao giờ tự hỏi **cách bật GPU** cho nhận dạng ký tự quang học trong Java chưa? Bạn không phải là người duy nhất—các nhà phát triển thường hỏi, “Liệu tôi có thể làm OCR nhanh hơn mà không phải viết lại toàn bộ không?” Câu trả lời ngắn là có, và câu trả lời chi tiết nằm ngay ở đây. Trong hướng dẫn này, chúng ta sẽ đi qua một **java ocr example** mà **extracts text from JPEG** files, **converts image to text**, và tận dụng **GPU accelerated OCR** để có kết quả siêu nhanh. + +Chúng ta sẽ bắt đầu bằng việc thiết lập thư viện Aspose OCR, tải một tệp JPEG mẫu, bật hỗ trợ GPU, chạy engine, và cuối cùng in ra văn bản đã nhận dạng. Khi kết thúc, bạn sẽ có một đoạn mã có thể tái sử dụng trong bất kỳ dự án Java nào, cùng với một vài mẹo giúp tránh các lỗi thường gặp. Không có phần thừa, chỉ có những chi tiết cần thiết để bạn bắt đầu. + +## Prerequisites + +Trước khi bắt đầu, hãy chắc chắn rằng bạn có: + +* Java 8 hoặc mới hơn đã được cài đặt (mã sử dụng các API chuẩn, vì vậy bất kỳ JDK hiện đại nào cũng hoạt động). +* Một GPU tương thích với driver cập nhật mới nhất – hầu hết các card NVIDIA/AMD hiện đại đều đáp ứng yêu cầu. +* Thư viện Aspose.OCR for Java (bạn có thể tải từ Maven Central hoặc trang web Aspose). +* Một hình ảnh JPEG mà bạn muốn chạy OCR – chúng ta sẽ gọi nó là `sample.jpg`. + +Đó là tất cả. Nếu có bất kỳ mục nào chưa quen, hãy tạm dừng và cài đặt phần còn thiếu; phần còn lại của hướng dẫn giả định rằng chúng đã sẵn sàng. + +## How to enable GPU in Java OCR – Overview + +Dưới đây là một bức tranh nhanh về những gì chúng ta sẽ đạt được: + +```text +1️⃣ Load a JPEG image (extract text from jpeg) +2️⃣ Enable GPU acceleration (how to enable gpu) +3️⃣ Run OCR (java ocr example) +4️⃣ Print the recognized text (convert image to text) +``` + +Hãy nghĩ GPU như một bộ tăng áp cho engine OCR của bạn—thay vì CPU phải thực hiện mọi phân tích pixel‑by‑pixel, card đồ họa sẽ chịu phần tải nặng trong chế độ song song. Kết quả? Thời gian xử lý nhanh hơn, đặc biệt với các bản quét độ phân giải cao. + +## Step 1: Set Up the Project and Import Aspose OCR + +Đầu tiên, tạo một dự án Maven mới (hoặc Gradle, nếu bạn thích). Thêm dependency Aspose OCR: + +```xml + + + + com.aspose + aspose-ocr + 23.12 + + +``` + +Nếu bạn không dùng Maven, tải JAR từ Aspose và thêm vào classpath. Bước này là nền tảng cho bất kỳ **java ocr example** nào bạn sẽ viết, vì vậy hãy kiểm tra kỹ thư viện đã được resolve đúng chưa. + +## Step 2: Load the JPEG Image (Extract Text from JPEG) + +Bây giờ chúng ta sẽ viết mã để đọc tệp JPEG. Lớp `OcrInputImage` nhận một đường dẫn, và chúng ta sẽ truyền nó vào `OcrEngine`. + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Load the image you want to process + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); +``` + +> **Tại sao điều này quan trọng:** Việc tải hình ảnh đúng cách là bước đầu tiên trong bất kỳ quy trình **convert image to text** nào. Nếu đường dẫn sai, engine sẽ ném exception trước khi tới giai đoạn GPU. + +## Step 3: Enable GPU Acceleration (How to Enable GPU) + +Đây là phần cốt lõi của hướng dẫn—bật hỗ trợ GPU. Đối tượng `OcrSettings` cung cấp cờ `setUseGpu`. Chỉ cần đặt nó thành `true` và bạn đã sẵn sàng. + +```java + // Enable GPU acceleration – this is the “how to enable gpu” part + ocr.getSettings().setUseGpu(true); +``` + +> **Mẹo chuyên nghiệp:** Kiểm tra driver GPU của bạn đã được cập nhật chưa. Driver lỗi thời thường khiến lệnh `setUseGpu(true)` thất bại im lặng, khiến bạn chỉ nhận được hiệu năng CPU. + +## Step 4: Run the OCR Engine (Java OCR Example) + +Với hình ảnh đã được tải và GPU đã bật, tiến hành quá trình OCR. Engine sẽ trả về một đối tượng `OcrResult` chứa văn bản đã nhận dạng. + +```java + // Perform OCR processing on the image + OcrResult result = ocr.process(); +``` + +Trong nền, Aspose sẽ chia hình ảnh thành các tile, gửi chúng tới GPU để suy luận song song, và ghép lại kết quả. Đây là lý do khiến trải nghiệm **gpu accelerated ocr** nhanh hơn đáng kể so với đường dẫn CPU mặc định. + +## Step 5: Output the Recognized Text (Convert Image to Text) + +Cuối cùng, in kết quả ra console. Trong một ứng dụng thực tế, bạn có thể ghi vào file hoặc cơ sở dữ liệu, nhưng để minh họa, một `System.out.println` đơn giản đã đủ. + +```java + // Output the recognized text + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +### Expected Output + +Giả sử `sample.jpg` chứa cụm từ “Hello, World!”, bạn sẽ thấy: + +``` +Recognized text: +Hello, World! +``` + +Nếu hình ảnh phức tạp hơn (nhiều dòng, bảng, v.v.), đầu ra sẽ chứa các ngắt dòng và khoảng cách phản ánh bố cục gốc. Đó là ưu điểm của engine OCR của Aspose—giữ lại cấu trúc khi **convert image to text**. + +## Full Working Example + +Kết hợp lại, đây là chương trình hoàn chỉnh, sẵn sàng chạy: + +```java +import com.aspose.ocr.*; + +public class GpuOcrDemo { + public static void main(String[] args) throws Exception { + // Step 1: Load the JPEG image (extract text from jpeg) + OcrEngine ocr = new OcrEngine(); + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/sample.jpg")); + + // Step 2: Enable GPU acceleration (how to enable gpu) + ocr.getSettings().setUseGpu(true); + + // Step 3: Perform OCR processing (java ocr example) + OcrResult result = ocr.process(); + + // Step 4: Output the recognized text (convert image to text) + System.out.println("Recognized text:"); + System.out.println(result.getText()); + } +} +``` + +Lưu lại với tên `GpuOcrDemo.java`, biên dịch bằng `javac`, và chạy bằng `java`. Nếu mọi thứ được cấu hình đúng, console sẽ hiển thị văn bản đã trích xuất ngay lập tức. + +## Common Questions & Edge Cases + +### 1. My GPU isn’t being used – what gives? + +* **Check driver version** – driver cũ có thể không cung cấp các khả năng tính toán cần thiết. +* **Validate GPU support** – Aspose yêu cầu card NVIDIA hỗ trợ CUDA hoặc card AMD hỗ trợ OpenCL. Nếu bạn dùng laptop với GPU rời bị tắt, hãy bật lại trong BIOS hoặc bảng điều khiển đồ họa. +* **Inspect logs** – Aspose ghi một dòng debug khi chế độ GPU hoạt động. Bật logging bằng `ocr.getSettings().setLogLevel(LogLevel.Debug)`. + +### 2. The OCR result is garbled on a low‑resolution image. + +* **Pre‑process the JPEG** – thay đổi kích thước lên ít nhất 300 dpi, tăng độ tương phản, hoặc chuyển sang grayscale trước khi đưa vào engine. +* **Adjust settings** – bạn có thể tinh chỉnh `ocr.getSettings().setLanguage(OcrLanguage.English)` hoặc bật `setUseLanguageDetection(true)` để cải thiện độ chính xác. + +### 3. Can I process multiple images in a batch? + +Chắc chắn rồi. Đặt các khối tải và xử lý trong một vòng lặp, tái sử dụng cùng một instance `OcrEngine`. Chỉ cần nhớ gọi `ocr.reset()` giữa các lần lặp để xóa ảnh trước. + +```java +for (String path : imagePaths) { + ocr.setImage(new OcrInputImage(path)); + OcrResult batchResult = ocr.process(); + System.out.println(batchResult.getText()); + ocr.reset(); // clears previous state +} +``` + +### 4. Does GPU acceleration work on headless servers? + +Có, miễn là server có GPU được hỗ trợ và driver phù hợp. Trên Linux, bạn có thể cần cài đặt gói `nvidia‑utils` và đảm bảo toolkit `CUDA` có trong `PATH`. + +## Pro Tips for Production‑Ready GPU OCR + +* **Batch size matters** – hình ảnh lớn hơn sẽ hưởng lợi nhiều hơn từ song song GPU. Nếu bạn xử lý các icon nhỏ, chi phí truyền dữ liệu tới GPU có thể vượt quá lợi ích. +* **Memory management** – GPU có VRAM hạn chế. Đối với PDF rất lớn hoặc ảnh đa‑megapixel, hãy chia hình ảnh thành các tile nhỏ hơn một cách thủ công. +* **Error handling** – bao quanh lời gọi OCR bằng khối try‑catch và chuyển về chế độ CPU (`setUseGpu(false)`) nếu gặp `UnsupportedOperationException`. + +## Conclusion + +Chúng ta vừa đi qua **cách bật GPU** trong một **java ocr example**, cho bạn thấy cách **extract text from JPEG**, và trình bày cách **convert image to text** bằng engine **gpu accelerated OCR** của Aspose. Đoạn mã hoàn chỉnh ở trên đã sẵn sàng để đưa vào bất kỳ dự án Java nào, và các mẹo kèm theo sẽ giúp bạn tránh những rắc rối thường gặp. + +Tiếp theo bạn có thể thử thêm các gói ngôn ngữ, thử nghiệm với các định dạng ảnh khác (PNG, TIFF), hoặc tích hợp kết quả vào một chỉ mục tìm kiếm. Khi kết hợp OCR với sức mạnh GPU, khả năng của bạn sẽ không có giới hạn. + +Có thêm câu hỏi về OCR tăng tốc bằng GPU hoặc cần hỗ trợ tinh chỉnh cài đặt? Hãy để lại bình luận, chúc bạn lập trình vui vẻ! + +![How to enable GPU in Java OCR example](https://example.com/images/gpu-ocr-java.png "How to enable GPU in Java OCR") + +## What Should You Learn Next? + +Các hướng dẫn sau đây đề cập đến các chủ đề liên quan chặt chẽ, xây dựng trên các kỹ thuật đã trình bày trong bài viết này. Mỗi tài nguyên bao gồm mã nguồn đầy đủ và giải thích từng bước để giúp bạn làm chủ các tính năng API bổ sung và khám phá các cách triển khai thay thế trong dự án của mình. + +- [Extract Text Images – OCR Basics with Aspose.OCR for Java](/ocr/english/java/ocr-basics/) +- [Convert Image to Text in Java using Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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/improve-ocr-accuracy-in-java-complete-guide/_index.md b/ocr/vietnamese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md new file mode 100644 index 000000000..3b08636bf --- /dev/null +++ b/ocr/vietnamese/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-06-06 +description: Cải thiện độ chính xác OCR trong Java với hướng dẫn từng bước cho thấy + cách tải OCR hình ảnh, xử lý OCR hình ảnh và trích xuất văn bản từ trang quét một + cách hiệu quả. +draft: false +keywords: +- improve OCR accuracy +- load image OCR +- extract text scanned page +- process image OCR +- perform OCR image +language: vi +og_description: Cải thiện độ chính xác OCR trong Java với ví dụ thực hành. Học cách + tải ảnh OCR, tiền xử lý và thực hiện OCR để trích xuất văn bản từ trang quét. +og_title: Cải thiện độ chính xác OCR trong Java – Hướng dẫn đầy đủ +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Improve OCR accuracy in Java with a step‑by‑step guide that shows how + to load image OCR, process image OCR and extract text scanned page efficiently. + headline: Improve OCR Accuracy in Java – Complete Guide + type: TechArticle +- questions: + - answer: Most OCR engines internally convert to grayscale, but doing it yourself + (e.g., using `BufferedImage` and `ColorConvertOp`) can give you finer control + over the conversion algorithm, especially when the background isn’t uniform. + question: My scanned page is in color – should I convert it to grayscale first? + - answer: Try increasing the `setDenoiseLevel` to 3 or adjusting `setContrastBoost` + to 1.6f. If the problem persists, consider applying a **binary threshold** (binarization) + before OCR – many libraries expose a `setBinarization(true)` option. + question: The output still contains stray symbols. What now? + - answer: 'Convert each page to an image (using Apache PDFBox, for instance) and + loop over the pages, re‑using the same `OcrEngine` instance but resetting the + image each iteration. --- ## Conclusion You’ve just learned how to **improve + OCR accuracy** in Java by correctly **load image OCR**, apply deskew, denoi' + question: How do I handle multi‑page PDFs? + type: FAQPage +tags: +- OCR +- Java +- ImageProcessing +- TextExtraction +title: Cải thiện độ chính xác OCR trong Java – Hướng dẫn toàn diện +url: /vi/java/advanced-ocr-techniques/improve-ocr-accuracy-in-java-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cải thiện Độ chính xác OCR trong Java – Hướng dẫn đầy đủ + +Bạn đã bao giờ tự hỏi làm thế nào để **cải thiện độ chính xác OCR** khi làm việc với các bản quét sách cũ hoặc biên lai mờ không? Bạn không phải là người duy nhất. Trong nhiều dự án thực tế, đầu ra thô từ một công cụ OCR trông giống như một mớ hỗn độn khó hiểu, và điều đó thường là do hình ảnh chưa được tiền xử lý đúng cách trước khi bạn **perform OCR image**. + +Trong tutorial này, chúng ta sẽ đi qua một ví dụ thực tế bằng Java cho thấy chính xác cách **load image OCR**, áp dụng một vài bước tiền xử lý thông minh, **process image OCR**, và cuối cùng **extract text scanned page** với kết quả sạch sẽ. Khi kết thúc, bạn sẽ hiểu không chỉ *cái gì* cần viết code, mà còn *tại sao* mỗi dòng lại quan trọng đối với việc nâng cao chất lượng nhận dạng. + +## Những gì bạn sẽ học + +- Cách khởi tạo một engine OCR trong Java +- Cách **load image OCR** từ đĩa một cách đúng đắn +- Tại sao việc deskew, denoise và tăng độ tương phản lại thiết yếu để **improve OCR accuracy** +- Cách **perform OCR image** và lấy văn bản đã nhận dạng được +- Mẹo xử lý các định dạng ảnh khác nhau và các trường hợp đặc biệt + +Không cần tài liệu bên ngoài – mọi thứ bạn cần đã có ở đây, và mã nguồn hoàn chỉnh, có thể chạy được được đưa vào cuối bài. + +## Yêu cầu trước + +- Java 17 (hoặc bất kỳ JDK hiện đại nào) đã được cài đặt trên máy của bạn +- Một thư viện OCR cung cấp các lớp `OcrEngine`, `OcrInputImage`, và `OcrResult` (ví dụ mẫu sử dụng API chung; thay thế bằng jar của nhà cung cấp nếu cần) +- Một ảnh đã quét (PNG, JPEG, hoặc TIFF) mà bạn muốn chạy OCR – trong demo chúng ta sẽ dùng `old_book_page.png` nằm trong thư mục `YOUR_DIRECTORY` + +Nếu bạn thiếu jar OCR, chỉ cần đặt nó vào thư mục `libs` của dự án và thêm vào classpath. Hết rồi. + +--- + +## Bước 1 – Cải thiện độ chính xác OCR: Thiết lập Engine + +Trước khi chúng ta có thể **process image OCR**, chúng ta cần một thể hiện engine mới. Tạo một `OcrEngine` mới cung cấp một môi trường sạch, đảm bảo không có cài đặt dư thừa từ các lần chạy trước. + +```java +// Step 1: Create an OCR engine instance +OcrEngine ocr = new OcrEngine(); +``` + +*Lý do quan trọng*: Một engine mới được tạo sẽ có các tiền xử lý mặc định bị tắt. Điều này có chủ đích – chúng ta muốn chỉ bật những bước thực sự giúp ảnh cụ thể của mình, đây là nền tảng của **improve OCR accuracy**. + +--- + +## Bước 2 – Load Image OCR – Chuẩn bị ảnh quét của bạn + +Bây giờ chúng ta thực sự **load image OCR**. Phương thức `setImage` yêu cầu một `OcrInputImage` trỏ tới tệp trên đĩa. + +```java +// Step 2: Load the image to be processed +ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); +``` + +Một vài lưu ý: + +1. **Định dạng được hỗ trợ** – hầu hết các thư viện chấp nhận PNG, JPEG, BMP và TIFF. Nếu bạn có PDF, hãy chuyển trang đầu tiên sang ảnh trước. +2. **Xử lý đường dẫn** – sử dụng đường dẫn tuyệt đối giúp tránh lỗi “file not found” khi thư mục làm việc thay đổi. + +--- + +## Bước 3 – Deskew: Làm thẳng các trang bị xoay + +Nhiều trang quét không hoàn toàn nằm ngang. Một góc xoay nhẹ có thể làm giảm khả năng nhận dạng vì engine OCR mong đợi các dòng văn bản nằm ngang. Bật deskew sẽ tự động phát hiện và sửa góc xoay đó. + +```java +// Step 3: Enable deskew to correct image rotation +ocr.getPreprocessing().setDeskew(true); +``` + +**Mẹo chuyên nghiệp**: Nếu bạn biết trước góc xoay (ví dụ 90°), bạn có thể tự quay ảnh trước khi đưa vào engine – thường nhanh hơn cho các công việc batch. + +--- + +## Bước 4 – Denoise: Giảm nhiễu nền + +Các tài liệu cũ thường có kết cấu giấy, bụi hoặc các artefact nén. Phương thức `setDenoiseLevel` áp dụng bộ lọc làm mịn nhiễu này. Mức 2 là điểm khởi đầu tốt cho hầu hết các trang quét. + +```java +// Step 4: Reduce noise (level 2) to improve recognition accuracy +ocr.getPreprocessing().setDenoiseLevel(2); +``` + +**Tại sao nó hữu ích**: Nhiễu tạo ra các cạnh giả mà engine OCR có thể hiểu nhầm thành ký tự. Bằng cách làm sạch ảnh, chúng ta **improve OCR accuracy** mà không làm mất các hình dạng glyph thực tế. + +--- + +## Bước 5 – Tăng độ tương phản: Làm nổi bật văn bản + +Nếu ảnh quét bị phai, độ tương phản giữa mực và giấy thấp, và engine gặp khó khăn trong việc phân biệt foreground và background. Một mức tăng độ tương phản vừa phải `1.4f` (tăng 40 %) thường đủ. + +```java +// Step 5: Boost contrast (1.4×) to make text stand out +ocr.getPreprocessing().setContrastBoost(1.4f); +``` + +*Trường hợp đặc biệt*: Đối với ảnh rất tối, có thể tăng hệ số lên (tối đa 2.0) để có hiệu quả tốt hơn, nhưng cần chú ý tránh clipping – các vùng quá sáng có thể trở thành trắng thuần, xóa mất chi tiết mỏng. + +--- + +## Bước 6 – Perform OCR Image – Bước xử lý cốt lõi + +Tất cả các bước chuẩn bị dẫn đến dòng lệnh này: thực sự chạy engine OCR trên ảnh đã tiền xử lý. + +```java +// Step 6: Perform OCR processing +OcrResult result = ocr.process(); +``` + +Bên trong, engine thực hiện các giai đoạn phân đoạn, nhận dạng ký tự và mô hình ngôn ngữ. Nếu bạn cần hỗ trợ đa ngôn ngữ, hãy đặt chúng trên engine **trước** khi gọi `process()`. + +--- + +## Bước 7 – Extract Text Scanned Page – Lấy kết quả + +Cuối cùng, chúng ta lấy chuỗi đã nhận dạng từ `OcrResult`. In ra console là đủ cho một demo nhanh, nhưng bạn cũng có thể ghi vào file, cơ sở dữ liệu, hoặc đưa vào pipeline NLP tiếp theo. + +```java +// Step 7: Output the recognized text +System.out.println(result.getText()); +``` + +**Kết quả mong đợi** (rút gọn để ngắn gọn): + +``` +In the beginning God created the heavens and the earth. +Now the earth was formless and empty... +``` + +Nếu kết quả vẫn còn rối, hãy xem lại các tham số tiền xử lý – đôi khi tăng mức denoise hoặc thay đổi hệ số tăng độ tương phản sẽ tạo ra sự khác biệt đáng kể. + +--- + +## Ví dụ Hoàn chỉnh + +Dưới đây là chương trình Java tự chứa, đầy đủ mà bạn có thể sao chép, dán và chạy. Nó bao gồm các import cần thiết, phương thức `main`, và các chú thích nội dòng giải thích từng bước. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demo: How to improve OCR accuracy in Java. + * This example shows how to load an image, preprocess it, + * perform OCR, and extract the recognized text. + */ +public class OcrAccuracyDemo { + + public static void main(String[] args) { + // 1️⃣ Create the OCR engine + OcrEngine ocr = new OcrEngine(); + + // 2️⃣ Load the image you want to process + // Replace with the actual path to your scanned page + ocr.setImage(new OcrInputImage("YOUR_DIRECTORY/old_book_page.png")); + + // 3️⃣ Enable deskew – corrects slight rotations + ocr.getPreprocessing().setDeskew(true); + + // 4️⃣ Reduce visual noise (level 2 works well for most scans) + ocr.getPreprocessing().setDenoiseLevel(2); + + // 5️⃣ Boost contrast to make the text stand out + ocr.getPreprocessing().setContrastBoost(1.4f); + + // 6️⃣ Run the OCR engine on the prepared image + OcrResult result = ocr.process(); + + // 7️⃣ Print the extracted text to the console + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +Lưu lại với tên `OcrAccuracyDemo.java`, biên dịch bằng `javac`, và chạy bằng `java`. Nếu mọi thứ đã được cấu hình đúng, bạn sẽ thấy văn bản đã được làm sạch được in ra terminal. + +--- + +## Câu hỏi Thường gặp & Trường hợp Đặc biệt + +**Q: Trang quét của tôi là màu – có nên chuyển sang grayscale trước không?** +A: Hầu hết các engine OCR sẽ tự chuyển sang grayscale, nhưng tự làm (ví dụ bằng `BufferedImage` và `ColorConvertOp`) có thể cho bạn kiểm soát chi tiết hơn về thuật toán chuyển đổi, đặc biệt khi nền không đồng nhất. + +**Q: Kết quả vẫn còn chứa các ký tự lạ. Tôi nên làm gì?** +A: Thử tăng `setDenoiseLevel` lên 3 hoặc điều chỉnh `setContrastBoost` lên 1.6f. Nếu vấn đề vẫn còn, hãy cân nhắc áp dụng **binary threshold** (binarization) trước OCR – nhiều thư viện cung cấp tùy chọn `setBinarization(true)`. + +**Q: Làm sao để xử lý PDF đa trang?** +A: Chuyển mỗi trang thành ảnh (sử dụng Apache PDFBox, ví dụ) và lặp qua các trang, tái sử dụng cùng một thể hiện `OcrEngine` nhưng reset ảnh ở mỗi vòng lặp. + +--- + +## Kết luận + +Bạn vừa học cách **cải thiện độ chính xác OCR** trong Java bằng cách **load image OCR** đúng cách, áp dụng deskew, denoise và tăng độ tương phản, sau đó **perform OCR image** và cuối cùng **extract text scanned page**. Bài học quan trọng là tiền xử lý thường là yếu tố hiệu quả nhất để nâng cao chất lượng nhận dạng – một ảnh được chuẩn bị tốt có thể tăng gấp đôi hoặc thậm chí gấp ba tỷ lệ ký tự đúng. + +Sẵn sàng cho bước tiếp theo? Hãy thử nghiệm với: + +- Các mức denoise khác nhau cho các ảnh rất nhiễu +- Tăng độ tương phản thích ứng dựa trên phân tích histogram ảnh +- Tích hợp mô hình ngôn ngữ (ví dụ, kiểm tra chính tả) sau khi trích xuất để làm sạch các lỗi còn lại + +Những mở rộng này sẽ giúp pipeline OCR của bạn sâu hơn và đủ mạnh để đáp ứng các tải công việc sản xuất. + +Nếu gặp khó khăn hoặc có mẹo hay ho, hãy để lại bình luận bên dưới. Chúc lập trình vui vẻ, và mong văn bản của bạn luôn rõ ràng! + +## Bạn nên học gì tiếp theo? + +Các tutorial sau đây đề cập đến các chủ đề liên quan chặt chẽ, xây dựng trên các kỹ thuật đã trình bày trong hướng dẫn này. Mỗi tài nguyên đều bao gồm mã nguồn hoạt động đầy đủ với các giải thích từng bước để giúp bạn làm chủ các tính năng API bổ sung và khám phá các cách triển khai thay thế trong dự án của mình. + +- [How to OCR Image Text with Language Using Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) +- [Extract Text from Image Java with Aspose.OCR Detect Areas Mode](/ocr/english/java/ocr-operations/perform-ocr-detect-areas-mode/) +- [recognize text image with Aspose OCR – Full Java OCR Tutorial](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/java/ocr-basics/_index.md b/ocr/vietnamese/java/ocr-basics/_index.md index a1b914e74..1b38725d1 100644 --- a/ocr/vietnamese/java/ocr-basics/_index.md +++ b/ocr/vietnamese/java/ocr-basics/_index.md @@ -101,6 +101,8 @@ Mở khóa tiềm năng của Aspose.OCR cho Java với hướng dẫn từng b 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ả. +### [Cách thực hiện OCR trong Java – Hướng dẫn đầy đủ để trích xuất văn bản từ hình ảnh](./how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/) +Hướng dẫn toàn diện cách thực hiện OCR trong Java, trích xuất văn bản từ hình ảnh một cách chi tiết và hiệu quả. --- @@ -113,4 +115,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/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md b/ocr/vietnamese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md new file mode 100644 index 000000000..2a28c9abd --- /dev/null +++ b/ocr/vietnamese/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/_index.md @@ -0,0 +1,249 @@ +--- +category: general +date: 2026-06-06 +description: cách thực hiện OCR trong Java – nhanh chóng trích xuất văn bản từ hình + ảnh, chuyển đổi hình ảnh thành văn bản và đọc văn bản từ jpg bằng một ví dụ mã đơn + giản. +draft: false +keywords: +- how to perform OCR +- ocr in java +- extract text from image +- convert image to text +- read text from jpg +language: vi +og_description: cách thực hiện OCR trong Java – học cách trích xuất văn bản từ hình + ảnh, chuyển đổi hình ảnh thành văn bản và đọc văn bản từ jpg với một ví dụ đã sẵn + sàng chạy. +og_title: Cách thực hiện OCR trong Java – Hướng dẫn từng bước +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + headline: How to Perform OCR in Java – Complete Guide to Extract Text from Images + type: TechArticle +- description: how to perform OCR in Java – quickly extract text from image, convert + image to text, and read text from jpg using a simple code example. + name: How to Perform OCR in Java – Complete Guide to Extract Text from Images + steps: + - name: What You’ll Learn + text: '- Install an OCR library (yes, **ocr in java** is easier than you think). + - Create and configure an OCR engine instance. - Load a JPG (or any image) and + set the language. - Process the image and **extract text from image** files. + - Print the recognized string to the console.' + - name: Expected Output + text: 'If `input.jpg` contains the Mongolian phrase “Сайн байна уу?” the console + will show:' + - name: 'Pro Tip: Batch Processing' + text: 'If you need to **extract text from image** files in bulk, wrap the core + logic in a loop:' + type: HowTo +tags: +- OCR +- Java +- Image Processing +title: Cách thực hiện OCR trong Java – Hướng dẫn toàn diện để trích xuất văn bản từ + hình ảnh +url: /vi/java/ocr-basics/how-to-perform-ocr-in-java-complete-guide-to-extract-text-fr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Thực Hiện OCR trong Java – Hướng Dẫn Toàn Diện để Trích Xuất Văn Bản từ Hình Ảnh + +Bạn đã bao giờ tự hỏi **cách thực hiện OCR** trên một bức ảnh bạn chụp bằng điện thoại chưa? Bạn không phải là người duy nhất. Dù bạn đang xây dựng một ứng dụng quét biên lai hay chỉ cần lấy văn bản từ một tệp PDF đã quét, **cách thực hiện OCR** trong Java là một kỹ năng mang lại lợi ích nhanh chóng. Trong hướng dẫn này, chúng tôi sẽ đi qua một ví dụ thực tế mà **extracts text from image** files, **converts image to text**, và thậm chí chỉ cho bạn cách **read text from jpg** chỉ với vài dòng mã. + +> *Mẹo chuyên gia:* Cùng một cách tiếp cận cũng hoạt động cho PNG, BMP, hoặc bất kỳ định dạng nào mà công cụ OCR hỗ trợ—chỉ cần đổi tên tệp. + +## Cách Thực Hiện OCR trong Java – Tổng Quan + +Nhận dạng ký tự quang học (Optical Character Recognition - OCR) là công nghệ biến các bức ảnh chứa chữ thành văn bản thực tế, có thể tìm kiếm được. Trong hệ sinh thái Java có một số thư viện—Tesseract, Asprise và các SDK thương mại—tất cả đều cung cấp quy trình làm việc tương tự: tải một hình ảnh, chỉ định ngôn ngữ cho engine, chạy quá trình nhận dạng và lấy kết quả. Dưới đây chúng tôi sẽ sử dụng một lớp `OcrEngine` chung để ví dụ rõ ràng, nhưng bạn có thể thay thế bằng bất kỳ triển khai cụ thể nào tuân theo cùng mẫu. + +### Những Điều Bạn Sẽ Học + +- Cài đặt một thư viện OCR (đúng vậy, **ocr in java** dễ hơn bạn nghĩ). +- Tạo và cấu hình một thể hiện OCR engine. +- Tải một JPG (hoặc bất kỳ hình ảnh nào) và đặt ngôn ngữ. +- Xử lý hình ảnh và **extract text from image** files. +- In chuỗi đã nhận dạng ra console. + +Khi kết thúc, bạn sẽ có một chương trình Java tự chứa mà bạn có thể chèn vào bất kỳ dự án nào và chạy ngay lập tức. + +![ví dụ cách thực hiện OCR](ocr-example.png "minh họa cách thực hiện OCR trong Java") + +## Bước 1 – Cài Đặt và Nhập Thư Viện OCR (ocr in java) + +Trước khi bạn viết một dòng Java nào, bạn cần một thư viện thực sự thực hiện công việc nặng. Nếu bạn dùng Maven, thêm một phụ thuộc như sau (thay `com.example.ocr` bằng group ID thực tế của SDK bạn chọn): + +```xml + + com.example + ocr-sdk + 1.4.2 + +``` + +Nếu bạn thích Gradle: + +```gradle +implementation 'com.example:ocr-sdk:1.4.2' +``` + +Khi JAR đã có trong classpath, nhập các lớp bạn sẽ cần: + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; +``` + +> **Tại sao điều này quan trọng:** Việc nhập đúng các lớp ngăn ngừa lỗi “cannot find symbol” và làm IDE của bạn hài lòng—không có gì gây bực bội hơn một import thiếu khi bạn đang cố **convert image to text**. + +## Bước 2 – Tạo Thể Hiện OCR Engine (how to perform OCR) + +Bây giờ thư viện đã sẵn sàng, khởi động engine. Hãy nghĩ engine như bộ não sẽ nhìn vào các pixel và đoán các ký tự. + +```java +// Step 2: Create an OCR engine instance +OcrEngine ocrEngine = new OcrEngine(); +``` + +Việc tạo engine thường không tốn kém; hầu hết SDK cấp phát bộ đệm nội bộ một cách lười biếng, vì vậy bạn có thể an toàn tái sử dụng cùng một thể hiện cho nhiều hình ảnh nếu đang xử lý một lô. + +## Bước 3 – Tải Hình Ảnh và Đặt Ngôn Ngữ (extract text from image) + +Bước tiếp theo là cung cấp cho engine một thứ để đọc. Ở đây chúng tôi tải một JPEG từ đĩa và thông báo cho OCR engine rằng văn bản là tiếng Mông Cổ (mã ISO 639‑2 “mon”). Bạn có thể thay đổi đường dẫn hoặc mã ngôn ngữ để phù hợp với trường hợp sử dụng của mình. + +```java +// Step 3: Load the image you want to recognize +ocrEngine.setImage(new OcrInputImage("YOUR_DIRECTORY/input.jpg")); + +// Step 3b: Specify the language (e.g., English = "eng", Mongolian = "mon") +ocrEngine.getSettings().setLanguage("mon"); +``` + +> **Lưu ý phụ:** Nếu bạn không đặt ngôn ngữ, engine sẽ mặc định tiếng Anh, điều này có thể làm giảm đáng kể độ chính xác khi văn bản thực tế là Cyrillic hoặc một chữ viết khác. Luôn chỉ định ngôn ngữ đúng khi có thể. + +## Bước 4 – Xử Lý Hình Ảnh và Lấy Kết Quả (convert image to text) + +Với hình ảnh và ngôn ngữ đã sẵn sàng, yêu cầu engine thực hiện phép màu của nó. Lệnh `process()` chạy thuật toán OCR và trả về một đối tượng `OcrResult` chứa chuỗi đã nhận dạng và các điểm tin cậy. + +```java +// Step 4: Process the image and obtain the recognition result +OcrResult ocrResult = ocrEngine.process(); +``` + +Trong hậu trường, engine có thể thực hiện tiền xử lý—điều chỉnh góc, nhị phân hoá, giảm nhiễu—để bạn không phải tự viết các bước này. Đó là lý do hầu hết các thư viện OCR hiện đại rất dễ dùng cho các nhiệm vụ **convert image to text**. + +## Bước 5 – Xuất Văn Bản Đã Trích Xuất (read text from jpg) + +Cuối cùng, lấy văn bản thuần từ kết quả và làm điều gì đó hữu ích với nó. Trong bản demo này chúng tôi chỉ in nó ra console, nhưng bạn có thể ghi vào tệp, đưa vào chỉ mục tìm kiếm, hoặc truyền cho một dịch vụ khác. + +```java +// Step 5: Output the extracted text +System.out.println(ocrResult.getText()); +``` + +Dòng lệnh đó đã chứng minh bạn đã **read text from jpg** thành công (hoặc bất kỳ định dạng nào được hỗ trợ). Nếu đầu ra bị rối, hãy kiểm tra lại mã ngôn ngữ và chất lượng hình ảnh. + +## Ví Dụ Hoàn Chỉnh (Tất Cả Các Bước Kết Hợp) + +Dưới đây là một lớp Java hoàn chỉnh, sẵn sàng chạy, kết nối mọi phần lại với nhau. Sao chép nó vào tệp có tên `OcrDemo.java`, điều chỉnh đường dẫn hình ảnh và ngôn ngữ, sau đó chạy `javac OcrDemo.java && java OcrDemo`. + +```java +import com.example.ocr.OcrEngine; +import com.example.ocr.OcrInputImage; +import com.example.ocr.OcrResult; + +/** + * Demonstrates how to perform OCR in Java using a generic OCR SDK. + * This example loads a JPG, sets the language to Mongolian, and prints + * the recognized text to the console. + * + * Replace the import package with the actual library you are using. + */ +public class OcrDemo { + + public static void main(String[] args) { + // Validate command‑line arguments + if (args.length < 2) { + System.err.println("Usage: java OcrDemo "); + System.exit(1); + } + + String imagePath = args[0]; // e.g., "input.jpg" + String language = args[1]; // e.g., "mon" for Mongolian + + // Step 1: Create the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + + // Step 2: Load the image + ocrEngine.setImage(new OcrInputImage(imagePath)); + + // Step 3: Set the language (ISO‑639‑2) + ocrEngine.getSettings().setLanguage(language); + + // Step 4: Run the recognition + OcrResult result = ocrEngine.process(); + + // Step 5: Print the extracted text + System.out.println("=== Recognized Text ==="); + System.out.println(result.getText()); + } +} +``` + +### Kết Quả Dự Kiến + +Nếu `input.jpg` chứa cụm từ tiếng Mông Cổ “Сайн байна уу?” console sẽ hiển thị: + +``` +=== Recognized Text === +Сайн байна уу? +``` + +Nếu hình ảnh mờ hoặc mã ngôn ngữ sai, bạn sẽ thấy ký tự rối hoặc chuỗi trống—những cạm bẫy phổ biến mà chúng tôi sẽ thảo luận tiếp theo. + +## Những Cạm Bẫy Thường Gặp và Cách Khắc Phục + +| Triệu chứng | Nguyên nhân có thể | Cách khắc phục | +|-------------|---------------------|----------------| +| Ký tự Cyrillic bị rối | Mã ngôn ngữ sai (mặc định tiếng Anh) | Đặt `ocrEngine.getSettings().setLanguage("mon")` hoặc mã thích hợp. | +| Không có đầu ra nào | Đường dẫn hình ảnh sai hoặc tệp không đọc được | Kiểm tra lại đường dẫn, đảm bảo tệp tồn tại và quá trình có quyền đọc. | +| Độ chính xác thấp (<70 %) | Hình ảnh có độ tương phản thấp hoặc bị xoay | Tiền xử lý hình ảnh: tăng độ tương phản, chỉnh góc, hoặc chuyển sang thang xám trước khi đưa vào engine. | +| `OutOfMemoryError` trên các PDF lớn | Tải nhiều trang độ phân giải cao cùng lúc | Xử lý từng trang một, hoặc giảm kích thước hình ảnh trước khi OCR. | + +### Mẹo Chuyên Gia: Xử Lý Hàng Loạt + +Nếu bạn cần **extract text from image** hàng loạt, hãy bọc logic cốt lõi trong một vòng lặp: + +```java +for (File img : new File("batchFolder").listFiles()) { + ocrEngine.setImage(new OcrInputImage(img.getAbsolutePath())); + OcrResult r = ocrEngine.process(); + System.out.println(r.getText()); +} +``` + +Đoạn mã này cho thấy việc mở rộng từ một JPG duy nhất sang toàn bộ thư mục các bản quét là bao nhiêu dễ dàng. + +## Tiếp Tục Khám Phá – Những Gì Bạn Nên Tìm Hiểu Tiếp Theo? + +- **Gói Ngôn Ngữ:** Hầu hết các OCR SDK cho phép bạn tải xuống các tệp dữ liệu ngôn ngữ bổ sung. Thêm một gói mới cho phép bạn **convert image to text** cho các ngôn ngữ ngoài tiếng Anh và tiếng Mông Cổ. +- **PDF OCR:** Kết hợp đoạn mã này với Apache PDFBox để + +## Bạn Nên Học Gì Tiếp Theo? + +Các hướng dẫn sau đây bao gồm các chủ đề liên quan chặt chẽ, xây dựng trên các kỹ thuật được trình bày trong hướng dẫn này. Mỗi tài nguyên bao gồm các ví dụ mã hoàn chỉnh với giải thích từng bước để giúp bạn nắm vững các tính năng API bổ sung và khám phá các cách triển khai thay thế trong dự án của mình. + +- [Trích Xuất Văn Bản Từ Hình Ảnh – Cơ Bản OCR với Aspose.OCR cho Java](/ocr/english/java/ocr-basics/) +- [Chuyển Đổi Hình Ảnh Thành Văn Bản trong Java bằng Aspose.OCR BufferedImage](/ocr/english/java/advanced-ocr-techniques/perform-ocr-buffered-image/) +- [Cách OCR Văn Bản Hình Ảnh với Ngôn Ngữ Sử Dụng Aspose.OCR](/ocr/english/java/ocr-operations/perform-ocr-language-selection/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/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..3c2fb3ec1 100644 --- a/ocr/vietnamese/java/ocr-operations/_index.md +++ b/ocr/vietnamese/java/ocr-operations/_index.md @@ -79,6 +79,8 @@ 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. +### [Áp dụng giấy phép Aspose OCR trong Java – Loại bỏ watermark OCR](./apply-aspose-ocr-license-in-java-remove-ocr-watermark/) +Mở khóa khả năng loại bỏ watermark OCR bằng cách áp dụng giấy phép Aspose OCR trong Java, giúp tài liệu sạch sẽ và chuyên nghiệp. ## Câu hỏi Thường gặp diff --git a/ocr/vietnamese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md b/ocr/vietnamese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md new file mode 100644 index 000000000..0bedf475d --- /dev/null +++ b/ocr/vietnamese/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-06-06 +description: Áp dụng giấy phép Aspose OCR trong Java để mở khóa toàn bộ tính năng + và ngay lập tức loại bỏ watermark OCR. +draft: false +keywords: +- apply aspose ocr license +- remove ocr watermark +language: vi +og_description: Áp dụng giấy phép Aspose OCR trong Java để loại bỏ giới hạn đánh giá + và xóa watermark OCR khỏi các bản quét của bạn. +og_title: Áp dụng giấy phép Aspose OCR trong Java – Loại bỏ watermark OCR +schemas: +- author: Aspose + dateModified: '2026-06-06' + description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + headline: Apply Aspose OCR License in Java – Remove OCR Watermark + type: TechArticle +- description: Apply Aspose OCR License in Java to unlock full features and remove + OCR watermark instantly. + name: Apply Aspose OCR License in Java – Remove OCR Watermark + steps: + - name: 1. Wrong License Path + text: If you pass an incorrect path to `setLicense`, the method silently fails + and the library stays in evaluation mode. Always check the return value or catch + the exception, as shown in `LicenseUtil`. + - name: 2. Using a Relative Path in a JAR‑Based Deployment + text: 'When you package your app as an executable JAR, relative file system paths + may break. A safer approach is to load the license as a resource stream:' + - name: 3. Multi‑Threaded Scenarios + text: If your application processes many images concurrently, you only need to + apply the license **once** per JVM. Re‑calling `setLicense` from multiple threads + can cause a tiny performance hit, though it won’t break anything. + - name: 4. License Expiration + text: Aspose licenses are usually perpetual, but some trial or limited‑time licenses + may expire. When that happens, the engine reverts to evaluation mode and the + **remove OCR watermark** behavior disappears. Keep an eye on the license expiration + date in the Aspose portal. + - name: What’s Next? + text: '- **Explore language packs:** Aspose OCR supports over 70 languages; just + set the appropriate `OcrEngine` property. - **Combine with Aspose PDF:** Convert + scanned images directly to searchable PDFs without watermark. - **Performance + tuning' + type: HowTo +tags: +- Aspose +- OCR +- Java +title: Áp dụng giấy phép Aspose OCR trong Java – Loại bỏ watermark OCR +url: /vi/java/ocr-operations/apply-aspose-ocr-license-in-java-remove-ocr-watermark/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Áp dụng giấy phép Aspose OCR trong Java – Xóa watermark OCR + +Bạn có bao giờ tự hỏi làm thế nào để **apply Aspose OCR license** trong một dự án Java mà không gặp watermark đánh giá đáng sợ không? Bạn không phải là người duy nhất. Ngay khi bạn thử bản dùng thử miễn phí, mọi hình ảnh đã quét đều bị dán lớp phủ màu xám “Aspose Evaluation”, và nó có thể làm cho ngay cả tài liệu sạch sẽ nhất trông không chuyên nghiệp. + +Trong hướng dẫn này, chúng tôi sẽ hướng dẫn chi tiết các bước để **apply Aspose OCR license**, xác minh rằng thư viện đã được mở khóa hoàn toàn, và cho bạn thấy cách watermark tự động biến mất. Khi kết thúc, bạn sẽ có thể chạy OCR trên bất kỳ hình ảnh nào—dù là biên lai, ảnh quét hộ chiếu, hay ghi chú viết tay—mà không còn lớp phủ xấu xí. + +## Yêu cầu trước + +- **Java Development Kit (JDK) 8** hoặc mới hơn đã được cài đặt. +- **Aspose OCR for Java** file JAR (tải từ cổng thông tin Aspose). +- **Tệp giấy phép Aspose OCR** của bạn (`Aspose.OCR.Java.lic`). +- Một IDE hoặc trình soạn thảo văn bản đơn giản (IntelliJ, Eclipse, VS Code—tùy bạn). + +Đó là tất cả. Không cần plugin Maven hay thủ thuật Gradle nào thêm, mặc dù bạn hoàn toàn có thể thêm chúng sau nếu muốn. + +## Cài đặt dự án (Tổng quan nhanh) + +1. Tạo một thư mục mới có tên `AsposeOCRDemo`. +2. Đặt file `aspose-ocr-*.jar` vào thư mục con **lib**. +3. Đặt file `Aspose.OCR.Java.lic` của bạn ở vị trí có thể truy cập được, ví dụ, thư mục `resources/`. +4. Viết một file `Main.java` nhỏ—đây là nơi phép màu xảy ra. + +Nếu bạn đang sử dụng IDE, chỉ cần thêm JAR vào classpath của dự án và đánh dấu thư mục `resources` là gốc tài nguyên. Nếu bạn biên dịch từ dòng lệnh, classpath sẽ trông giống như sau: + +```bash +javac -cp "lib/*" src/Main.java +java -cp "lib/*:src" Main +``` + +Bây giờ khung sườn đã sẵn sàng, chúng ta hãy đi vào phần cốt lõi của vấn đề. + +## Bước 1: **Apply Aspose OCR License** – Mã cốt lõi + +Điều đầu tiên bạn phải làm là thông báo cho engine Aspose OCR tin tưởng tệp giấy phép của bạn. Nếu không gọi hàm này, thư viện sẽ ở chế độ đánh giá và sẽ tiếp tục thêm watermark vào mọi kết quả. + +```java +import com.aspose.ocr.License; + +public class LicenseUtil { + /** + * Loads the Aspose OCR license from the given path. + * This method throws an exception if the file cannot be found + * or if the license is invalid. + */ + public static void applyAsposeOcrLicense(String licensePath) { + try { + License license = new License(); // Step 1: create a License object + license.setLicense(licensePath); // Step 2: apply Aspose OCR license + System.out.println("License applied successfully."); // Confirmation + } catch (Exception ex) { + System.err.println("Failed to apply license: " + ex.getMessage()); + ex.printStackTrace(); + } + } +} +``` + +> **Tại sao điều này quan trọng:** Lớp `License` là người kiểm soát. Ngay khi `setLicense` thành công, engine OCR chuyển từ chế độ *evaluation* sang *full*. Tất cả các kiểm tra nội bộ thường thêm logic **remove OCR watermark** sẽ bị vô hiệu hoá, vì vậy bạn sẽ không bao giờ thấy lớp phủ màu xám nữa. +> +> **Mẹo chuyên nghiệp:** Giữ tệp giấy phép ngoài hệ thống kiểm soát nguồn (ví dụ, trong thư mục riêng cho môi trường) để tránh việc commit nhầm. + +## Bước 2: Xác minh watermark đã biến mất + +Sau khi bạn đã gọi `applyAsposeOcrLicense`, nên thực hiện một bài kiểm tra nhanh. Đoạn mã dưới đây tải một hình ảnh, thực hiện OCR và in ra văn bản đã trích xuất. Nếu giấy phép không hoạt động, Aspose sẽ ném ngoại lệ hoặc nhúng watermark vào hình ảnh đầu ra (nếu bạn lưu kết quả dưới dạng hình ảnh). + +```java +import com.aspose.ocr.AsposeOcr; +import com.aspose.ocr.ImageInfo; +import com.aspose.ocr.OcrEngine; +import com.aspose.ocr.OcrResult; + +public class OcrDemo { + public static void main(String[] args) { + // Apply the license first + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + + // Path to the image you want to process + String imagePath = "resources/sample_invoice.png"; + + // Initialize the OCR engine + OcrEngine ocrEngine = new OcrEngine(); + ImageInfo imgInfo = new ImageInfo(imagePath); + ocrEngine.setImageInfo(imgInfo); + + // Perform OCR + OcrResult result = ocrEngine.recognize(); + + // Output the recognized text + System.out.println("---- Recognized Text ----"); + System.out.println(result.getText()); + + // If you save the image after OCR, no watermark will be present + // ocrEngine.save("output/clean_image.png"); // optional + } +} +``` + +**Kết quả mong đợi (trích đoạn):** + +``` +License applied successfully. +---- Recognized Text ---- +Invoice #12345 +Date: 2024‑04‑01 +Total: $250.00 +... +``` + +Lưu ý không có bất kỳ đề cập nào đến watermark đánh giá ở bất kỳ đâu. Đó là hiệu ứng **remove OCR watermark** đang hoạt động. + +## Bước 3: Những lỗi thường gặp & các trường hợp đặc biệt + +### 1. Đường dẫn giấy phép sai + +Nếu bạn truyền một đường dẫn không đúng cho `setLicense`, phương thức sẽ thất bại một cách im lặng và thư viện sẽ ở chế độ evaluation. Luôn kiểm tra giá trị trả về hoặc bắt ngoại lệ, như được minh họa trong `LicenseUtil`. + +### 2. Sử dụng đường dẫn tương đối trong triển khai dạng JAR + +Khi bạn đóng gói ứng dụng thành JAR thực thi, các đường dẫn tương đối trên hệ thống tệp có thể bị lỗi. Cách an toàn hơn là tải giấy phép dưới dạng luồng tài nguyên: + +```java +License license = new License(); +try (InputStream licStream = OcrDemo.class.getResourceAsStream("/Aspose.OCR.Java.lic")) { + license.setLicense(licStream); +} +``` + +Đặt tệp `.lic` vào `src/main/resources` để nó xuất hiện trên classpath. + +### 3. Kịch bản đa luồng + +Nếu ứng dụng của bạn xử lý nhiều hình ảnh đồng thời, bạn chỉ cần áp dụng giấy phép **một lần** cho mỗi JVM. Gọi lại `setLicense` từ nhiều luồng có thể gây một chút giảm hiệu năng, nhưng sẽ không làm hỏng gì. + +### 4. Hết hạn giấy phép + +Giấy phép Aspose thường là vĩnh viễn, nhưng một số giấy phép dùng thử hoặc có thời hạn có thể hết hạn. Khi điều đó xảy ra, engine sẽ quay lại chế độ evaluation và hành vi **remove OCR watermark** sẽ biến mất. Hãy chú ý đến ngày hết hạn giấy phép trên cổng thông tin Aspose. + +## Bước 4: Tự động áp dụng giấy phép trong dự án thực tế + +Trong một microservice sản xuất, bạn có thể không muốn rải rác `LicenseUtil.applyAsposeOcrLicense` khắp codebase. Thay vào đó, khởi tạo một lần duy nhất khi ứng dụng khởi động—ví dụ phương thức `@PostConstruct` của Spring Boot hoặc một khối khởi tạo tĩnh. + +```java +public class AppInitializer { + static { + LicenseUtil.applyAsposeOcrLicense(System.getenv("ASPOSE_OCR_LICENSE")); + } +} +``` + +Bây giờ mọi thành phần sử dụng `OcrEngine` có thể yên tâm rằng giấy phép đã được kích hoạt, đảm bảo tính năng **remove OCR watermark** trên toàn bộ dịch vụ. + +## Bước 5: Kiểm tra tích hợp giấy phép + +Các bài kiểm tra tự động có thể xác nhận rằng watermark thực sự đã biến mất. Một bài kiểm tra JUnit đơn giản có thể trông như sau: + +```java +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +public class LicenseIntegrationTest { + @Test + public void testLicenseRemovesWatermark() { + LicenseUtil.applyAsposeOcrLicense("resources/Aspose.OCR.Java.lic"); + OcrEngine engine = new OcrEngine(); + ImageInfo info = new ImageInfo("resources/watermarked_sample.png"); + engine.setImageInfo(info); + OcrResult res = engine.recognize(); + + // The presence of any "Aspose Evaluation" text indicates failure + assertFalse(res.getText().contains("Aspose Evaluation"), + "OCR result still contains evaluation watermark!"); + } +} +``` + +Chạy bài kiểm tra này sẽ cho bạn sự chắc chắn rằng pipeline triển khai sẽ không vô tình phát hành bản build không có giấy phép. + +## Tổng quan trực quan (Tùy chọn) + +Nếu bạn thích nhìn thấy mọi thứ dưới dạng đồ họa, đây là sơ đồ nhanh của quy trình: + +![Apply Aspose OCR License in Java](apply-aspose-ocr-license.png "Apply Aspose OCR License in Java") + +*Alt text: Áp dụng giấy phép Aspose OCR trong Java – sơ đồ hiển thị việc tải giấy phép sau đó xử lý OCR mà không có watermark.* + +## Kết luận + +Chúng tôi đã bao phủ mọi thứ bạn cần để **apply Aspose OCR license** trong môi trường Java và, như một hiệu ứng phụ trực tiếp, **remove OCR watermark** khỏi tất cả các hình ảnh đã xử lý. Từ việc tạo đối tượng `License`, xử lý các vấn đề về đường dẫn, xác minh kết quả, đến việc tích hợp vào một ứng dụng lớn hơn—mỗi bước đều được giải thích kèm theo “tại sao” chứ không chỉ “cách làm”. + +Bây giờ bạn có thể tích hợp Aspose OCR vào bất kỳ dự án Java nào, tự tin rằng người dùng của bạn sẽ không bao giờ thấy thẻ đánh giá gây phiền nhiễu nữa. + +### Tiếp theo là gì? + +- **Khám phá các gói ngôn ngữ:** Aspose OCR hỗ trợ hơn 70 ngôn ngữ; chỉ cần đặt thuộc tính `OcrEngine` phù hợp. +- **Kết hợp với Aspose PDF:** Chuyển đổi hình ảnh đã quét trực tiếp thành PDF có thể tìm kiếm mà không có watermark. +- **Tối ưu hiệu năng** + +## Bạn nên học gì tiếp theo? + +Các hướng dẫn sau đây bao gồm các chủ đề liên quan chặt chẽ, xây dựng dựa trên các kỹ thuật được trình bày trong hướng dẫn này. Mỗi tài nguyên bao gồm các ví dụ mã hoạt động đầy đủ với các giải thích từng bước để giúp bạn nắm vững các tính năng API bổ sung và khám phá các cách triển khai thay thế trong dự án của mình. + +- [Cách thiết lập giấy phép và xác minh Aspose.OCR License trong Java](/ocr/english/java/ocr-basics/set-license/) +- [Nhận dạng văn bản từ hình ảnh với Aspose OCR – Hướng dẫn OCR Java đầy đủ](/ocr/english/java/ocr-operations/recognize-text-image-with-aspose-ocr-full-java-ocr-tutorial/) +- [Tính góc nghiêng với Aspose OCR Java – Hướng dẫn đầy đủ](/ocr/english/java/) + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file