From 70f76fb9dcc7a812cf40bc45e97f1de95aa006eb Mon Sep 17 00:00:00 2001 From: Muhammad Adil Date: Sat, 7 Mar 2026 14:33:54 +0000 Subject: [PATCH] Add 9 ocr net tutorials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Categories: ocr-configuration, ocr-optimization, text-recognition Source: AI Search API Tutorials: - read text from png – extract Cyrillic text with Aspose OCR - recognize Hindi text in C# – Complete Aspose OCR Guide - How to Create ePub from Images in C# – Step-by-Step Guide - How to Deskew Image and Run OCR in C# – Complete Guide - recognize text from image in C# – Complete Aspose OCR Guide - Extract Text from PNG in C# – Full OCR Guide - Aspose OCR Example – Enable Spellcheck and Fix Errors in C# - How to Use OCR in C# – Extract Text from Images Offline - How to Perform OCR on Chinese Images – Complete C# Guide Auto-generated by Professionalize.Tutorials Agent --- ocr/arabic/net/ocr-configuration/_index.md | 4 +- .../_index.md | 202 +++++++++++ ocr/arabic/net/ocr-optimization/_index.md | 6 + .../_index.md | 216 ++++++++++++ .../_index.md | 218 ++++++++++++ .../_index.md | 267 +++++++++++++++ ocr/arabic/net/text-recognition/_index.md | 15 +- .../_index.md | 254 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 245 +++++++++++++ .../_index.md | 226 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/chinese/net/ocr-configuration/_index.md | 6 +- .../_index.md | 182 ++++++++++ ocr/chinese/net/ocr-optimization/_index.md | 8 + .../_index.md | 214 ++++++++++++ .../_index.md | 218 ++++++++++++ .../_index.md | 264 ++++++++++++++ ocr/chinese/net/text-recognition/_index.md | 13 +- .../_index.md | 252 ++++++++++++++ .../_index.md | 232 +++++++++++++ .../_index.md | 243 +++++++++++++ .../_index.md | 224 ++++++++++++ .../_index.md | 226 ++++++++++++ ocr/czech/net/ocr-configuration/_index.md | 4 +- .../_index.md | 202 +++++++++++ ocr/czech/net/ocr-optimization/_index.md | 6 + .../_index.md | 218 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/czech/net/text-recognition/_index.md | 13 +- .../_index.md | 254 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 225 ++++++++++++ .../_index.md | 222 ++++++++++++ .../_index.md | 226 ++++++++++++ ocr/dutch/net/ocr-configuration/_index.md | 4 +- .../_index.md | 201 +++++++++++ ocr/dutch/net/ocr-optimization/_index.md | 6 + .../_index.md | 221 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 268 +++++++++++++++ ocr/dutch/net/text-recognition/_index.md | 13 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 227 ++++++++++++ .../_index.md | 223 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/english/net/ocr-configuration/_index.md | 4 +- .../_index.md | 202 +++++++++++ ocr/english/net/ocr-optimization/_index.md | 10 +- .../_index.md | 218 ++++++++++++ .../_index.md | 220 ++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/english/net/text-recognition/_index.md | 13 +- .../_index.md | 254 ++++++++++++++ .../_index.md | 233 +++++++++++++ .../_index.md | 245 +++++++++++++ .../_index.md | 222 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/french/net/ocr-configuration/_index.md | 5 +- .../_index.md | 203 +++++++++++ ocr/french/net/ocr-optimization/_index.md | 6 + .../_index.md | 222 ++++++++++++ .../_index.md | 222 ++++++++++++ .../_index.md | 269 +++++++++++++++ ocr/french/net/text-recognition/_index.md | 13 +- .../_index.md | 256 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 247 ++++++++++++++ .../_index.md | 227 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/german/net/ocr-configuration/_index.md | 4 +- .../_index.md | 200 +++++++++++ ocr/german/net/ocr-optimization/_index.md | 8 +- .../_index.md | 220 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 268 +++++++++++++++ ocr/german/net/text-recognition/_index.md | 13 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 247 ++++++++++++++ .../_index.md | 227 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/greek/net/ocr-configuration/_index.md | 4 +- .../_index.md | 203 +++++++++++ ocr/greek/net/ocr-optimization/_index.md | 13 +- .../_index.md | 219 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 268 +++++++++++++++ ocr/greek/net/text-recognition/_index.md | 13 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 227 ++++++++++++ .../_index.md | 223 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/hindi/net/ocr-configuration/_index.md | 4 +- .../_index.md | 200 +++++++++++ ocr/hindi/net/ocr-optimization/_index.md | 9 + .../_index.md | 217 ++++++++++++ .../_index.md | 220 ++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/hindi/net/text-recognition/_index.md | 31 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 243 +++++++++++++ .../_index.md | 222 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/hongkong/net/ocr-configuration/_index.md | 4 +- .../_index.md | 200 +++++++++++ ocr/hongkong/net/ocr-optimization/_index.md | 8 + .../_index.md | 217 ++++++++++++ .../_index.md | 215 ++++++++++++ .../_index.md | 265 ++++++++++++++ ocr/hongkong/net/text-recognition/_index.md | 23 +- .../_index.md | 252 ++++++++++++++ .../_index.md | 232 +++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 224 ++++++++++++ .../_index.md | 224 ++++++++++++ ocr/hungarian/net/ocr-configuration/_index.md | 6 +- .../_index.md | 187 ++++++++++ ocr/hungarian/net/ocr-optimization/_index.md | 11 +- .../_index.md | 219 ++++++++++++ .../_index.md | 219 ++++++++++++ .../_index.md | 268 +++++++++++++++ ocr/hungarian/net/text-recognition/_index.md | 13 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 246 +++++++++++++ .../_index.md | 228 +++++++++++++ .../_index.md | 227 ++++++++++++ .../net/ocr-configuration/_index.md | 3 +- .../_index.md | 202 +++++++++++ ocr/indonesian/net/ocr-optimization/_index.md | 6 + .../_index.md | 220 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 268 +++++++++++++++ ocr/indonesian/net/text-recognition/_index.md | 15 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 247 ++++++++++++++ .../_index.md | 226 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/italian/net/ocr-configuration/_index.md | 4 +- .../_index.md | 203 +++++++++++ ocr/italian/net/ocr-optimization/_index.md | 8 +- .../_index.md | 220 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 267 +++++++++++++++ ocr/italian/net/text-recognition/_index.md | 13 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 247 ++++++++++++++ .../_index.md | 223 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/japanese/net/ocr-configuration/_index.md | 4 +- .../_index.md | 200 +++++++++++ ocr/japanese/net/ocr-optimization/_index.md | 6 + .../_index.md | 216 ++++++++++++ .../_index.md | 220 ++++++++++++ .../_index.md | 323 ++++++++++++++++++ ocr/japanese/net/text-recognition/_index.md | 13 +- .../_index.md | 252 ++++++++++++++ .../_index.md | 231 +++++++++++++ .../_index.md | 243 +++++++++++++ .../_index.md | 220 ++++++++++++ .../_index.md | 224 ++++++++++++ ocr/korean/net/ocr-configuration/_index.md | 6 +- .../_index.md | 200 +++++++++++ ocr/korean/net/ocr-optimization/_index.md | 7 +- .../_index.md | 218 ++++++++++++ .../_index.md | 217 ++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/korean/net/text-recognition/_index.md | 12 +- .../_index.md | 254 ++++++++++++++ .../_index.md | 232 +++++++++++++ .../_index.md | 225 ++++++++++++ .../_index.md | 222 ++++++++++++ .../_index.md | 225 ++++++++++++ ocr/polish/net/ocr-configuration/_index.md | 4 +- .../_index.md | 197 +++++++++++ ocr/polish/net/ocr-optimization/_index.md | 12 +- .../_index.md | 219 ++++++++++++ .../_index.md | 219 ++++++++++++ .../_index.md | 268 +++++++++++++++ ocr/polish/net/text-recognition/_index.md | 13 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 226 ++++++++++++ .../_index.md | 227 ++++++++++++ .../_index.md | 227 ++++++++++++ .../net/ocr-configuration/_index.md | 4 +- .../_index.md | 200 +++++++++++ ocr/portuguese/net/ocr-optimization/_index.md | 10 +- .../_index.md | 220 ++++++++++++ .../_index.md | 219 ++++++++++++ .../_index.md | 267 +++++++++++++++ ocr/portuguese/net/text-recognition/_index.md | 13 +- .../_index.md | 254 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 245 +++++++++++++ .../_index.md | 227 ++++++++++++ .../_index.md | 228 +++++++++++++ ocr/russian/net/ocr-configuration/_index.md | 5 +- .../_index.md | 204 +++++++++++ ocr/russian/net/ocr-optimization/_index.md | 8 + .../_index.md | 220 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 268 +++++++++++++++ ocr/russian/net/text-recognition/_index.md | 13 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 246 +++++++++++++ .../_index.md | 227 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/spanish/net/ocr-configuration/_index.md | 4 +- .../_index.md | 200 +++++++++++ ocr/spanish/net/ocr-optimization/_index.md | 6 + .../_index.md | 221 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 267 +++++++++++++++ ocr/spanish/net/text-recognition/_index.md | 17 +- .../_index.md | 254 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 246 +++++++++++++ .../_index.md | 223 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/swedish/net/ocr-configuration/_index.md | 3 +- .../_index.md | 202 +++++++++++ ocr/swedish/net/ocr-optimization/_index.md | 6 + .../_index.md | 216 ++++++++++++ .../_index.md | 218 ++++++++++++ .../_index.md | 267 +++++++++++++++ ocr/swedish/net/text-recognition/_index.md | 14 +- .../_index.md | 254 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 246 +++++++++++++ .../_index.md | 222 ++++++++++++ .../_index.md | 227 ++++++++++++ ocr/thai/net/ocr-configuration/_index.md | 4 +- .../_index.md | 200 +++++++++++ ocr/thai/net/ocr-optimization/_index.md | 8 + .../_index.md | 218 ++++++++++++ .../_index.md | 217 ++++++++++++ .../_index.md | 266 +++++++++++++++ ocr/thai/net/text-recognition/_index.md | 11 +- .../_index.md | 253 ++++++++++++++ .../_index.md | 232 +++++++++++++ .../_index.md | 225 ++++++++++++ .../_index.md | 226 ++++++++++++ .../_index.md | 225 ++++++++++++ ocr/turkish/net/ocr-configuration/_index.md | 4 +- .../_index.md | 202 +++++++++++ ocr/turkish/net/ocr-optimization/_index.md | 6 + .../_index.md | 216 ++++++++++++ .../_index.md | 219 ++++++++++++ .../_index.md | 267 +++++++++++++++ ocr/turkish/net/text-recognition/_index.md | 15 +- .../_index.md | 255 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 247 ++++++++++++++ .../_index.md | 222 ++++++++++++ .../_index.md | 227 ++++++++++++ .../net/ocr-configuration/_index.md | 3 +- .../_index.md | 202 +++++++++++ ocr/vietnamese/net/ocr-optimization/_index.md | 6 + .../_index.md | 218 ++++++++++++ .../_index.md | 221 ++++++++++++ .../_index.md | 267 +++++++++++++++ ocr/vietnamese/net/text-recognition/_index.md | 13 +- .../_index.md | 256 ++++++++++++++ .../_index.md | 234 +++++++++++++ .../_index.md | 246 +++++++++++++ .../_index.md | 222 ++++++++++++ .../_index.md | 227 ++++++++++++ 276 files changed, 48488 insertions(+), 76 deletions(-) create mode 100644 ocr/arabic/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/arabic/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/arabic/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/arabic/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/arabic/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/arabic/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/arabic/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/arabic/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/arabic/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/chinese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/chinese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/chinese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/chinese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/chinese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/chinese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/chinese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/chinese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/chinese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/czech/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/czech/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/czech/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/czech/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/czech/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/czech/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/czech/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/czech/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/czech/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/dutch/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/dutch/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/dutch/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/dutch/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/dutch/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/dutch/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/dutch/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/dutch/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/dutch/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/english/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/english/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/english/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/english/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/english/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/english/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/english/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/english/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/english/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/french/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/french/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/french/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/french/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/french/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/french/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/french/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/french/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/french/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/german/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/german/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/german/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/german/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/german/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/german/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/german/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/german/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/german/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/greek/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/greek/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/greek/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/greek/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/greek/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/greek/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/greek/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/greek/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/greek/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/hindi/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/hindi/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/hindi/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/hindi/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/hindi/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/hindi/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/hindi/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/hindi/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/hindi/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/hongkong/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/hongkong/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/hongkong/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/hongkong/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/hongkong/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/hongkong/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/hongkong/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/hongkong/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/hongkong/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/hungarian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/hungarian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/hungarian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/hungarian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/hungarian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/hungarian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/hungarian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/hungarian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/hungarian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/indonesian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/indonesian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/indonesian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/indonesian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/indonesian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/indonesian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/indonesian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/indonesian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/indonesian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/italian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/italian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/italian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/italian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/italian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/italian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/italian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/italian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/italian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/japanese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/japanese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/japanese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/japanese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/japanese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/japanese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/japanese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/japanese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/japanese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/korean/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/korean/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/korean/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/korean/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/korean/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/korean/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/korean/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/korean/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/korean/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/polish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/polish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/polish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/polish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/polish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/polish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/polish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/polish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/polish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/portuguese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/portuguese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/portuguese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/portuguese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/portuguese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/portuguese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/portuguese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/portuguese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/portuguese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/russian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/russian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/russian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/russian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/russian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/russian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/russian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/russian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/russian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/spanish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/spanish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/spanish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/spanish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/spanish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/spanish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/spanish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/spanish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/spanish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/swedish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/swedish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/swedish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/swedish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/swedish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/swedish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/swedish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/swedish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/swedish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/thai/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/thai/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/thai/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/thai/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/thai/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/thai/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/thai/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/thai/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/thai/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/turkish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/turkish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/turkish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/turkish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/turkish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/turkish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/turkish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/turkish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/turkish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/vietnamese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md create mode 100644 ocr/vietnamese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md create mode 100644 ocr/vietnamese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md create mode 100644 ocr/vietnamese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md create mode 100644 ocr/vietnamese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md create mode 100644 ocr/vietnamese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md create mode 100644 ocr/vietnamese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md create mode 100644 ocr/vietnamese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md create mode 100644 ocr/vietnamese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md diff --git a/ocr/arabic/net/ocr-configuration/_index.md b/ocr/arabic/net/ocr-configuration/_index.md index 64743e9bd..4caa78c78 100644 --- a/ocr/arabic/net/ocr-configuration/_index.md +++ b/ocr/arabic/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ weight: 24 استفد من قدرات OCR القوية مع Aspose.OCR for .NET. استخراج النص من الصور بسلاسة. ### [OCROperation مع القائمة في التعرف على الصور باستخدام OCR](./ocr-operation-with-list/) اكتشف إمكانات Aspose.OCR for .NET. تنفيذ التعرف على الصور باستخدام OCR مع القوائم بسهولة. عزّز الإنتاجية واستخراج البيانات في تطبيقاتك. +### [قراءة النص من PNG – استخراج النص السيريلي باستخدام Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +تعلم كيفية استخراج النص السيريلي من ملفات PNG باستخدام مكتبة Aspose OCR في .NET. ### حالات الاستخدام الشائعة - **استخراج نصوص الصور** من الفواتير الممسوحة لأتمتة المحاسبة. @@ -102,4 +104,4 @@ weight: 24 {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/arabic/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..c54b2c764 --- /dev/null +++ b/ocr/arabic/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-03-07 +description: تعلم كيفية قراءة النص من ملفات PNG واستخراج النص السيريلي باستخدام Aspose + OCR، وتحويل الصورة إلى نص، وتنزيل حزمة اللغة السيريالية. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: ar +og_description: تعلم كيفية قراءة النص من ملف PNG، استخراج النص السيريلي، وتحويل الصورة + إلى نص باستخدام Aspose OCR في C#. +og_title: قراءة النص من PNG – استخراج النص السيريلي باستخدام Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: قراءة النص من PNG – استخراج النص السيريلي باستخدام Aspose OCR +url: /ar/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# قراءة النص من PNG – استخراج النص السيريلي باستخدام Aspose OCR + +هل تحتاج إلى **قراءة النص من PNG** واستخراج الأحرف السيريليّة؟ في هذا الدليل سنوضح لك كيفية قراءة النص من PNG باستخدام Aspose OCR، استخراج النص السيريلي، و**تحويل الصورة إلى نص** في بضع أسطر فقط من C#. + +إذا سبق لك أن نظرت إلى لقطة شاشة لفاتورة روسية وتساءلت كيف يمكنك تحويل الكلمات إلى سلسلة قابلة للبحث، فأنت في المكان الصحيح. سنغطي أيضًا كيفية **تنزيل حزمة اللغة السيريليّة** تلقائيًا، حتى لا تحتاج للبحث عن ملفات إضافية. + +## ما ستحققه + +بنهاية هذا البرنامج التعليمي ستكون قادرًا على: + +* **تحميل صورة للـ OCR** مباشرةً من القرص أو من تدفق بيانات. +* ضبط المحرك على **اللغة السيريليّة** دون الحاجة لتنزيلات يدوية. +* تشغيل التعرف و**استخراج النص السيريلي** من ملف PNG. +* رؤية النص المستخرج يُطبع على وحدة التحكم – نتيجة نصية نظيفة يمكنك إدخالها في قواعد البيانات، فهارس البحث، أو أي سير عمل آخر. + +بدون خدمات خارجية، بدون مفاتيح سحابة، فقط حزمة Aspose OCR NuGet وبضع أسطر من C#. + +## المتطلبات المسبقة + +* .NET 6.0 أو أحدث (الكود يعمل على .NET Core، .NET Framework، و .NET 5+). +* Visual Studio 2022 أو أي محرر تفضله. +* حزمة Aspose.OCR NuGet (`dotnet add package Aspose.OCR`). +* صورة PNG تحتوي على أحرف سيريليّة – على سبيل المثال `cyrillic_sample.png` موجودة في مجلد اسمه `YOUR_DIRECTORY`. + +> **نصيحة احترافية:** إذا كنت تستخدم Visual Studio، انقر بزر الماوس الأيمن على المشروع → **Manage NuGet Packages** → ابحث عن “Aspose.OCR” وقم بتثبيت أحدث نسخة مستقرة. + +--- + +## الخطوة 1 – تثبيت Aspose OCR وإنشاء المحرك + +أولاً نحتاج إلى كائن محرك OCR. فئة `OcrEngine` هي نقطة الدخول لجميع العمليات. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **لماذا هذا مهم:** المحرك يضم حزم اللغات، بيانات الصورة، وخيارات التعرف. إنشاء نسخة واحدة وإعادة استخدامها عبر صور متعددة يمكن أن يحسّن الأداء. + +--- + +## الخطوة 2 – **تحميل الصورة للـ OCR** وتحديد اللغة + +الآن نخبر المحرك أي صورة يجب معالجتها وأي لغة يبحث عنها. ضبط `Language.Cyrillic` يقوم تلقائيًا بتنزيل حزمة اللغة المطلوبة في المرة الأولى التي يُشغل فيها. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **حالة خاصة:** إذا كان ملف PNG كبيرًا (أكثر من 5 ميغابايت) قد ترغب في تغيير حجمه أولًا لتسريع عملية التعرف. خاصية `Image` تقبل أيضًا `Stream`، لذا يمكنك التحميل من الذاكرة، طلب ويب، أو Azure Blob دون الحاجة للوصول إلى نظام الملفات. + +--- + +## الخطوة 3 – **تحويل الصورة إلى نص** باستدعاء واحد + +عملية التعرف بسيطة كما في استدعاء `Recognize()`. بعد هذا الاستدعاء، خاصية `Text` تحتوي على السلسلة المستخرجة. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **ماذا يحدث خلف الكواليس؟** Aspose يستخدم مصنفًا معتمدًا على الشبكات العصبية تم تدريبه على ملايين الحروف السيريليّة. المكتبة تُجرد كل هذه التعقيدات، لتُعطيك Unicode نظيفًا. + +--- + +## الخطوة 4 – إخراج النتيجة (أو تمريرها لمكان آخر) + +لأغراض العرض سنطبع النص على وحدة التحكم، لكن يمكنك بسهولة كتابته إلى ملف، قاعدة بيانات، أو تمريره إلى فهرس بحث. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**الناتج المتوقع** (بافتراض أن `cyrillic_sample.png` يحتوي على العبارة “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +إذا ظهر الناتج مشوّهًا، تحقق من وضوح الصورة وأنك ضبطت `Language.Cyrillic`. المحرك يفرض اللغة الإنجليزية افتراضيًا، مما سيعامل الأحرف السيريليّة كرموز غير معروفة. + +--- + +## الخطوة 5 – مثال كامل قابل للتنفيذ + +نجمع كل ما سبق في برنامج مستقل يمكنك نسخه ولصقه في مشروع وحدة تحكم جديد. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +احفظ الملف باسم `Program.cs`، نفّذ `dotnet run`، ويجب أن ترى النص السيريلي يُطبع على الشاشة. + +--- + +## أسئلة شائعة & استكشاف الأخطاء + +| السؤال | الجواب | +|----------|--------| +| **ماذا لو لم يتم تنزيل حزمة اللغة؟** | تأكد من أن الجهاز متصل بالإنترنت. الحزمة تُخزن مؤقتًا في `%USERPROFILE%\.Aspose\OCR\Languages`. حذف هذا المجلد يجبر البرنامج على إعادة التنزيل. | +| **هل يمكن قراءة لغات أخرى غير السيريليّة؟** | بالطبع – استبدل `Language.Cyrillic` بـ `Language.English` أو `Language.Arabic` وغيرها. منطق التنزيل التلقائي يعمل بنفس الطريقة. | +| **صورة PNG مشوشة – النتائج سيئة. ماذا أفعل؟** | عالج الصورة مسبقًا: زد التباين، حوّلها إلى تدرج رمادي، أو طبّق مرشح متوسط. Aspose OCR يوفر أيضًا خيارات `Settings.ImagePreprocess`. | +| **هل يمكن الحصول على إطارات حدودية لكل كلمة؟** | نعم، بعد `Recognize()` يمكنك فحص `ocrEngine.Regions` التي تُعيد مستطيلات لكل كلمة مكتشفة. | +| **هل أحتاج رخصة للاستخدام في الإنتاج؟** | النسخة التجريبية المجانية تعمل حتى 100 صفحة. للمشاريع التجارية يُنصح بشراء رخصة – تُزيل علامة التقييم وتفتح معالجة دفعات عالية السرعة. | + +--- + +## الخطوات التالية – توسيع الحل + +* **معالجة دفعات:** حلقة تمر على مجلد PNGs، تجمع كل النصوص في ملف CSV. +* **التكامل مع Azure Cognitive Search:** فهرسة السلاسل السيريليّة المستخرجة للبحث السريع. +* **دمج مع تحويل PDF:** استخدم Aspose.PDF لتحويل ملفات PDF الممسوحة ضوئيًا إلى PNG أولًا، ثم نفّذ نفس تدفق OCR. + +جميع هذه السيناريوهات تعيد استخدام النمط الأساسي الذي غطيناه: **تحميل الصورة للـ OCR → تحديد اللغة → التعرف → استخدام النص**. + +--- + +## الخلاصة + +أصبحت الآن تعرف كيف **تقرا النص من PNG**، **تستخرج النص السيريلي**، و**تحول الصورة إلى نص** باستخدام Aspose OCR في C#. الخطوات الأساسية هي إنشاء المحرك، تحميل الصورة، اختيار اللغة المناسبة (التي تُنزل حزمة اللغة السيريليّة تلقائيًا)، وأخيرًا استدعاء `Recognize()`. + +جرّب ذلك مع صور مختلفة، جرب خيارات `Settings`، وشاهد تطبيقاتك تصبح قابلة للبحث، متعددة اللغات، وأكثر ذكاءً. + +برمجة سعيدة، ولا تتردد في ترك تعليق إذا واجهت أي صعوبات! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/ocr-optimization/_index.md b/ocr/arabic/net/ocr-optimization/_index.md index 1ca8c92a0..599853466 100644 --- a/ocr/arabic/net/ocr-optimization/_index.md +++ b/ocr/arabic/net/ocr-optimization/_index.md @@ -56,6 +56,9 @@ weight: 25 احصل على دقة لا مثيل لها في OCR مع [Aspose.OCR for .NET](./result-correction-with-spell-checking/). دليلنا حول تصحيح النتائج باستخدام التدقيق الإملائي يمكّنك من تخصيص القواميس، تصحيح الأخطاء الإملائية، وضمان التعرف على النص بدون أخطاء بسهولة. انغمس في عالم الدقة مع Aspose.OCR. +### [مثال Aspose OCR – تمكين التدقيق الإملائي وإصلاح الأخطاء في C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +تعلم كيفية تمكين التدقيق الإملائي وإصلاح الأخطاء في نتائج OCR باستخدام Aspose OCR مع C#. + ## حفظ النتيجة متعددة الصفحات كمستند في التعرف على الصور باستخدام OCR احفظ نتائج OCR متعددة الصفحات كمستندات بسهولة مع Aspose.OCR for .NET. دليلنا [step-by-step guide](./save-multipage-result-as-document/) يفتح الإمكانات الكاملة لإنشاء المستندات. دمج Aspose.OCR بسلاسة وحوّل نتائج OCR إلى مستندات متعددة الصفحات بسهولة. @@ -73,6 +76,9 @@ weight: 25 حسّن دقة OCR مع Aspose.OCR for .NET. صحّح الأخطاء الإملائية، خصّص القواميس، واحصل على نص خالٍ من الأخطاء بسهولة. ### [حفظ النتيجة متعددة الصفحات كمستند في التعرف على الصور باستخدام OCR](./save-multipage-result-as-document/) افتح إمكانات Aspose.OCR for .NET. احفظ نتائج OCR متعددة الصفحات كمستندات بسهولة من خلال هذا الدليل الشامل خطوة بخطوة. +### [كيفية تصحيح ميل الصورة وتشغيل OCR في C# – دليل شامل](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +### [كيفية إجراء OCR على الصور الصينية – دليل شامل C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +تعلم خطوة بخطوة كيفية استخراج النص من الصور الصينية باستخدام Aspose.OCR في C# مع إعدادات متقدمة للغة الصينية. ## الأسئلة المتكررة diff --git a/ocr/arabic/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/arabic/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..c980d353b --- /dev/null +++ b/ocr/arabic/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-03-07 +description: مثال Aspose OCR يوضح كيفية تمكين التدقيق الإملائي، إضافة قاموس مخصص، + تحميل OCR للصور وإصلاح أخطاء OCR بسرعة. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: ar +og_description: مثال Aspose OCR يوضح لك كيفية تمكين التدقيق الإملائي، إضافة قاموس + مخصص، تحميل صورة للـ OCR وإصلاح الأخطاء الشائعة في الـ OCR. +og_title: مثال Aspose OCR – تمكين التدقيق الإملائي وإصلاح الأخطاء +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: مثال Aspose OCR – تمكين التدقيق الإملائي وإصلاح الأخطاء في C# +url: /ar/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# مثال Aspose OCR – تمكين التدقيق الإملائي وإصلاح الأخطاء في C# + +هل احتجت يومًا إلى **مثال Aspose OCR** لا يقرأ النص من صورة فحسب، بل ينظف أيضًا تلك الأخطاء الإملائية المزعجة؟ لست وحدك. في العديد من المشاريع الواقعية يكون ناتج OCR الخام مليئًا بالأخطاء، خاصة عندما تحتوي الصورة المصدر على خطوط منخفضة التباين أو ملاحظات مكتوبة بخط اليد. + +الأخبار السارة؟ مع Aspose.OCR يمكنك **تمكين التدقيق الإملائي**، وإضافة القاموس الخاص بك، والحصول على سلسلة منقحة في بضع أسطر من الشيفرة فقط. أدناه سترى بالضبط **كيفية تمكين التدقيق الإملائي**، **كيفية إضافة قاموس**، و**كيفية تحميل صورة OCR** حتى تتمكن أخيرًا من **إصلاح أخطاء OCR** دون أن تشد شعر رأسك. + +في هذا الشرح سنغطي كل ما تحتاجه — من تثبيت NuGet إلى برنامج كامل قابل للتنفيذ يطبع النص المصحح. في النهاية ستحصل على **مثال Aspose OCR** قوي يمكنك إدراجه مباشرة في أي مشروع .NET. + +## المتطلبات المسبقة + +- .NET 6.0 SDK أو أحدث (الشيفرة تعمل مع .NET Core و .NET Framework أيضًا) +- Visual Studio 2022 أو أي بيئة تطوير متوافقة مع C# +- ملف صورة (`typed_text.png`) يحتوي على نص إنجليزي واضح ومكتوب +- اتصال بالإنترنت لجلب حزمة Aspose.OCR من NuGet + +لا توجد مكتبات طرف ثالث أخرى مطلوبة. + +--- + +## الخطوة 1 – تثبيت حزمة Aspose.OCR من NuGet (Load Image OCR) + +قبل أن نتمكن من كتابة أي شيفرة، نحتاج إلى المكتبة التي تشغل محرك OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **نصيحة:** إذا كنت تستخدم Visual Studio، انقر بزر الماوس الأيمن على المشروع → *Manage NuGet Packages* → ابحث عن **Aspose.OCR** واضغط *Install*. + +تثبيت الحزمة يمنحك الوصول إلى `OcrEngine` و `ImageStream` وأدوات التدقيق الإملائي المدمجة التي سنستخدمها لاحقًا. بمجرد وجود الحزمة، ستكون جاهزًا لـ **load image OCR**. + +## الخطوة 2 – إنشاء مثيل محرك OCR + +إنشاء المحرك هو الخطوة الملموسة الأولى في أي **مثال Aspose OCR**. فكر في `OcrEngine` كالعقل الذي سيحلل الصورة النقطية ويستخرج النص. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +مُنشئ `OcrEngine` لا يتطلب أي معلمات، مما يجعله بسيطًا ومنظمًا للنماذج الأولية السريعة. + +## الخطوة 3 – كيفية تمكين التدقيق الإملائي (ولماذا هو مهم) + +غالبًا ما يحتوي ناتج OCR الخام على كلمات تم التعرف عليها خطأً مثل “teh” بدلاً من “the”. تمكين المدقق الإملائي المدمج يسمح لـ Aspose باستبدال تلك الأخطاء تلقائيًا بأكثر تهجئة صحيحة محتملة. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **لماذا تمكين التدقيق الإملائي؟** +> - **الدقة:** يمكن لتدقيق إملائي بعد المعالجة أن يزيد من دقة النص الإجمالية بنسبة 10‑15 % للمستندات المطبوعة. +> - **تجربة المستخدم:** النص النظيف يعني تقليل التنظيف اللاحق عندما تُدخل النتيجة إلى فهارس البحث أو خطوط أنابيب التحليل. + +## الخطوة 4 – كيفية إضافة قاموس (كلمات مخصصة) + +أحيانًا لا يعرف القاموس الافتراضي أسماء علامتك التجارية أو رموز المنتجات أو المصطلحات المتخصصة في المجال. هنا يأتي دور **كيفية إضافة القاموس**. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +يمكنك تمرير مصفوفة أو قائمة، أو حتى القراءة من ملف إذا كان لديك مفردات مخصصة كبيرة. سيعامل المدقق الإملائي الآن تلك الإدخالات كصحيحة، مما يمنع التصحيحات الخاطئة. + +## الخطوة 5 – تحميل الصورة لـ OCR (Load Image OCR) + +الآن بعد تكوين المحرك، نحتاج إلى توجيهه إلى الصورة التي نريد قراءتها. يساعد `ImageStream.FromFile` في إخفاء تفاصيل قراءة الملف. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **نصيحة:** إذا كانت صورتك موجودة في مجلد فرعي داخل المشروع، اضبط خاصية *Copy to Output Directory* إلى *Copy always* حتى يتم حل المسار أثناء التشغيل. + +## الخطوة 6 – تنفيذ التعرف وإصلاح أخطاء OCR + +مع إعداد كل شيء، استدعاء واحد لـ `Recognize()` يشغل خط أنابيب OCR، يطبق التدقيق الإملائي، ويخزن النتيجة المنقحة في `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### النتيجة المتوقعة + +بافتراض أن `typed_text.png` يحتوي على الجملة `The quick brown fox jumps over teh lazy dog`، سيظهر في وحدة التحكم: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +لاحظ كيف تم تصحيح “teh” تلقائيًا إلى “the”. إذا كنت قد أضفت “OCRify” إلى القاموس المخصص وكانت الصورة تحتوي على تلك الكلمة، فإن المحرك سيتركها دون تعديل. + +--- + +## مثال كامل يعمل (جاهز للنسخ واللصق) + +فيما يلي البرنامج الكامل الذي يمكنك إدراجه في مشروع وحدة تحكم جديد. يتضمن جميع الخطوات السابقة، بالإضافة إلى بعض التعليقات للتوضيح. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +احفظ هذا كـ `Program.cs`، شغّل `dotnet run`، ويجب أن ترى الجملة المصححة مطبوعة في وحدة التحكم. + +--- + +## الأسئلة المتكررة وحالات الحافة + +| السؤال | الإجابة | +|----------|--------| +| **ماذا لو كانت الصورة ملف PDF متعدد الصفحات؟** | يمكن لـ Aspose.OCR معالجة صفحات PDF كصور. استخدم `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` وكرر عبر الصفحات. | +| **هل يمكنني تغيير اللغة إلى غير الإنجليزية؟** | بالطبع. اضبط `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (أو أي لغة مدعومة). | +| **قاموسي المخصص ضخم — هل سيؤثر ذلك على الأداء؟** | إضافة آلاف الكلمات يتطلب تكلفة أولية صغيرة، لكن البحث يكون O(1) بفضل مجموعة التجزئة (hash‑set) في الخلفية. بالنسبة للمفردات الضخمة، فكر في تحميلها مرة واحدة عند بدء التطبيق. | +| **ماذا لو ألقى محرك OCR استثناءً عند صورة تالفة؟** | ضع `Recognize()` داخل كتلة try‑catch وتفقد `ocrEngine.LastError`. يمكنك أيضًا التحقق مسبقًا من أبعاد الصورة باستخدام `ocrEngine.Image.Width` و `Height`. | +| **هل أحتاج إلى ترخيص للاستخدام في الإنتاج؟** | التقييم المجاني يعمل للاختبار، لكن الترخيص التجاري يزيل علامة التقييم المائية ويفتح الأداء الكامل. | + +## الخلاصة + +أصبح لديك الآن **مثال Aspose OCR كامل** يوضح **كيفية تمكين التدقيق الإملائي**، **كيفية إضافة قاموس**، **تحميل صورة OCR**، و**كيفية إصلاح أخطاء OCR** بطريقة نظيفة وجاهزة للإنتاج. من خلال تكوين المدقق الإملائي وإدخال قائمة كلمات مخصصة، تحسن جودة النص المستخرج بشكل كبير دون الحاجة إلى كتابة أي منطق ما بعد المعالجة بنفسك. + +هل أنت مستعد للخطوة التالية؟ جرّب تبديل اللغة إلى الإسبانية، أو معالجة PDF متعدد الصفحات، أو دمج النتيجة في فهرس Azure Cognitive Search القابل للبحث. النمط نفسه ينطبق — فقط عدل علم اللغة وربما وسّع القاموس المخصص. + +إذا وجدت هذا الدليل مفيدًا، امنحه نجمة على GitHub، شاركه مع زملائك، أو اترك تعليقًا أدناه. برمجة سعيدة، ولتكن نتائج OCR دائمًا خالية من الأخطاء! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/arabic/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..e3de7ca15 --- /dev/null +++ b/ocr/arabic/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-03-07 +description: تعلم كيفية تصحيح انحراف الصورة، تعزيز التباين، واستخراج النص من المسح + الضوئي باستخدام Aspose OCR. قم بتنفيذ OCR على الصورة مع مثال كامل بلغة C# وحمّل + الصورة للـ OCR بسهولة. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: ar +og_description: تعلم كيفية تصحيح انحراف الصورة، تعزيز التباين، واستخراج النص من المسح + الضوئي باستخدام Aspose OCR في C#. قم بإجراء OCR على الصورة مع كود خطوة‑بخطوة. +og_title: كيفية تصحيح إمالة الصورة وتشغيل OCR في C# – دليل كامل +tags: +- C# +- OCR +- Image Processing +title: كيفية تصحيح انحراف الصورة وتشغيل OCR في C# – دليل كامل +url: /ar/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية تصحيح انحراف الصورة وتشغيل OCR في C# – دليل شامل + +إذا تساءلت يومًا **كيفية تصحيح انحراف الصورة** قبل تشغيل OCR، فأنت في المكان الصحيح. في هذا الدرس سنرشدك إلى تحسين التباين، تحميل صورة لـ OCR، وأخيرًا **استخراج النص من المسح** باستخدام Aspose OCR. + +سواء كنت تقوم برقمنة الإيصالات القديمة، أو تنظيف العقود الممسوحة ضوئيًا، أو تحتاج فقط إلى طريقة موثوقة لقراءة النص من صورة مائلة، فإن الخطوات أدناه تغطي كل ما تحتاجه. لا إطالة—فقط مثال عملي يمكنك نسخه‑ولصقه في Visual Studio. + +## ما ستحققه + +* تصحيح الانحراف حتى 30° (هذا هو جزء **كيفية تصحيح انحراف الصورة**). +* زيادة تباين الصورة للحصول على حواف أحرف أكثر وضوحًا (**كيفية تحسين التباين**). +* تحميل صورتك إلى محرك OCR (**تحميل الصورة لـ OCR**). +* تشغيل عملية التعرف و**استخراج النص من المسح**. + +كل هذا يعمل مع أحدث حزمة Aspose.OCR .NET NuGet (الإصدار 23.11 وقت كتابة هذا الدليل). + +--- + +![مثال على تصحيح انحراف الصورة](/images/deskew-example.png "كيفية تصحيح انحراف الصورة") + +*الصورة أعلاه تُظهر مستندًا ممسوحًا قبل وبعد تصحيح الانحراف.* + +## المتطلبات المسبقة + +* .NET 6.0 أو أحدث (الكود يعمل أيضًا على .NET Framework 4.7+). +* Visual Studio 2022 (أو أي بيئة تطوير C# تفضلها). +* حزمة Aspose.OCR NuGet – تثبيت عبر `dotnet add package Aspose.OCR`. + +هذا كل شيء. لا خدمات خارجية، ولا مفاتيح API. + +--- + +## كيفية تصحيح انحراف الصورة باستخدام Aspose OCR + +أول شيء نفعله هو إنشاء **ImageProcessingPipeline** وإضافة `DeskewFilter`. يقوم الفلتر تلقائيًا باكتشاف زاوية سطر النص السائدة ويُدوّر الصورة لتصبح أفقية. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**لماذا هذا مهم:** +المسح المائل يربك محرك OCR لأن الأحرف لم تعد محاذية للخط الأساسي. يقوم `DeskewFilter` بتحليل مدرج تكرار الصورة، يجد الزاوية، ويُدوّرها، مما يحسن دقة التعرف بشكل كبير. + +> **نصيحة احترافية:** إذا كنت تعلم أن مستنداتك لا تتجاوز ميلًا قدره 15°، اضبط `MaxAngle = 15` لتسريع المعالجة. + +--- + +## كيفية تحسين التباين للحصول على تعرّف أفضل + +بعد تصحيح الانحراف، الخطوة التالية هي إبراز النص. يقوم `ContrastBoostFilter` بتمديد نطاق شدة البكسل، وهو مفيد بشكل خاص للطباعة الباهتة. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**لماذا يساعد ذلك:** +المسحات ذات التباين المنخفض تنتج أحرفًا رمادية قد يفسرها محول الثنائي كخلفية. رفع التباين يجعل البكسلات الداكنة أكثر ظلامًا والفاتحة أكثر إشراقًا، مما يمنح `BinarizationFilter` التالي لوحة أنظف. + +--- + +## تنفيذ OCR على الصورة – تحميل الملف + +الآن بعد أن تم معالجة الصورة مسبقًا، نحتاج إلى **تحميل الصورة لـ OCR**. تقدم Aspose أداة مساعدة مريحة `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +إذا كانت صورتك موجودة في تدفق (مثلاً، تم تحميلها عبر واجهة ويب API)، يمكنك استخدام `ImageStream.FromStream(yourStream)` بدلاً من ذلك. يقبل المحرك صيغ BMP، JPEG، PNG، TIFF، والعديد غيرها. + +--- + +## تشغيل عملية التعرف واستخراج النص من المسح + +مع ربط كل شيء، استدعاء `Recognize()` يقوم بالعمل الشاق. بعد الاستدعاء، يصبح النص المعترف به متاحًا عبر `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**الناتج المتوقع** (مثال لفاتورة بسيطة): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +إذا كان الناتج مشوشًا، تحقق مرة أخرى من ترتيب خط الأنابيب—ابدأ بالتصحيح، ثم إزالة الضوضاء، ثم تحسين التباين، وأخيرًا التحويل إلى ثنائي. تبديل الترتيب قد يضعف النتائج. + +--- + +## المشكلات الشائعة والحالات الخاصة + +| المشكلة | السبب | الحل | +|---------|-------|------| +| **نتيجة فارغة** | الصورة مظلمة جدًا أو ساطعة جدًا بالنسبة لطريقة التحويل الثنائي الافتراضية. | زيادة `ContrastBoostFilter.Strength` أو التحويل إلى `BinarizationMethod.Otsu`. | +| **نص جزئي مفقود** | لا يزال هناك ضوضاء بعد إزالة الضوضاء. | استخدم `DenoiseLevel.Medium` للصور الأخف، أو أضف `DenoiseFilter` ثاني. | +| **اتجاه الدوران خاطئ** | المستند يحتوي على اتجاهات مختلطة (مثلاً، صورة لصفحة مائلة). | اضبط يدويًا `DeskewFilter.MaxAngle` إلى قيمة أقل وقم بتدوير الصورة مسبقًا باستخدام `ImageProcessor.Rotate`. | +| **تباطؤ الأداء** | دفعة كبيرة من الصور عالية الدقة. | قلل أبعاد الصور (`ImageProcessor.Resize`) قبل خط الأنابيب، أو عالجها بالتوازي (`Parallel.ForEach`). | + +--- + +## مثال كامل جاهز للنسخ واللصق + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +احفظ هذا كـ `Program.cs`، شغّل `dotnet run`، وسترى وحدة التحكم تطبع نتيجة **استخراج النص من المسح**. + +--- + +## الخطوات التالية والمواضيع ذات الصلة + +* **معالجة دفعات** – غلف المنطق السابق داخل حلقة للتعامل مع العشرات من الملفات. +* **حزم لغات مخصصة** – إذا كنت بحاجة لقراءة نصوص غير لاتينية، حمّل نموذج لغة عبر `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **إخراج PDF** – دمج Aspose.PDF مع OCR لإدراج نص قابل للبحث مباشرةً في ملف PDF. +* **تحسين الأداء** – جرّب ترتيب `ImageProcessingPipeline`؛ أحيانًا يكون إزالة الضوضاء قبل التصحيح أسرع للصور الضوضائية. + +كل هذه تبني على المفاهيم الأساسية التي غطيناها: **كيفية تصحيح انحراف الصورة**، **كيفية تحسين التباين**، **تحميل الصورة لـ OCR**، **تنفيذ OCR على الصورة**، وأخيرًا **استخراج النص من المسح**. + +--- + +## الخلاصة + +لقد عرضنا للتو طريقة كاملة وجاهزة للإنتاج **لتصحيح انحراف الصورة** وتشغيل OCR في C#. من خلال ربط فلتر تصحيح الانحراف، خطوة إزالة الضوضاء، تحسين التباين، ومحول ثنائي، تحصل على مدخل نظيف يسمح لـ Aspose OCR باستخراج النص من المسح بشكل موثوق. + +جرّب الكود، عدّل معلمات الفلاتر لتناسب مستنداتك، وستلاحظ مدى سرعة تحسين دقة التعرف. هل لديك أسئلة؟ اترك تعليقًا، وبرمجة سعيدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/arabic/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..016f803c8 --- /dev/null +++ b/ocr/arabic/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-03-07 +description: كيفية إجراء التعرف الضوئي على الحروف (OCR) للصور الصينية باستخدام Aspose + OCR. تعلم استخراج النص الصيني، تحويل الصورة إلى ePub، وتحسين دقة الـ OCR في درس + واحد. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: ar +og_description: كيفية تنفيذ OCR على الصور الصينية باستخدام Aspose OCR. احصل على كود + خطوة بخطوة لاستخراج النص الصيني، تحسين OCR، وتصديره إلى ePub. +og_title: كيفية إجراء التعرف الضوئي على الأحرف في الصور الصينية – دليل C# الكامل +tags: +- OCR +- C# +- Aspose +title: كيفية إجراء التعرف الضوئي على الأحرف في الصور الصينية – دليل C# الكامل +url: /ar/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية تنفيذ OCR على الصور الصينية – دليل C# كامل + +هل تساءلت يومًا **كيف تقوم بتنفيذ OCR** على صورة تحتوي على أحرف صينية؟ لست وحدك. في العديد من التطبيقات—مسح الفواتير، رقمنة الكتب الدراسية، أو بناء محرك بحث متعدد اللغات—استخراج نص نظيف من صورة يُعد ميزة حاسمة. + +في هذا البرنامج التعليمي سنستعرض حلًا واقعيًا **يستخرج النص الصيني**، يضع النتيجة في ملف نص عادي، وحتى **يحوّل الصورة إلى ePub** للقراءة على الأجهزة الإلكترونية. سنتناول أيضًا **كيفية تحسين دقة OCR**، لماذا يجب تفعيل وضع GPU، وما يلزمك للـ **التعرف على الصينية المبسطة** بشكل صحيح. + +بنهاية الدليل ستحصل على برنامج C# يعمل بالكامل، مجموعة من النصائح العملية، وفكرة واضحة عن الخطوات التالية التي يمكنك اتخاذها (مثل إضافة كشف اللغة أو المعالجة الدفعية). لا حاجة لأي مستندات خارجية—كل ما تحتاجه موجود هنا. + +## ما الذي ستحتاجه + +- .NET 6+ (أو .NET Core 3.1 مع Aspose OCR for .NET) +- ترخيص صالح لـ Aspose OCR for .NET (الإصدار التجريبي المجاني يكفي للتجربة) +- ملف صورة يحتوي على أحرف صينية مبسطة (مثال: `chinese_sample.jpg`) +- Visual Studio 2022 أو أي محرر C# تفضله + +إذا كان أي من هذه العناصر غير متوفر لديك، احصل على حزمة NuGet الآن: + +```bash +dotnet add package Aspose.OCR +``` + +هذا كل شيء—لا مكتبات أصلية إضافية، لا تفاعل COM، مجرد حزمة .NET واحدة. + +## كيفية تنفيذ OCR – إعداد محرك Aspose OCR + +أول شيء يجب القيام به هو إنشاء وتكوين محرك OCR. هذه الخطوة حاسمة لأن إعدادات المحرك تحدد **مدى جودة عمل OCR** على الأحرف الصينية ومدى سرعته. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**لماذا هذا مهم:** +- **Language = ChineseSimplified** يخبر Aspose بتحميل مجموعة الأحرف الصينية المبسطة، مما يقلل الأخطاء بشكل كبير. +- **EngineMode.Gpu** يمكن أن يقلل زمن المعالجة إلى النصف على بطاقة رسومية حديثة، **ولكنه يعود تلقائيًا إلى CPU إذا لم تتوفر GPU.** +- **DeskewFilter** يزيل أي ميل يظهر عادةً عندما يلتقط المستخدم صورة بالهاتف. +- **Sauvola binarization** ينتج صورة أبيض‑أسود ذات تباين عالي، وهي طريقة كلاسيكية لتعزيز دقة OCR على النصوص الكثيفة مثل الصينية. + +> **نصيحة احترافية:** إذا كنت تتعامل مع صور إضاءة منخفضة، أضف `ContrastFilter` قبل عملية التحويل إلى ثنائي. ليست ضرورية في مثالنا، لكنها غالبًا ما توفر عليك عناءً كبيرًا. + +![مخطط تدفق عملية OCR](ocr-pipeline.png "مخطط تدفق عملية OCR") + +> *نص بديل:* مخطط تدفق عملية OCR + +## استخراج النص الصيني من صورة + +الآن بعد أن أصبح المحرك جاهزًا، نقوم بتحميل الصورة ونترك المحرك يقوم بسحره. هذا هو جوهر **استخراج النص الصيني**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**ما يجب أن تراه:** +إذا كان ملف `chinese_sample.jpg` يحتوي على العبارة “中华人民共和国”، فإن ملف `out.txt` سيحتوي على تلك الأحرف بالضبط—بدون مسافات إضافية، ولا أحرف لاتينية مشوشة. + +### مشكلات شائعة + +| المشكلة | لماذا يحدث | الحل | +|-------|----------------|-----| +| أحرف مفقودة | الصورة صاخبة جدًا | أضف `MedianFilter` قبل التحويل إلى ثنائي | +| اكتشاف لغة خاطئ | `Language` مضبوطة على `English` | تأكد من `Language = Language.ChineseSimplified` | +| معالجة بطيئة | GPU غير مفعلة | تحقق من وجود برنامج تشغيل CUDA متوافق | + +## تحويل الصورة إلى ePub + +يسأل الكثير من المطورين: *“هل يمكنني تحويل الصفحة الممسوحة إلى كتاب إلكتروني قابل للقراءة؟”* الجواب نعم—Aspose OCR يأتي مع مُصدّر ePub. هذا يلبي متطلبات **تحويل الصورة إلى ePub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +الملف `out.epub` الناتج سيحتوي على النص الصيني المستخرج، مشفرًا بشكل صحيح بـ UTF‑8، ويمكن فتحه على Kindle أو Apple Books أو أي قارئ ePub. + +**لماذا نستخدم ePub؟** +- إنه قابل لإعادة التدفق، بحيث يمكن للقارئ تعديل حجم الخط دون كسر التخطيط. +- يبقى النص قابلًا للبحث، وهو مفيد للفهرسة لاحقًا. + +## كيفية تحسين OCR – تعديلات عملية + +حتى مع خط أنابيب قوي، قد تلاحظ أخطاءً متقطعة. إليك قائمة سريعة لـ **كيفية تحسين OCR** على المستندات الصينية: + +1. **معالجة مسبقة للصورة** – استخدم `GaussianBlurFilter` لتنعيم البقع، ثم `ContrastFilter` لتقوية الحواف. +2. **استخدام DPI أعلى** – إذا كنت تتحكم في عملية المسح، استهدف 300 dpi أو أعلى؛ الصور منخفضة الدقة تفقد تفاصيل الخط. +3. **تفعيل كشف اللغة** – Aspose يمكنه اكتشاف اللغة تلقائيًا؛ اجمعه مع fallback إلى الصينية المبسطة إذا فشل الكشف. +4. **ضبط عملية التحويل إلى ثنائي** – استبدل `Sauvola` بـ `Otsu` إذا كان الخلفية موحدة فاتحة. +5. **المعالجة الدفعية** – عالج عدة صفحات متوازية باستخدام `Parallel.ForEach` لاستغلال المعالجات متعددة النوى. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## التعرف على الصينية المبسطة – حالات حافة + +عبارة **التعرف على الصينية المبسطة** قد تُربك المبتدئين لأن نفس محرك OCR يمكنه أيضًا التعامل مع الصينية التقليدية، اليابانية أو الكورية. لجعل العملية حتمية: + +- **حدد اللغة صراحةً** (كما فعلنا في الخطوة 1). +- **تجنب الصفحات المختلطة**؛ إذا كانت الصفحة تجمع بين الصينية المبسطة والإنجليزية، فكر في تنفيذ تمريرين: أحدهما بـ `Language.ChineseSimplified` والآخر بـ `Language.English`. +- **تحقق من النتيجة** – بعد التعرف، شغّل تعبيرًا نمطيًا بسيطًا للتأكد من أن جميع الأحرف تقع ضمن نطاق Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +إذا فشل الفحص، يمكنك تسجيل الصفحة للمراجعة اليدوية. + +## مثال كامل يعمل + +بدمج كل ما سبق، إليك ملف واحد يمكنك نسخه‑ولصقه في مشروع console جديد (`Program.cs`). يتضمن جميع الخطوات، التعديلات الاختيارية، وسطر حالة نهائي. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**الناتج المتوقع في وحدة التحكم (مثال):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +شغّل البرنامج، افتح `out.txt` أو `out.epub`، وسترى أحرف صينية نظيفة وقابلة للبحث جاهزة للمعالجة اللاحقة. + +## الخلاصة + +لقد غطينا الآن **كيفية تنفيذ OCR** على الصور الصينية من البداية حتى النهاية، موضحين لك كيفية **استخراج النص الصيني**، **تحويل النتيجة إلى ePub**، وتطبيق مجموعة من النصائح العملية. + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/text-recognition/_index.md b/ocr/arabic/net/text-recognition/_index.md index 58e5dde95..e88a1d7e0 100644 --- a/ocr/arabic/net/text-recognition/_index.md +++ b/ocr/arabic/net/text-recognition/_index.md @@ -52,12 +52,23 @@ url: /ar/net/text-recognition/ ### [وضع اكتشاف المناطق بتقنية التعرف الضوئي على الحروف (OCR) في التعرف على الصور بتقنية التعرف الضوئي على الحروف (OCR).](./ocr-detect-areas-mode/) قم بتحسين تطبيقات .NET الخاصة بك باستخدام Aspose.OCR للتعرف الفعال على نص الصورة. استكشف وضع مناطق اكتشاف التعرف الضوئي على الحروف (OCR) للحصول على نتائج دقيقة. ### [التعرف على PDF في التعرف على الصور OCR](./recognize-pdf/) -أطلق العنان لإمكانات التعرف الضوئي على الحروف في .NET باستخدام Aspose.OCR. استخراج النص من ملفات PDF دون عناء. قم بالتنزيل الآن للحصول على تجربة تكامل سلسة. +أطلق العنان لإمكانات التعرف الضوئي على الحروف في .NET باستخدام Aspose.OCR. استخراج النص من ملفات PDF دون عناء. قم بتنزيل الآن للحصول على تجربة تكامل سلسة. ### [التعرف على الجدول في التعرف على الصور OCR](./recognize-table/) أطلق العنان لإمكانات Aspose.OCR لـ .NET من خلال دليلنا الشامل حول التعرف على الجداول في التعرف على الصور باستخدام OCR. +### [التعرف على النص الهندي في C# – دليل Aspose OCR الكامل](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +تعلم كيفية التعرف على النص الهندي باستخدام Aspose.OCR في C# خطوة بخطوة. +### [كيفية إنشاء ePub من الصور في C# – دليل خطوة بخطوة](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +تعلم كيفية تحويل مجموعة من الصور إلى ملف ePub باستخدام C# خطوة بخطوة. +### [التعرف على النص من الصورة في C# – دليل Aspose OCR الكامل](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +تعلم كيفية التعرف على النص من الصور باستخدام Aspose.OCR في C# خطوة بخطوة. +### [استخراج النص من PNG في C# – دليل OCR الكامل](./extract-text-from-png-in-c-full-ocr-guide/) +تعلم كيفية استخراج النص من ملفات PNG باستخدام Aspose.OCR في C# خطوة بخطوة. +### [كيفية استخدام OCR في C# – استخراج النص من الصور دون اتصال](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +تعلم كيفية استخراج النص من الصور باستخدام Aspose.OCR في C# دون الحاجة إلى اتصال بالإنترنت خطوة بخطوة. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/arabic/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..f9aaaf2be --- /dev/null +++ b/ocr/arabic/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-03-07 +description: استخراج النص من ملفات PNG باستخدام C#. تعلم كيفية تحويل الصورة إلى نص + باستخدام C# وقراءة النص من الصور الممسوحة ضوئياً بسرعة. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: ar +og_description: استخراج النص من ملفات PNG باستخدام C#. يوضح هذا الدليل كيفية تحويل + الصورة إلى نص باستخدام C# وقراءة النص من الصور الممسوحة ضوئياً باستخدام Aspose OCR. +og_title: استخراج النص من PNG في C# – دليل OCR كامل +tags: +- OCR +- C# +- Aspose +- Image Processing +title: استخراج النص من PNG في C# – دليل OCR كامل +url: /ar/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# استخراج النص من PNG باستخدام C# – دليل OCR كامل + +هل احتجت يومًا إلى **استخراج النص من PNG** لكنك لم تكن متأكدًا من أين تبدأ؟ لست وحدك—معظم المطورين يواجهون هذا التحدي عندما يصادفون رسومات ممسوحة ضوئيًا أو لقطات شاشة تحتاج إلى أن تصبح نصًا قابلاً للبحث. الخبر السار؟ ببضع أسطر من C# و Aspose OCR يمكنك تحويل أي PNG إلى سلاسل قابلة للتحرير في لحظة. + +في هذا الدرس سنستعرض العملية بالكامل: من العثور على ملفات PNG على القرص، إلى تشغيل مهام OCR بشكل متوازي، ثم عرض معاينة مرتبة لكل نتيجة. بنهاية الدرس ستعرف كيف **تحويل الصورة إلى نص C#**، وستتمكن من **قراءة النص من الصور الممسوحة ضوئيًا** بكفاءة، وسترى أيضًا أفضل طريقة لـ **تشغيل OCR على الصور** دون إبطاء خيط واجهة المستخدم. + +## ما ستحتاجه + +- .NET 6.0 أو أحدث (الكود يعمل على .NET Core و .NET Framework أيضًا) +- حزمة NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- مجلد يحتوي على ملفات *.png* التي تريد معالجتها +- أي بيئة تطوير تفضلها (Visual Studio، VS Code، Rider…) + +لا يلزم أي إعداد إضافي؛ المكتبة تأتي مع كل ما يلزم لفك ترميز PNGs، JPEGs، TIFFs، وما إلى ذلك. + +## الخطوة 1: تحديد جميع ملفات PNG – بدء **استخراج النص من PNG** + +أولاً علينا العثور على كل ملف PNG نعتزم تشغيل OCR عليه. استخدام `Directory.GetFiles` سريع وموثوق. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*لماذا هذا مهم:* فحص الدليل مرة واحدة يبقي بقية سير العمل بسيطًا، والفحص المبكر يمنع حالة “لا مخرجات” صامتة قد يصعب تتبعها لاحقًا. + +## الخطوة 2: تشغيل مهام OCR متوازية – تشغيل **OCR على الصور** بكفاءة + +تشغيل OCR بشكل متسلسل مناسب لعدد قليل من الملفات، لكن المشاريع الواقعية غالبًا ما تتعامل مع العشرات أو المئات. بإطلاق `Task` لكل صورة نحافظ على إشغال المعالج بينما تقوم المكتبة بالعمل الثقيل. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*نصيحة محترف:* `Task.Run` يرسل العمل إلى مجموعة الخيوط، مما يعني أن واجهة المستخدم (إن وجدت) تظل سريعة الاستجابة. إذا كنت على خادم، فإن النمط نفسه يتوسع بشكل جيد عبر الأنوية. + +## الخطوة 3: انتظار جميع المهام – جمع النتائج + +الآن ننتظر انتهاء كل عملية OCR. `Task.WhenAll` تُعيد مصفوفة تتطابق مع ترتيب الملفات الأصلي، مما يسهل ربط النتائج بأسماء الملفات. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*ملاحظة حالة حافة:* إذا أطلقت أي صورة استثناء (ملف تالف، تنسيق غير مدعوم) فإن `WhenAll` بالكامل سيُعيد الاستثناء. يمكنك تغليف `Task.Run` الداخلي داخل try/catch وإرجاع سلسلة فارغة أو رسالة تشخيصية إذا كنت تحتاج إلى تحمل الأخطاء. + +## الخطوة 4: عرض معاينة – التحقق من مخرجات **تحويل الصورة إلى نص C#** + +معاينة سريعة تساعدك على التأكد من أن OCR نجح قبل أن تبدأ بحفظ البيانات في مكان آخر. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +مخرجات وحدة التحكم النموذجية تبدو هكذا: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +إذا أظهرت المعاينة نصًا غير مفهوم، تحقق مرة أخرى من جودة الصورة أو فكر في المعالجة المسبقة (مثل التحويل إلى ثنائي) – لكن بالنسبة لمعظم PNGs النظيفة، Aspose OCR ينجح من المحاولة الأولى. + +## اختياري: حفظ النتائج إلى CSV – حالة استخدام واقعية + +معظم المشاريع تحتاج النص المستخرج بصيغة منظمة. أدناه أداة صغيرة تكتب اسم الملف والنص الكامل من OCR إلى ملف CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +الآن يمكنك استيراد CSV إلى Excel أو Power BI أو أي نظام لاحق يتوقع **قراءة النص من الصور الممسوحة ضوئيًا**. + +## الأسئلة المتكررة + +**ماذا لو كانت ملفات PNG كبيرة جدًا (أكثر من 5 ميغابايت)؟** +Aspose OCR يقلل حجم الصور الكبيرة تلقائيًا للحفاظ على استهلاك الذاكرة معقولًا، ولكن يمكنك تغيير الحجم يدويًا باستخدام `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` لتحديد العرض بحد أقصى 2000 بكسل مع الحفاظ على نسبة الأبعاد. + +**هل يمكن تشغيل هذا على Linux؟** +نعم. Aspose OCR متعدد المنصات؛ فقط تأكد من تثبيت الاعتمادات الأصلية (`libgdiplus` على بعض التوزيعات). + +**هل لغة OCR مضبوطة على الإنجليزية افتراضيًا؟** +صحيح. إذا كنت بحاجة إلى لغة أخرى، اضبط `engine.Language = OcrLanguage.French;` (أو أي تعداد مدعوم) قبل استدعاء `Recognize()`. + +**كيف أتعامل مع ملفات PDF المحمية بكلمة مرور وتحتوي على PNGs؟** +حوّل صفحات PDF إلى صور أولاً (باستخدام Aspose PDF أو مكتبة أخرى)، ثم أدخل تلك PNGs إلى نفس خط الأنابيب. مبدأ **كيفية تشغيل OCR على الصور** يبقى دون تغيير. + +## مثال كامل يعمل (Async Main) + +فيما يلي برنامج مستقل يمكنك نسخه ولصقه في مشروع وحدة تحكم. يتضمن جميع الأجزاء السابقة، بالإضافة إلى أداة صغيرة للتحقق من صحة مجلد الإدخال. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**المخرجات المتوقعة** (عينة لملفين PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## الخلاصة + +لقد غطينا الآن كل ما تحتاجه **لاستخراج النص من PNG** باستخدام C#. من تحديد الملفات، تشغيل مهام OCR المتوازية، معاينة السلاسل، إلى حفظها في CSV—هذا الدليل يزودك بنمط جاهز للإنتاج لسيناريوهات **تحويل الصورة إلى نص C#**. + +إذا كنت مستعدًا للخطوة التالية، جرّب تمرير ملفات JPEG أو TIFF عبر نفس خط الأنابيب، جرب لغات OCR مختلفة، أو اربط النتائج بفهرس بحث لتتمكن من **قراءة النص من الصور الممسوحة ضوئيًا** فورًا. + +هل لديك أسئلة حول حالات الحافة، تحسين الأداء، أو الترخيص؟ اترك تعليقًا أو تواصل مع مجتمع Aspose—برمجة سعيدة! + +![مثال على استخراج النص من PNG](extract-text-png.png "استخراج النص من PNG باستخدام Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/arabic/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..f9ce9a479 --- /dev/null +++ b/ocr/arabic/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: كيفية إنشاء ePub من الصور الممسوحة ضوئياً باستخدام Aspose OCR – تعلم + تحويل الصورة إلى ePub، استخراج النص من الصورة، إضافة المؤلف إلى ePub، وتحميل الصورة + للتعرف الضوئي على الأحرف. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: ar +og_description: كيفية إنشاء ePub من الصور الممسوحة ضوئياً في C#. يوضح هذا الدرس كيفية + تحويل الصورة إلى ePub، استخراج النص من الصورة، إضافة المؤلف إلى ePub، وتحميل الصورة + للتعرف الضوئي على الأحرف. +og_title: كيفية إنشاء ePub من الصور في C# – دليل كامل +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: كيفية إنشاء ملف ePub من الصور باستخدام C# – دليل خطوة بخطوة +url: /ar/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية إنشاء ePub من الصور في C# – دليل كامل + +هل تساءلت يومًا **how to create ePub** من مجموعة من الصفحات الممسوحة ضوئيًا؟ ربما لديك مجموعة من ملفات PNG لرواية كلاسيكية وتود تحويلها إلى ePub مرتب يمكنك قراءته على أي جهاز. الخبر السار هو أنه باستخدام Aspose OCR يمكنك **load image for OCR**، استخراج النص، ثم **convert image to ePub** ببضع أسطر فقط من C#. + +في هذا الدرس سنستعرض كامل سير العمل: تحميل الصورة، استخراج النص، إضافة بعض البيانات الوصفية (نعم، سنقوم بـ **add author to epub**)، وأخيرًا كتابة ملف ePub متوافق مع المعايير. في النهاية ستحصل على ePub جاهز للنشر وفهم عميق لكل خطوة، لتتمكن من تعديل الكود للكتب متعددة الصفحات، الخطوط المخصصة، أو حتى التوزيع بدون DRM. + +## ما ستحتاجه + +- **.NET 6** أو أحدث (تعمل الواجهة البرمجية أيضًا مع .NET Standard 2.0+) +- **Aspose.OCR for .NET** – يمكنك الحصول على نسخة تجريبية مجانية من موقع Aspose. +- صورة ممسوحة ضوئيًا مثل `book_page.png` موجودة في مكان ما على القرص. +- بيئة تطوير مفضلة (Visual Studio، Rider، أو VS Code – سأستخدم Visual Studio في لقطات الشاشة). + +لا توجد حزم NuGet إضافية مطلوبة؛ فـ Aspose.OCR يتضمن كل ما تحتاجه لتصدير ePub. + +--- + +![كيفية إنشاء ePub من صورة ممسوحة ضوئيًا](/images/how-to-create-epub.png "كيفية إنشاء ePub من صورة ممسوحة ضوئيًا باستخدام Aspose OCR") + +## الخطوة 1 – إعداد المشروع وتثبيت Aspose.OCR + +أولًا وقبل كل شيء. أنشئ تطبيق console جديد: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +أضف حزمة Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +هذا كل شيء – المكتبة تتضمن كل من OCR وتصدير ePub، لذا لن تحتاج إلى أي تبعيات إضافية. + +## الخطوة 2 – تحميل الصورة لـ OCR + +قبل أن نتمكن من **extract text from image**، علينا أن نوفر لمحرك OCR ما يقرأه. المساعد `ImageStream.FromFile` يجعل ذلك سهلًا: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **نصيحة احترافية:** إذا كانت صورتك موجودة كـ resource مدمج، استخدم `ImageStream.FromResource` بدلاً من `FromFile`. + +## الخطوة 3 – استخراج النص من الصورة + +الآن يقوم المحرك بقراءة البكسلات وتحويلها إلى سلاسل Unicode. طريقة `Recognize` تقوم بالعمل الشاق. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +لماذا نستدعي `Recognize` بشكل منفصل؟ يتيح لك فحص ناتج OCR الخام، تعديل إعدادات اللغة، أو حتى إجراء تدقيق إملائي قبل الانتقال إلى إنشاء ePub. + +## الخطوة 4 – إعداد خيارات تصدير ePub (Add Author to ePub) + +إنشاء ePub مصقول ليس مجرد إلقاء النص؛ تحتاج أيضًا إلى بيانات وصفية صحيحة. فئة `EpubExportOptions` توفر لك طريقة نظيفة لـ **add author to ePub**، تعيين العنوان، وتحديد ما إذا كنت تريد تضمين الصور الأصلية. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +إذا كان لديك عدة صفحات، يمكنك الاستمرار في استدعاء `ocrEngine.Image = …` و `ocrEngine.Recognize()` داخل حلقة؛ كل استدعاء يضيف محتوى الصفحة الجديدة إلى نفس مستند ePub. + +## الخطوة 5 – تحويل الصورة إلى ePub وتصديره + +مع استخراج النص وتعيين البيانات الوصفية، الخطوة الأخيرة هي سطر واحد يكتب ملف ePub إلى القرص: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +يمكن فتح `book.epub` الناتج في Calibre، Apple Books، أو أي قارئ يدعم EPUB. وبما أننا عيّننا `IncludeImages = true`، ستظهر صورة PNG الأصلية كصفحة صورة، مما يحافظ على مظهر المصدر الممسوح. + +## مثال كامل يعمل + +نجمع كل ما سبق في برنامج جاهز للتنفيذ: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### المخرجات المتوقعة + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +افتح `book.epub` في القارئ المفضل لديك وسترى صفحة عنوان، سطر المؤلف (حتى وإن كان “Unknown”)، والصورة الممسوحة مع النص القابل للتحديد. + +## أسئلة شائعة وحالات خاصة + +### ماذا لو لم تكن لغة OCR هي الإنجليزية؟ + +يدعم Aspose.OCR أكثر من 70 لغة. فقط عيّن خاصية `Language` قبل استدعاء `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### كيف أتعامل مع الكتب متعددة الصفحات؟ + +ضع منطق التحميل/التعرف داخل حلقة `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +كل تكرار يضيف النص المعترف به حديثًا إلى نفس ePub، مع الحفاظ على ترتيب الصفحات. + +### هل يمكنني استبعاد الصور الأصلية؟ + +بالتأكيد – عيّن `IncludeImages = false` في `EpubExportOptions`. سيصبح ePub الناتج نصًا قابلًا لإعادة التدفق فقط، مما يقلل حجم الملف بشكل كبير. + +### ماذا عن الخطوط أو الأنماط المخصصة؟ + +يتيح مُصدر ePub في Aspose.OCR لك توفير ورقة أنماط CSS عبر خاصية `Css` في `EpubExportOptions`. بهذه الطريقة يمكنك فرض عائلة خطوط معينة، ارتفاع سطر، أو هوامش محددة. + +## الخلاصة + +أنت الآن تعرف **how to create ePub** من صورة ممسوحة ضوئيًا باستخدام Aspose OCR في C#. غطى الدرس كل شيء من **load image for OCR**، مرورًا بـ **extract text from image**، إلى **add author to epub**، وأخيرًا **convert image to epub** باستدعاء تصدير واحد. مع عينة الكود الكاملة، يمكنك توسيع الحل لمعالجة دفعات من المكتبات، إضافة غلاف مخصص، أو دمج سير العمل في واجهة ويب API. + +هل أنت مستعد للتحدي التالي؟ جرّب تحويل PDF إلى ePub، أو جرب ضبط عتبات ثقة OCR لتحسين الدقة على المسحات الضوضائية. السماء هي الحد عندما تجمع بين OCR قوي وتوليد ePub مرن. + +برمجة سعيدة، واستمتع بقراءة ePub الجديد الخاص بك! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/arabic/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..00bfab723 --- /dev/null +++ b/ocr/arabic/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,245 @@ +--- +category: general +date: 2026-03-07 +description: تعلم كيفية استخدام OCR في C# لاستخراج النص من ملفات الصور. يوضح هذا الدليل + OCR دون اتصال، تحويل الصورة إلى نص، وتحميل الصورة للـ OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: ar +og_description: كيفية استخدام OCR في C# لاستخراج النص من الصور دون اتصال. كود خطوة + بخطوة، نصائح، وشرح كامل لتحويل الصورة إلى نص. +og_title: كيفية استخدام OCR في C# – دليل كامل دون اتصال +tags: +- OCR +- C# +- Aspose +title: كيفية استخدام OCR في C# – استخراج النص من الصور دون اتصال +url: /ar/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية استخدام OCR في C# – استخراج النص من الصور دون اتصال + +هل تساءلت يومًا **كيف تستخدم OCR** في مشروع .NET دون إرسال البيانات إلى السحابة؟ لست وحدك. العديد من المطورين يحتاجون إلى *استخراج النص من ملفات الصورة* على محطة عمل مؤمنة، ويخشون أن يكشف مرور الشبكة عن معلومات حساسة. + +الخبر السار؟ باستخدام Aspose.OCR يمكنك التعرف على النص من PNG أو JPEG أو PDF بالكامل دون اتصال. في هذا الدرس سنستعرض تحميل صورة للـ OCR، تهيئة المحرك للوضع غير المتصل، وأخيرًا **تحويل الصورة إلى نص** ببضع أسطر من C#. + +بنهاية هذا الدليل ستكون قادرًا على: + +* تثبيت حزمة Aspose.OCR عبر NuGet. +* إعداد محرك OCR للمعالجة دون اتصال. +* تحميل صورة للـ OCR واستخراج محتواها النصي. + +بدون خدمات خارجية، بدون مفاتيح API—فقط كود C# نقي يعمل على أي جهاز Windows أو Linux. + +--- + +## المتطلبات المسبقة + +قبل أن نبدأ، تأكد من وجود ما يلي: + +* .NET 6.0 SDK أو أحدث (الكود يعمل أيضًا مع .NET Framework 4.7+). +* Visual Studio 2022، VS Code، أو أي محرر يدعم C#. +* نسخة من مكتبة **Aspose.OCR** – يمكنك جلبها من NuGet (`Aspose.OCR`). +* مجلد موارد OCR (`Resources`) المرفق مع المكتبة (يحتوي على ملفات بيانات اللغات). +* صورة نموذجية (مثال: `offline_test.png`) موجودة في دليل معروف. + +> **نصيحة احترافية:** احفظ مجلد الموارد بجوار الملف التنفيذي؛ فهذا يبسط إعداد `ResourcesPath`. + +--- + +## الخطوة 1: تثبيت حزمة Aspose.OCR من NuGet + +أولاً، أضف المكتبة إلى مشروعك. افتح الطرفية في مجلد المشروع وشغّل: + +```bash +dotnet add package Aspose.OCR +``` + +أو، إذا كنت تفضّل واجهة Visual Studio، انقر بزر الفأرة الأيمن على **Dependencies → Manage NuGet Packages**، ابحث عن *Aspose.OCR*، ثم اضغط **Install**. + +> تثبيت الحزمة يجلب جميع الثنائيات المطلوبة، لذا لن تحتاج إلى أي ملفات DLL إضافية. + +--- + +## الخطوة 2: إنشاء وتكوين محرك OCR (كيفية استخدام OCR – الوضع غير المتصل) + +الآن سننشئ محرك OCR ونخبره بالعمل **بدون اتصال**. هذا يضمن عدم حدوث أي حركة مرور شبكة أثناء التعرف. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**لماذا الوضع غير المتصل؟** +عندما يتم تعيين `EngineMode` إلى `Online`، يتواصل المحرك مع سحابة Aspose لتحميل حزم اللغات عند الحاجة. في البيئات المنظمة (المالية، الرعاية الصحية) غالبًا ما يُحظر هذا النوع من المرور. بفرض الوضع غير المتصل تضمن بقاء كل شيء على الجهاز المحلي. + +--- + +## الخطوة 3: توجيه المحرك إلى مجلد موارد OCR + +يحتاج محرك OCR إلى بيانات اللغة (نماذج مدربة) للتعرف على الأحرف. أخبره بمكان وجود هذه الملفات: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +إذا لم تكن متأكدًا من موقع المجلد، ابحث عنه داخل دليل حزمة NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). انسخ المجلد بالكامل إلى مشروعك لتسهيل النشر. + +--- + +## الخطوة 4: تحميل الصورة للـ OCR (Load Image for OCR) + +يمكنك تمرير أي صورة bitmap مدعومة إلى المحرك. هنا سنحمّل ملف PNG موجود على القرص: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**نصيحة:** إذا كنت تحتاج إلى معالجة الصور من تدفق (مثلاً، تم رفعه عبر API)، استخدم `ImageStream.FromStream(yourStream)` بدلاً من ذلك. + +--- + +## الخطوة 5: تشغيل عملية التعرف وتحويل الصورة إلى نص + +مع كل شيء جاهز، شغّل OCR. طريقة `Recognize()` تقوم بالعمل الشاق، والنص المستخرج يصبح متاحًا عبر خاصية `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## الخطوة 6: إخراج النص المستخرج + +أخيرًا، اعرض النتيجة. في تطبيق console يمكنك كتابة النص إلى الـ console، أما في Web API فستعيد السلسلة كـ JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +تشغيل البرنامج يجب أن يطبع محتوى `offline_test.png`. على سبيل المثال، إذا كانت الصورة تحتوي على العبارة *“Hello, World!”*، سترى: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## مثال كامل يعمل + +فيما يلي البرنامج الكامل الجاهز للتنفيذ. انسخه إلى مشروع console جديد (`dotnet new console`) وعدّل المسارات لتتناسب مع بيئتك. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **الناتج المتوقع:** يطبع الـ console النص الدقيق الموجود في ملف PNG. إذا كانت الصورة غير واضحة، قد يتضمن الناتج أحرفًا غير صحيحة—انظر قسم استكشاف الأخطاء وإصلاحها أدناه. + +--- + +## المشكلات الشائعة والنصائح (Recognize Text from PNG Efficiently) + +| المشكلة | السبب | طريقة الحل | +|-------|-------|------------| +| **إخراج فارغ** | `ResourcesPath` يشير إلى المجلد الخطأ أو ملفات اللغة مفقودة. | تأكد من وجود `eng.traineddata` (أو ملفات لغات أخرى) في المجلد وتحقق من صحة مسار السلسلة. | +| **حروف غير مفهومة** | دقة الصورة منخفضة أو الصورة غير مفرزة. | عالج الصورة مسبقًا (زيادة DPI، تطبيق `ImageProcessor` للحدّ من الضبابية). | +| **بطء الأداء** | معالجة صور كبيرة بدقة كاملة. | قلّص حجم الصورة إلى عرض أقصى 2000 px قبل تمريرها إلى OCR. | +| **صيغة غير مدعومة** | استخدام BMP بصيغة بكسل غير شائعة. | حوّل الصورة إلى PNG أو JPEG أولًا (`System.Drawing.Image.Save`). | + +**نصيحة احترافية:** إذا كنت بحاجة إلى التعرف على عدة لغات، عيّن `ocrEngine.Settings.Language = Language.English | Language.French;` قبل استدعاء `Recognize()`. + +--- + +## الأسئلة المتكررة + +**س: هل يمكن تشغيل هذا الكود على Linux؟** +بالتأكيد. Aspose.OCR متعدد المنصات؛ فقط تأكد من وجود المكتبات الأصلية (مضمنة مع حزمة NuGet). + +**س: ماذا أفعل إذا لم يكن لدي مجلد Resources؟** +يمكنك تحميل حزم اللغات المجانية من موقع Aspose أو استخراجها من حزمة NuGet (`.../aspose.ocr//resources`). + +**س: هل يمكن الحصول على درجات الثقة؟** +نعم. بعد `Recognize()`، تفقد `ocrEngine.RecognizedWords`—كل كلمة تحتوي على خاصية `Confidence`. + +--- + +## الخلاصة + +غطّينا **كيفية استخدام OCR** في C# لاستخراج النص من ملفات الصور بالكامل دون اتصال. عبر تثبيت Aspose.OCR، ضبط `EngineMode.Offline`، توجيه الموارد، تحميل صورة، واستدعاء `Recognize()`، يمكنك تحويل الصورة إلى نص بثقة دون الحاجة للإنترنت. + +خذ الكود أعلاه، استبدل مسارات الصور الخاصة بك، وابدأ في بناء ميزات مثل PDFs قابلة للبحث، أتمتة إدخال البيانات، أو أدوات تحسين الوصول. لاحقًا، يمكنك استكشاف **التعرف على النص من PNG** على نطاق واسع، أو دمج المحرك في API ASP.NET Core لتقديم نتائج OCR لتطبيقات الواجهة الأمامية. + +برمجة سعيدة، ولا تتردد في التجربة—OCR يتسامح بشكل مدهش بمجرد إعداد المحرك بشكل صحيح! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/arabic/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..a4ab10e6b --- /dev/null +++ b/ocr/arabic/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-03-07 +description: تعلم كيفية التعرف على النص الهندي وتحميل الصورة للتعرف الضوئي على الأحرف + باستخدام Aspose.OCR في C#. إعداد خطوة بخطوة، الكود، والنصائح. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: ar +og_description: اكتشف كيفية التعرف على النص الهندي باستخدام Aspose OCR في C#. يتضمن + تحميل الصورة للتعرف الضوئي على الأحرف، إعداد حزمة اللغة، ونصائح لأفضل الممارسات. +og_title: التعرف على النص الهندي – دليل Aspose OCR الكامل +tags: +- C# +- OCR +- Aspose +- Hindi +title: التعرف على النص الهندي في C# – دليل Aspose OCR الكامل +url: /ar/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# التعرف على النص الهندي – دليل Aspose OCR الكامل + +هل احتجت يومًا إلى **التعرف على النص الهندي** من إيصال ممسوح ضوئيًا لكنك لم تكن متأكدًا من أين تبدأ؟ لست وحدك. في العديد من التطبيقات التي تستهدف الهند، قد يبدو استخراج الأحرف الهندية بشكل موثوق كمطاردة هدف متحرك. لحسن الحظ، تجعل Aspose.OCR الأمر سهلًا—بمجرد أن تعرف الخطوات الصحيحة لـ **load image for OCR** وتوجيه المحرك إلى موارد اللغة الهندية. + +في هذا الدليل سنستعرض كل ما تحتاجه للحصول على خط أنابيب OCR يعمل في C#. في النهاية ستحصل على برنامج قابل للتنفيذ يقوم بتنزيل حزمة اللغة الهندية، يحمل صورة، يشغل التعرف، ويطبع النص الناتج على وحدة التحكم. لا روابط غامضة مثل “انظر الوثائق”—فقط حل مستقل يمكنك إدراجه في أي مشروع .NET. + +## ما ستحتاجه + +- **.NET 6+** (أو .NET Framework 4.7.2+). الـ API هو نفسه عبر الإصدارات، لكن وقت التشغيل الأحدث يمنحك أداءً أفضل. +- حزمة **Aspose.OCR for .NET** على NuGet. قم بتثبيتها باستخدام `dotnet add package Aspose.OCR`. +- **حزمة اللغة الهندية** – تقوم Aspose بتوفيرها كمورد قابل للتنزيل، غير مدمجة بشكل افتراضي. +- ملف صورة يحتوي على نص هندي (مثال: `hindi_receipt.jpg`). أي صيغة شائعة (JPG, PNG, BMP) تعمل. +- بيئة تطوير متكاملة جيدة (Visual Studio, Rider, أو VS Code). + +هذا كل شيء—لا محركات OCR خارجية، لا مفاتيح سحابة، فقط مكتبة محلية. + +## الخطوة 1: تنزيل حزمة اللغة الهندية – إعداد الموارد + +قبل أن يتمكن محرك OCR من فهم أحرف الديفاناغاري، يجب عليك جلب موارد اللغة الهندية. هذه عملية مرة واحدة عادةً ما تُجرى أثناء تثبيت التطبيق أو في CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**لماذا هذا مهم:** يعتمد محرك OCR على نماذج مخصصة للغة لتحويل أنماط البكسل إلى أحرف Unicode. بدون حزمة اللغة الهندية، ستحصل على مخرجات لاتينية مشوهة أو لا شيء على الإطلاق. + +> **نصيحة احترافية:** احفظ الحزمة في مجلد يمكن الكتابة فيه على الجهاز الهدف. إذا كنت تنشر إلى Azure App Service، استخدم المجلد `D:\home\site\wwwroot\Resources`. + +## الخطوة 2: تكوين محرك OCR – الإشارة إلى الموارد + +الآن بعد أن أصبحت الموارد في مكانها، أنشئ كائن `OcrEngine` وأخبره بمكان البحث عن ملفات اللغة. هذا هو المكان الذي نحدد فيه **اللغة الأساسية** للتعرف. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**لماذا نقوم بذلك:** `ResourcesPath` هو الجسر بين المحرك والملفات التي تم تنزيلها. إذا تخطيت هذه الخطوة، سيتراجع المحرك إلى نماذجه المدمجة (الإنجليزية فقط)، ولن تتمكن من **recognize Hindi text** بشكل صحيح. + +## الخطوة 3: تحميل الصورة لـ OCR – تزويد المحرك بالمدخل الصحيح + +مع جاهزية المحرك، الخطوة التالية هي **load image for OCR**. توفر Aspose مساعدًا مريحًا `ImageStream.FromFile` يدعم معظم صيغ الصور الشائعة. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**المشكلات الشائعة:** +- **الصور الكبيرة** يمكن أن تبطئ المعالجة. إذا كنت تتعامل مع مسحات عالية الدقة، فكر في تقليل الحجم أولاً (`ImageProcessor.Resize`). +- **الاتجاه غير الصحيح** (مسحات مدورة) سيتسبب في نتائج سيئة. استخدم `ocrEngine.Image.Rotate(90)` إذا لزم الأمر. + +## الخطوة 4: تشغيل التعرف – استخراج النص + +الآن نطلب من المحرك فعليًا قراءة البكسلات وتحويلها إلى سلاسل Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**ما المتوقع:** إذا كانت الصورة واضحة، يجب أن ترى الأحرف الهندية مطبوعة تمامًا كما تظهر على الإيصال. على سبيل المثال، قد ينتج إيصال نموذجي: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +إذا حصلت على نص غير مفهوم، تحقق مرة أخرى من أن حزمة اللغة تم تنزيلها بشكل صحيح وأن `ocrEngine.Settings.Language` تم تعيينها إلى `Language.Hindi`. + +## الخطوة 5: تجميع كل شيء – برنامج كامل قابل للتنفيذ + +فيما يلي ملف المصدر الكامل الذي يمكنك نسخه ولصقه في مشروع وحدة تحكم. يتضمن جميع الخطوات السابقة، بالإضافة إلى معالجة أخطاء بسيطة. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +احفظه كـ `Program.cs`، شغّل `dotnet run`، ويجب أن ترى النص الهندي مطبوعًا على وحدة التحكم. + +## الأسئلة المتكررة (FAQ) + +### هل يمكنني التعرف على لغات متعددة في تشغيل واحد؟ + +نعم. اضبط `ocrEngine.Settings.Language` إلى مصفوفة، مثال: `new[] { Language.Hindi, Language.English }`. سيحاول المحرك اكتشاف الأحرف من كلا الخطين. + +### ماذا لو كانت صورتي غير واضحة؟ + +فكر في المعالجة المسبقة باستخدام `ImageProcessor`—طبق تحسين الحدة أو تعزيز التباين قبل إسنادها إلى `ocrEngine.Image`. + +### هل يعمل هذا على Linux/macOS؟ + +بالطبع. Aspose.OCR متعدد المنصات؛ فقط تأكد من وجود الاعتمادات الأصلية (عادةً ما تكون مدمجة مع حزمة NuGet). + +### كيف أحسن الدقة للإيصالات منخفضة الدقة؟ + +زد DPI (النقاط في البوصة) أثناء المسح، أو أعد تحجيم الصورة برمجيًا إلى ما لا يقل عن 300 DPI قبل OCR. + +## الخلاصة + +لقد غطينا كل ما تحتاجه لـ **recognize Hindi text** باستخدام Aspose.OCR—من تنزيل حزمة اللغة الهندية، تكوين المحرك، **load image for OCR** بشكل صحيح، إلى استخراج وطباعة النتيجة. المقتطف البرمجي الكامل أعلاه جاهز للإدراج في أي تطبيق وحدة تحكم C#، وتساعد النصائح الاختيارية في التعامل مع الحالات الشائعة مثل المسحات غير الواضحة أو المستندات متعددة اللغات. + +هل أنت مستعد للخطوة التالية؟ جرّب تمرير ناتج OCR إلى واجهة برمجة تطبيقات ترجمة، أو احفظ البيانات المستخرجة في قاعدة بيانات للتحليل. يمكنك أيضًا تجربة لغات هندية أخرى—تدعم Aspose التاميل، البنغالية، وغيرها—عن طريق استبدال `Language.Hindi` بالقيمة المطلوبة من الـ enum. + +برمجة سعيدة، ولتكن نتائج OCR دائمًا واضحة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/arabic/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/arabic/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..c59a97d92 --- /dev/null +++ b/ocr/arabic/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: التعرف على النص من الصورة بسرعة باستخدام Aspose OCR. تعلّم كيفية تحويل + DjVu إلى نص، استخراج النص من الصورة، وتحميل الصورة للتعرف الضوئي على الأحرف في دليل + خطوة‑بخطوة بلغة C#. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: ar +og_description: التعرف على النص من الصورة في C# باستخدام Aspose OCR. يوضح هذا الدليل + كيفية تحويل djvu إلى نص، استخراج النص من الصورة، وتحميل الصورة للتعرف الضوئي على + الأحرف مع نصائح عملية. +og_title: التعرف على النص من الصورة – دليل Aspose OCR الكامل بلغة C# +tags: +- C# +- Aspose OCR +- Document Processing +title: التعرف على النص من الصورة في C# – دليل Aspose OCR الكامل +url: /ar/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# التعرف على النص من الصورة – دليل كامل C# Aspose OCR + +هل احتجت يوماً إلى **التعرف على النص من الصورة** لكنك لم تكن متأكدًا أي مكتبة ستعطيك نتائج موثوقة؟ لست وحدك. سواء كنت تتعامل مع فواتير ممسوحة ضوئيًا، ملفات DJVU تاريخية، أو مجرد لقطة شاشة PNG، قد يشعر استخراج الأحرف الدقيقة وكأنه فك شفرة نص قديم. + +الأمر ببساطة—Aspose OCR يجعل العملية كلها سهلة. في هذا الدليل سنستعرض كيفية **تحويل djvu إلى نص**، **استخراج النص من الصورة**، و**تحميل الصورة للتعرف الضوئي على الأحرف (OCR)** باستخدام برنامج C# مختصر. في النهاية ستحصل على تطبيق كونسول يعمل ويطبع السلسلة التي تم التعرف عليها في الكونسول، وستفهم “السبب” وراء كل سطر. + +## ما ستتعلمه + +- كيفية إعداد محرك Aspose OCR في مشروع .NET. +- الكود الدقيق اللازم **لتحميل الصورة للتعرف الضوئي على الأحرف** من ملف DJVU. +- لماذا يجب استدعاء `Recognize()` قبل قراءة `Text`. +- الأخطاء الشائعة (DJVU متعدد الصفحات، صيغ غير مدعومة) وكيفية تجنبها. +- طرق سريعة **لتحويل djvu إلى نص** للمعالجة الدفعة. + +كل ما تحتاجه هو .NET SDK حديث (≥ 6.0) ورخصة Aspose OCR (الإصدار التجريبي المجاني يكفي للاختبار). لا خدمات خارجية، لا استدعاءات REST—فقط C# نقي. + +## المتطلبات المسبقة + +| المتطلب | السبب | +|-------------|--------| +| .NET 6 SDK أو أحدث | ميزات لغة حديثة وأداء أفضل. | +| حزمة Aspose.OCR من NuGet (`Install-Package Aspose.OCR`) | توفر الفئة `OcrEngine` التي سنستخدمها. | +| ملف DJVU (مثال: `sample.djvu`) | يوضح **تحويل djvu إلى نص**. | +| إلمام أساسي بتطبيقات كونسول C# | يجعل الخطوات تتدفق بصورة طبيعية. | + +إذا كان أي من هذه غير موجود، توقف وقم بتثبيته الآن؛ وإلا لن يتم تجميع الكود. + +## الخطوة 1 – تثبيت Aspose.OCR وإنشاء المشروع + +أولاً، أنشئ مشروع كونسول جديد وأضف مكتبة OCR. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*نصيحة محترف:* استخدم العلامة `--framework net6.0` إذا أردت تثبيت إطار العمل الهدف بشكل صريح. + +## الخطوة 2 – تهيئة محرك OCR وتحميل صورة DJVU + +المحرك يحتاج إلى مصدر صورة. Aspose.OCR يمكنه قراءة صيغ متعددة، بما فيها DJVU، لذا نوجهه ببساطة إلى مسار الملف. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**لماذا هذا مهم:** +- `OcrEngine` هو نقطة الدخول؛ إنشاؤه مرة واحدة وإعادة استخدامه يقلل من استهلاك الذاكرة. +- `ImageStream.FromFile` يخفف عنك تفاصيل الصيغة، بحيث يمكنك لاحقًا استبدال ملف DJVU بـ PNG أو TIFF دون تعديل أي كود آخر—مثالي لـ “كيفية استخراج النص من الصورة” في سيناريوهات مختلفة. + +## الخطوة 3 – تشغيل عملية التعرف + +استدعاء `Recognize()` يشغل العملية الثقيلة. تحت الغطاء، Aspose يستخدم مصنفًا قائمًا على الشبكات العصبية يعمل على النص المطبوع والمكتوب يدويًا. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*ملاحظة حالة حافة:* إذا كان ملف DJVU يحتوي على صفحات متعددة، فإن `ImageStream.FromFile` لا يزال يحمل الصفحة الأولى فقط. لمعالجة جميع الصفحات تحتاج إلى حلقة حول `ImageStream.FromFile(...).Pages`. بالنسبة لمعظم المهام السريعة، تكون الصفحة الأولى كافية. + +## الخطوة 4 – استرجاع وعرض النص المعترف به + +بعد عملية التعرف، يملأ المحرك الخاصية `Text` بسلسلة نصية عادية. يمكنك الآن طباعتها على الكونسول، أو حفظها في ملف، أو تمريرها إلى نظام آخر. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +الناتج النموذجي يكون كالتالي: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +إذا كان الناتج مشوشًا، تحقق من أن صورة المصدر ليست منخفضة الدقة؛ توصيّة Aspose هي 300 dpi أو أعلى للحصول على أفضل دقة. + +## مثال كامل يعمل + +بدمج كل ما سبق، إليك ملف واحد (`Program.cs`) يمكنك لصقه في المشروع الذي أنشأته مسبقًا. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +شغّله باستخدام: + +```bash +dotnet run +``` + +يجب أن ترى السلسلة المستخرجة مطبوعة في الطرفية. هذه أبسط طريقة **للتعرف على النص من الصورة** باستخدام Aspose OCR. + +## الخطوة 5 – متقدم: تحويل صفحات DJVU متعددة إلى ملفات نصية + +إذا كنت بحاجة إلى **تحويل djvu إلى نص** بشكل جماعي، وسّع الكود السابق بحلقة: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*لماذا يعمل هذا:* `GetPage(i)` تُعيد كائن `Image` للصفحة المطلوبة، مما يتيح لك إعادة استخدام نفس نسخة `OcrEngine`. نص كل صفحة يُحفظ في ملف `.txt` خاص به، مما يمنحك خط أنابيب **تحويل djvu إلى نص** نظيف. + +## أسئلة شائعة ومشكلات محتملة + +- **هل يمكنني استخراج النص من JPEG بدلًا من DJVU؟** + بالتأكيد. فقط غيّر امتداد الملف في `FromFile`. نفس الكود **كيفية استخراج النص من الصورة** ينطبق لأن Aspose يخفف عنك الصيغة. + +- **ماذا أفعل إذا احتوى ناتج OCR على فواصل أسطر زائدة؟** + استخدم `String.Replace("\r\n", " ")` أو تعبيرًا نمطيًا لتطبيع الفراغات. + +- **هل أحتاج رخصة للاستخدام في الإنتاج؟** + النسخة التجريبية مجانية حتى 100 صفحة. للاستخدام غير المحدود، اشترِ رخصة واستدعِ `License license = new License(); license.SetLicense("Aspose.OCR.lic");` قبل إنشاء المحرك. + +- **هل المحرك آمن للاستخدام متعدد الخيوط؟** + لا. أنشئ نسخة منفصلة من `OcrEngine` لكل خيط أو احمِ الوصول بقفل. + +## نصائح لتحسين الدقة + +1. **زيادة DPI** – إذا كنت تتحكم في تحويل المصدر، احرص على إخراج الصور بدقة 300 dpi أو أعلى. +2. **معالجة مسبقة للصورة** – البينارايزيشن البسيط (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) يمكن أن يحسّن النتائج على المسحات الضوضائية. +3. **تحديد اللغة** – `ocrEngine.Language = Language.English;` يحد من مجموعة الأحرف ويسرّع عملية التعرف. + +## الخلاصة + +أصبح لديك الآن مثال كامل وجاهز للتنفيذ **للتعرف على النص من الصورة** باستخدام Aspose OCR، وقد رأيت كيف **تحويل djvu إلى نص**، **كيفية استخراج النص من الصورة**، والطريقة الصحيحة **لتحميل الصورة للتعرف الضوئي على الأحرف**. الكود مستقل، يعمل على أي بيئة تشغيل .NET 6+، ويمكن توسيعه لمعالجة دفعات من مستندات DJVU متعددة الصفحات. + +الخطوات التالية قد تشمل: + +- إضافة **اكتشاف اللغة** لملفات DJVU متعددة اللغات. +- دمج ناتج OCR مع فهرس بحث (مثال: Elasticsearch). +- استخدام تحويل Aspose إلى PDF لتحويل النص المستخرج إلى ملفات PDF قابلة للبحث. + +جرّبه، عدّل الـ DPI، جرب صيغ صور مختلفة، ودع محرك OCR يقوم بالعمل الشاق نيابةً عنك. برمجة سعيدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/ocr-configuration/_index.md b/ocr/chinese/net/ocr-configuration/_index.md index 130a84dce..be2140418 100644 --- a/ocr/chinese/net/ocr-configuration/_index.md +++ b/ocr/chinese/net/ocr-configuration/_index.md @@ -59,7 +59,9 @@ weight: 24 ### [使用语言选择进行 OCR 图像识别的 OCROperation](./ocr-operation-with-language-selection/) 利用 Aspose.OCR for .NET 的强大 OCR 功能,流畅地从图像中提取文本。 ### [使用列表进行 OCR 图像识别的 OCROperation](./ocr-operation-with-list/) -发挥 Aspose.OCR for .NET 的潜力,轻松实现基于列表的 OCR 图像识别,提高应用的生产力和数据提取效率。 +发挥 Aspose.OCR for .NET 的潜力,轻松实现基于列表的 OCR 图像识别,提高应用的生产力和数据提取效率。 +### [从 PNG 读取文本 – 使用 Aspose OCR 提取西里尔文字](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +使用 Aspose OCR 从 PNG 图像中读取并提取西里尔字母文本。 ### 常见使用场景 - **从扫描发票中提取文本**,实现自动化会计。 @@ -100,4 +102,4 @@ weight: 24 {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/chinese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..90270d0d2 --- /dev/null +++ b/ocr/chinese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,182 @@ +--- +category: general +date: 2026-03-07 +description: 学习如何使用 Aspose OCR 从 PNG 读取文本并提取西里尔文文本,将图像转换为文本,并下载西里尔语言包。 +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: zh +og_description: 学习如何使用 Aspose OCR 在 C# 中读取 PNG 文本、提取西里尔文文本并将图像转换为文本。 +og_title: 从 PNG 读取文本 – 使用 Aspose OCR 提取西里尔文文本 +tags: +- Aspose OCR +- C# +- Image Processing +title: 从 PNG 读取文本 – 使用 Aspose OCR 提取西里尔文文本 +url: /zh/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从 PNG 读取文本 – 使用 Aspose OCR 提取西里尔文文本 + +需要 **从 PNG 读取文本** 并提取西里尔字符吗?在本指南中,我们将展示如何使用 Aspose OCR 从 PNG 读取文本、提取西里尔文,并在几行 C# 代码中 **将图像转换为文本**。 + +如果你曾经盯着一张俄文发票的截图,想把文字转换为可搜索的字符串,那么你来对地方了。我们还会介绍如何 **自动下载西里尔语言包**,这样你就不必去寻找额外的文件。 + +## 您将实现的目标 + +* **加载用于 OCR 的图像**,可直接从磁盘或流中读取。 +* 将引擎设置为 **Cyrillic 语言**,无需手动下载。 +* 运行识别并 **提取 PNG 文件中的西里尔文本**。 +* 在控制台打印识别后的文本——干净的纯文本结果,可用于数据库、搜索索引或任何其他工作流。 + +无需外部服务、无需云密钥,只需 Aspose OCR NuGet 包和几行 C# 代码。 + +## 前提条件 + +* .NET 6.0 或更高(代码在 .NET Core、 .NET Framework 和 .NET 5+ 上均可运行)。 +* Visual Studio 2022 或任意你喜欢的编辑器。 +* Aspose.OCR NuGet 包(`dotnet add package Aspose.OCR`)。 +* 包含西里尔字符的 PNG 图像,例如放在 `YOUR_DIRECTORY` 文件夹中的 `cyrillic_sample.png`。 + +> **技巧提示:** 如果你使用 Visual Studio,右键点击项目 → **管理 NuGet 包** → 搜索 “Aspose.OCR” 并安装最新的稳定版本。 + +## 第一步 – 安装 Aspose OCR 并创建引擎 + +首先我们需要 OCR 引擎实例。`OcrEngine` 类是所有操作的入口。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **为什么重要:** 引擎封装了语言包、图像数据和识别选项。只实例化一次并在多张图像之间复用,可提升性能。 + +## 第二步 – **加载用于 OCR 的图像** 并设置语言 + +现在我们告诉引擎要处理哪张图像以及要识别的语言。设置 `Language.Cyrillic` 会在首次运行时自动下载所需的语言包。 + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **特殊情况:** 如果你的 PNG 很大(超过 5 MB),可以先调整大小以加快识别速度。`Image` 属性同样接受 `Stream`,因此可以从内存、网络请求或 Azure Blob 加载,而无需触及文件系统。 + +## 第三步 – 使用单次调用 **将图像转换为文本** + +识别只需调用 `Recognize()`。调用后,`Text` 属性即保存提取的字符串。 + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **内部原理是什么?** Aspose 使用基于神经网络的分类器,已在数百万西里尔字形上进行训练。库将这些复杂性抽象化,你只会得到干净的 Unicode 文本。 + +## 第四步 – 输出结果(或传递到其他地方) + +演示时我们会将文本打印到控制台,但你也可以轻松将其写入文件、数据库,或传递给搜索索引。 + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**预期输出**(假设 `cyrillic_sample.png` 包含短语 “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +如果输出出现乱码,请确认图像清晰且已设置 `Language.Cyrillic`。引擎默认使用英语,会将西里尔字符视为未知符号。 + +## 第五步 – 完整、可运行的示例 + +将所有步骤整合在一起,下面是一个可直接复制粘贴到新控制台项目中的完整程序。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +将文件保存为 `Program.cs`,运行 `dotnet run`,即可看到打印出的西里尔文本。 + +## 常见问题与故障排除 + +| Question | Answer | +|----------|--------| +| **如果语言包未下载怎么办?** | 确保机器可以访问互联网。语言包会缓存于 `%USERPROFILE%\.Aspose\OCR\Languages`。删除该文件夹可强制重新下载。 | +| **我能读取除西里尔文之外的其他语言吗?** | 当然可以——将 `Language.Cyrillic` 替换为 `Language.English`、`Language.Arabic` 等。相同的自动下载逻辑适用。 | +| **我的 PNG 噪点较多,结果不佳。我该怎么办?** | 对图像进行预处理:提升对比度、转换为灰度或使用中值滤波。Aspose OCR 还提供 `Settings.ImagePreprocess` 选项。 | +| **有没有办法获取每个单词的边界框?** | 有的,在调用 `Recognize()` 后可以检查 `ocrEngine.Regions`,它返回每个检测到的单词的矩形。 | +| **生产环境是否需要许可证?** | 免费评估版支持最多 100 页。商业项目请购买许可证——它会去除评估水印并解锁高速批处理功能。 | + +## 后续步骤 – 扩展解决方案 + +* **批量处理:** 遍历 PNG 文件夹,将所有文本收集到 CSV 文件中。 +* **与 Azure Cognitive Search 集成:** 将提取的西里尔字符串建立索引,实现快速检索。 +* **结合 PDF 转换:** 先使用 Aspose.PDF 将扫描的 PDF 转为 PNG,再执行相同的 OCR 流程。 + +所有这些场景都复用了我们刚才介绍的核心模式:**加载用于 OCR 的图像 → 设置语言 → 识别 → 使用文本**。 + +## 结论 + +现在你已经掌握了如何使用 Aspose OCR 在 C# 中 **从 PNG 读取文本**、**提取西里尔文本**,以及 **将图像转换为文本**。关键步骤包括创建引擎、加载图像、选择正确的语言(会自动 **下载西里尔语言包**),最后调用 `Recognize()`。 + +尝试不同的图像,实验 `Settings` 选项,观察你的应用变得可搜索、多语言且更智能。 + +祝编码愉快,如遇问题欢迎留言! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/ocr-optimization/_index.md b/ocr/chinese/net/ocr-optimization/_index.md index 48aeacf55..d8efa456d 100644 --- a/ocr/chinese/net/ocr-optimization/_index.md +++ b/ocr/chinese/net/ocr-optimization/_index.md @@ -72,6 +72,14 @@ weight: 25 ### [Save Multipage Result as Document in OCR Image Recognition](./save-multipage-result-as-document/) 释放 Aspose.OCR for .NET 的潜能。通过本综合一步一步的指南,轻松将多页 OCR 结果保存为文档。 +### [如何在 C# 中去倾斜图像并运行 OCR – 完整指南](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +本教程详细讲解在 C# 中使用 Aspose.OCR 对图像去倾斜并执行 OCR 的完整步骤,提升识别准确率。 + +### [Aspose OCR 示例 – 在 C# 中启用拼写检查并修复错误](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) + +### [如何在 C# 中对中文图像执行 OCR – 完整指南](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +本教程详细演示在 C# 使用 Aspose.OCR 对中文图像进行 OCR 的完整步骤,包括预处理、语言设置和结果保存。 + ## 常见问题 **Q: 我可以从包含多种语言的图像文件中提取文本吗?** diff --git a/ocr/chinese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/chinese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..304956d7d --- /dev/null +++ b/ocr/chinese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,214 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR 示例,展示如何启用拼写检查、添加自定义词典、加载图像 OCR 并快速修复 OCR 错误。 +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: zh +og_description: Aspose OCR 示例,逐步演示如何启用拼写检查、添加自定义词典、加载图像进行 OCR 以及修复常见的 OCR 错误。 +og_title: Aspose OCR 示例 – 启用拼写检查并修复错误 +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR 示例 – 在 C# 中启用拼写检查并修复错误 +url: /zh/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR 示例 – 在 C# 中启用拼写检查并修复错误 + +是否曾需要一个 **Aspose OCR 示例**,不仅能够从图像中读取文本,还能清理那些恼人的拼写错误?你并非唯一遇到这种情况的人。在许多实际项目中,原始 OCR 输出充斥着拼写错误,尤其是当源图像包含低对比度字体或手写笔记时。 + +好消息是?使用 Aspose.OCR,你可以 **enable spellcheck**,插入自己的词典,并仅用几行代码就得到一段润色后的字符串。下面你将看到 **how to enable spellcheck**、**how to add a dictionary** 和 **how to load image OCR** 的完整示例,从而能够 **fix OCR errors**,不再抓狂。 + +在本教程中,我们将覆盖所有必需内容——从 NuGet 安装到一个完整可运行的程序,打印出校正后的文本。完成后,你将拥有一个可靠的 **Aspose OCR example**,可以直接放入任何 .NET 项目中使用。 + +## 前置条件 + +- .NET 6.0 SDK 或更高版本(代码同样适用于 .NET Core 和 .NET Framework) +- Visual Studio 2022 或任何兼容 C# 的 IDE +- 包含清晰英文打字文本的图像文件(`typed_text.png`) +- 需要互联网访问以获取 Aspose.OCR NuGet 包 + +不需要其他第三方库。 + +--- + +## 第一步 – 安装 Aspose.OCR NuGet 包(Load Image OCR) + +在编写任何代码之前,我们需要为 OCR 引擎提供动力的库。 + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** 如果你使用 Visual Studio,右键单击项目 → *Manage NuGet Packages* → 搜索 **Aspose.OCR** 并点击 *Install*。 + +安装该包后,你即可使用 `OcrEngine`、`ImageStream` 以及我们稍后将使用的内置拼写检查工具。包就绪后,你就可以 **load image OCR**。 + +## 第二步 – 创建 OCR 引擎实例 + +创建引擎是任何 **Aspose OCR example** 的首个具体步骤。可以把 `OcrEngine` 看作分析位图并输出文本的大脑。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +`OcrEngine` 构造函数不需要任何参数,这使得它在快速原型开发时既简洁又方便。 + +## 第三步 – How to Enable Spellcheck(以及为何重要) + +原始 OCR 输出经常包含误识别的单词,例如将 “the” 误读为 “teh”。启用内置拼写检查器可让 Aspose 自动将这些错误替换为最可能的正确拼写。 + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Why enable spellcheck?** +> - **Accuracy:** 后处理拼写检查可以将印刷文档的整体文本准确率提升 10‑15 %。 +> - **User experience:** 干净的文本意味着在将结果输入搜索索引或分析管道时,后续清理工作更少。 + +## 第四步 – How to Add a Dictionary(自定义词汇) + +有时默认词典不包含你的品牌名称、产品代码或行业专用术语。这时 **how to add dictionary** 就派上用场了。 + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +你可以提供数组、列表,甚至从文件读取大型自定义词汇表。拼写检查器将把这些条目视为有效,防止错误的纠正。 + +## 第五步 – Load the Image for OCR(Load Image OCR) + +现在引擎已配置好,需要指向我们想要读取的图片。`ImageStream.FromFile` 辅助方法抽象了文件读取的细节。 + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** 如果你的图像位于项目的子文件夹中,请将其 *Copy to Output Directory* 属性设置为 *Copy always*,以便在运行时解析路径。 + +## 第六步 – Perform Recognition and Fix OCR Errors + +一切就绪后,调用一次 `Recognize()` 即可运行 OCR 流程,应用拼写检查,并将清理后的结果存入 `ocrEngine.Text`。 + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### 预期输出 + +假设 `typed_text.png` 包含句子 `The quick brown fox jumps over teh lazy dog`,控制台将显示: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +请注意,“teh” 已自动纠正为 “the”。如果你在自定义词典中添加了 “OCRify”,且图像中出现该词,引擎将保持原样不做修改。 + +--- + +## 完整可运行示例(复制粘贴即用) + +下面是完整的程序代码,你可以直接放入新的控制台项目中。它包含上述所有步骤,并附有少量注释以便说明。 + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +将其保存为 `Program.cs`,运行 `dotnet run`,即可在控制台看到校正后的句子。 + +--- + +## 常见问题与边缘情况 + +| Question | Answer | +|----------|--------| +| **如果图像是多页 PDF 会怎样?** | Aspose.OCR 可以将 PDF 页面当作图像处理。使用 `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` 并遍历各页。 | +| **我可以将语言更改为非英文吗?** | 当然可以。设置 `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;`(或任何受支持的语言)。 | +| **我的自定义词典很大——会影响性能吗?** | 添加成千上万的词会产生一点前期开销,但由于底层使用哈希集合,查找是 O(1)。对于超大词汇表,建议在应用启动时一次性加载。 | +| **如果 OCR 引擎在损坏的图像上抛出异常怎么办?** | 将 `Recognize()` 包裹在 try‑catch 块中并检查 `ocrEngine.LastError`。也可以使用 `ocrEngine.Image.Width` 和 `Height` 预先验证图像尺寸。 | +| **生产环境需要许可证吗?** | 免费评估版可用于测试,但商业许可证会去除评估水印并解锁全部性能。 | + +## 结论 + +现在你已经拥有一个 **complete Aspose OCR example**,演示了 **how to enable spellcheck**、**how to add a dictionary**、**load image OCR** 以及 **how to fix OCR errors**,并以干净、可用于生产的方式实现。通过配置拼写检查器并提供自定义词表,你可以在无需编写任何后处理逻辑的情况下显著提升提取文本的质量。 + +准备好下一步了吗?尝试将语言切换为西班牙语,处理多页 PDF,或将输出集成到可搜索的 Azure Cognitive Search 索引中。模式相同——只需调整语言标识并可能扩展自定义词典即可。 + +如果你觉得本指南有帮助,请在 GitHub 上给它加星,分享给团队成员,或在下方留言。祝编码愉快,愿你的 OCR 结果永远无误! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/chinese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..5f4d8694a --- /dev/null +++ b/ocr/chinese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-03-07 +description: 学习如何使用 Aspose OCR 对图像进行去倾斜、增强对比度,并从扫描中提取文本。使用完整的 C# 示例对图像执行 OCR,并轻松加载图像进行 + OCR。 +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: zh +og_description: 了解如何使用 Aspose OCR 在 C# 中对图像进行去倾斜、增强对比度并从扫描中提取文本。通过一步步的代码对图像执行 OCR。 +og_title: 如何在 C# 中纠正图像倾斜并运行 OCR – 完整指南 +tags: +- C# +- OCR +- Image Processing +title: 如何在 C# 中纠正图像倾斜并运行 OCR – 完整指南 +url: /zh/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中去倾斜图像并运行 OCR – 完整指南 + +如果你曾经想过在运行 OCR 之前 **如何去倾斜图像**,那么你来对地方了。在本教程中,我们将逐步演示如何提升对比度、加载图像进行 OCR,最后使用 Aspose OCR **提取扫描文本**。 + +无论你是要数字化旧收据、清理扫描的合同,还是仅仅需要一种可靠的方法来读取倾斜照片中的文字,下面的步骤都涵盖了你所需的一切。没有废话——只提供一个可以直接复制粘贴到 Visual Studio 的可运行示例。 + +## 你将实现的目标 + +通过本指南,你将能够: + +* 将倾斜校正至最高30°(这就是 **how to deskew image** 的部分)。 +* 提高图像对比度以获得更清晰的字符边缘(**how to boost contrast**)。 +* 将图片加载到 OCR 引擎中(**load image for OCR**)。 +* 运行识别过程并 **extract text from scan**。 + +所有这些都基于最新的 Aspose.OCR .NET NuGet 包(撰写时为 v23.11)。 + +--- + +![如何去倾斜图像示例](/images/deskew-example.png "how to deskew image") + +*上图展示了扫描文档在去倾斜前后的对比。* + +## 前置条件 + +* .NET 6.0 或更高版本(代码同样适用于 .NET Framework 4.7+)。 +* Visual Studio 2022(或任何你喜欢的 C# IDE)。 +* Aspose.OCR NuGet 包 – 通过 `dotnet add package Aspose.OCR` 安装。 + +就这些。无需外部服务,也不需要 API 密钥。 + +--- + +## 如何使用 Aspose OCR 去倾斜图像 + +我们首先创建一个 **ImageProcessingPipeline** 并添加 `DeskewFilter`。该过滤器会自动检测主要文字行的角度并将图像旋转回水平。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**为什么这很重要:** +倾斜的扫描会让 OCR 引擎困惑,因为字符不再与基线对齐。`DeskewFilter` 会分析图像直方图,找出倾斜角度并进行旋转,从而显著提升识别准确率。 + +> **专业提示:** 如果你的文档倾斜角度永远不超过 15°,可以将 `MaxAngle = 15` 以加快处理速度。 + +--- + +## 如何提升对比度以获得更佳识别效果 + +去倾斜后,下一步是让文字更突出。`ContrastBoostFilter` 会拉伸像素强度范围,对褪色的打印尤其有效。 + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**为什么它有帮助:** +低对比度的扫描会产生灰色字符,二值化器可能会把它们误判为背景。提升对比度会让暗像素更暗、亮像素更亮,为后续的 `BinarizationFilter` 提供更干净的画布。 + +--- + +## 对图像执行 OCR – 加载文件 + +现在图像已经预处理完毕,我们需要 **load image for OCR**。Aspose 提供了便利的 `ImageStream.FromFile` 辅助方法。 + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +如果你的图像位于流中(例如通过 Web API 上传),可以改用 `ImageStream.FromStream(yourStream)`。引擎支持 BMP、JPEG、PNG、TIFF 等多种格式。 + +--- + +## 运行识别过程并提取扫描文本 + +所有步骤就绪后,调用 `Recognize()` 即可完成繁重的工作。调用结束后,识别得到的文本可通过 `ocrEngine.Text` 访问。 + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**预期输出**(以下为简单发票的示例): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +如果输出出现乱码,请再次检查管道顺序——先去倾斜,再去噪声、提升对比度,最后二值化。顺序错误会导致结果下降。 + +--- + +## 常见陷阱与边缘情况 + +| 问题 | 产生原因 | 解决方案 | +|------|----------|----------| +| **结果为空** | 图像过暗或过亮,默认二值化方法无法处理。 | 增加 `ContrastBoostFilter.Strength` 或切换到 `BinarizationMethod.Otsu`。 | +| **部分文字缺失** | 去噪后仍残留噪声。 | 对较轻的图像使用 `DenoiseLevel.Medium`,或添加第二个 `DenoiseFilter`。 | +| **旋转方向错误** | 文档存在混合方向(例如拍摄了已旋转的页面)。 | 手动降低 `DeskewFilter.MaxAngle`,并使用 `ImageProcessor.Rotate` 预先旋转图像。 | +| **性能下降** | 大批量高分辨率图像。 | 在管道前使用 `ImageProcessor.Resize` 降低分辨率,或使用 `Parallel.ForEach` 并行处理。 | + +--- + +## 完整可运行示例(复制粘贴即用) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +将其保存为 `Program.cs`,运行 `dotnet run`,即可在控制台看到 **extract text from scan** 的结果。 + +--- + +## 后续步骤与相关主题 + +* **批量处理** – 将上述逻辑封装在循环中,以一次处理 dozens of files。 +* **自定义语言包** – 若需读取非拉丁文字,可通过 `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;` 加载语言模型。 +* **PDF 输出** – 将 Aspose.PDF 与 OCR 结合,直接在 PDF 中嵌入可搜索文本。 +* **性能调优** – 试验 `ImageProcessingPipeline` 的顺序;有时在去倾斜前先去噪会在噪声较大的照片上更快。 + +所有这些都基于我们已经讨论的核心概念:**how to deskew image**、**how to boost contrast**、**load image for OCR**、**perform OCR on image**,以及最终的 **extract text from scan**。 + +--- + +## 总结 + +我们刚刚演示了一种完整、可投入生产的方式来 **how to deskew image** 并在 C# 中运行 OCR。通过串联去倾斜过滤器、去噪步骤、对比度提升以及二值化,你可以得到干净的输入,让 Aspose OCR 可靠地 **extract text from scan**。 + +试着运行代码,根据自己的文档微调过滤器参数,你会立刻看到识别准确率的提升。有任何问题请留言,祝编码愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/chinese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..f7336e58e --- /dev/null +++ b/ocr/chinese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,264 @@ +--- +category: general +date: 2026-03-07 +description: 如何使用 Aspose OCR 对中文图片进行文字识别。学习在一个教程中提取中文文本、将图片转换为 ePub,并提升 OCR 准确率。 +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: zh +og_description: 如何使用 Aspose OCR 对中文图片进行 OCR。获取逐步代码,提取中文文本,提升 OCR 效率,并导出为 ePub。 +og_title: 如何对中文图片进行 OCR – 完整 C# 指南 +tags: +- OCR +- C# +- Aspose +title: 如何对中文图像进行 OCR – 完整 C# 指南 +url: /zh/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何对中文图片进行 OCR – 完整 C# 指南 + +是否曾好奇 **如何对包含中文字符的图片进行 OCR**?你并不孤单。在许多应用中——扫描收据、数字化教材或构建多语言搜索引擎——从图像中获取干净的文本是一项成败关键的功能。 + +在本教程中,我们将演示一个真实场景的解决方案,**提取中文文本**,将结果写入纯文本文件,甚至 **将图像转换为 ePub** 供电子阅读器使用。过程中我们会讨论 **如何提升 OCR** 准确率、为何要启用 GPU 模式,以及如何正确 **识别简体中文**。 + +阅读完本指南后,你将拥有一个可直接运行的 C# 程序、一系列实用技巧,以及下一步可以采取的明确方向(例如添加语言检测或批量处理)。无需外部文档——所有内容都在这里。 + +## 你需要准备的环境 + +- .NET 6+(或 .NET Core 3.1 搭配 Aspose OCR for .NET) +- 有效的 Aspose OCR for .NET 许可证(免费试用版可用于实验) +- 包含简体中文字符的图片文件(例如 `chinese_sample.jpg`) +- Visual Studio 2022 或任意你喜欢的 C# 编辑器 + +如果缺少上述任意项,请立即获取 NuGet 包: + +```bash +dotnet add package Aspose.OCR +``` + +就这么简单——不需要额外的本地库,不需要 COM 互操作,只需一个 .NET 包。 + +## 如何执行 OCR – 配置 Aspose OCR 引擎 + +首先必须创建并配置 OCR 引擎。此步骤至关重要,因为引擎的设置决定了 **OCR 在中文字符上的表现** 以及处理速度。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**为什么重要:** +- **Language = ChineseSimplified** 告诉 Aspose 加载简体中文字符集,显著降低误识别率。 +- **EngineMode.Gpu** 在现代 GPU 上可将处理时间减半,若无 GPU 则自动回退到 CPU。 +- **DeskewFilter** 去除用户用手机拍摄时常见的倾斜。 +- **Sauvola 二值化** 生成高对比度的黑白图像,这是提升中文等密集文字 OCR 准确率的经典技巧。 + +> **专业提示:** 若处理低光照片,可在二值化前加入 `ContrastFilter`。示例中并非必需,但常能省去不少麻烦。 + +![如何执行 OCR 流程图](ocr-pipeline.png "如何执行 OCR 流程图") + +> *替代文字:* 如何执行 OCR 流程图 + +## 从图片中提取中文文本 + +引擎准备就绪后,加载图片并让引擎完成工作。这就是 **提取中文文本** 的核心。 + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**预期结果:** +如果 `chinese_sample.jpg` 中包含 “中华人民共和国”,则 `out.txt` 文件将精确保存这些字符——没有多余空格,也没有乱码的拉丁字母。 + +### 常见陷阱 + +| 问题 | 成因 | 解决方案 | +|------|------|----------| +| 缺失字符 | 图像噪声过大 | 在二值化前添加 `MedianFilter` | +| 语言检测错误 | `Language` 设置为 `English` | 确保 `Language = Language.ChineseSimplified` | +| 处理速度慢 | 未启用 GPU | 检查机器是否装有兼容的 CUDA 驱动 | + +## 将图片转换为 ePub + +很多开发者会问,*“能把扫描页变成可阅读的电子书吗?”* 当然可以——Aspose OCR 附带 ePub 导出功能,满足 **将图片转换为 epub** 的需求。 + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +生成的 `out.epub` 将包含提取的中文文本,使用 UTF‑8 正确编码,可在 Kindle、Apple Books 或任何 ePub 阅读器中打开。 + +**为何选择 ePub?** +- 可重排,读者可以调节字体大小而不破坏布局。 +- 文本保持可搜索,便于后续索引。 + +## 如何提升 OCR – 实用调优 + +即使管道已经相当稳健,仍可能出现偶发的误识别。以下是针对中文文档的 **提升 OCR** 的快速检查清单: + +1. **预处理图像** – 使用 `GaussianBlurFilter` 平滑噪点,再用 `ContrastFilter` 锐化边缘。 +2. **提高 DPI** – 若能控制扫描过程,建议使用 300 dpi 或更高;低分辨率会丢失笔画细节。 +3. **启用语言检测** – Aspose 可自动检测语言,若检测失败可回退到简体中文。 +4. **微调二值化** – 当背景整体偏亮时,可将 `Sauvola` 换成 `Otsu`。 +5. **批量处理** – 使用 `Parallel.ForEach` 并行处理多页,以利用多核 CPU。 + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## 识别简体中文 – 边缘情况 + +**识别简体中文** 常让新手感到困惑,因为同一 OCR 引擎也支持繁体中文、日文或韩文。为保持确定性,请: + +- **显式设置语言**(如步骤 1 所示)。 +- **避免混合语言页面**;若页面同时包含简体中文和英文,可分别进行两次识别:一次使用 `Language.ChineseSimplified`,一次使用 `Language.English`。 +- **验证输出** – 识别后使用简单的正则检查所有字符是否落在 Unicode 范围 `\u4E00‑\u9FFF` 内。 + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +若检查未通过,可记录该页以供人工复审。 + +## 完整工作示例 + +将所有步骤整合在一起,下面是一份可以直接复制到新控制台项目(`Program.cs`)的单文件代码。它包含全部步骤、可选调优以及最终状态行。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**预期控制台输出(示例):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +运行程序,打开 `out.txt` 或 `out.epub`,即可看到干净、可搜索的中文字符,准备好进行后续处理。 + +## 结论 + +我们已经完整演示了 **如何对中文图片进行 OCR**,从 **提取中文文本**、**转换为 ePub** 到一系列 **提升 OCR** 的实用技巧。 + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/text-recognition/_index.md b/ocr/chinese/net/text-recognition/_index.md index 9a3154c26..b6d02d084 100644 --- a/ocr/chinese/net/text-recognition/_index.md +++ b/ocr/chinese/net/text-recognition/_index.md @@ -55,9 +55,20 @@ url: /zh/net/text-recognition/ 使用 Aspose.OCR 释放 .NET 中 OCR 的潜力。轻松从 PDF 中提取文本。立即下载以获得无缝集成体验。 ### [OCR图像识别中的识别表](./recognize-table/) 通过我们关于 OCR 图像识别中表格识别的综合指南,释放 Aspose.OCR for .NET 的潜力。 +### [在 C# 中识别印地语文本 – 完整 Aspose OCR 指南](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +使用 Aspose.OCR for .NET,在 C# 项目中实现对印地语文本的精准识别,完整步骤指南。 +### [在 C# 中从图像识别文本 – 完整 Aspose OCR 指南](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +使用 Aspose.OCR for .NET,在 C# 项目中实现从图像中精准识别文本的完整步骤指南。 +### [在 C# 中从图像创建 ePub – 步骤指南](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +通过本分步指南,使用 Aspose.OCR 将图像转换为 ePub 电子书,轻松实现高效电子出版。 +### [在 C# 中从 PNG 提取文本 – 完整 OCR 指南](./extract-text-from-png-in-c-full-ocr-guide/) +通过本分步指南,使用 Aspose.OCR 在 C# 项目中从 PNG 图像精准提取文本。 +### [在 C# 中使用 OCR – 离线提取图像文本](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +使用 Aspose.OCR 在 C# 项目中离线提取图像文本,提供完整的步骤指南。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/chinese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..585f7ef8c --- /dev/null +++ b/ocr/chinese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,252 @@ +--- +category: general +date: 2026-03-07 +description: 使用 C# 从 PNG 文件中提取文本。学习如何将图像转换为文本(C#),并快速读取扫描图像中的文字。 +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: zh +og_description: 使用 C# 从 PNG 文件中提取文本。本指南展示了如何使用 C# 将图像转换为文本,以及如何使用 Aspose OCR 从扫描图像中读取文本。 +og_title: 在 C# 中从 PNG 提取文本 – 完整 OCR 指南 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: 在 C# 中从 PNG 提取文本 – 完整 OCR 指南 +url: /zh/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从 PNG 中提取文本 – 完整 OCR 指南 + +是否曾需要 **从 PNG 提取文本**,却不知从何入手?你并不孤单——大多数开发者在第一次面对需要转化为可搜索文本的扫描图形或截图时都会卡住。好消息是,只需几行 C# 代码和 Aspose OCR,你就能瞬间把任意 PNG 转换为可编辑的字符串。 + +在本教程中,我们将完整演示整个流程:从磁盘定位 PNG、并行启动 OCR 任务、到展示每个结果的整洁预览。结束时,你将掌握 **convert image to text C#** 的实现方式,能够高效 **read text from scanned images**,并了解在不阻塞 UI 线程的情况下 **run OCR on images** 的最佳方法。 + +## 你需要准备的环境 + +- .NET 6.0 或更高(代码同样适用于 .NET Core 和 .NET Framework) +- Aspose.OCR NuGet 包(`Install-Package Aspose.OCR`) +- 一个包含待处理 *.png* 文件的文件夹 +- 任意你喜欢的 IDE(Visual Studio、VS Code、Rider 等) + +无需额外配置;库已自带解码 PNG、JPEG、TIFF 等所需的一切。 + +## 第一步:定位所有 PNG 文件 – “Extract Text from PNG” 开始 + +首先必须找到所有准备进行 OCR 的 PNG。使用 `Directory.GetFiles` 既快捷又可靠。 + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*为什么重要:* 只扫描一次目录即可让后续流水线保持简洁,且提前检查可以避免后期调试时出现的“无输出”沉默情况。 + +## 第二步:并行启动 OCR 任务 – 高效 **run OCR on images** + +顺序执行 OCR 对少量文件还行,但实际项目常常要处理数十甚至数百张。为每张图片启动一个 `Task`,即可在库进行重计算时让 CPU 保持忙碌。 + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*小技巧:* `Task.Run` 会把工作转移到线程池,这意味着你的 UI(如果有的话)保持响应。如果在服务器上,同样的模式可以很好地跨核扩展。 + +## 第三步:等待所有任务完成 – 收集结果 + +现在我们等待每个 OCR 操作结束。`Task.WhenAll` 返回的数组顺序与原文件顺序一致,便于将结果与文件名对应。 + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*边缘情况说明:* 如果任意单张图片抛异常(文件损坏、不支持的格式),整个 `WhenAll` 会抛出异常。你可以在内部的 `Task.Run` 包裹 try/catch,并在需要容错时返回空字符串或诊断信息。 + +## 第四步:显示预览 – 验证 **convert image to text C#** 输出 + +快速预览可以帮助你在将数据持久化之前确认 OCR 是否成功。 + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +典型的控制台输出如下: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +如果预览出现乱码,请检查图像质量或考虑预处理(例如二值化)——但对大多数清晰的 PNG,Aspose OCR 在第一次就能正确识别。 + +## 可选:将结果保存为 CSV – 实际业务场景 + +大多数项目需要将提取的文本以结构化格式保存。下面是一个小工具,可将文件名和完整 OCR 文本写入 CSV 文件。 + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +现在你可以把 CSV 导入 Excel、Power BI,或任何需要 **read text from scanned images** 的下游系统。 + +## 常见问题 + +**如果我的 PNG 很大(超过 5 MB)怎么办?** +Aspose OCR 会自动对大图进行降采样,以保持内存使用合理;如果需要,你也可以使用 `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` 将宽度限制在 2000 像素,同时保持纵横比。 + +**可以在 Linux 上运行吗?** +可以。Aspose OCR 是跨平台的,只需确保已安装本机依赖(如某些发行版的 `libgdiplus`)。 + +**OCR 语言默认是英文吗?** +是的。如果需要其他语言,在调用 `Recognize()` 前设置 `engine.Language = OcrLanguage.French;`(或任意受支持的枚举)。 + +**如何处理包含 PNG 的受密码保护的 PDF?** +先使用 Aspose PDF 或其他库将 PDF 页面转换为图像,然后将生成的 PNG 送入同一流水线。**how to run OCR on images** 的原理保持不变。 + +## 完整工作示例(Async Main) + +下面是一个可直接复制到控制台项目的完整程序。它包含上述所有代码块,并附带一个小助手用于验证输入文件夹。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**预期输出**(两张 PNG 的示例): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## 小结 + +我们已经完整演示了如何使用 C# **extract text from PNG** 文件。从定位文件、并行启动 OCR 任务、预览字符串,到将结果持久化为 CSV——本指南为 **convert image to text C#** 场景提供了可直接投入生产的模式。 + +如果你准备好进一步探索,可以尝试让同一流水线处理 JPEG 或 TIFF 文件,实验不同的 OCR 语言,或将结果接入搜索索引,以实现即时 **read text from scanned images**。 + +对边缘情况、性能调优或授权有疑问?欢迎留言或在 Aspose 社区提问——祝编码愉快! + +![提取 PNG 文本示例](extract-text-png.png "使用 Aspose OCR 提取 PNG 文本") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/chinese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..9457bef34 --- /dev/null +++ b/ocr/chinese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-03-07 +description: 如何使用 Aspose OCR 从扫描图像创建 ePub —— 学习将图像转换为 ePub、从图像提取文本、向 ePub 添加作者以及加载图像进行 + OCR。 +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: zh +og_description: 如何在 C# 中从扫描图像创建 ePub。本教程展示如何将图像转换为 ePub、从图像中提取文本、向 ePub 添加作者以及加载图像进行 + OCR。 +og_title: 如何使用 C# 从图像创建 ePub – 完整指南 +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: 如何在 C# 中从图像创建 ePub – 步骤指南 +url: /zh/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中从图像创建 ePub – 完整指南 + +是否曾好奇 **如何从一组扫描页创建 ePub**?也许你手头有几张经典小说的 PNG,想把它们转换成一个整洁的 ePub,随时在任何设备上阅读。好消息是,使用 Aspose OCR,你可以 **load image for OCR**,提取文本,然后 **convert image to ePub**,只需几行 C# 代码。 + +在本教程中,我们将完整演示整个流程:加载图片、提取文本、添加一些元数据(是的,我们会 **add author to epub**),最后生成符合标准的 ePub 文件。结束时,你将拥有一个可直接发布的 ePub,并对每一步有深入了解,能够将代码扩展到多页书籍、自定义字体,甚至 DRM‑free 分发。 + +## 你需要准备的东西 + +- **.NET 6** 或更高版本(API 也兼容 .NET Standard 2.0+) +- **Aspose.OCR for .NET** – 可从 Aspose 官网获取免费试用版。 +- 一张扫描图像,例如 `book_page.png`,放在磁盘的任意位置。 +- 常用的 IDE(Visual Studio、Rider 或 VS Code——本文截图使用 Visual Studio)。 + +无需额外的 NuGet 包;Aspose.OCR 已经包含了生成 ePub 所需的全部功能。 + +--- + +![How to create ePub from scanned image](/images/how-to-create-epub.png "How to create ePub from a scanned image using Aspose OCR") + +## 第一步 – 创建项目并安装 Aspose.OCR + +首先,创建一个新的控制台应用: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +添加 Aspose.OCR 包: + +```bash +dotnet add package Aspose.OCR +``` + +就这么简单——该库同时提供 OCR 与 ePub 导出功能,无需再引入其他依赖。 + +## 第二步 – Load Image for OCR + +在 **extract text from image** 之前,需要先给 OCR 引擎提供要读取的图像。`ImageStream.FromFile` 帮助方法可以轻松完成: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro tip:** 如果图像存放在嵌入资源中,请使用 `ImageStream.FromResource` 而不是 `FromFile`。 + +## 第三步 – Extract Text from Image + +现在引擎会读取像素并将其转换为 Unicode 字符串。`Recognize` 方法负责完成这项工作。 + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +为什么要单独调用 `Recognize`?这样可以检查原始 OCR 输出、调整语言设置,甚至在生成 ePub 前进行拼写检查。 + +## 第四步 – Prepare ePub Export Options (Add Author to ePub) + +创建精美的 ePub 不仅仅是导入文本,还需要合适的元数据。`EpubExportOptions` 类提供了简洁的方式来 **add author to ePub**、设置标题,以及决定是否嵌入原始图像。 + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +如果有多页图像,可以在循环中不断调用 `ocrEngine.Image = …` 和 `ocrEngine.Recognize()`;每次调用都会将新页面的内容追加到同一个 ePub 文档中。 + +## 第五步 – Convert Image to ePub and Export + +在提取文本并设置好元数据后,最后一步只需一行代码即可将 ePub 写入磁盘: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +生成的 `book.epub` 可以在 Calibre、Apple Books 或任何支持 EPUB 的阅读器中打开。由于我们将 `IncludeImages = true`,原始 PNG 将作为图片页显示,保留扫描源的外观。 + +## 完整可运行示例 + +将上述所有步骤组合起来,下面是完整的、可直接运行的程序: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### 预期输出 + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +在你喜欢的阅读器中打开 `book.epub`,会看到封面页、作者行(即使显示为 “Unknown”),以及与可选文本并列显示的扫描图像。 + +## 常见问题与边缘情况 + +### 如果 OCR 语言不是英文怎么办? + +Aspose.OCR 支持超过 70 种语言。只需在调用 `Recognize` 前设置 `Language` 属性: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### 如何处理多页书籍? + +将加载/识别逻辑放入 `foreach` 循环中: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +每次迭代都会将新识别的文本追加到同一个 ePub,保持页面顺序。 + +### 能否排除原始图像? + +可以——在 `EpubExportOptions` 中将 `IncludeImages = false`。生成的 ePub 将仅包含可重排的文本,文件体积会显著减小。 + +### 如何使用自定义字体或样式? + +Aspose.OCR 的 ePub 导出器允许通过 `EpubExportOptions` 的 `Css` 属性提供 CSS 样式表。这样可以强制使用特定的字体族、行高或边距。 + +## 结论 + +现在,你已经掌握了 **how to create ePub** 的完整流程,使用 Aspose OCR 在 C# 中从扫描图像生成 ePub。教程涵盖了从 **load image for OCR**、**extract text from image**、**add author to epub** 到 **convert image to epub** 的全部步骤,并通过一次导出调用完成。拥有完整代码示例后,你可以将该方案扩展为批量处理整套图书、注入自定义封面,甚至将工作流集成到 Web API 中。 + +准备好迎接下一个挑战了吗?尝试将 PDF 转换为 ePub,或实验 OCR 置信度阈值,以提升噪声扫描的识别准确率。将强大的 OCR 与灵活的 ePub 生成相结合,可能性无限。 + +祝编码愉快,尽情阅读你新生成的 ePub 吧! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/chinese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..a70916169 --- /dev/null +++ b/ocr/chinese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,243 @@ +--- +category: general +date: 2026-03-07 +description: 学习如何在 C# 中使用 OCR 从图像文件中提取文本。本指南展示离线 OCR、将图像转换为文本以及加载图像进行 OCR。 +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: zh +og_description: 如何在 C# 中使用 OCR 离线提取图像中的文本。逐步代码、技巧以及完整的图像转文本解释。 +og_title: 如何在 C# 中使用 OCR – 完整离线指南 +tags: +- OCR +- C# +- Aspose +title: 如何在 C# 中使用 OCR – 离线从图像提取文本 +url: /zh/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中使用 OCR – 离线提取图像文字 + +是否曾想过 **如何在 .NET 项目中使用 OCR** 而不将数据发送到云端?你并不孤单。许多开发者需要在受保护的工作站上 *从图像文件中提取文字*,并担心网络流量会泄露敏感信息。 + +好消息是?使用 Aspose.OCR,你可以完全离线地识别 PNG、JPEG 或 PDF 中的文字。在本教程中,我们将演示如何加载图像进行 OCR、配置离线模式的引擎,最后仅用几行 C# **将图像转换为文字**。 + +阅读完本指南后,你将能够: + +* 安装 Aspose.OCR NuGet 包。 +* 为离线处理设置 OCR 引擎。 +* 加载图像进行 OCR 并提取其文本内容。 + +无需外部服务,无需 API 密钥——只需纯 C# 代码,能够在任何 Windows 或 Linux 机器上运行。 + +--- + +## 前置条件 + +在开始之前,请确保你拥有: + +* .NET 6.0 SDK 或更高版本(代码同样适用于 .NET Framework 4.7+)。 +* Visual Studio 2022、VS Code,或任何支持 C# 的编辑器。 +* 一份 **Aspose.OCR** 库——可从 NuGet 获取 (`Aspose.OCR`)。 +* 一个 OCR 资源文件夹 (`Resources`),随库一起提供(包含语言数据文件)。 +* 一张示例图片(例如 `offline_test.png`),放置在已知目录下。 + +> **专业提示:** 将资源文件夹放在可执行文件旁边,可简化 `ResourcesPath` 的配置。 + +--- + +## 第一步:安装 Aspose.OCR NuGet 包 + +首先,将库添加到项目中。在项目文件夹的终端运行: + +```bash +dotnet add package Aspose.OCR +``` + +或者,如果你更喜欢 Visual Studio UI,右键 **Dependencies → Manage NuGet Packages**,搜索 *Aspose.OCR*,点击 **Install**。 + +> 安装该包会自动拉取所有必需的二进制文件,无需额外的 DLL。 + +--- + +## 第二步:创建并配置 OCR 引擎(如何使用 OCR – 离线模式) + +接下来实例化 OCR 引擎并让它 **离线** 工作。这可确保识别过程中不产生任何网络流量。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**为什么要离线?** +当 `EngineMode` 设置为 `Online` 时,引擎会联系 Aspose 的云端实时下载语言包。在受监管的环境(金融、医疗)中,这类流量往往被禁止。强制离线模式即可保证所有操作都在本机完成。 + +--- + +## 第三步:指定 OCR 资源文件夹路径 + +OCR 引擎需要语言数据(训练模型)来识别字符。告诉它这些文件所在的位置: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +如果不确定文件夹所在位置,可在 NuGet 包目录下找到(`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`)。为便于部署,建议将整个文件夹复制到项目中。 + +--- + +## 第四步:加载待 OCR 的图像(Load Image for OCR) + +引擎可以接受任意受支持的位图。这里我们从磁盘加载一张 PNG: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**提示:** 如果需要从流中处理图像(例如通过 API 上传),请使用 `ImageStream.FromStream(yourStream)`。 + +--- + +## 第五步:运行识别并将图像转换为文字 + +准备就绪后,调用 OCR。`Recognize()` 方法负责核心识别工作,提取的文字可通过 `Text` 属性获取。 + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## 第六步:输出提取的文字 + +最后,展示结果。在控制台应用中直接写入控制台;在 Web API 中则返回 JSON 字符串。 + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +运行程序后应打印出 `offline_test.png` 的文本内容。例如,若图像中包含短语 *“Hello, World!”*,则会看到: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## 完整可运行示例 + +下面是完整的、可直接运行的程序。将其复制粘贴到新建的控制台项目(`dotnet new console`)中,并根据实际环境调整路径。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **预期输出:** 控制台会打印 PNG 文件中包含的完整文字。若图像模糊,结果可能出现误识别字符——请参阅下方故障排除章节。 + +--- + +## 常见问题与技巧(高效从 PNG 识别文字) + +| 问题 | 产生原因 | 解决办法 | +|------|----------|----------| +| **输出为空** | `ResourcesPath` 指向错误文件夹或缺少语言文件。 | 确认文件夹中包含 `eng.traineddata`(或其他语言文件),并再次检查路径字符串。 | +| **出现乱码** | 图像分辨率过低或未二值化。 | 预处理图像(提升 DPI,使用 `ImageProcessor` 锐化)。 | +| **性能卡顿** | 大图像以原始分辨率处理。 | 在送入 OCR 前将图像宽度限制在 2000 px 以内。 | +| **不支持的格式** | 使用了异常像素格式的 BMP。 | 先将图像转换为 PNG 或 JPEG(`System.Drawing.Image.Save`)。 | + +**专业提示:** 若需识别多种语言,可在调用 `Recognize()` 前设置 `ocrEngine.Settings.Language = Language.English | Language.French;`。 + +--- + +## 常见问答 + +**问:这段代码可以在 Linux 上运行吗?** +答:完全可以。Aspose.OCR 跨平台,只需确保本机包含 NuGet 包自带的原生库。 + +**问:如果没有 Resources 文件夹怎么办?** +答:可以从 Aspose 官方网站下载免费语言包,或从 NuGet 包中提取(`.../aspose.ocr//resources`)。 + +**问:能获取置信度分数吗?** +答:可以。`Recognize()` 之后,检查 `ocrEngine.RecognizedWords`——每个单词都有 `Confidence` 属性。 + +--- + +## 结论 + +我们已经完整演示了 **如何在 C# 中使用 OCR** 完全离线地 *从图像文件中提取文字*。通过安装 Aspose.OCR、将 `EngineMode` 设置为 `Offline`、指向资源文件夹、加载图像并调用 `Recognize()`,即可可靠地 **将图像转换为文字**,且全程不触及互联网。 + +拿起上面的代码,替换为自己的图像路径,开始构建可搜索的 PDF、数据录入自动化或辅助功能等特性吧。接下来,你可以尝试批量 **从 PNG 识别文字**,或将引擎集成到 ASP.NET Core API 中,为前端提供 OCR 结果。 + +祝编码愉快,尽情实验——一旦引擎配置妥当,OCR 的容错性出奇地好! + +--- + +![离线 OCR 工作流示意图 – 在安全环境中如何使用 OCR](https://example.com/ocr-workflow.png "离线 OCR 工作流示意图") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/chinese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..9dfe1d9de --- /dev/null +++ b/ocr/chinese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-03-07 +description: 学习如何使用 Aspose.OCR 在 C# 中识别印地语文本并加载图像进行 OCR。一步一步的设置、代码和技巧。 +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: zh +og_description: 了解如何在 C# 中使用 Aspose OCR 识别印地语文本。包括加载 OCR 图像、语言包设置以及最佳实践技巧。 +og_title: 识别印地语文本 – 完整的 Aspose OCR 教程 +tags: +- C# +- OCR +- Aspose +- Hindi +title: 在 C# 中识别印地语文本 – 完整的 Aspose OCR 指南 +url: /zh/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 识别印地语文本 – 完整 Aspose OCR 教程 + +是否曾需要从扫描的收据中**识别印地语文本**,却不知从何入手?您并不孤单。在许多面向印度的应用中,可靠地提取印地语字符常常像追逐移动的目标。幸运的是,Aspose.OCR 让这变得轻而易举——只要您了解正确的**load image for OCR** 步骤并将引擎指向印地语语言资源。 + +在本指南中,我们将逐步讲解在 C# 中构建可运行的 OCR 流程所需的一切。完成后,您将拥有一个可运行的程序,它会下载印地语语言包、加载图像、执行识别,并将结果文本打印到控制台。没有模糊的“查看文档”链接——只有一个可直接放入任何 .NET 项目的完整解决方案。 + +## 您需要的条件 + +- **.NET 6+**(或 .NET Framework 4.7.2+)。API 在各版本之间保持一致,但更新的运行时提供更好的性能。 +- **Aspose.OCR for .NET** NuGet 包。使用 `dotnet add package Aspose.OCR` 安装。 +- 一个 **Hindi language pack** ——Aspose 将其作为可下载资源提供,默认不捆绑。 +- 包含印地语文本的图像文件(例如 `hindi_receipt.jpg`)。任何常见格式(JPG、PNG、BMP)均可。 +- 一个合适的 IDE(Visual Studio、Rider 或 VS Code)。 + +就这么简单——无需外部 OCR 引擎、无需云密钥,仅使用本地库。 + +## 第一步:下载印地语语言包 – 设置资源 + +在 OCR 引擎能够识别天城文字符之前,您必须获取印地语语言资源。这是一次性操作,通常在应用安装或 CI/CD 期间完成。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Why this matters:** OCR 引擎依赖语言特定模型将像素模式映射到 Unicode 字符。没有印地语包,您将得到乱码的拉丁文输出,甚至什么也没有。 + +> **Pro tip:** 将语言包缓存到目标机器可写的文件夹中。如果您部署到 Azure App Service,请使用 `D:\home\site\wwwroot\Resources` 文件夹。 + +## 第二步:配置 OCR 引擎 – 指向资源 + +资源就绪后,创建一个 `OcrEngine` 实例并告知它语言文件所在位置。这也是我们设置识别的**primary language**的地方。 + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Why we do this:** `ResourcesPath` 是引擎与已下载文件之间的桥梁。如果跳过此步骤,引擎将回退到内置的(仅英文)模型,您将无法正确**recognize Hindi text**。 + +## 第三步:加载图像进行 OCR – 为引擎提供正确的输入 + +引擎准备就绪后,下一步是**load image for OCR**。Aspose 提供了便利的 `ImageStream.FromFile` 辅助方法,支持大多数常见图像格式。 + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Large images** 可能导致处理变慢。如果处理高分辨率扫描,考虑先进行下采样(`ImageProcessor.Resize`)。 +- **Incorrect orientation**(旋转的扫描)会导致结果不佳。如有需要,使用 `ocrEngine.Image.Rotate(90)`。 + +## 第四步:运行识别 – 提取文本 + +现在我们真正让引擎读取像素并将其转换为 Unicode 字符串。 + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**What to expect:** 如果图像清晰,您应该看到印地语字符如收据上所示准确打印。例如,示例收据的输出可能是: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +如果出现乱码,请再次确认语言包已正确下载,并且 `ocrEngine.Settings.Language` 已设置为 `Language.Hindi`。 + +## 第五步:完整封装 – 可运行的程序 + +下面是完整的源文件,您可以复制粘贴到控制台项目中。它包含上述所有步骤,并加入了最小的错误处理。 + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +将其保存为 `Program.cs`,运行 `dotnet run`,您应该会在控制台看到印地语文本。 + +## 常见问题 (FAQ) + +### 我可以在一次运行中识别多种语言吗? + +可以。将 `ocrEngine.Settings.Language` 设置为数组,例如 `new[] { Language.Hindi, Language.English }`。引擎将尝试检测两种脚本的字符。 + +### 如果我的图像模糊怎么办? + +考虑使用 `ImageProcessor` 进行预处理——在将图像分配给 `ocrEngine.Image` 之前进行锐化或对比度增强。 + +### 这在 Linux/macOS 上可用吗? + +当然可以。Aspose.OCR 是跨平台的;只需确保本机依赖存在(通常随 NuGet 包一起提供)。 + +### 如何提升低分辨率收据的准确性? + +在扫描时提高 DPI(每英寸点数),或在 OCR 前将图像程序化重采样至至少 300 DPI。 + +## 结论 + +我们已经介绍了使用 Aspose.OCR **recognize Hindi text** 所需的全部内容——从下载印地语语言包、配置引擎、正确**load image for OCR**,到提取并打印结果。上面的完整代码片段可直接放入任何 C# 控制台应用,并且可选提示帮助您处理模糊扫描或多语言文档等常见边缘情况。 + +准备好下一步了吗?尝试将 OCR 输出送入翻译 API,或将提取的数据存入数据库进行分析。您还可以尝试其他印度语言——Aspose 支持泰米尔语、孟加拉语等——只需将 `Language.Hindi` 替换为相应的枚举值。 + +祝编码愉快,愿您的 OCR 结果始终清晰! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/chinese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/chinese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..448c30430 --- /dev/null +++ b/ocr/chinese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-03-07 +description: 使用 Aspose OCR 快速识别图像中的文本。学习如何将 djvu 转换为文本、从图像中提取文本,以及在一步步的 C# 教程中加载图像进行 + OCR。 +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: zh +og_description: 使用 Aspose OCR 在 C# 中识别图像中的文本。本指南展示了如何将 djvu 转换为文本、从图像中提取文本以及加载图像进行 + OCR,并提供实用技巧。 +og_title: 从图像识别文本 – 完整的 C# Aspose OCR 教程 +tags: +- C# +- Aspose OCR +- Document Processing +title: 在 C# 中从图像识别文本 – 完整的 Aspose OCR 指南 +url: /zh/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 从图像中识别文本 – 完整 C# Aspose OCR 教程 + +是否曾经需要**从图像中识别文本**却不确定哪个库能提供可靠的结果?你并不孤单。无论是处理扫描的发票、历史 DJVU 文件,还是一张普通的 PNG 截图,提取准确的字符往往像在破译古代文字一样困难。 + +事实是——Aspose OCR 让整个过程变得轻而易举。在本指南中,我们将演示如何**将 djvu 转换为文本**、**从图像中提取文本**以及**加载图像进行 OCR**,并通过一个简洁的 C# 程序实现。完成后,你将拥有一个可运行的控制台应用程序,它会在控制台打印识别出的字符串,并且你会了解每行代码背后的“原因”。 + +## 你将学到 + +- 如何在 .NET 项目中设置 Aspose OCR 引擎。 +- 从 DJVU 文件**加载图像进行 OCR**的完整代码。 +- 为什么要在读取 `Text` 之前调用 `Recognize()`。 +- 常见陷阱(多页 DJVU、不受支持的格式)以及如何规避。 +- 快速实现**将 djvu 转换为文本**的批处理方式。 + +你只需要一个最近的 .NET SDK(≥ 6.0)和一份 Aspose OCR 许可证(免费试用即可用于测试)。无需外部服务、无需 REST 调用——纯 C#。 + +## 前置条件 + +| 要求 | 原因 | +|------|------| +| .NET 6 SDK 或更高版本 | 现代语言特性和更佳性能。 | +| Aspose.OCR NuGet 包(`Install-Package Aspose.OCR`) | 提供我们将使用的 `OcrEngine` 类。 | +| 一个 DJVU 文件(例如 `sample.djvu`) | 用于演示**将 djvu 转换为文本**。 | +| 基本的 C# 控制台应用程序知识 | 使步骤更自然流畅。 | + +如果缺少上述任意项,请先暂停并安装它们;否则代码将无法编译。 + +## 第一步 – 安装 Aspose.OCR 并创建项目 + +首先,创建一个新的控制台项目并引入 OCR 库。 + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*小技巧:* 如果想显式锁定目标框架,可使用 `--framework net6.0` 参数。 + +## 第二步 – 初始化 OCR 引擎并加载 DJVU 图像 + +引擎需要一个图像源。Aspose.OCR 能读取多种格式,包括 DJVU,所以我们只需指向文件路径即可。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**为什么重要:** +- `OcrEngine` 是入口点;创建一次并重复使用可以降低内存开销。 +- `ImageStream.FromFile` 抽象了文件格式,这样以后把 DJVU 文件换成 PNG 或 TIFF 时无需修改其他代码——非常适合不同场景下的**从图像中提取文本**。 + +## 第三步 – 运行识别过程 + +调用 `Recognize()` 会触发繁重的工作。底层 Aspose 使用基于神经网络的分类器,能够处理印刷体和手写体文本。 + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*边缘情况说明:* 如果你的 DJVU 包含多页,`ImageStream.FromFile` 仍然只加载第一页。要处理所有页,需要遍历 `ImageStream.FromFile(...).Pages`。对于大多数快速查看任务,第一页已足够。 + +## 第四步 – 获取并显示识别后的文本 + +识别完成后,引擎会在 `Text` 属性中填充纯文本字符串。你现在可以将其写入控制台、文件,或传递给其他系统。 + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +典型输出如下: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +如果输出乱码,请检查源图像分辨率是否过低;Aspose 推荐使用 300 dpi 或更高以获得最佳准确率。 + +## 完整工作示例 + +将所有内容整合在一起,下面是一个单文件(`Program.cs`),可直接粘贴到前面创建的项目中。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +使用以下命令运行: + +```bash +dotnet run +``` + +你应该会在终端看到提取的字符串。这是使用 Aspose OCR **从图像中识别文本**的最简方法。 + +## 第五步 – 高级:将多个 DJVU 页面转换为文本文件 + +如果需要批量**将 djvu 转换为文本**,可以在前面的代码基础上加入循环: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*为什么可行:* `GetPage(i)` 会返回对应页的 `Image` 对象,允许复用同一个 `OcrEngine` 实例。每页的文本会保存到各自的 `.txt` 文件中,形成一个整洁的**将 djvu 转换为文本**流水线。 + +## 常见问题与注意事项 + +- **可以从 JPEG 而不是 DJVU 提取文本吗?** + 完全可以。只需在 `FromFile` 中更改文件扩展名。相同的代码**从图像中提取文本**仍然适用,因为 Aspose 已经对格式进行了抽象。 + +- **OCR 结果出现多余的换行怎么办?** + 使用 `String.Replace("\r\n", " ")` 或正则表达式来规范空白字符。 + +- **生产环境需要许可证吗?** + 免费试用版支持最多 100 页。若需无限制使用,请购买许可证并在创建引擎前调用 + `License license = new License(); license.SetLicense("Aspose.OCR.lic");`。 + +- **引擎是线程安全的吗?** + 不是。每个线程需要单独的 `OcrEngine`,或使用锁来保护访问。 + +## 提升准确率的技巧 + +1. **提高 DPI** – 若能控制源转换,请输出 300 dpi 或更高的图像。 +2. **预处理图像** – 简单的二值化 (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) 能提升噪声扫描的识别效果。 +3. **指定语言** – `ocrEngine.Language = Language.English;` 可缩小字符集并加快识别速度。 + +## 结论 + +现在你拥有一个完整、可直接运行的示例,使用 Aspose OCR **从图像中识别文本**,并了解了如何**将 djvu 转换为文本**、**从图像中提取文本**以及正确的**加载图像进行 OCR**方式。代码自包含,可在任何 .NET 6+ 运行时上运行,并可扩展为批量处理多页 DJVU 文档。 + +接下来,你可以探索: + +- 为多语言 DJVU 文件添加**语言检测**。 +- 将 OCR 输出集成到搜索索引(如 Elasticsearch)。 +- 使用 Aspose 的 PDF 转换功能,将提取的文本生成可搜索的 PDF。 + +动手试试,调节 DPI,尝试不同的图像格式,让 OCR 引擎为你完成繁重的工作。祝编码愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/ocr-configuration/_index.md b/ocr/czech/net/ocr-configuration/_index.md index c7b6c9546..fdb8fcfbd 100644 --- a/ocr/czech/net/ocr-configuration/_index.md +++ b/ocr/czech/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ Odemkněte sílu rozpoznávání OCR obrázků v .NET s Aspose.OCR. Snadno extra Odemkněte výkonné OCR schopnosti s Aspose.OCR pro .NET. Plynule extrahujte text z obrázků. ### [OCROperation se seznamem v rozpoznávání OCR obrázků](./ocr-operation-with-list/) Odemkněte potenciál Aspose.OCR pro .NET. Snadno provádějte rozpoznávání OCR obrázků pomocí seznamů. Zvyšte produktivitu a extrakci dat ve svých aplikacích. +### [Číst text z PNG – extrahovat cyrilický text pomocí Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Naučte se, jak pomocí Aspose OCR načíst PNG soubor a získat cyrilický text s vysokou přesností. ### Běžné případy použití - **Extrahovat text z obrázků** ze skenovaných faktur pro automatizované účetnictví. @@ -98,4 +100,4 @@ A: Ano, objekt `OcrResult` poskytuje hodnoty důvěry, které můžete programov {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/czech/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..9f78585ce --- /dev/null +++ b/ocr/czech/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-03-07 +description: Naučte se, jak číst text z PNG a pomocí Aspose OCR extrahovat cyrilický + text, převést obrázek na text a stáhnout cyrilický jazykový balíček. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: cs +og_description: Naučte se, jak číst text z PNG, extrahovat cyrilický text a převést + obrázek na text pomocí Aspose OCR v C#. +og_title: číst text z PNG – extrahovat cyrilický text pomocí Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Čtení textu z PNG – extrahování cyrilického textu pomocí Aspose OCR +url: /cs/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# čtení textu z png – extrahování cyrilického textu pomocí Aspose OCR + +Potřebujete **číst text z png** souborů a získat cyrilické znaky? V tomto návodu vám ukážeme, jak číst text z png pomocí Aspose OCR, extrahovat cyrilický text a **převést obrázek na text** během několika řádků C#. + +Pokud jste někdy zírali na snímek ruské faktury a přemýšleli, jak dostat slova do prohledávatelného řetězce, jste na správném místě. Také vám ukážeme, jak **automaticky stáhnout cyrilický jazykový balíček**, abyste nemuseli hledat další soubory. + +## Co dosáhnete + +Na konci tohoto tutoriálu budete schopni: + +* **Načíst obrázek pro OCR** přímo z disku nebo proudu. +* Nastavit engine na **cyrilický jazyk** bez ručního stahování. +* Spustit rozpoznání a **extrahovat cyrilický text** z PNG souboru. +* Vidět rozpoznaný text vytištěný do konzole – čistý, prostý výstup, který můžete použít v databázích, vyhledávacích indexech nebo jakémkoli jiném workflow. + +Žádné externí služby, žádné cloudové klíče, jen balíček Aspose OCR NuGet a několik řádků C#. + +## Požadavky + +* .NET 6.0 nebo novější (kód funguje na .NET Core, .NET Framework i .NET 5+). +* Visual Studio 2022 nebo libovolný editor, který máte rádi. +* NuGet balíček Aspose.OCR (`dotnet add package Aspose.OCR`). +* PNG obrázek, který obsahuje cyrilické znaky – například `cyrillic_sample.png` umístěný ve složce `YOUR_DIRECTORY`. + +> **Pro tip:** Pokud používáte Visual Studio, klikněte pravým tlačítkem na projekt → **Manage NuGet Packages** → vyhledejte “Aspose.OCR” a nainstalujte nejnovější stabilní verzi. + +--- + +## Krok 1 – Instalace Aspose OCR a vytvoření engine + +Nejprve potřebujeme instanci OCR engine. Třída `OcrEngine` je vstupním bodem pro všechny operace. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Proč je to důležité:** Engine zapouzdřuje jazykové balíčky, data obrázku a možnosti rozpoznání. Vytvoření jedné instance a její opakované používání napříč více obrázky může zlepšit výkon. + +--- + +## Krok 2 – **načíst obrázek pro ocr** a nastavit jazyk + +Nyní řekneme engine, který obrázek má zpracovat a jaký jazyk má hledat. Nastavením `Language.Cyrillic` se automaticky při prvním spuštění stáhne potřebný jazykový balíček. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Hraniční případ:** Pokud je váš PNG obrovský (více než 5 MB), možná jej budete chtít nejprve zmenšit, aby se rozpoznání zrychlilo. Vlastnost `Image` také přijímá `Stream`, takže můžete načíst z paměti, webového požadavku nebo Azure Blob bez zásahu do souborového systému. + +--- + +## Krok 3 – **převést obrázek na text** jedním voláním + +Rozpoznání je tak jednoduché jako zavolat `Recognize()`. Po tomto volání obsahuje vlastnost `Text` extrahovaný řetězec. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Co se děje pod kapotou?** Aspose používá klasifikátor založený na neuronové síti, který byl natrénován na milionech cyrilických glyfů. Knihovna abstrahuje veškerou složitost, takže získáte čistý Unicode. + +--- + +## Krok 4 – Výstup výsledku (nebo jeho další zpracování) + +Pro demonstrační účely vytiskneme text do konzole, ale můžete jej snadno zapsat do souboru, databáze nebo předat vyhledávacímu indexu. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Očekávaný výstup** (předpokládáme, že `cyrillic_sample.png` obsahuje frázi “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Pokud výstup vypadá poškozeně, zkontrolujte, že je obrázek jasný a že jste nastavili `Language.Cyrillic`. Engine ve výchozím nastavení používá angličtinu, což by cyrilické znaky považovalo za neznámé symboly. + +--- + +## Krok 5 – Kompletní, spustitelný příklad + +Sestavíme vše dohromady, zde je samostatný program, který můžete zkopírovat a vložit do nového konzolového projektu. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Uložte soubor jako `Program.cs`, spusťte `dotnet run` a měli byste vidět cyrilický text vytištěný na obrazovce. + +--- + +## Často kladené otázky a řešení problémů + +| Otázka | Odpověď | +|----------|--------| +| **Co když se jazykový balíček nestáhne?** | Ověřte, že má počítač přístup k internetu. Balíček je uložen v `%USERPROFILE%\.Aspose\OCR\Languages`. Smazáním této složky vynutíte čerstvé stažení. | +| **Mohu číst i jiné jazyky než cyrilštinu?** | Samozřejmě – nahraďte `Language.Cyrillic` například `Language.English`, `Language.Arabic` atd. Stejná logika automatického stahování se použije. | +| **Můj PNG je špinavý – výsledky jsou špatné. Co dělat?** | Předzpracujte obrázek: zvýšte kontrast, převádějte na odstíny šedi nebo aplikujte mediánový filtr. Aspose OCR také nabízí možnosti `Settings.ImagePreprocess`. | +| **Je možné získat ohraničující rámečky pro každé slovo?** | Ano, po volání `Recognize()` můžete prozkoumat `ocrEngine.Regions`, který vrací obdélníky pro každé detekované slovo. | +| **Potřebuji licenci pro produkční použití?** | Bezplatná evaluační verze funguje až do 100 stran. Pro komerční projekty zakupte licenci – odstraní evaluační vodoznak a odemkne vysokorychlostní dávkové zpracování. | + +--- + +## Další kroky – rozšíření řešení + +* **Dávkové zpracování:** Procházet složku s PNG soubory, shromažďovat všechny texty do CSV souboru. +* **Integrace s Azure Cognitive Search:** Indexovat extrahované cyrilické řetězce pro rychlé vyhledávání. +* **Kombinace s konverzí PDF:** Použít Aspose.PDF k převodu naskenovaných PDF na PNG a poté spustit stejný OCR tok. + +Všechny tyto scénáře znovu využívají základní vzor, který jsme právě probírali: **načíst obrázek pro OCR → nastavit jazyk → rozpoznat → použít text**. + +--- + +## Závěr + +Nyní víte, jak **číst text z png**, **extrahovat cyrilický text** a **převést obrázek na text** pomocí Aspose OCR v C#. Klíčové kroky jsou vytvoření engine, načtení obrázku, výběr správného jazyka (který automaticky **stáhne cyrilický jazykový balíček**) a nakonec volání `Recognize()`. + +Vyzkoušejte to s různými obrázky, experimentujte s možnostmi `Settings` a sledujte, jak se vaše aplikace stane prohledávatelnou, vícejazyčnou a mnohem inteligentnější. + +Šťastné kódování a klidně zanechte komentář, pokud narazíte na potíže! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/ocr-optimization/_index.md b/ocr/czech/net/ocr-optimization/_index.md index 73afa8ddc..a1f71a7ac 100644 --- a/ocr/czech/net/ocr-optimization/_index.md +++ b/ocr/czech/net/ocr-optimization/_index.md @@ -74,6 +74,12 @@ Prozkoumejte Aspose.OCR pro .NET. Zvyšte přesnost OCR pomocí předzpracovatel Zvyšte přesnost OCR s Aspose.OCR pro .NET. Opravujte pravopis, přizpůsobujte slovníky a dosáhněte bezchybného rozpoznávání textu s lehkostí. ### [Uložit vícestránkový výsledek jako dokument v OCR rozpoznávání obrázků](./save-multipage-result-as-document/) Odemkněte potenciál Aspose.OCR pro .NET. Jednoduše uložte vícestránkové OCR výsledky jako dokumenty s tímto komplexním krok‑za‑krokem průvodcem. +### [Jak narovnat obrázek a spustit OCR v C# – Kompletní průvodce](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Naučte se, jak pomocí Aspose.OCR v C# odstranit sklon obrázku a provést OCR s vysokou přesností v několika krocích. +### [Příklad Aspose OCR – Povolit kontrolu pravopisu a opravit chyby v C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Ukázkový kód, který zapíná kontrolu pravopisu v Aspose.OCR a automaticky opravuje rozpoznané chyby v C#. +### [Jak provést OCR na čínských obrázcích – Kompletní průvodce v C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Naučte se rozpoznávat čínské znaky z obrázků pomocí Aspose.OCR v C# s podrobným krok‑za‑krokem návodem. ## Často kladené otázky diff --git a/ocr/czech/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/czech/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..5c12dd41f --- /dev/null +++ b/ocr/czech/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-03-07 +description: Příklad Aspose OCR ukazující, jak povolit kontrolu pravopisu, přidat + vlastní slovník, načíst OCR z obrázku a rychle opravit chyby OCR. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: cs +og_description: Příklad Aspose OCR, který vás provede povolením kontroly pravopisu, + přidáním vlastního slovníku, načtením obrázku pro OCR a opravou běžných chyb OCR. +og_title: Příklad Aspose OCR – Povolit kontrolu pravopisu a opravit chyby +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Příklad Aspose OCR – Povolit kontrolu pravopisu a opravit chyby v C# +url: /cs/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Example – Enable Spellcheck and Fix Errors in C# + +Už jste někdy potřebovali **Aspose OCR example**, který nejen načte text z obrázku, ale také odstraní ty otravné pravopisné chyby? Nejste v tom sami. V mnoha reálných projektech je surový výstup OCR posetý překlepy, zejména když zdrojový obrázek obsahuje nízkokontrastní písmo nebo ručně psané poznámky. + +Dobrá zpráva? S Aspose.OCR můžete **enable spellcheck**, připojit vlastní slovník a získat upravený řetězec během několika řádků kódu. Níže uvidíte přesně **how to enable spellcheck**, **how to add a dictionary** a **how to load image OCR**, takže konečně **fix OCR errors** bez toho, abyste si trhali vlasy. + +V tomto tutoriálu pokryjeme vše, co potřebujete – od instalace NuGet až po kompletní spustitelný program, který vypíše opravený text. Na konci budete mít solidní **Aspose OCR example**, který můžete vložit přímo do jakéhokoli .NET projektu. + +## Požadavky + +- .NET 6.0 SDK nebo novější (kód funguje také s .NET Core a .NET Framework) +- Visual Studio 2022 nebo jakékoli C#‑kompatibilní IDE +- Soubor obrázku (`typed_text.png`) obsahující jasný, psaný anglický text +- Přístup k internetu pro stažení NuGet balíčku Aspose.OCR + +Žádné další knihovny třetích stran nejsou vyžadovány. + +--- + +## Step 1 – Install the Aspose.OCR NuGet Package (Load Image OCR) + +Než budeme moci psát jakýkoli kód, potřebujeme knihovnu, která pohání OCR engine. + +```bash +dotnet add package Aspose.OCR +``` + +> **Tip:** Pokud používáte Visual Studio, klikněte pravým tlačítkem na projekt → *Manage NuGet Packages* → vyhledejte **Aspose.OCR** a klikněte na *Install*. + +Instalace balíčku vám poskytne přístup k `OcrEngine`, `ImageStream` a vestavěným utilitám pro kontrolu pravopisu, které později použijeme. Jakmile je balíček na místě, jste připraveni na **load image OCR**. + +## Step 2 – Create the OCR Engine Instance + +Vytvoření engine je první konkrétní krok v jakémkoli **Aspose OCR example**. Představte si `OcrEngine` jako mozek, který analyzuje bitmapu a vydá text. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Konstruktor `OcrEngine` nevyžaduje žádné parametry, což jej činí přehledným pro rychlé prototypy. + +## Step 3 – How to Enable Spellcheck (and Why It Matters) + +Surový výstup OCR často obsahuje nesprávně rozpoznaná slova jako “teh” místo “the”. Povolení vestavěného spell‑checkeru umožní Aspose automaticky nahradit tyto chyby nejpravděpodobnějším správným pravopisem. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Proč povolit spellcheck?** +> - **Přesnost:** Post‑processing spell check může zvýšit celkovou přesnost textu o 10‑15 % u tištěných dokumentů. +> - **Uživatelská zkušenost:** Čistý text znamená méně následného čištění, když výsledek předáváte do vyhledávacích indexů nebo analytických pipeline. + +## Step 4 – How to Add a Dictionary (Custom Words) + +Někdy výchozí slovník nezná vaše značkové názvy, kódy produktů nebo oborový žargon. Právě zde vstupuje do hry **how to add dictionary**. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Můžete předat pole, seznam nebo dokonce načíst ze souboru, pokud máte velké vlastní slovní zásoby. Spell‑checker nyní bude tyto položky považovat za platné, čímž zabrání chybným opravám. + +## Step 5 – Load the Image for OCR (Load Image OCR) + +Nyní, když je engine nakonfigurován, musíme ho nasměrovat na obrázek, který chceme přečíst. Pomocník `ImageStream.FromFile` abstrahuje podrobnosti čtení souboru. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** Pokud se váš obrázek nachází v podadresáři projektu, nastavte jeho vlastnost *Copy to Output Directory* na *Copy always*, aby cesta byla vyřešena za běhu. + +## Step 6 – Perform Recognition and Fix OCR Errors + +S vším nastaveným, jediným voláním `Recognize()` spustíte OCR pipeline, použijete spell‑checking a uložíte vyčištěný výsledek do `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Očekávaný výstup + +Předpokládejme, že `typed_text.png` obsahuje větu `The quick brown fox jumps over teh lazy dog`, konzole zobrazí: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Všimněte si, že “teh” bylo automaticky opraveno na “the”. Kdybyste přidali “OCRify” do vlastního slovníku a obrázek by obsahoval toto slovo, engine by ho ponechal beze změny. + +--- + +## Kompletní funkční příklad (připravený ke kopírování a vložení) + +Níže je kompletní program, který můžete vložit do nového konzolového projektu. Obsahuje všechny výše uvedené kroky a několik komentářů pro přehlednost. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Uložte to jako `Program.cs`, spusťte `dotnet run` a měli byste vidět opravenou větu vytištěnou v konzoli. + +--- + +## Často kladené otázky a okrajové případy + +| Question | Answer | +|----------|--------| +| **Co když je obrázek vícestránkový PDF?** | Aspose.OCR dokáže zpracovat stránky PDF jako obrázky. Použijte `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` a projděte stránky ve smyčce. | +| **Mohu změnit jazyk na jiný než angličtinu?** | Rozhodně. Nastavte `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (nebo jakýkoli podporovaný jazyk). | +| **Můj vlastní slovník je obrovský—ovlivní to výkon?** | Přidání tisíců slov vyžaduje malou počáteční náročnost, ale vyhledávání je O(1) díky hash‑setu pod kapotou. Pro obrovské slovníky zvažte načtení jednorázově při startu aplikace. | +| **Co když OCR engine vyhodí výjimku u poškozeného obrázku?** | Zabalte `Recognize()` do try‑catch bloku a prozkoumejte `ocrEngine.LastError`. Můžete také předem ověřit rozměry obrázku pomocí `ocrEngine.Image.Width` a `Height`. | +| **Potřebuji licenci pro produkční použití?** | Bezplatná evaluační verze funguje pro testování, ale komerční licence odstraňuje vodoznak evaluace a odemyká plný výkon. | + +--- + +## Závěr + +Nyní máte **complete Aspose OCR example**, který ukazuje **how to enable spellcheck**, **how to add a dictionary**, **load image OCR** a **how to fix OCR errors** čistým, připraveným pro produkci způsobem. Konfigurací spell‑checkeru a zadáním vlastního seznamu slov výrazně zlepšíte kvalitu extrahovaného textu, aniž byste museli psát jakoukoli post‑processing logiku. + +Jste připraveni na další krok? Zkuste změnit jazyk na španělštinu, načíst vícestránkový PDF nebo integrovat výstup do vyhledávatelného indexu Azure Cognitive Search. Stejný vzor platí – jen upravte jazykový příznak a možná rozšiřte vlastní slovník. + +Pokud vám tento průvodce přišel užitečný, dejte mu hvězdičku na GitHubu, sdílejte ho s kolegy nebo zanechte komentář níže. Šťastné programování a ať jsou vaše OCR výsledky vždy bez chyb! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/czech/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..9381ce7e9 --- /dev/null +++ b/ocr/czech/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Naučte se, jak vyrovnat zkosení obrazu, zvýšit kontrast a extrahovat + text ze skenu pomocí Aspose OCR. Proveďte OCR na obrázku s kompletním příkladem + v C# a snadno načtěte obrázek pro OCR. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: cs +og_description: Naučte se, jak vyrovnat zkosení obrázku, zvýšit kontrast a extrahovat + text ze skenu pomocí Aspose OCR v C#. Proveďte OCR na obrázku pomocí kódu krok za + krokem. +og_title: Jak vyrovnat obrázek a spustit OCR v C# – Kompletní průvodce +tags: +- C# +- OCR +- Image Processing +title: Jak narovnat obrázek a spustit OCR v C# – kompletní průvodce +url: /cs/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak vyrovnat obrázek a spustit OCR v C# – Kompletní průvodce + +Pokud jste se někdy ptali, **jak vyrovnat obrázek** před spuštěním OCR, jste na správném místě. V tomto tutoriálu vás provedeme zvýšením kontrastu, načtením obrázku pro OCR a nakonec **extrahováním textu ze skenu** pomocí Aspose OCR. + +Ať už digitalizujete staré účtenky, čistíte naskenované smlouvy, nebo jen potřebujete spolehlivý způsob, jak přečíst text ze šikmé fotografie, níže uvedené kroky pokrývají vše, co potřebujete. Žádné zbytečnosti – jen funkční příklad, který můžete zkopírovat a vložit do Visual Studio. + +## Co dosáhnete + +Na konci tohoto průvodce budete schopni: + +* Opravit sklon až do 30° (to je část **jak vyrovnat obrázek**). +* Zvýšit kontrast obrázku pro ostřejší hrany znaků (**jak zvýšit kontrast**). +* Načíst svůj obrázek do OCR enginu (**načíst obrázek pro OCR**). +* Spustit proces rozpoznávání a **extrahovat text ze skenu**. + +Vše funguje s nejnovějším balíčkem Aspose.OCR .NET NuGet (v23.11 v době psaní). + +--- + +![Příklad vyrovnání obrázku](/images/deskew-example.png "jak vyrovnat obrázek") + +*Obrázek výše ukazuje naskenovaný dokument před a po vyrovnání.* + +## Požadavky + +* .NET 6.0 nebo novější (kód také běží na .NET Framework 4.7+). +* Visual Studio 2022 (nebo jakékoli C# IDE, které máte rádi). +* Aspose.OCR NuGet balíček – nainstalujte pomocí `dotnet add package Aspose.OCR`. + +To je vše. Žádné externí služby, žádné API klíče. + +--- + +## Jak vyrovnat obrázek pomocí Aspose OCR + +První věc, kterou uděláme, je vytvořit **ImageProcessingPipeline** a přidat `DeskewFilter`. Filtr automaticky detekuje dominantní úhel textové řádky a otočí obrázek zpět do vodorovné polohy. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Proč je to důležité:** +Šikmý sken zmátne OCR engine, protože znaky již nejsou zarovnané s osnovou. `DeskewFilter` analyzuje histogram obrázku, najde úhel a otočí jej, což dramaticky zlepšuje přesnost rozpoznávání. + +> **Tip:** Pokud víte, že vaše dokumenty nikdy nepřesahují sklon 15°, nastavte `MaxAngle = 15` pro zrychlení zpracování. + +--- + +## Jak zvýšit kontrast pro lepší rozpoznávání + +Po vyrovnání je dalším krokem udělat text výraznější. `ContrastBoostFilter` roztahuje rozsah intenzity pixelů, což je zvláště užitečné u vybledlých tisků. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Proč to pomáhá:** +Nízkokontrastní skeny produkují šedivé znaky, které binarizér může interpretovat jako pozadí. Zvýšení kontrastu posouvá tmavé pixely tmavěji a světlé pixely světleji, čímž poskytuje `BinarizationFilter` čistší podklad. + +--- + +## Proveďte OCR na obrázku – načtení souboru + +Nyní, když je obrázek předzpracován, musíme **načíst obrázek pro OCR**. Aspose nabízí pohodlný pomocník `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Pokud váš obrázek existuje ve streamu (např. nahraný přes webové API), můžete místo toho použít `ImageStream.FromStream(yourStream)`. Engine přijímá BMP, JPEG, PNG, TIFF a mnoho dalších formátů. + +--- + +## Spusťte proces rozpoznávání a extrahujte text ze skenu + +Se vším připraveným, volání `Recognize()` udělá těžkou práci. Po volání je rozpoznaný text dostupný přes `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Očekávaný výstup** (příklad pro jednoduchou fakturu): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Pokud výstup vypadá poškozeně, zkontrolujte pořadí pipeline – nejprve deskew, pak denoise, zvýšení kontrastu a nakonec binarizaci. Přehazování těchto kroků může výsledek zhoršit. + +--- + +## Časté problémy a okrajové případy + +| Problém | Proč se vyskytuje | Řešení | +|---------|-------------------|--------| +| **Prázdný výsledek** | Obrázek je příliš tmavý nebo příliš světlý pro výchozí binarizační metodu. | Zvyšte `ContrastBoostFilter.Strength` nebo přepněte na `BinarizationMethod.Otsu`. | +| **Chybějící část textu** | Po denoisingu zůstává šum. | Použijte `DenoiseLevel.Medium` pro mírnější obrázky, nebo přidejte druhý `DenoiseFilter`. | +| **Špatný směr otáčení** | Dokument má smíšenou orientaci (např. foto otočené stránky). | Manuálně nastavte nižší `DeskewFilter.MaxAngle` a předem otočte obrázek pomocí `ImageProcessor.Rotate`. | +| **Zpomalení výkonu** | Velká dávka vysoce rozlišených obrázků. | Před pipeline zmenšete rozlišení (`ImageProcessor.Resize`) nebo zpracovávejte paralelně (`Parallel.ForEach`). | + +--- + +## Kompletní funkční příklad (připravený ke kopírování) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Uložte tento soubor jako `Program.cs`, spusťte `dotnet run` a sledujte, jak konzole vytiskne výsledek **extrahování textu ze skenu**. + +--- + +## Další kroky a související témata + +* **Dávkové zpracování** – Zabalte výše uvedenou logiku do smyčky pro zpracování desítek souborů. +* **Vlastní jazykové balíčky** – Pokud potřebujete číst ne‑latinské skripty, načtěte jazykový model pomocí `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF výstup** – Kombinujte Aspose.PDF s OCR pro vložení prohledávatelného textu přímo do PDF souboru. +* **Ladění výkonu** – Experimentujte s pořadím `ImageProcessingPipeline`; někdy denoising před deskewem přináší rychlejší výsledky u špinavých fotografií. + +Všechny tyto body staví na základních konceptech, které jsme probrali: **jak vyrovnat obrázek**, **jak zvýšit kontrast**, **načíst obrázek pro OCR**, **provést OCR na obrázku** a nakonec **extrahovat text ze skenu**. + +--- + +## Závěr + +Právě jsme ukázali kompletní, produkčně připravený způsob, jak **vyrovnat obrázek** a spustit OCR v C#. Řetězením filtru pro deskew, kroku denoise, zvýšení kontrastu a binarizéru získáte čistý vstup, který umožní Aspose OCR spolehlivě **extrahovat text ze skenu**. + +Vyzkoušejte kód, upravte parametry filtrů pro své dokumenty a uvidíte, jak rychle se zlepší přesnost rozpoznávání. Máte otázky? Zanechte komentář a šťastné programování! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/czech/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..52dd19ce5 --- /dev/null +++ b/ocr/czech/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-03-07 +description: Jak provést OCR na čínských obrázcích pomocí Aspose OCR. Naučte se extrahovat + čínský text, převést obrázek na ePub a zlepšit přesnost OCR v jednom tutoriálu. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: cs +og_description: Jak provést OCR čínských obrázků pomocí Aspose OCR. Získejte kód krok + za krokem pro extrakci čínského textu, vylepšení OCR a export do ePub. +og_title: Jak provést OCR na čínských obrázcích – kompletní průvodce C# +tags: +- OCR +- C# +- Aspose +title: Jak provést OCR na čínských obrázcích – Kompletní průvodce C# +url: /cs/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak provádět OCR na čínských obrázcích – Kompletní průvodce v C# + +Už jste se někdy zamysleli **jak provádět OCR** na obrázku, který obsahuje čínské znaky? Nejste v tom jediní. V mnoha aplikacích – skenování účtenek, digitalizace učebnic nebo tvorba vícejazykového vyhledávače – získání čistého textu z obrázku je klíčová funkce. + +V tomto tutoriálu projdeme reálné řešení, které **extrahuje čínský text**, uloží výsledek do souboru prostého textu a dokonce **převede obrázek na ePub** pro e‑čtečky. Po cestě budeme diskutovat **jak zlepšit přesnost OCR**, proč byste měli zapnout režim GPU a co je potřeba udělat, aby **rozpoznával zjednodušenou čínštinu** správně. + +Na konci tohoto průvodce budete mít plně spustitelný program v C#, několik praktických tipů a jasnou představu o dalších krocích, které můžete podniknout (např. přidání detekce jazyka nebo dávkové zpracování). Žádná externí dokumentace není potřeba – vše, co potřebujete, je zde. + +## Co budete potřebovat + +- .NET 6+ (nebo .NET Core 3.1 s Aspose OCR for .NET) +- Platná licence Aspose OCR for .NET (bezplatná zkušební verze funguje pro experimentování) +- Soubor obrázku, který obsahuje zjednodušené čínské znaky (např. `chinese_sample.jpg`) +- Visual Studio 2022 nebo jakýkoli C# editor, který preferujete + +Pokud vám něco chybí, stáhněte si nyní balíček NuGet: + +```bash +dotnet add package Aspose.OCR +``` + +A to je vše – žádné další nativní knihovny, žádný COM interop, jen jediný .NET balíček. + +## Jak provádět OCR – Nastavení enginu Aspose OCR + +Prvním krokem je vytvořit a nakonfigurovat OCR engine. Tento krok je zásadní, protože nastavení enginu určuje **jak dobře OCR funguje** na čínských znacích a jak rychle běží. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Proč je to důležité:** +- **Language = ChineseSimplified** říká Aspose načíst sadu znaků pro zjednodušenou čínštinu, což dramaticky snižuje chyby rozpoznávání. +- **EngineMode.Gpu** může zkrátit dobu zpracování na polovinu na moderním GPU, ale v případě absence GPU se elegantně přepne na CPU. +- **DeskewFilter** odstraňuje náklon, který se často objeví, když uživatelé pořizují fotografii telefonem. +- **Sauvola binarization** vytvoří vysoce kontrastní černobílý obrázek, klasický trik pro zvýšení přesnosti OCR u hustých skriptů jako čínština. + +> **Pro tip:** Pokud pracujete s fotografiemi při slabém osvětlení, přidejte `ContrastFilter` před binarizací. Není to pro náš příklad vyžadováno, ale často vám ušetří několik problémů. + +![Diagram pipeline OCR](ocr-pipeline.png "Diagram pipeline OCR") + +> *Alt text:* Diagram pipeline OCR + +## Extrahovat čínský text z obrázku + +Nyní, když je engine připraven, načteme obrázek a necháme engine udělat své kouzlo. Toto je jádro **extrahování čínského textu**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Co byste měli vidět:** +Pokud `chinese_sample.jpg` obsahuje frázi “中华人民共和国”, soubor `out.txt` bude obsahovat přesně tyto znaky – žádné extra mezery, žádná poškozená latinská písmena. + +### Časté úskalí + +| Problém | Proč se to děje | Řešení | +|-------|----------------|-----| +| Chybějící znaky | Obrázek je příliš šumivý | Přidejte `MedianFilter` před binarizací | +| Detekováno špatné jazykové nastavení | `Language` nastaven na `English` | Zajistěte `Language = Language.ChineseSimplified` | +| Pomalé zpracování | GPU není povoleno | Ověřte, že váš počítač má kompatibilní CUDA driver | + +## Převést obrázek na ePub + +Mnoho vývojářů se ptá, *„Mohu převést naskenovanou stránku na čitelnou e‑knihu?“* Rozhodně – Aspose OCR obsahuje exportér do ePub. To splňuje požadavek **convert image to epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Vygenerovaný `out.epub` bude obsahovat extrahovaný čínský text, správně kódovaný v UTF‑8, a lze jej otevřít v Kindle, Apple Books nebo jakémkoli ePub čtečce. + +**Proč používat ePub?** +- Je to reflowable (přizpůsobitelný), takže čtenáři mohou měnit velikost písma, aniž by se rozbil layout. +- Formát udržuje text prohledávatelný, což je užitečné pro pozdější indexování. + +## Jak zlepšit OCR – Praktické úpravy + +I když máte solidní pipeline, můžete stále vidět občasné chyby rozpoznávání. Zde je rychlý kontrolní seznam pro **jak zlepšit OCR** na čínských dokumentech: + +1. **Předzpracování obrázku** – Použijte `GaussianBlurFilter` k vyhlazení šumů, poté `ContrastFilter` pro zvýraznění hran. +2. **Nastavte vyšší DPI** – Pokud řídíte proces skenování, cílem by mělo být 300 dpi nebo více; obrázky s nízkým rozlišením ztrácejí detaily tahů. +3. **Povolit detekci jazyka** – Aspose může automaticky detekovat jazyk; kombinujte to s fallbackem na zjednodušenou čínštinu, pokud detekce selže. +4. **Doladit binarizaci** – Vyměňte `Sauvola` za `Otsu`, pokud je pozadí rovnoměrně světlé. +5. **Dávkové zpracování** – Zpracovávejte více stránek paralelně pomocí `Parallel.ForEach` k využití vícejádrových CPU. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Rozpoznat zjednodušenou čínštinu – Okrajové případy + +Fráze **recognize simplified Chinese** často zmátne nováčky, protože stejný OCR engine může také zpracovávat tradiční čínštinu, japonštinu nebo korejštinu. Aby bylo chování deterministické: + +- **Explicitně nastavte jazyk** (jak jsme udělali v kroku 1). +- **Vyhněte se stránkám s míseným jazykem**; pokud stránka kombinuje zjednodušenou čínštinu s angličtinou, zvažte dva průchody: jeden s `Language.ChineseSimplified`, druhý s `Language.English`. +- **Ověřte výstup** – Po rozpoznání spusťte jednoduchý regex, aby se zajistilo, že všechny znaky spadají do Unicode rozsahu `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Pokud kontrola selže, můžete stránku zaznamenat pro ruční revizi. + +## Kompletní funkční příklad + +Spojením všech částí dohromady, zde je jediný soubor, který můžete zkopírovat a vložit do nového konzolového projektu (`Program.cs`). Obsahuje všechny kroky, volitelné úpravy a závěrečnou stavovou řádku. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Očekávaný výstup v konzoli (příklad):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Spusťte program, otevřete `out.txt` nebo `out.epub` a uvidíte čisté, prohledávatelné čínské znaky připravené pro další zpracování. + +## Závěr + +Právě jsme prošli **jak provádět OCR** na čínských obrázcích od začátku do konce, ukázali vám, jak **extrahovat čínský text**, **převést výsledek na ePub**, a aplikovat několik + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/text-recognition/_index.md b/ocr/czech/net/text-recognition/_index.md index b178a0c01..7cff00553 100644 --- a/ocr/czech/net/text-recognition/_index.md +++ b/ocr/czech/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Vylepšete své aplikace .NET pomocí Aspose.OCR pro efektivní rozpoznávání Odemkněte potenciál OCR v .NET s Aspose.OCR. Extrahujte text z PDF bez námahy. Stáhněte si nyní pro bezproblémovou integraci. ### [Rozpoznat tabulku v OCR rozpoznávání obrazu](./recognize-table/) Odemkněte potenciál Aspose.OCR pro .NET pomocí našeho komplexního průvodce rozpoznáváním tabulek při rozpoznávání obrázků OCR. +### [Rozpoznání hindského textu v C# – Kompletní průvodce Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Naučte se rozpoznávat hindský text v C# pomocí Aspose OCR v podrobném průvodci. +### [Jak vytvořit ePub z obrázků v C# – krok za krokem průvodce](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Naučte se pomocí Aspose.PDF vytvořit ePub soubor z obrázků v C# pomocí podrobného průvodce. +### [Rozpoznat text z obrázku v C# – Kompletní průvodce Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Naučte se rozpoznávat text z obrázku v C# pomocí Aspose OCR v podrobném průvodci. +### [Extrahovat text z PNG v C# – Kompletní průvodce OCR](./extract-text-from-png-in-c-full-ocr-guide/) +Naučte se extrahovat text z PNG souborů v C# pomocí Aspose.OCR v podrobném průvodci. +### [Jak používat OCR v C# – Extrahovat text z obrázků offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Naučte se, jak offline pomocí Aspose.OCR v C# extrahovat text z obrázků a integrovat jej do svých aplikací. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/czech/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..02e10e9f0 --- /dev/null +++ b/ocr/czech/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-03-07 +description: Extrahujte text z PNG souborů pomocí C#. Naučte se, jak převést obrázek + na text v C# a rychle číst text ze skenovaných obrázků. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: cs +og_description: Extrahujte text z PNG souborů pomocí C#. Tento průvodce ukazuje, jak + převést obrázek na text v C# a číst text ze skenovaných obrázků pomocí Aspose OCR. +og_title: Extrahování textu z PNG v C# – Kompletní průvodce OCR +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Extrahování textu z PNG v C# – Kompletní průvodce OCR +url: /cs/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahovat text z PNG v C# – Kompletní průvodce OCR + +Už jste někdy potřebovali **extract text from PNG** soubory, ale nebyli jste si jisti, kde začít? Nejste v tom sami – většina vývojářů narazí na tuto překážku, když poprvé čelí naskenovaným grafikám nebo screenshotům, které mají být převáděny na prohledávatelný text. Dobrá zpráva? S několika řádky C# a Aspose OCR můžete během chvilky převést jakýkoli PNG na editovatelné řetězce. + +V tomto tutoriálu projdeme celý proces: od vyhledání PNG souborů na disku, spuštění OCR úloh paralelně, až po zobrazení přehledného náhledu každého výsledku. Na konci budete vědět, jak **convert image to text C#** styl, budete schopni **read text from scanned images** efektivně a také uvidíte nejlepší způsob, jak **run OCR on images** bez zatížení UI vlákna. + +## Co budete potřebovat + +- .NET 6.0 nebo novější (kód funguje i na .NET Core a .NET Framework) +- Aspose.OCR NuGet balíček (`Install-Package Aspose.OCR`) +- Složka plná *.png* souborů, které chcete zpracovat +- Jakékoli IDE, které máte rádi (Visual Studio, VS Code, Rider…) + +Žádná další konfigurace není potřeba; knihovna obsahuje vše potřebné pro dekódování PNG, JPEG, TIFF a dalších formátů. + +## Krok 1: Najděte všechny PNG soubory – začíná „Extract Text from PNG“ + +Nejprve musíme najít každý PNG, na který chceme spustit OCR. Použití `Directory.GetFiles` je rychlé a spolehlivé. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Proč je to důležité:* Jednorázové prohledání adresáře udržuje zbytek pipeline jednoduchý a brzká kontrola zabraňuje tichému „žádnému výstupu“, který může být později těžko laditelný. + +## Krok 2: Spusťte paralelní OCR úlohy – efektivně **run OCR on images** + +Spouštění OCR sekvenčně je v pořádku pro pár souborů, ale reálné projekty často pracují s desítkami či stovkami souborů. Vytvořením `Task` pro každý obrázek udržíme CPU vytížené, zatímco knihovna provádí těžkou práci. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Tip:* `Task.Run` přenese práci do thread poolu, což znamená, že vaše UI (pokud nějaké máte) zůstane responzivní. Na serveru se stejný vzor dobře škáluje napříč jádry. + +## Krok 3: Počkejte na všechny úlohy – shromážděte výsledky + +Nyní čekáme, až se dokončí každá OCR operace. `Task.WhenAll` vrací pole, které odpovídá původnímu pořadí souborů, takže je snadné spárovat výsledky s názvy souborů. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Poznámka o okrajových případech:* Pokud některý obrázek vyhodí výjimku (poškozený soubor, nepodporovaný formát), celý `WhenAll` propaguje výjimku. Můžete obalit vnitřní `Task.Run` do try/catch a vrátit prázdný řetězec nebo diagnostickou zprávu, pokud potřebujete odolnost vůči chybám. + +## Krok 4: Zobrazte náhled – ověřte výstup **convert image to text C#** + +Rychlý náhled vám pomůže potvrdit, že OCR fungovalo, než začnete data ukládat někam jinam. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Typický výstup v konzoli vypadá takto: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Pokud náhled ukazuje nesmysly, zkontrolujte kvalitu obrázku nebo zvažte předzpracování (např. binarizaci) – ale pro většinu čistých PNG Aspose OCR dosáhne správného výsledku hned na první pokus. + +## Volitelné: Uložte výsledky do CSV – reálný případ použití + +Většina projektů potřebuje extrahovaný text ve strukturovaném formátu. Níže je malý pomocník, který zapisuje název souboru a celý OCR text do CSV souboru. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Nyní můžete CSV importovat do Excelu, Power BI nebo jakéhokoli downstream systému, který očekává **read text from scanned images**. + +## Často kladené otázky + +**Co když jsou mé PNG soubory obrovské (více než 5 MB)?** +Aspose OCR automaticky down‑sampleuje velké obrázky, aby udržel rozumnou spotřebu paměti, ale můžete ručně změnit velikost pomocí `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` a omezit šířku na 2000 px při zachování poměru stran. + +**Mohu to spustit na Linuxu?** +Ano. Aspose OCR je multiplatformní; jen se ujistěte, že jsou nainstalovány nativní závislosti (`libgdiplus` na některých distribucích). + +**Je výchozí jazyk OCR nastaven na angličtinu?** +Ano. Pokud potřebujete jiný jazyk, nastavte `engine.Language = OcrLanguage.French;` (nebo jakýkoli podporovaný enum) před voláním `Recognize()`. + +**Jak zacházet s PDF soubory chráněnými heslem, které obsahují PNG?** +Nejprve převést stránky PDF na obrázky (pomocí Aspose PDF nebo jiné knihovny) a pak tyto PNG předat do stejné pipeline. Princip **how to run OCR on images** zůstává stejný. + +## Kompletní funkční příklad (Async Main) + +Níže je samostatný program, který můžete zkopírovat a vložit do konzolového projektu. Obsahuje všechny výše uvedené části plus malý pomocník pro validaci vstupní složky. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Očekávaný výstup** (ukázka pro dva PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Závěr + +Právě jsme prošli vším, co potřebujete k **extract text from PNG** souborů pomocí C#. Od vyhledání souborů, spuštění paralelních OCR úloh, náhledu řetězců až po jejich uložení do CSV – tento průvodce vám poskytuje produkčně připravený vzor pro scénáře **convert image to text C#**. + +Jste připraveni na další krok? Zkuste stejnou pipeline použít na JPEG nebo TIFF soubory, experimentujte s různými OCR jazyky nebo propojte výsledky s vyhledávacím indexem, abyste mohli **read text from scanned images** okamžitě. + +Máte otázky ohledně okrajových případů, ladění výkonu nebo licencování? Zanechte komentář nebo napište do komunity Aspose – šťastné kódování! + +![Příklad extrakce textu z PNG](extract-text-png.png "Extrahovat text z PNG pomocí Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/czech/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..5a7e7afe0 --- /dev/null +++ b/ocr/czech/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Jak vytvořit ePub ze skenovaných obrázků pomocí Aspose OCR – naučte se + převést obrázek na ePub, extrahovat text z obrázku, přidat autora do ePub a načíst + obrázek pro OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: cs +og_description: Jak vytvořit ePub ze skenovaných obrázků v C#. Tento tutoriál vám + ukáže, jak převést obrázek na ePub, extrahovat text z obrázku, přidat autora do + ePub a načíst obrázek pro OCR. +og_title: Jak vytvořit ePub z obrázků v C# – kompletní průvodce +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Jak vytvořit ePub z obrázků v C# – krok za krokem +url: /cs/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak vytvořit ePub z obrázků v C# – Kompletní průvodce + +Už jste se někdy zamysleli nad tím, **jak vytvořit ePub** ze sbírky naskenovaných stránek? Možná máte pár PNG souborů klasického románu a chtěli byste je převést na úhledný ePub, který můžete číst na jakémkoli zařízení. Dobrou zprávou je, že s Aspose OCR můžete **načíst obrázek pro OCR**, získat text a poté **převést obrázek na ePub** během několika řádků C#. + +V tomto tutoriálu projdeme celým procesem: načtení obrázku, extrakci textu, přidání metadat (ano, **přidáme autora do epub**), a nakonec zápis souboru ePub splňujícího standardy. Na konci budete mít připravený ePub připravený k publikaci a solidní pochopení každého kroku, takže můžete kód přizpůsobit pro knihy s více stránkami, vlastní písma nebo dokonce distribuci bez DRM. + +## Co budete potřebovat + +- **.NET 6** nebo novější (API funguje také s .NET Standard 2.0+) +- **Aspose.OCR for .NET** – můžete si stáhnout bezplatnou zkušební verzi z webu Aspose. +- Naskenovaný obrázek jako `book_page.png` umístěný někde na disku. +- Oblíbené IDE (Visual Studio, Rider nebo VS Code – v ukázkách použiji Visual Studio). + +Žádné další balíčky NuGet nejsou potřeba; Aspose.OCR obsahuje vše, co potřebujete pro export ePub. + +--- + +![Jak vytvořit ePub ze skenovaného obrázku](/images/how-to-create-epub.png "Jak vytvořit ePub ze skenovaného obrázku pomocí Aspose OCR") + +## Krok 1 – Nastavení projektu a instalace Aspose.OCR + +Nejprve vytvořte novou konzolovou aplikaci: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Přidejte balíček Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +A to je vše – knihovna obsahuje jak OCR, tak export ePub, takže nebudete potřebovat žádné další závislosti. + +## Krok 2 – Načtení obrázku pro OCR + +Než budeme moci **extrahovat text z obrázku**, musíme OCR enginu poskytnout něco ke čtení. Pomocník `ImageStream.FromFile` to usnadní: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Tip:** Pokud je váš obrázek uložen jako vložený zdroj, použijte `ImageStream.FromResource` místo `FromFile`. + +## Krok 3 – Extrakce textu z obrázku + +Nyní engine skutečně čte pixely a převádí je na řetězce Unicode. Metoda `Recognize` provádí těžkou práci. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Proč volat `Recognize` samostatně? Umožní vám prohlédnout si surový výstup OCR, upravit nastavení jazyka nebo dokonce spustit kontrolu pravopisu před vytvořením ePub. + +## Krok 4 – Příprava možností exportu ePub (Přidání autora do ePub) + +Vytvoření vylepšeného ePub není jen o vyhození textu; potřebujete také správná metadata. Třída `EpubExportOptions` vám poskytuje čistý způsob, jak **přidat autora do ePub**, nastavit název a rozhodnout, zda vložit originální obrázky. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Pokud máte více stránek, můžete v cyklu nadále volat `ocrEngine.Image = …` a `ocrEngine.Recognize()`; každý volání přidá obsah nové stránky do stejného ePub dokumentu. + +## Krok 5 – Převod obrázku na ePub a export + +Po extrakci textu a nastavení metadat je posledním krokem jednorázový příkaz, který zapíše soubor ePub na disk: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Výsledný `book.epub` lze otevřít v Calibre, Apple Books nebo jakémkoli čtečce podporující EPUB. Protože jsme nastavili `IncludeImages = true`, původní PNG se zobrazí jako stránka s obrázkem, zachovávající vzhled naskenovaného zdroje. + +## Kompletní funkční příklad + +Spojením všeho dohromady získáte kompletní, připravený k běhu program: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Očekávaný výstup + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Otevřete `book.epub` ve své oblíbené čtečce a uvidíte titulní stránku, řádek s autorem (i když je uvedeno „Unknown“) a naskenovaný obrázek zobrazený vedle vybratelného textu. + +## Časté otázky a okrajové případy + +### Co když jazyk OCR není angličtina? + +Aspose.OCR podporuje více než 70 jazyků. Stačí nastavit vlastnost `Language` před voláním `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Jak zvládnout knihy s více stránkami? + +Zabalte logiku načítání/rozpoznání do smyčky `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Každá iterace přidá nově rozpoznaný text do stejného ePub, zachovávající pořadí stránek. + +### Můžu vyloučit originální obrázky? + +Jistě – nastavte `IncludeImages = false` v `EpubExportOptions`. Výsledný ePub bude čistý přetéknutý text, což dramaticky sníží velikost souboru. + +### Co s vlastními fonty nebo stylováním? + +Exportér ePub v Aspose.OCR vám umožní dodat CSS stylopis pomocí vlastnosti `Css` v `EpubExportOptions`. Tím můžete vynutit konkrétní rodinu fontů, řádkování nebo okraje. + +## Závěr + +Nyní víte, **jak vytvořit ePub** ze skenovaného obrázku pomocí Aspose OCR v C#. Tutoriál pokryl vše od **načtení obrázku pro OCR**, přes **extrakci textu z obrázku**, až po **přidání autora do epub**, a nakonec **převod obrázku na epub** jedním voláním exportu. S kompletním ukázkovým kódem můžete řešení rozšířit na dávkové zpracování celých knihoven, vložit vlastní obálku nebo dokonce integrovat workflow do webového API. + +Jste připraveni na další výzvu? Zkuste převést PDF na ePub, nebo experimentujte s prahy důvěryhodnosti OCR pro zlepšení přesnosti u špatných skenů. Možnosti jsou neomezené, když spojíte výkonné OCR s flexibilní generací ePub. + +Šťastné programování a užijte si čtení svého čerstvě vytvořeného ePub! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/czech/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..115a71daa --- /dev/null +++ b/ocr/czech/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-03-07 +description: Naučte se, jak používat OCR v C# k extrahování textu z obrazových souborů. + Tento průvodce ukazuje offline OCR, převod obrazu na text a načtení obrazu pro OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: cs +og_description: Jak použít OCR v C# k extrahování textu z obrázků offline. Krok za + krokem kód, tipy a úplné vysvětlení převodu obrázku na text. +og_title: Jak používat OCR v C# – Kompletní offline průvodce +tags: +- OCR +- C# +- Aspose +title: Jak použít OCR v C# – Extrahovat text z obrázků offline +url: /cs/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak používat OCR v C# – Extrahovat text z obrázků offline + +Už jste se někdy zamýšleli **jak používat OCR** v .NET projektu, aniž byste odesílali data do cloudu? Nejste v tom sami. Mnoho vývojářů potřebuje *extrahovat text z obrázku* souborů na zabezpečeném pracovním stanovišti a obávají se, že síťový provoz může odhalit citlivé informace. + +Dobrá zpráva? S Aspose.OCR můžete rozpoznávat text z PNG, JPEG nebo PDF zcela offline. V tomto tutoriálu vás provedeme načtením obrázku pro OCR, nastavením enginu do offline režimu a nakonec **převodem obrázku na text** pomocí několika řádků C#. + +Na konci tohoto průvodce budete schopni: + +* Nainstalovat NuGet balíček Aspose.OCR. +* Nastavit OCR engine pro offline zpracování. +* Načíst obrázek pro OCR a extrahovat jeho textový obsah. + +Žádné externí služby, žádné API klíče – jen čistý C# kód, který běží na jakémkoli Windows nebo Linux stroji. + +--- + +## Požadavky + +Než se pustíme dál, ujistěte se, že máte: + +* .NET 6.0 SDK nebo novější (kód funguje také s .NET Framework 4.7+). +* Visual Studio 2022, VS Code nebo jakýkoli editor podporující C#. +* Kopii knihovny **Aspose.OCR** – můžete ji získat z NuGet (`Aspose.OCR`). +* Složku s OCR zdroji (`Resources`), která je součástí knihovny (obsahuje soubory s jazykovými daty). +* Vzorový obrázek (např. `offline_test.png`) umístěný v známém adresáři. + +> **Tip:** Uchovávejte složku resources vedle spustitelného souboru; zjednodušuje to konfiguraci `ResourcesPath`. + +## Krok 1: Instalace NuGet balíčku Aspose.OCR + +Nejprve přidejte knihovnu do svého projektu. Otevřete terminál ve složce projektu a spusťte: + +```bash +dotnet add package Aspose.OCR +``` + +Nebo, pokud dáváte přednost UI ve Visual Studiu, klikněte pravým tlačítkem na **Dependencies → Manage NuGet Packages**, vyhledejte *Aspose.OCR* a klikněte na **Install**. + +> Instalace balíčku stáhne všechny potřebné binární soubory, takže nebudete potřebovat žádné další DLL. + +## Krok 2: Vytvoření a konfigurace OCR enginu (Jak používat OCR – Offline režim) + +Nyní vytvoříme instanci OCR enginu a řekneme mu, aby pracoval **offline**. Tím zajistíme, že během rozpoznávání nebude probíhat žádný síťový provoz. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Proč offline?** +Když je `EngineMode` nastaven na `Online`, engine kontaktuje cloud Aspose a stáhne jazykové balíčky za běhu. V regulovaných prostředích (finance, zdravotnictví) je takový provoz často zakázán. Vynucením offline režimu zaručíte, že vše zůstane na místním počítači. + +## Krok 3: Nastavení cesty enginu ke složce OCR zdrojů + +OCR engine potřebuje jazyková data (trénované modely) pro rozpoznávání znaků. Řekněte mu, kde se tyto soubory nacházejí: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Pokud si nejste jisti, kde je složka, najděte ji v adresáři NuGet balíčku (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Zkopírujte celou složku do svého projektu pro snadnější nasazení. + +## Krok 4: Načtení obrázku pro OCR (Load Image for OCR) + +Můžete enginu předat jakýkoli podporovaný bitmap. Zde načteme PNG uložený na disku: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tip:** Pokud potřebujete zpracovávat obrázky ze streamu (např. nahrané přes API), použijte místo toho `ImageStream.FromStream(yourStream)`. + +## Krok 5: Spuštění procesu rozpoznávání a převod obrázku na text + +S vše připravené spusťte OCR. Metoda `Recognize()` provede těžkou práci a extrahovaný text je dostupný přes vlastnost `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +## Krok 6: Výstup extrahovaného textu + +Nakonec zobrazte výsledek. V konzolové aplikaci můžete jednoduše zapisovat do konzole, ale ve webovém API byste řetězec vrátili jako JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Spuštěním programu by se měl vytisknout textový obsah souboru `offline_test.png`. Například pokud obrázek obsahuje frázi *„Hello, World!“*, uvidíte: + +``` +=== OCR Result === +Hello, World! +``` + +## Kompletní funkční příklad + +Níže je kompletní, připravený k spuštění program. Zkopírujte a vložte jej do nového konzolového projektu (`dotnet new console`) a upravte cesty tak, aby odpovídaly vašemu prostředí. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Očekávaný výstup:** Konzole vypíše přesný text obsažený v PNG souboru. Pokud je obrázek rozmazaný, výsledek může obsahovat nesprávně rozpoznané znaky – viz sekce s řešením problémů níže. + +## Časté problémy a tipy (Efektivní rozpoznávání textu z PNG) + +| Problém | Proč k tomu dochází | Jak opravit | +|-------|----------------|------------| +| **Prázdný výstup** | ResourcesPath ukazuje na špatnou složku nebo chybí jazykové soubory. | Ověřte, že složka obsahuje `eng.traineddata` (nebo jiné jazykové soubory) a dvojitě zkontrolujte řetězec cesty. | +| **Špatné znaky** | Rozlišení obrázku je příliš nízké nebo obrázek není binarizován. | Předzpracujte obrázek (zvyšte DPI, použijte `ImageProcessor` k zaostření). | +| **Zpomalení výkonu** | Velké obrázky jsou zpracovávány v plném rozlišení. | Změňte velikost obrázku na maximální šířku 2000 px před předáním OCR. | +| **Nesprávný formát** | Použití BMP s neobvyklým formátem pixelu. | Převeďte obrázek nejprve na PNG nebo JPEG (`System.Drawing.Image.Save`). | + +**Tip:** Pokud potřebujete rozpoznávat více jazyků, nastavte `ocrEngine.Settings.Language = Language.English | Language.French;` před voláním `Recognize()`. + +## Často kladené otázky + +**Q: Můžu tento kód použít na Linuxu?** +Ano. Aspose.OCR je multiplatformní; stačí zajistit, že jsou přítomny nativní knihovny (jsou součástí NuGet balíčku). + +**Q: Co když nemám složku Resources?** +Můžete si stáhnout zdarma jazykové balíčky z webu Aspose nebo je extrahovat z NuGet balíčku (`.../aspose.ocr//resources`). + +**Q: Existuje způsob, jak získat skóre důvěry?** +Ano. Po volání `Recognize()` prohlédněte `ocrEngine.RecognizedWords` – každé slovo obsahuje vlastnost `Confidence`. + +## Závěr + +Probrali jsme **jak používat OCR** v C# k *extrahování textu z obrázku* souborů zcela offline. Instalací Aspose.OCR, nastavením `EngineMode.Offline`, určením cesty ke zdrojům, načtením obrázku a voláním `Recognize()` můžete spolehlivě **převést obrázek na text** aniž byste se kdykoli připojili k internetu. + +Vezměte výše uvedený kód, nahraďte vlastní cesty k obrázkům a začněte vytvářet funkce jako prohledávatelné PDF, automatizaci zadávání dat nebo nástroje pro přístupnost. Dále můžete zkoumat **rozpoznávání textu z PNG** hromadně, nebo integrovat engine do ASP.NET Core API pro poskytování OCR výsledků front‑end aplikacím. + +Šťastné programování a nebojte se experimentovat – OCR je překvapivě shovívavé, jakmile je engine správně nastaven! + +--- + +![Diagram ukazující offline OCR workflow – jak používat OCR v zabezpečeném prostředí](https://example.com/ocr-workflow.png "jak používat OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/czech/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..2c71654d5 --- /dev/null +++ b/ocr/czech/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: Naučte se rozpoznávat hindské texty a načíst obrázek pro OCR pomocí Aspose.OCR + v C#. Krok za krokem nastavení, kód a tipy. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: cs +og_description: Objevte, jak rozpoznat hindské texty pomocí Aspose OCR v C#. Zahrnuje + načtení obrázku pro OCR, nastavení jazykového balíčku a tipy na osvědčené postupy. +og_title: Rozpoznat hindský text – kompletní tutoriál Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: Rozpoznat hindský text v C# – kompletní průvodce Aspose OCR +url: /cs/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznat hindský text – Kompletní tutoriál Aspose OCR + +Už jste někdy potřebovali **rozpoznat hindský text** ze skenované účtenky, ale nevedeli jste, kde začít? Nejste v tom sami. V mnoha aplikacích zaměřených na Indii může spolehlivé získání hindských znaků připomínat honbu za pohyblivým cílem. Naštěstí je Aspose.OCR jako bříško – stačí znát správné kroky k **load image for OCR** a nasměrovat engine na hindské jazykové zdroje. + +V tomto průvodci projdeme vše, co potřebujete k vytvoření funkčního OCR pipeline v C#. Na konci budete mít spustitelný program, který stáhne hindský jazykový balíček, načte obrázek, provede rozpoznání a vypíše výsledek do konzole. Žádné vágní odkazy typu „viz dokumentace“ – jen samostatné řešení, které můžete vložit do libovolného .NET projektu. + +## Co budete potřebovat + +- **.NET 6+** (nebo .NET Framework 4.7.2+). API je stejné napříč verzemi, ale novější runtime poskytuje lepší výkon. +- **Aspose.OCR for .NET** NuGet balíček. Nainstalujte jej pomocí `dotnet add package Aspose.OCR`. +- **Hindi language pack** – Aspose jej poskytuje jako ke stažení, není součástí výchozí instalace. +- Soubor s obrázkem obsahujícím hindský text (např. `hindi_receipt.jpg`). Jakýkoli běžný formát (JPG, PNG, BMP) funguje. +- Slušné IDE (Visual Studio, Rider nebo VS Code). + +To je vše – žádné externí OCR enginy, žádné cloudové klíče, jen lokální knihovna. + +## Krok 1: Stáhněte hindský jazykový balíček – Nastavte zdroje + +Než OCR engine dokáže rozumět znakům Devanagari, musíte získat hindské jazykové zdroje. Jedná se o jednorázovou operaci, obvykle prováděnou během instalace aplikace nebo v CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Proč je to důležité:** OCR engine spoléhá na jazykově specifické modely, které mapují vzory pixelů na Unicode znaky. Bez hindského balíčku získáte zkomolený latinský výstup nebo vůbec nic. + +> **Tip:** Uložte balíček do složky, která je na cílovém stroji zapisovatelná. Pokud nasazujete na Azure App Service, použijte složku `D:\home\site\wwwroot\Resources`. + +## Krok 2: Nakonfigurujte OCR engine – Odkaz na zdroje + +Jakmile jsou zdroje na místě, vytvořte instanci `OcrEngine` a nastavte, kde má hledat jazykové soubory. Zde také určíme **primary language** pro rozpoznávání. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Proč to děláme:** `ResourcesPath` je most mezi enginem a staženými soubory. Pokud tento krok vynecháte, engine se vrátí k vestavěným (pouze anglickým) modelům a **recognize Hindi text** nebude fungovat správně. + +## Krok 3: Load image for OCR – Předejte engine správný vstup + +S připraveným enginem je dalším krokem **load image for OCR**. Aspose poskytuje pohodlný pomocník `ImageStream.FromFile`, který podporuje většinu běžných formátů obrázků. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Časté úskalí:** +- **Velké obrázky** mohou zpomalit zpracování. Pokud pracujete s vysokým rozlišením, zvažte nejprve down‑sampling (`ImageProcessor.Resize`). +- **Špatná orientace** (otočené skeny) způsobí slabé výsledky. Použijte `ocrEngine.Image.Rotate(90)`, pokud je to potřeba. + +## Krok 4: Spusťte rozpoznání – Extrahujte text + +Nyní skutečně požádáme engine, aby přečetl pixely a převedl je na Unicode řetězce. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Co očekávat:** Pokud je obrázek čistý, měly by se hindské znaky vytisknout přesně tak, jak jsou na účtence. Například ukázková účtenka může vyprodukovat: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Pokud získáte nesmysly, zkontrolujte, že byl jazykový balíček správně stažen a že `ocrEngine.Settings.Language` je nastaven na `Language.Hindi`. + +## Krok 5: Sbalte vše dohromady – Kompletní spustitelný program + +Níže je celý zdrojový soubor, který můžete zkopírovat do konzolového projektu. Obsahuje všechny výše uvedené kroky a základní ošetření chyb. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Uložte jej jako `Program.cs`, spusťte `dotnet run` a měli byste vidět hindský text vytištěný v konzoli. + +## Často kladené otázky (FAQ) + +### Můžu rozpoznávat více jazyků najednou? +Ano. Nastavte `ocrEngine.Settings.Language` na pole, např. `new[] { Language.Hindi, Language.English }`. Engine se pokusí detekovat znaky z obou skript. + +### Co když je můj obrázek rozmazaný? +Zvažte předzpracování pomocí `ImageProcessor` – aplikujte ostření nebo zvýšení kontrastu před přiřazením k `ocrEngine.Image`. + +### Funguje to na Linuxu/macOS? +Rozhodně. Aspose.OCR je multiplatformní; jen se ujistěte, že jsou přítomny nativní závislosti (obvykle jsou součástí NuGet balíčku). + +### Jak zlepšit přesnost u nízkého rozlišení účtenek? +Zvyšte DPI (dots per inch) během skenování, nebo programově převeďte obrázek na alespoň 300 DPI před OCR. + +## Závěr + +Probrali jsme vše, co potřebujete k **recognize Hindi text** pomocí Aspose.OCR – od stažení hindského jazykového balíčku, konfigurace engine, správného **load image for OCR**, až po extrakci a výpis výsledku. Kompletní úryvek kódu výše je připravený k vložení do libovolné C# konzolové aplikace a volitelné tipy vám pomohou zvládnout běžné okrajové případy, jako jsou rozmazané skeny nebo vícejazykové dokumenty. + +Jste připraveni na další krok? Zkuste předat výstup OCR do překladového API, nebo uložit extrahovaná data do databáze pro analytiku. Můžete také experimentovat s dalšími indickými jazyky – Aspose podporuje tamilštinu, bengálštinu a další – stačí vyměnit `Language.Hindi` za požadovanou hodnotu enumu. + +Šťastné programování a ať jsou vaše OCR výsledky vždy ostré! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/czech/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/czech/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..61d239a27 --- /dev/null +++ b/ocr/czech/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-03-07 +description: Rozpoznávejte text z obrázku rychle pomocí Aspose OCR. Naučte se, jak + převést DJVU na text, extrahovat text z obrázku a načíst obrázek pro OCR v podrobném + C# tutoriálu krok za krokem. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: cs +og_description: Rozpoznávejte text z obrázku v C# pomocí Aspose OCR. Tento návod ukazuje, + jak převést DJVU na text, extrahovat text z obrázku a načíst obrázek pro OCR s praktickými + tipy. +og_title: Rozpoznat text z obrázku – kompletní tutoriál OCR v C# s Aspose +tags: +- C# +- Aspose OCR +- Document Processing +title: Rozpoznání textu z obrázku v C# – Kompletní průvodce Aspose OCR +url: /cs/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Rozpoznání textu z obrázku – Kompletní C# Aspose OCR tutoriál + +Už jste někdy potřebovali **rozpoznat text z obrázku**, ale nebyli jste si jisti, která knihovna vám poskytne spolehlivé výsledky? Nejste v tom sami. Ať už pracujete s naskenovanými fakturami, historickými soubory DJVU nebo jednoduchým snímkem PNG, extrahování přesných znaků může připomínat dešifrování starověkého písma. + +Vlastně to tak je—Aspose OCR dělá celý proces hračkou. V tomto průvodci si ukážeme, jak **převést djvu na text**, **extrahovat text z obrázku** a **načíst obrázek pro OCR** pomocí stručného C# programu. Na konci budete mít spustitelnou konzolovou aplikaci, která vytiskne rozpoznaný řetězec do konzole, a pochopíte „proč“ za každým řádkem. + +## Co se naučíte + +- Jak nastavit Aspose OCR engine v .NET projektu. +- Přesný kód potřebný k **načtení obrázku pro OCR** z DJVU souboru. +- Proč byste měli zavolat `Recognize()` před čtením `Text`. +- Běžné úskalí (vícestránkový DJVU, nepodporované formáty) a jak se jim vyhnout. +- Rychlé způsoby, jak **převést djvu na text** pro dávkové zpracování. + +Vše, co potřebujete, je aktuální .NET SDK (≥ 6.0) a licence Aspose OCR (bezplatná zkušební verze funguje pro testování). Žádné externí služby, žádné REST volání—pouze čistý C#. + +## Požadavky + +| Požadavek | Důvod | +|-------------|--------| +| .NET 6 SDK nebo novější | Moderní jazykové funkce a lepší výkon. | +| Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) | Poskytuje třídu `OcrEngine`, kterou použijeme. | +| Soubor DJVU (např. `sample.djvu`) | Ukazuje **převod djvu na text**. | +| Základní znalost C# konzolových aplikací | Umožňuje plynulý průběh kroků. | + +Pokud některý z nich chybí, pozastavte se a nainstalujte jej nyní; jinak se kód nepřeloží. + +## Krok 1 – Instalace Aspose.OCR a vytvoření projektu + +Nejprve vytvořte nový konzolový projekt a přidejte knihovnu OCR. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Tip:* Použijte přepínač `--framework net6.0`, pokud chcete explicitně zamknout cílový framework. + +## Krok 2 – Inicializace OCR enginu a načtení DJVU obrázku + +Engine potřebuje zdroj obrázku. Aspose.OCR umí číst mnoho formátů, včetně DJVU, takže jej jednoduše nasměrujeme na cestu k souboru. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Proč je to důležité:** +- `OcrEngine` je vstupní bod; vytvoření jednou a opakované používání snižuje zatížení paměti. +- `ImageStream.FromFile` abstrahuje formát souboru, takže můžete později nahradit DJVU soubor PNG nebo TIFF bez změny jakéhokoli jiného kódu—ideální pro „jak extrahovat text z obrázku“ v různých scénářích. + +## Krok 3 – Spuštění procesu rozpoznávání + +Volání `Recognize()` spustí těžkou práci. Pod kapotou Aspose používá klasifikátor založený na neuronové síti, který funguje jak na tištěném, tak na ručně psaném textu. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Poznámka k okrajovým případům:* Pokud váš DJVU obsahuje více stránek, `ImageStream.FromFile` stále načte jen první stránku. Pro zpracování všech stránek byste museli iterovat přes `ImageStream.FromFile(...).Pages`. Pro většinu rychlých úkolů stačí první stránka. + +## Krok 4 – Získání a zobrazení rozpoznaného textu + +Po rozpoznání engine naplní vlastnost `Text` řetězcem prostého textu. Nyní jej můžete zapsat do konzole, souboru nebo předat dalšímu systému. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typický výstup vypadá takto: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Pokud je výstup poškozený, zkontrolujte, že zdrojový obrázek není nízkého rozlišení; Aspose doporučuje 300 dpi nebo vyšší pro nejlepší přesnost. + +## Kompletní funkční příklad + +Spojením všeho dohromady zde máte jeden soubor (`Program.cs`), který můžete vložit do dříve vytvořeného projektu. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Spusťte jej pomocí: + +```bash +dotnet run +``` + +Měli byste vidět extrahovaný řetězec vytištěný v terminálu. Toto je nejjednodušší způsob, jak **rozpoznat text z obrázku** pomocí Aspose OCR. + +## Krok 5 – Pokročilé: Převod více DJVU stránek do textových souborů + +Pokud potřebujete **převést djvu na text** hromadně, rozšiřte předchozí kód smyčkou: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Proč to funguje:* `GetPage(i)` vrací objekt `Image` pro požadovanou stránku, což vám umožní znovu použít stejnou instanci `OcrEngine`. Text každé stránky se uloží do vlastního `.txt` souboru, což poskytuje čistý **převod djvu na text** pipeline. + +## Časté otázky a úskalí + +- **Mohu extrahovat text z JPEG místo DJVU?** + Rozhodně. Stačí změnit příponu souboru v `FromFile`. Stejný kód **jak extrahovat text z obrázku** funguje, protože Aspose abstrahuje formát. + +- **Co když výsledek OCR obsahuje nadbytečné zalomení řádků?** + Použijte `String.Replace("\r\n", " ")` nebo regulární výraz k normalizaci mezer. + +- **Potřebuji licenci pro produkční použití?** + Bezplatná zkušební verze funguje až pro 100 stránek. Pro neomezené používání zakupte licenci a zavolejte `License license = new License(); license.SetLicense("Aspose.OCR.lic");` před vytvořením enginu. + +- **Je engine thread‑safe?** + Ne. Vytvořte samostatný `OcrEngine` pro každý vlákno nebo přístup chráníte zámkem. + +## Tipy pro vyšší přesnost + +1. **Zvyšte DPI** – Pokud řídíte konverzi zdroje, výstupní obrázky nastavte na 300 dpi nebo vyšší. +2. **Předzpracování obrázku** – Jednoduchá binarizace (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) může zlepšit výsledky u špinavých skenů. +3. **Určete jazyk** – `ocrEngine.Language = Language.English;` zúží množinu znaků a urychlí rozpoznávání. + +## Závěr + +Nyní máte kompletní, připravený příklad, který **rozpozná text z obrázku** pomocí Aspose OCR, a viděli jste, jak **převést djvu na text**, **jak extrahovat text z obrázku** a správný způsob **načíst obrázek pro OCR**. Kód je samostatný, funguje na jakémkoli .NET 6+ runtime a lze jej rozšířit pro dávkové zpracování vícestránkových DJVU dokumentů. + +Dále můžete zkoumat: +- Přidání **detekce jazyka** pro vícejazyčné DJVU soubory. +- Integraci výstupu OCR s vyhledávacím indexem (např. Elasticsearch). +- Použití konverze PDF od Aspose k převodu extrahovaného textu na prohledávatelné PDF. + +Vyzkoušejte to, upravte DPI, experimentujte s různými formáty obrázků a nechte OCR engine udělat těžkou práci za vás. Šťastné programování! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/ocr-configuration/_index.md b/ocr/dutch/net/ocr-configuration/_index.md index 4eb8a034a..9c5a3dc7e 100644 --- a/ocr/dutch/net/ocr-configuration/_index.md +++ b/ocr/dutch/net/ocr-configuration/_index.md @@ -61,6 +61,8 @@ Ontgrendel de kracht van OCR‑beeldherkenning in .NET met Aspose.OCR. Extraheer Ontgrendel krachtige OCR‑mogelijkheden met Aspose.OCR voor .NET. Extraheer naadloze tekst uit afbeeldingen. ### [OCRO-bewerking met lijst in OCR-beeldherkenning](./ocr-operation-with-list/) Ontgrendel het potentieel van Aspose.OCR voor .NET. Voer eenvoudig OCR‑beeldherkenning uit met lijsten. Verhoog de productiviteit en data‑extractie in je applicaties. +### [Tekst lezen uit PNG – Cyrillische tekst extraheren met Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Leer hoe je met Aspose OCR tekst uit PNG‑bestanden met Cyrillische tekens kunt extraheren. ### Veelvoorkomende gebruiksscenario's - **Tekstafbeeldingen extraheren** uit gescande facturen voor praktische boekhouding. @@ -101,4 +103,4 @@ A: Ja, het `OcrResult`‑object levert vertrouwenswaarden die je programmatisch {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/dutch/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..ec060314f --- /dev/null +++ b/ocr/dutch/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,201 @@ +--- +category: general +date: 2026-03-07 +description: Leer hoe je tekst uit een PNG kunt lezen en Cyrillische tekst kunt extraheren + met Aspose OCR, een afbeelding naar tekst kunt converteren en het Cyrillische taalpakket + kunt downloaden. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: nl +og_description: Leer hoe je tekst uit png kunt lezen, Cyrillische tekst kunt extraheren + en een afbeelding naar tekst kunt converteren met Aspose OCR in C#. +og_title: tekst lezen uit png – Cyrillische tekst extraheren met Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: tekst lezen uit PNG – Cyrillische tekst extraheren met Aspose OCR +url: /nl/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tekst lezen uit png – Cyrillische tekst extraheren met Aspose OCR + +Moet je **tekst lezen uit png** bestanden en Cyrillische tekens extraheren? In deze gids laten we je zien hoe je tekst uit png kunt lezen met Aspose OCR, Cyrillische tekst kunt extraheren, en **afbeelding naar tekst** kunt omzetten in slechts een paar regels C#. + +Als je ooit naar een screenshot van een Russische factuur hebt gekeken en je afvroeg hoe je de woorden in een doorzoekbare string kunt krijgen, dan ben je op de juiste plek. We zullen ook behandelen hoe je automatisch **download the Cyrillic language pack** kunt uitvoeren, zodat je niet naar extra bestanden hoeft te zoeken. + +## Wat je zult bereiken + +* **Load an image for OCR** direct vanaf schijf of een stream. +* Stel de engine in op **Cyrillic language** zonder handmatige downloads. +* Voer herkenning uit en **extract Cyrillic text** uit een PNG‑bestand. +* Bekijk de herkende tekst die naar de console wordt afgedrukt – een schoon, platte‑tekst resultaat dat je kunt invoeren in databases, zoekindexen, of elke andere workflow. + +Geen externe services, geen cloud‑sleutels, alleen het Aspose OCR NuGet‑pakket en een paar regels C#. + +## Vereisten + +* .NET 6.0 of later (de code werkt op .NET Core, .NET Framework, en .NET 5+). +* Visual Studio 2022 of elke editor die je wilt. +* Het Aspose.OCR NuGet‑pakket (`dotnet add package Aspose.OCR`). +* Een PNG‑afbeelding die Cyrillische tekens bevat – bijvoorbeeld `cyrillic_sample.png` geplaatst in een map genaamd `YOUR_DIRECTORY`. + +> **Pro tip:** Als je Visual Studio gebruikt, klik met de rechtermuisknop op het project → **Manage NuGet Packages** → zoek “Aspose.OCR” en installeer de nieuwste stabiele versie. + +--- + +## Stap 1 – Installeer Aspose OCR en maak de engine + +Eerst hebben we de OCR‑engine‑instantie nodig. De `OcrEngine`‑klasse is het toegangspunt voor alle bewerkingen. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Waarom dit belangrijk is:** De engine omvat taalpakketten, afbeeldingsdata en herkenningsopties. Eenmalig instantieren en hergebruiken over meerdere afbeeldingen kan de prestaties verbeteren. + +--- + +## Stap 2 – **load image for ocr** en stel de taal in + +Nu vertellen we de engine welke afbeelding verwerkt moet worden en welke taal gezocht moet worden. Het instellen van `Language.Cyrillic` downloadt automatisch het benodigde taalpakket de eerste keer dat het wordt uitgevoerd. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Randgeval:** Als je PNG enorm is (meer dan 5 MB) wil je deze misschien eerst verkleinen om de herkenning te versnellen. De `Image`‑eigenschap accepteert ook een `Stream`, zodat je kunt laden vanuit geheugen, een web‑verzoek, of een Azure Blob zonder het bestandssysteem aan te raken. + +--- + +## Stap 3 – **convert image to text** met één aanroep + +Herkenning is zo simpel als het aanroepen van `Recognize()`. Na deze aanroep bevat de `Text`‑eigenschap de geëxtraheerde string. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Wat er onder de motorkap gebeurt:** Aspose draait een op neurale netwerken gebaseerde classifier getraind op miljoenen Cyrillische glyphs. De bibliotheek abstraheert al die complexiteit, zodat je gewoon schone Unicode krijgt. + +--- + +## Stap 4 – Output het resultaat (of stuur het elders naartoe) + +Voor demonstratiedoeleinden zullen we de tekst naar de console afdrukken, maar je kunt het gemakkelijk naar een bestand, een database, of een zoekindex sturen. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Verwachte output** (ervan uitgaande dat `cyrillic_sample.png` de zin “Привет мир” bevat): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Als de output er rommelig uitziet, controleer dan of de afbeelding duidelijk is en dat je `Language.Cyrillic` hebt ingesteld. De engine gebruikt standaard Engels, waardoor Cyrillische tekens als onbekende symbolen worden behandeld. + +--- + +## Stap 5 – Volledig, uitvoerbaar voorbeeld + +Alles bij elkaar, hier is een zelfstandige programma dat je kunt kopiëren‑plakken in een nieuw console‑project. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Sla het bestand op als `Program.cs`, voer `dotnet run` uit, en je zou de Cyrillische tekst moeten zien afgedrukt. + +--- + +## Veelgestelde vragen & probleemoplossing + +| Vraag | Antwoord | +|----------|--------| +| **Wat als het taalpakket niet downloadt?** | Zorg ervoor dat de machine internettoegang heeft. Het pakket wordt gecached in `%USERPROFILE%\.Aspose\OCR\Languages`. Het verwijderen van die map dwingt een nieuwe download af. | +| **Kan ik andere talen lezen naast Cyrillisch?** | Zeker – vervang `Language.Cyrillic` door `Language.English`, `Language.Arabic`, enz. Dezelfde auto‑downloadlogica geldt. | +| **Mijn PNG is ruisachtig – resultaten zijn slecht. Wat kan ik doen?** | Pre‑process de afbeelding: verhoog het contrast, converteer naar grijstinten, of pas een median filter toe. Aspose OCR biedt ook `Settings.ImagePreprocess` opties. | +| **Is er een manier om begrenzingskaders voor elk woord te krijgen?** | Ja, na `Recognize()` kun je `ocrEngine.Regions` inspecteren, die rechthoeken teruggeeft voor elk gedetecteerd woord. | +| **Heb ik een licentie nodig voor productiegebruik?** | De gratis evaluatie werkt tot 100 pagina's. Voor commerciële projecten koop een licentie – deze verwijdert het evaluatiewatermerk en ontgrendelt high‑speed batchverwerking. | + +--- + +## Volgende stappen – de oplossing uitbreiden + +* **Batch processing:** Loop over een map met PNG's, verzamel alle teksten in een CSV‑bestand. +* **Integratie met Azure Cognitive Search:** Indexeer de geëxtraheerde Cyrillische strings voor snelle opzoeking. +* **Combineer met PDF-conversie:** Gebruik Aspose.PDF om gescande PDF's eerst naar PNG's te converteren, en voer daarna dezelfde OCR‑stroom uit. + +Al deze scenario's hergebruiken het kernpatroon dat we net hebben behandeld: **load image for OCR → set language → recognize → use the text**. + +--- + +## Conclusie + +Je weet nu hoe je **tekst uit png** kunt **lezen**, **Cyrillische tekst** kunt **extraheren**, en **afbeelding naar tekst** kunt **omzetten** met Aspose OCR in C#. De belangrijkste stappen zijn het creëren van de engine, het laden van de afbeelding, het selecteren van de juiste taal (die automatisch **download the Cyrillic language pack**), en tenslotte het aanroepen van `Recognize()`. + +Probeer het met verschillende afbeeldingen, experimenteer met de `Settings`‑opties, en zie hoe je applicaties doorzoekbaar, meertalig en veel intelligenter worden. + +Veel plezier met coderen, en voel je vrij om een reactie achter te laten als je ergens tegenaan loopt! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/ocr-optimization/_index.md b/ocr/dutch/net/ocr-optimization/_index.md index b95973f36..da0862afb 100644 --- a/ocr/dutch/net/ocr-optimization/_index.md +++ b/ocr/dutch/net/ocr-optimization/_index.md @@ -64,6 +64,8 @@ Sla moeiteloos multipagina‑OCR‑resultaten op als documenten met Aspose.OCR v Met de Aspose.OCR voor .NET Tutorials Listing kun je extra bronnen raadplegen en op de hoogte blijven van de nieuwste ontwikkelingen op het gebied van OCR‑optimalisatie. Duik in de wereld van precisie en efficiëntie met Aspose.OCR voor .NET tutorials. ## OCR-optimalisatie tutorials +### [Hoe een afbeelding rechtzetten en OCR uitvoeren in C# – Complete gids](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Leer stap‑voor‑stap hoe je een scheve afbeelding corrigeert en vervolgens OCR toepast met Aspose.OCR in C#. ### [Perform OCR on Image from URL in OCR Image Recognition](./perform-ocr-on-image-from-url/) Ontdek naadloze OCR‑integratie met Aspose.OCR voor .NET. Herken tekst uit afbeeldingen met precisie. ### [Prepare Rectangles in OCR Image Recognition](./prepare-rectangles/) @@ -74,6 +76,10 @@ Verken Aspose.OCR voor .NET. Verhoog OCR‑nauwkeurigheid met preprocessing‑fi Verbeter OCR‑nauwkeurigheid met Aspose.OCR voor .NET. Corrigeer spellingen, pas woordenboeken aan en bereik moeiteloos foutloze teksterkenning. ### [Save Multipage Result as Document in OCR Image Recognition](./save-multipage-result-as-document/) Ontgrendel het potentieel van Aspose.OCR voor .NET. Sla moeiteloos multipagina‑OCR‑resultaten op als documenten met deze uitgebreide stap‑voor‑stap gids. +### [Aspose OCR‑voorbeeld – Spellcheck inschakelen en fouten corrigeren in C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Leer hoe je spellcheck inschakelt en OCR‑fouten corrigeert in C# met Aspose.OCR. +### [Hoe OCR op Chinese afbeeldingen uit te voeren – Complete C# gids](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Leer stap‑voor‑stap hoe je Chinese tekens herkent met Aspose.OCR in C# en optimale resultaten behaalt. ## Veelgestelde vragen diff --git a/ocr/dutch/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/dutch/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..71902d3da --- /dev/null +++ b/ocr/dutch/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR-voorbeeld dat laat zien hoe je spellingscontrole inschakelt, + een aangepast woordenboek toevoegt, OCR van een afbeelding laadt en OCR-fouten snel + corrigeert. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: nl +og_description: Aspose OCR-voorbeeld dat je stap voor stap begeleidt bij het inschakelen + van spellingscontrole, het toevoegen van een aangepast woordenboek, het laden van + een afbeelding voor OCR en het corrigeren van veelvoorkomende OCR-fouten. +og_title: Aspose OCR-voorbeeld – Schakel spellingscontrole in & corrigeer fouten +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR-voorbeeld – Schakel spellingscontrole in en corrigeer fouten in + C# +url: /nl/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR‑voorbeeld – Spellingscontrole inschakelen en fouten corrigeren in C# + +Heb je ooit een **Aspose OCR‑voorbeeld** nodig gehad dat niet alleen tekst uit een afbeelding leest, maar ook die vervelende spelfouten opruimt? Je bent niet de enige. In veel real‑world projecten zit de ruwe OCR‑output vol typefouten, vooral wanneer de bronafbeelding lage‑contrast letters of handgeschreven notities bevat. + +Het goede nieuws? Met Aspose.OCR kun je **spellingscontrole inschakelen**, je eigen woordenboek toevoegen en een nette string krijgen in slechts een paar regels code. Hieronder zie je precies **hoe je spellingscontrole inschakelt**, **hoe je een woordenboek toevoegt**, en **hoe je afbeelding‑OCR laadt** zodat je eindelijk **OCR‑fouten kunt corrigeren** zonder je haar uit te trekken. + +In deze tutorial behandelen we alles wat je nodig hebt – van NuGet‑installatie tot een compleet, uitvoerbaar programma dat gecorrigeerde tekst afdrukt. Aan het einde heb je een solide **Aspose OCR‑voorbeeld** dat je direct in elk .NET‑project kunt gebruiken. + +## Vereisten + +- .NET 6.0 SDK of later (de code werkt ook met .NET Core en .NET Framework) +- Visual Studio 2022 of een andere C#‑compatible IDE +- Een afbeeldingsbestand (`typed_text.png`) met duidelijke, getypte Engelse tekst +- Internettoegang om het Aspose.OCR NuGet‑pakket te downloaden + +Er zijn geen andere externe bibliotheken nodig. + +--- + +## Stap 1 – Installeer het Aspose.OCR NuGet‑pakket (Afbeelding‑OCR laden) + +Voordat we code kunnen schrijven, hebben we de bibliotheek nodig die de OCR‑engine aandrijft. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Als je Visual Studio gebruikt, klik met de rechtermuisknop op het project → *Manage NuGet Packages* → zoek naar **Aspose.OCR** en klik op *Install*. + +Het installeren van het pakket geeft je toegang tot `OcrEngine`, `ImageStream` en de ingebouwde spell‑checking‑hulpmiddelen die we later gaan gebruiken. Zodra het pakket aanwezig is, ben je klaar om **afbeelding‑OCR te laden**. + +## Stap 2 – Maak een instantie van de OCR‑engine + +Het aanmaken van de engine is de eerste concrete stap in elk **Aspose OCR‑voorbeeld**. Beschouw `OcrEngine` als het brein dat de bitmap analyseert en tekst oplevert. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +De `OcrEngine`‑constructor vereist geen parameters, waardoor hij netjes en eenvoudig is voor snelle prototypes. + +## Stap 3 – Hoe spellingscontrole inschakelen (en waarom het belangrijk is) + +Ruwe OCR‑output bevat vaak verkeerd herkende woorden zoals “teh” in plaats van “the”. Het inschakelen van de ingebouwde spell‑checker laat Aspose die fouten automatisch vervangen door de meest waarschijnlijke juiste spelling. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Waarom spellingscontrole inschakelen?** +> - **Nauwkeurigheid:** Een post‑processing spell‑check kan de algehele tekstnauwkeurigheid met 10‑15 % verhogen voor gedrukte documenten. +> - **Gebruikerservaring:** Schone tekst betekent minder downstream‑opschoning wanneer je het resultaat voedt aan zoekindexen of analytics‑pijplijnen. + +## Stap 4 – Hoe een woordenboek toevoegen (aangepaste woorden) + +Soms kent het standaardwoordenboek je merknamen, productcodes of domeinspecifieke jargon niet. Dan komt **hoe een woordenboek toe te voegen** van pas. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Je kunt een array, een lijst, of zelfs een bestand lezen als je een groot aangepast vocabulaire hebt. De spell‑checker zal die invoer nu als geldig beschouwen, waardoor valse correcties worden voorkomen. + +## Stap 5 – Laad de afbeelding voor OCR (Afbeelding‑OCR laden) + +Nu de engine geconfigureerd is, moeten we hem wijzen naar de afbeelding die we willen lezen. De helper `ImageStream.FromFile` abstraheert de details van het bestand lezen. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** Als je afbeelding zich in een submap van het project bevindt, stel dan de eigenschap *Copy to Output Directory* in op *Copy always* zodat het pad tijdens runtime wordt gevonden. + +## Stap 6 – Voer herkenning uit en corrigeer OCR‑fouten + +Met alles ingesteld, zorgt één aanroep van `Recognize()` voor het uitvoeren van de OCR‑pipeline, het toepassen van spell‑checking, en het opslaan van het opgeschoonde resultaat in `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Verwachte uitvoer + +Als `typed_text.png` de zin `The quick brown fox jumps over teh lazy dog` bevat, zal de console het volgende weergeven: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Merk op hoe “teh” automatisch werd gecorrigeerd naar “the”. Als je “OCRify” aan het aangepaste woordenboek had toegevoegd en de afbeelding dat woord bevatte, zou de engine het ongewijzigd laten. + +--- + +## Volledig werkend voorbeeld (Klaar om te kopiëren) + +Hieronder staat het complete programma dat je in een nieuw console‑project kunt plakken. Het bevat alle bovenstaande stappen, plus een paar opmerkingen voor de duidelijkheid. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Sla dit op als `Program.cs`, voer `dotnet run` uit, en je zou de gecorrigeerde zin in de console moeten zien. + +--- + +## Veelgestelde vragen & randgevallen + +| Vraag | Antwoord | +|----------|--------| +| **Wat als de afbeelding een meer‑pagina PDF is?** | Aspose.OCR kan PDF‑pagina’s als afbeeldingen verwerken. Gebruik `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` en loop door de pagina’s. | +| **Kan ik de taal wijzigen naar iets anders dan Engels?** | Zeker. Stel `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` in (of een andere ondersteunde taal). | +| **Mijn aangepaste woordenboek is enorm – heeft dat invloed op de prestaties?** | Het toevoegen van duizenden woorden brengt een kleine initiële kosten met zich mee, maar zoeken is O(1) dankzij een hash‑set onder de motorkap. Voor zeer grote vocabularia kun je overwegen ze één keer bij applicatie‑start te laden. | +| **Wat als de OCR‑engine een uitzondering gooit bij een corrupte afbeelding?** | Plaats `Recognize()` in een try‑catch‑blok en inspecteer `ocrEngine.LastError`. Je kunt ook vooraf de afbeeldingsafmetingen valideren met `ocrEngine.Image.Width` en `Height`. | +| **Heb ik een licentie nodig voor productiegebruik?** | De gratis evaluatie werkt voor testen, maar een commerciële licentie verwijdert het evaluatiewatermerk en ontgrendelt volledige prestaties. | + +--- + +## Conclusie + +Je hebt nu een **volledig Aspose OCR‑voorbeeld** dat laat zien **hoe spellingscontrole in te schakelen**, **hoe een woordenboek toe te voegen**, **afbeelding‑OCR te laden**, en **hoe OCR‑fouten te corrigeren** op een nette, productie‑klare manier. Door de spell‑checker te configureren en een aangepaste woordenlijst te gebruiken, verbeter je de kwaliteit van de geëxtraheerde tekst drastisch zonder zelf post‑processing‑logica te schrijven. + +Klaar voor de volgende stap? Probeer de taal te wijzigen naar Spaans, voer een meer‑pagina PDF in, of integreer de output in een doorzoekbare Azure Cognitive Search‑index. Hetzelfde patroon geldt – pas alleen de taal‑vlag aan en breid eventueel het aangepaste woordenboek uit. + +Als je deze gids nuttig vond, geef hem dan een ster op GitHub, deel hem met collega's, of laat een reactie achter hieronder. Veel programmeerplezier, en moge je OCR‑resultaten altijd foutloos zijn! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/dutch/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..347b06577 --- /dev/null +++ b/ocr/dutch/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Leer hoe je een afbeelding kunt rechtzetten, het contrast kunt verhogen + en tekst uit een scan kunt extraheren met Aspose OCR. Voer OCR uit op een afbeelding + met een volledig C#‑voorbeeld en laad de afbeelding eenvoudig voor OCR. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: nl +og_description: Leer hoe je een afbeelding kunt rechtzetten, het contrast kunt verhogen + en tekst uit een scan kunt extraheren met Aspose OCR in C#. Voer OCR uit op een + afbeelding met stapsgewijze code. +og_title: Hoe een afbeelding rechtzetten en OCR uitvoeren in C# – Complete gids +tags: +- C# +- OCR +- Image Processing +title: Hoe een afbeelding rechtzetten en OCR uitvoeren in C# – Complete gids +url: /nl/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe een afbeelding rechtzetten en OCR uitvoeren in C# – Complete gids + +Als je je ooit hebt afgevraagd **hoe een afbeelding rechtzetten** voordat je OCR uitvoert, ben je hier op de juiste plek. In deze tutorial lopen we door het verhogen van contrast, het laden van een afbeelding voor OCR, en uiteindelijk **tekst extraheren uit een scan** met Aspose OCR. + +Of je nu oude bonnetjes digitaliseert, gescande contracten opschoont, of gewoon een betrouwbare manier nodig hebt om tekst uit een scheve foto te lezen, de onderstaande stappen dekken alles wat je nodig hebt. Geen poespas—alleen een werkend voorbeeld dat je kunt copy‑pasten in Visual Studio. + +## Wat je zult bereiken + +Aan het einde van deze gids kun je: + +* Scheefstand corrigeren tot 30° (dat is het **hoe een afbeelding rechtzetten**‑deel). +* Het contrast van de afbeelding verhogen voor scherpere tekenranden (**hoe contrast verhogen**). +* Je afbeelding in de OCR‑engine laden (**load image for OCR**). +* Het herkenningsproces uitvoeren en **tekst extraheren uit een scan**. + +Dit alles werkt met het nieuwste Aspose.OCR .NET NuGet‑pakket (v23.11 op het moment van schrijven). + +--- + +![How to deskew image example](/images/deskew-example.png "how to deskew image") + +*De afbeelding hierboven toont een gescand document vóór en na het rechtzetten.* + +## Vereisten + +* .NET 6.0 of later (de code werkt ook op .NET Framework 4.7+). +* Visual Studio 2022 (of elke C#‑IDE die je wilt). +* Aspose.OCR NuGet‑pakket – installeer via `dotnet add package Aspose.OCR`. + +Dat is alles. Geen externe services, geen API‑sleutels. + +--- + +## Hoe een afbeelding rechtzetten met Aspose OCR + +Het eerste wat we doen is een **ImageProcessingPipeline** aanmaken en een `DeskewFilter` toevoegen. Het filter detecteert automatisch de dominante tekstlijnhoek en roteert de afbeelding terug naar horizontaal. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Waarom dit belangrijk is:** +Een scheve scan verwart de OCR‑engine omdat tekens niet langer uitgelijnd zijn met de basislijn. De `DeskewFilter` analyseert het histogram van de afbeelding, vindt de hoek, en roteert deze, waardoor de herkenningsnauwkeurigheid drastisch verbetert. + +> **Pro‑tip:** Als je weet dat je documenten nooit meer dan 15° kantelen, stel `MaxAngle = 15` in om de verwerking te versnellen. + +--- + +## Hoe contrast verhogen voor betere herkenning + +Na het rechtzetten is de volgende stap om de tekst te laten opvallen. De `ContrastBoostFilter` strekt het bereik van de pixelintensiteit uit, wat vooral nuttig is voor vervaagde afdrukken. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Waarom het helpt:** +Scans met laag contrast produceren grijzige tekens die de binarisator kan interpreteren als achtergrond. Het verhogen van contrast maakt donkere pixels donkerder en lichte pixels lichter, waardoor de daaropvolgende `BinarizationFilter` een schoner canvas krijgt. + +--- + +## OCR uitvoeren op afbeelding – Het bestand laden + +Nu de afbeelding is voorbewerkt, moeten we **load image for OCR**. Aspose biedt een handige `ImageStream.FromFile`‑helper. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Als je afbeelding zich in een stream bevindt (bijv. geüpload via een web‑API), kun je in plaats daarvan `ImageStream.FromStream(yourStream)` gebruiken. De engine accepteert BMP, JPEG, PNG, TIFF en vele anderen. + +--- + +## Het herkenningsproces uitvoeren en tekst uit scan extraheren + +Met alles aangesloten voert het aanroepen van `Recognize()` het zware werk uit. Na de aanroep is de herkende tekst beschikbaar via `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Verwachte output** (voorbeeld voor een eenvoudige factuur): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Als de output er rommelig uitziet, controleer dan de volgorde van de pipeline—eerst deskew, dan denoise, contrast boost, en tenslotte binarisatie. Het verwisselen hiervan kan de resultaten verslechteren. + +--- + +## Veelvoorkomende valkuilen en randgevallen + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Leeg resultaat** | Afbeelding is te donker of te licht voor de standaard binarisatiemethode. | Verhoog `ContrastBoostFilter.Strength` of schakel over naar `BinarizationMethod.Otsu`. | +| **Gedeeltelijke tekst ontbreekt** | Ruis blijft na het denoisen. | Gebruik `DenoiseLevel.Medium` voor minder ruwe afbeeldingen, of voeg een tweede `DenoiseFilter` toe. | +| **Verkeerde rotatierichting** | Het document heeft gemengde oriëntatie (bijv. een foto van een gedraaide pagina). | Stel handmatig `DeskewFilter.MaxAngle` lager in en roteer de afbeelding vooraf met `ImageProcessor.Rotate`. | +| **Prestatie‑vertraging** | Grote batch van hoge‑resolutie afbeeldingen. | Verklein afbeeldingen (`ImageProcessor.Resize`) vóór de pipeline, of verwerk ze parallel (`Parallel.ForEach`). | + +--- + +## Volledig werkend voorbeeld (klaar om te kopiëren en plakken) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Sla dit op als `Program.cs`, voer `dotnet run` uit, en zie de console het resultaat van **extract text from scan** afdrukken. + +--- + +## Volgende stappen & gerelateerde onderwerpen + +* **Batchverwerking** – Plaats de bovenstaande logica in een lus om tientallen bestanden te verwerken. +* **Aangepaste taalpakketten** – Als je niet‑Latijnse scripts moet lezen, laad een taalmodel via `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF‑output** – Combineer Aspose.PDF met OCR om doorzoekbare tekst direct in een PDF‑bestand te embedden. +* **Prestatie‑afstemming** – Experimenteer met de volgorde van `ImageProcessingPipeline`; soms levert denoising vóór deskew snellere resultaten op bij ruisvolle foto’s. + +Al deze bouwen voort op de kernconcepten die we hebben behandeld: **how to deskew image**, **how to boost contrast**, **load image for OCR**, **perform OCR on image**, en uiteindelijk **extract text from scan**. + +--- + +## Samenvatting + +We hebben zojuist een complete, productie‑klare manier getoond om **how to deskew image** uit te voeren en OCR in C# te gebruiken. Door een deskew‑filter, een denoise‑stap, een contrast‑boost en een binarisator te combineren, krijg je een schone invoer die Aspose OCR betrouwbaar **extract text from scan** laat uitvoeren. + +Probeer de code, pas de filterparameters aan voor je eigen documenten, en je zult zien hoe snel de herkenningsnauwkeurigheid verbetert. Vragen? Laat een reactie achter, en happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/dutch/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..47b278565 --- /dev/null +++ b/ocr/dutch/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-03-07 +description: Hoe OCR uit te voeren op Chinese afbeeldingen met Aspose OCR. Leer Chinese + tekst extraheren, een afbeelding naar ePub converteren en de OCR-nauwkeurigheid + verbeteren in één tutorial. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: nl +og_description: Hoe OCR uit te voeren op Chinese afbeeldingen met Aspose OCR. Verkrijg + stapsgewijze code om Chinese tekst te extraheren, OCR te verbeteren en te exporteren + naar ePub. +og_title: Hoe OCR op Chinese afbeeldingen uit te voeren – Complete C#‑gids +tags: +- OCR +- C# +- Aspose +title: Hoe OCR op Chinese afbeeldingen uit te voeren – Complete C#-gids +url: /nl/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe OCR uit te voeren op Chinese afbeeldingen – Complete C# gids + +Heb je je ooit afgevraagd **hoe OCR uit te voeren** op een afbeelding die Chinese tekens bevat? Je bent niet de enige. In veel apps—het scannen van bonnetjes, het digitaliseren van studieboeken, of het bouwen van een meertalige zoekmachine—het verkrijgen van schone tekst uit een afbeelding is een doorslaggevende functie. + +In deze tutorial lopen we een praktijkgerichte oplossing door die **Chinese tekst extraheert**, het resultaat in een platte‑tekstbestand plaatst, en zelfs **de afbeelding naar een ePub converteert** voor e‑readers. Onderweg bespreken we **hoe OCR te verbeteren** nauwkeurigheid, waarom je GPU‑modus moet inschakelen, en wat je moet doen om **vereenvoudigd Chinees correct te herkennen**. + +Aan het einde van de gids heb je een volledig uitvoerbaar C#‑programma, een reeks praktische tips, en een duidelijk idee van de volgende stappen die je kunt nemen (zoals het toevoegen van taalherkenning of batchverwerking). Geen externe documentatie nodig—alles wat je nodig hebt staat hier. + +## Wat je nodig hebt + +- .NET 6+ (of .NET Core 3.1 met Aspose OCR for .NET) +- Een geldige Aspose OCR for .NET‑licentie (de gratis proefversie werkt voor experimenten) +- Een afbeeldingsbestand dat Vereenvoudigd Chinese tekens bevat (bijv. `chinese_sample.jpg`) +- Visual Studio 2022 of een C#‑editor naar keuze + +Als je een van deze mist, haal dan nu het NuGet‑pakket: + +```bash +dotnet add package Aspose.OCR +``` + +Dat is alles—geen extra native libraries, geen COM‑interop, alleen een enkel .NET‑pakket. + +## Hoe OCR uit te voeren – Het instellen van de Aspose OCR‑engine + +Het eerste wat je moet doen is de OCR‑engine maken en configureren. Deze stap is cruciaal omdat de instellingen van de engine bepalen **hoe goed de OCR werkt** op Chinese tekens en hoe snel deze draait. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Waarom dit belangrijk is:** +- **Language = ChineseSimplified** vertelt Aspose om de tekenset voor Vereenvoudigd Chinees te laden, wat mis‑herkenningen drastisch vermindert. +- **EngineMode.Gpu** kan de verwerkingstijd halveren op een moderne GPU, maar valt elegant terug op CPU als er geen GPU aanwezig is. +- **DeskewFilter** verwijdert elke kanteling die vaak voorkomt wanneer gebruikers een foto met een telefoon maken. +- **Sauvola binarization** creëert een hoog‑contrast zwart‑wit afbeelding, een klassieke truc om OCR‑nauwkeurigheid te verhogen bij dichte scripts zoals Chinees. + +> **Pro tip:** Als je te maken hebt met foto’s bij weinig licht, voeg dan een `ContrastFilter` toe vóór binarisatie. Het is niet vereist voor ons voorbeeld, maar bespaart vaak een paar hoofdpijn. + +![Diagram van OCR-pijplijn](ocr-pipeline.png "Diagram van OCR-pijplijn") + +> *Alt‑tekst:* Diagram van OCR-pijplijn + +## Chinese tekst extraheren uit een afbeelding + +Nu de engine klaar is, laden we de afbeelding en laten we de engine zijn magie doen. Dit is de kern van **Chinese tekst extraheren**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Wat je zou moeten zien:** +Als `chinese_sample.jpg` de zin “中华人民共和国” bevat, zal het `out.txt`‑bestand precies die tekens bevatten—geen extra spaties, geen onleesbare Latijnse letters. + +### Veelvoorkomende valkuilen + +| Probleem | Waarom het gebeurt | Oplossing | +|----------|--------------------|-----------| +| Ontbrekende tekens | De afbeelding is te ruisachtig | Voeg een `MedianFilter` toe vóór binarisatie | +| Verkeerde taal gedetecteerd | `Language` ingesteld op `English` | Zorg ervoor dat `Language = Language.ChineseSimplified` | +| Trage verwerking | GPU niet ingeschakeld | Controleer of je machine een compatibele CUDA‑driver heeft | + +## Afbeelding naar ePub converteren + +Veel ontwikkelaars vragen, *“Kan ik de gescande pagina omzetten naar een leesbaar e‑boek?”* Absoluut—Aspose OCR wordt geleverd met een ePub‑exporteur. Dit voldoet aan de **afbeelding naar ePub converteren** eis. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Het gegenereerde `out.epub` zal de geëxtraheerde Chinese tekst bevatten, correct gecodeerd in UTF‑8, en kan worden geopend in Kindle, Apple Books, of elke ePub‑lezer. + +**Waarom ePub gebruiken?** +- Het is reflowable, zodat lezers de lettergrootte kunnen aanpassen zonder de lay-out te breken. +- Het formaat houdt de tekst doorzoekbaar, wat handig is voor latere indexering. + +## Hoe OCR te verbeteren – Praktische aanpassingen + +Zelfs met een solide pijplijn kun je af en toe mis‑herkenningen zien. Hier is een snelle checklist voor **hoe OCR te verbeteren** op Chinese documenten: + +1. **De afbeelding voorbewerken** – Gebruik `GaussianBlurFilter` om vlekjes glad te strijken, daarna `ContrastFilter` om randen te verscherpen. +2. **Een hogere DPI instellen** – Als je het scanproces beheert, mik dan op 300 dpi of hoger; afbeeldingen met lage resolutie verliezen streepdetails. +3. **Taalherkenning inschakelen** – Aspose kan automatisch de taal detecteren; combineer dit met een fallback naar Vereenvoudigd Chinees als detectie faalt. +4. **Binarisatie fijn afstellen** – Vervang `Sauvola` door `Otsu` als de achtergrond gelijkmatig licht is. +5. **Batchverwerking** – Verwerk meerdere pagina's parallel met `Parallel.ForEach` om multi‑core CPU’s te benutten. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Vereenvoudigd Chinees herkennen – Randgevallen + +De uitdrukking **vereenvoudigd Chinees herkennen** brengt vaak nieuwkomers in de problemen omdat dezelfde OCR‑engine ook Traditioneel Chinees, Japans of Koreaans kan verwerken. Om zaken deterministisch te houden: + +- **Stel de taal expliciet in** (zoals we deden in Stap 1). +- **Vermijd pagina's met gemengde talen**; als een pagina Vereenvoudigd Chinees met Engels combineert, overweeg dan twee passes uit te voeren: één met `Language.ChineseSimplified`, een andere met `Language.English`. +- **Valideer de output** – Na herkenning, voer een eenvoudige regex uit om te verzekeren dat alle tekens binnen het Unicode‑bereik `\u4E00‑\u9FFF` vallen. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Als de controle mislukt, kun je de pagina loggen voor handmatige beoordeling. + +## Volledig werkend voorbeeld + +Alles samenvoegend, hier is een enkel bestand dat je kunt kopiëren‑plakken in een nieuw console‑project (`Program.cs`). Het bevat alle stappen, optionele aanpassingen, en een laatste statusregel. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Verwachte console‑output (voorbeeld):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Voer het programma uit, open `out.txt` of `out.epub`, en je zult schone, doorzoekbare Chinese tekens zien die klaar zijn voor verdere verwerking. + +## Conclusie + +We hebben zojuist **hoe OCR uit te voeren** op Chinese afbeeldingen van begin tot eind behandeld, en laten zien hoe je **Chinese tekst kunt extraheren**, **het resultaat naar een ePub kunt converteren**, en een reeks van + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/text-recognition/_index.md b/ocr/dutch/net/text-recognition/_index.md index e39716b53..73bb48f7d 100644 --- a/ocr/dutch/net/text-recognition/_index.md +++ b/ocr/dutch/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Verbeter uw .NET-toepassingen met Aspose.OCR voor efficiënte beeldtekstherkenni Ontgrendel het potentieel van OCR in .NET met Aspose.OCR. Extraheer moeiteloos tekst uit PDF's. Download nu voor een naadloze integratie-ervaring. ### [Herken tabel in OCR-beeldherkenning](./recognize-table/) Ontgrendel het potentieel van Aspose.OCR voor .NET met onze uitgebreide gids over het herkennen van tabellen bij OCR-beeldherkenning. +### [Herken Hindi-tekst in C# – Complete Aspose OCR-gids](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Leer hoe u Hindi-tekst kunt herkennen in C# met Aspose OCR. Volg de volledige gids voor nauwkeurige resultaten. +### [Hoe maak je een ePub van afbeeldingen in C# – Stapsgewijze gids](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Leer hoe u in C# een ePub-bestand kunt maken van afbeeldingen met een duidelijke stapsgewijze handleiding. +### [Herken tekst uit afbeelding in C# – Complete Aspose OCR-gids](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Leer hoe u tekst uit een afbeelding kunt herkennen met Aspose OCR in C#. Volg de volledige gids voor nauwkeurige resultaten. +### [Tekst extraheren uit PNG in C# – Volledige OCR-gids](./extract-text-from-png-in-c-full-ocr-guide/) +Leer hoe u tekst uit PNG-afbeeldingen kunt extraheren met Aspose OCR in C#. Volg de volledige gids voor nauwkeurige resultaten. +### [Hoe OCR te gebruiken in C# – Tekst extraheren uit afbeeldingen offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Leer hoe u offline OCR in C# kunt toepassen om tekst nauwkeurig uit afbeeldingen te extraheren. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/dutch/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..f311b6140 --- /dev/null +++ b/ocr/dutch/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: Tekst extraheren uit PNG‑bestanden met C#. Leer hoe je een afbeelding + naar tekst converteert in C# en lees snel tekst van gescande afbeeldingen. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: nl +og_description: Haal tekst uit PNG‑bestanden met C#. Deze gids laat zien hoe je een + afbeelding naar tekst converteert met C# en tekst leest uit gescande afbeeldingen + met Aspose OCR. +og_title: Tekst extraheren uit PNG in C# – Volledige OCR-gids +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Tekst extraheren uit PNG in C# – Volledige OCR-gids +url: /nl/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Tekst extraheren uit PNG in C# – Volledige OCR-gids + +Heb je ooit **tekst uit PNG**‑bestanden moeten halen, maar wist je niet waar te beginnen? Je bent niet de enige—de meeste ontwikkelaars komen tegen die muur wanneer ze voor het eerst gescande afbeeldingen of screenshots tegenkomen die doorzoekbare tekst moeten worden. Het goede nieuws? Met een paar regels C# en Aspose OCR kun je elke PNG in een handomdraai omzetten naar bewerkbare strings. + +In deze tutorial lopen we het volledige proces door: van het vinden van PNG‑bestanden op schijf, het starten van OCR‑taken parallel, tot het tonen van een nette preview van elk resultaat. Aan het einde weet je hoe je **image to text C#** kunt uitvoeren, kun je **tekst lezen uit gescande afbeeldingen** efficiënt, en zie je de beste manier om **OCR op afbeeldingen uit te voeren** zonder je UI‑thread te belasten. + +## Wat je nodig hebt + +- .NET 6.0 of later (de code werkt ook op .NET Core en .NET Framework) +- Aspose.OCR NuGet‑pakket (`Install-Package Aspose.OCR`) +- Een map vol *.png*-bestanden die je wilt verwerken +- Elke IDE die je wilt (Visual Studio, VS Code, Rider…) + +Er is geen extra configuratie nodig; de bibliotheek wordt geleverd met alles wat nodig is om PNG’s, JPEG’s, TIFF’s, wat je maar wilt, te decoderen. + +## Stap 1: Alle PNG‑bestanden vinden – “Extract Text from PNG” begint + +Eerst moeten we elke PNG vinden waarop we OCR willen uitvoeren. `Directory.GetFiles` gebruiken is snel en betrouwbaar. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Waarom dit belangrijk is:* Het één keer scannen van de map houdt de rest van de pijplijn simpel, en de vroege controle voorkomt een stille “geen output”‑situatie die later moeilijk te debuggen is. + +## Stap 2: Parallel OCR‑taken starten – Efficient **run OCR on images** + +OCR sequentieel uitvoeren is prima voor een handvol bestanden, maar real‑world projecten hebben vaak te maken met tientallen of honderden. Door een `Task` per afbeelding te starten houden we de CPU bezig terwijl de bibliotheek het zware werk doet. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Pro tip:* `Task.Run` laadt het werk naar de thread‑pool, waardoor je UI (als je die hebt) responsief blijft. Op een server schaalt hetzelfde patroon netjes over de cores. + +## Stap 3: Alle taken afwachten – Resultaten verzamelen + +Nu wachten we tot elke OCR‑bewerking klaar is. `Task.WhenAll` retourneert een array die overeenkomt met de oorspronkelijke bestandsvolgorde, waardoor het eenvoudig is om resultaten aan bestandsnamen te koppelen. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Opmerking voor randgevallen:* Als één afbeelding een uitzondering gooit (beschadigd bestand, niet‑ondersteund formaat) zal de hele `WhenAll` de uitzondering doorgeven. Je kunt de interne `Task.Run` omhullen met een try/catch en een lege string of een diagnostisch bericht teruggeven als je fouttolerantie nodig hebt. + +## Stap 4: Een preview tonen – Verifieer de **convert image to text C#** output + +Een snelle preview helpt je bevestigen dat de OCR heeft gewerkt voordat je de data ergens anders opslaat. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Typische console‑output ziet er als volgt uit: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Als de preview onzin toont, controleer dan de beeldkwaliteit of overweeg pre‑processing (bijv. binarisatie) – maar voor de meeste schone PNG’s doet Aspose OCR het in één keer goed. + +## Optioneel: Resultaten opslaan naar een CSV – Een real‑world use case + +De meeste projecten hebben de geëxtraheerde tekst in een gestructureerd formaat nodig. Hieronder staat een kleine helper die de bestandsnaam en volledige OCR‑tekst naar een CSV‑bestand schrijft. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Nu kun je de CSV importeren in Excel, Power BI, of elk downstream‑systeem dat **read text from scanned images** verwacht. + +## Veelgestelde vragen + +**Wat als mijn PNG’s enorm zijn (meer dan 5 MB)?** +Aspose OCR verkleint grote afbeeldingen automatisch om het geheugenverbruik beheersbaar te houden, maar je kunt handmatig de grootte aanpassen met `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` om de breedte te beperken tot 2000 px terwijl de beeldverhouding behouden blijft. + +**Kan ik dit op Linux draaien?** +Ja. Aspose OCR is cross‑platform; zorg er alleen voor dat de native afhankelijkheden (`libgdiplus` op sommige distributies) geïnstalleerd zijn. + +**Staat de OCR‑taal standaard op Engels?** +Klopt. Als je een andere taal nodig hebt, stel dan `engine.Language = OcrLanguage.French;` (of een andere ondersteunde enum) in vóór het aanroepen van `Recognize()`. + +**Hoe ga ik om met met wachtwoord beveiligde PDF’s die PNG’s bevatten?** +Converteer eerst de PDF‑pagina’s naar afbeeldingen (met Aspose PDF of een andere bibliotheek), en voer die PNG’s vervolgens door dezelfde pijplijn. Het principe van **how to run OCR on images** blijft ongewijzigd. + +## Volledig werkend voorbeeld (Async Main) + +Hieronder staat een zelf‑containend programma dat je kunt copy‑pasten in een console‑project. Het bevat alle bovenstaande onderdelen, plus een kleine helper om de invoermap te valideren. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Verwachte output** (voorbeeld voor twee PNG’s): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Afronding + +We hebben zojuist alles behandeld wat je nodig hebt om **tekst uit PNG**‑bestanden te extraheren met C#. Van het vinden van de bestanden, het starten van parallelle OCR‑taken, het previewen van de strings, tot het opslaan in een CSV—deze gids biedt een productie‑klaar patroon voor **convert image to text C#** scenario’s. + +Als je klaar bent voor de volgende stap, probeer dan dezelfde pijplijn te gebruiken voor JPEG‑ of TIFF‑bestanden, experimenteer met verschillende OCR‑talen, of koppel de resultaten aan een zoekindex zodat je **tekst kunt lezen uit gescande afbeeldingen** in één oogopslag. + +Heb je vragen over randgevallen, prestatie‑optimalisatie, of licenties? Laat een reactie achter of ping de Aspose‑community—happy coding! + +![Voorbeeld van tekst extraheren uit PNG](extract-text-png.png "Tekst extraheren uit PNG met Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/dutch/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..66cbe0214 --- /dev/null +++ b/ocr/dutch/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Hoe maak je een ePub van gescande afbeeldingen met Aspose OCR – leer + hoe je een afbeelding naar ePub converteert, tekst uit een afbeelding extraheert, + een auteur aan de ePub toevoegt en een afbeelding laadt voor OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: nl +og_description: Hoe maak je een ePub van gescande afbeeldingen in C#. Deze tutorial + laat zien hoe je een afbeelding naar ePub converteert, tekst uit een afbeelding + haalt, een auteur aan de ePub toevoegt en een afbeelding laadt voor OCR. +og_title: Hoe maak je een ePub van afbeeldingen in C# – Complete gids +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Hoe maak je een ePub van afbeeldingen in C# – Stapsgewijze handleiding +url: /nl/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe ePub te maken van afbeeldingen in C# – Complete gids + +Heb je je ooit afgevraagd **how to create ePub** van een verzameling gescande pagina's? Misschien heb je een handvol PNG's van een klassieke roman en wil je ze omzetten naar een nette ePub die je op elk apparaat kunt lezen. Het goede nieuws is dat je met Aspose OCR **load image for OCR**, de tekst kunt extraheren, en vervolgens **convert image to ePub** in slechts een paar regels C#. + +In deze tutorial lopen we de volledige pijplijn door: het laden van de afbeelding, het extraheren van de tekst, wat metadata toevoegen (ja, we zullen **add author to epub**), en uiteindelijk een standaard‑conforme ePub‑file schrijven. Aan het einde heb je een klaar‑te‑publiceren ePub en een goed begrip van elke stap, zodat je de code kunt aanpassen voor boeken met meerdere pagina's, aangepaste lettertypen, of zelfs DRM‑vrije distributie. + +## Wat je nodig hebt + +- **.NET 6** of later (de API werkt ook met .NET Standard 2.0+). +- **Aspose.OCR for .NET** – je kunt een gratis proefversie downloaden van de Aspose-website. +- Een gescande afbeelding zoals `book_page.png` ergens op de schijf geplaatst. +- Een favoriete IDE (Visual Studio, Rider, of VS Code – ik gebruik Visual Studio in de screenshots). + +Er zijn geen extra NuGet‑pakketten nodig; Aspose.OCR bevat alles wat je nodig hebt voor ePub‑export. + +--- + +![How to create ePub from scanned image](/images/how-to-create-epub.png "How to create ePub from a scanned image using Aspose OCR") + +## Stap 1 – Het project opzetten en Aspose.OCR installeren + +Allereerst. Maak een nieuwe console‑applicatie: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Voeg het Aspose.OCR‑pakket toe: + +```bash +dotnet add package Aspose.OCR +``` + +Dat is alles – de bibliotheek wordt geleverd met zowel OCR‑ als ePub‑exportmogelijkheden, dus je hebt geen extra afhankelijkheden nodig. + +## Stap 2 – Afbeelding laden voor OCR + +Voordat we **extract text from image** kunnen, moeten we de OCR‑engine iets geven om te lezen. De `ImageStream.FromFile`‑helper maakt dit eenvoudig: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro tip:** Als je afbeelding zich in een ingebedde resource bevindt, gebruik dan `ImageStream.FromResource` in plaats van `FromFile`. + +## Stap 3 – Tekst extraheren uit afbeelding + +Nu leest de engine daadwerkelijk de pixels en zet ze om in Unicode‑strings. De `Recognize`‑methode doet het zware werk. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Waarom `Recognize` apart aanroepen? Het stelt je in staat de ruwe OCR‑output te inspecteren, taalinstellingen aan te passen, of zelfs een spell‑check uit te voeren voordat je doorgaat naar het maken van de ePub. + +## Stap 4 – ePub‑exportopties voorbereiden (Add Author to ePub) + +Een gepolijste ePub maken gaat niet alleen over het dumpen van tekst; je wilt ook juiste metadata. De `EpubExportOptions`‑klasse biedt een nette manier om **add author to ePub** toe te voegen, een titel in te stellen, en te bepalen of je de originele afbeeldingen wilt insluiten. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Als je meerdere pagina's hebt, kun je blijven `ocrEngine.Image = …` en `ocrEngine.Recognize()` aanroepen binnen een lus; elke aanroep voegt de inhoud van de nieuwe pagina toe aan hetzelfde ePub‑document. + +## Stap 5 – Afbeelding naar ePub converteren en exporteren + +Met de tekst geëxtraheerd en de metadata ingesteld, is de laatste stap een één‑regelige code die het ePub‑bestand naar schijf schrijft: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Het resulterende `book.epub` kan worden geopend in Calibre, Apple Books, of elke EPUB‑compatibele lezer. Omdat we `IncludeImages = true` hebben ingesteld, zal de originele PNG verschijnen als een afbeelding‑pagina, waardoor het uiterlijk van de gescande bron behouden blijft. + +## Volledig werkend voorbeeld + +Alles bij elkaar genomen, hier is het volledige, kant‑klaar programma: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Verwachte output + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Open `book.epub` in je favoriete lezer en je ziet een titelpagina, de auteursregel (zelfs als die “Unknown” zegt), en de gescande afbeelding weergegeven naast selecteerbare tekst. + +## Veelgestelde vragen & randgevallen + +### Wat als de OCR‑taal geen Engels is? + +Aspose.OCR ondersteunt meer dan 70 talen. Stel gewoon de `Language`‑eigenschap in voordat je `Recognize` aanroept: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Hoe ga ik om met boeken met meerdere pagina's? + +Plaats de laad‑/herkenningslogica in een `foreach`‑lus: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Elke iteratie voegt de nieuw herkende tekst toe aan dezelfde ePub, waardoor de paginavolgorde behouden blijft. + +### Kan ik de originele afbeeldingen uitsluiten? + +Zeker – stel `IncludeImages = false` in `EpubExportOptions`. De resulterende ePub zal pure doorstromende tekst zijn, wat de bestandsgrootte drastisch verkleint. + +### Wat betreft aangepaste lettertypen of styling? + +De ePub‑exporteur van Aspose.OCR laat je een CSS‑stylesheet leveren via de `Css`‑eigenschap op `EpubExportOptions`. Op die manier kun je een specifiek lettertype, regelhoogte, of marge afdwingen. + +## Conclusie + +Je weet nu **how to create ePub** van een gescande afbeelding met Aspose OCR in C#. De tutorial behandelde alles van **load image for OCR**, via **extract text from image**, tot **add author to epub**, en uiteindelijk **convert image to epub** met één export‑aanroep. Met het volledige code‑voorbeeld kun je de oplossing uitbreiden om hele bibliotheken batch‑te verwerken, aangepaste omslagkunst toe te voegen, of zelfs de workflow in een web‑API te integreren. + +Klaar voor de volgende uitdaging? Probeer een PDF naar ePub te converteren, of experimenteer met OCR‑vertrouwensdrempels om de nauwkeurigheid bij ruisende scans te verbeteren. De mogelijkheden zijn eindeloos wanneer je krachtige OCR combineert met flexibele ePub‑generatie. + +Veel plezier met coderen, en geniet van het lezen van je nieuw aangemaakte ePub! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/dutch/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..f27423565 --- /dev/null +++ b/ocr/dutch/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Leer hoe je OCR in C# kunt gebruiken om tekst uit afbeeldingsbestanden + te extraheren. Deze gids toont offline OCR, het converteren van een afbeelding naar + tekst en het laden van een afbeelding voor OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: nl +og_description: Hoe OCR in C# te gebruiken om offline tekst uit afbeeldingen te extraheren. + Stapsgewijze code, tips en volledige uitleg voor het omzetten van een afbeelding + naar tekst. +og_title: Hoe OCR in C# te gebruiken – Complete offline gids +tags: +- OCR +- C# +- Aspose +title: Hoe OCR in C# te gebruiken – Tekst uit afbeeldingen offline extraheren +url: /nl/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hoe OCR te gebruiken in C# – Tekst uit afbeeldingen offline extraheren + +Heb je je ooit afgevraagd **hoe je OCR** kunt gebruiken in een .NET‑project zonder gegevens naar de cloud te sturen? Je bent niet de enige. Veel ontwikkelaars moeten *tekst uit afbeelding*‑bestanden halen op een beveiligde werkstation, en ze vrezen dat netwerkverkeer gevoelige informatie kan blootstellen. + +Het goede nieuws? Met Aspose.OCR kun je tekst herkennen uit PNG‑, JPEG‑ of PDF‑bestanden volledig offline. In deze tutorial lopen we door het laden van een afbeelding voor OCR, het configureren van de engine voor offline‑modus, en uiteindelijk **afbeelding naar tekst converteren** met slechts een paar regels C#. + +By the end of this guide you’ll be able to: + +* Installeer het Aspose.OCR NuGet‑pakket. +* Stel de OCR‑engine in voor offline verwerking. +* Laad een afbeelding voor OCR en haal de tekstuele inhoud eruit. + +Geen externe services, geen API‑sleutels—gewoon pure C#‑code die draait op elke Windows‑ of Linux‑machine. + +--- + +## Vereisten + +Before we dive in, make sure you have: + +* .NET 6.0 SDK of later (de code werkt ook met .NET Framework 4.7+). +* Visual Studio 2022, VS Code, of een willekeurige editor die C# ondersteunt. +* Een kopie van de **Aspose.OCR**‑bibliotheek – je kunt deze ophalen via NuGet (`Aspose.OCR`). +* Een OCR‑resources map (`Resources`) die bij de bibliotheek wordt geleverd (bevat taal‑databestanden). +* Een voorbeeldafbeelding (bijv. `offline_test.png`) geplaatst in een bekende map. + +> **Pro tip:** Houd de resources‑map naast je uitvoerbare bestand; dit vereenvoudigt de `ResourcesPath`‑configuratie. + +## Stap 1: Installeer het Aspose.OCR NuGet‑pakket + +Eerst voeg je de bibliotheek toe aan je project. Open een terminal in de projectmap en voer uit: + +```bash +dotnet add package Aspose.OCR +``` + +Of, als je de Visual Studio‑UI verkiest, klik met de rechtermuisknop op **Dependencies → Manage NuGet Packages**, zoek naar *Aspose.OCR*, en klik op **Install**. + +> Het installeren van het pakket haalt alle benodigde binaries op, zodat je geen extra DLL‑s nodig hebt. + +## Stap 2: Maak en configureer de OCR‑engine (Hoe OCR te gebruiken – Offline‑modus) + +Nu gaan we de OCR‑engine instantiëren en aangeven dat deze **offline** moet werken. Dit zorgt ervoor dat er geen netwerkverkeer plaatsvindt tijdens de herkenning. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Waarom offline?** +Wanneer `EngineMode` is ingesteld op `Online`, neemt de engine contact op met de cloud van Aspose om taal‑pakketten on‑the‑fly te downloaden. In gereguleerde omgevingen (financiën, gezondheidszorg) is dat verkeer vaak verboden. Door offline‑modus af te dwingen, garandeer je dat alles op de lokale machine blijft. + +## Stap 3: Verwijs de engine naar de OCR‑resources map + +De OCR‑engine heeft taaldata (getrainde modellen) nodig om tekens te herkennen. Geef aan waar die bestanden zich bevinden: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Als je niet zeker weet waar de map zich bevindt, zoek dan onder de NuGet‑pakketmap (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Kopieer de volledige map naar je project voor eenvoudigere implementatie. + +## Stap 4: Laad de afbeelding voor OCR (Afbeelding laden voor OCR) + +Je kunt de engine elke ondersteunde bitmap geven. Hier laden we een PNG van de schijf: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tip:** Als je afbeeldingen uit een stream moet verwerken (bijv. geüpload via een API), gebruik dan `ImageStream.FromStream(yourStream)`. + +## Stap 5: Voer het herkenningsproces uit en converteer afbeelding naar tekst + +Met alles klaar, start je de OCR. De `Recognize()`‑methode doet het zware werk, en de geëxtraheerde tekst is beschikbaar via de `Text`‑eigenschap. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +## Stap 6: Geef de geëxtraheerde tekst weer + +Tot slot, toon het resultaat. In een console‑app kun je eenvoudig naar de console schrijven, maar in een web‑API zou je de string als JSON retourneren. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Het uitvoeren van het programma moet de tekstinhoud van `offline_test.png` afdrukken. Bijvoorbeeld, als de afbeelding de zin *“Hello, World!”* bevat, zie je: + +``` +=== OCR Result === +Hello, World! +``` + +## Volledig werkend voorbeeld + +Hieronder staat het volledige, kant‑klaar programma. Kopieer‑en‑plak het in een nieuw console‑project (`dotnet new console`) en pas de paden aan zodat ze bij jouw omgeving passen. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Verwachte output:** De console drukt de exacte tekst af die in het PNG‑bestand staat. Als de afbeelding onscherp is, kan het resultaat foutherkende tekens bevatten—zie de probleemoplossingssectie hieronder. + +## Veelvoorkomende valkuilen & tips (Tekst uit PNG efficiënt herkennen) + +| Probleem | Waarom het gebeurt | Hoe op te lossen | +|----------|--------------------|------------------| +| **Lege output** | ResourcesPath wijst naar de verkeerde map of er ontbreken taalbestanden. | Controleer of de map `eng.traineddata` bevat (of andere taalbestanden) en controleer de pad‑string nogmaals. | +| **Onzin‑tekens** | Beeldresolutie is te laag of de afbeelding is niet gebinariseerd. | Pre‑process de afbeelding (verhoog DPI, pas `ImageProcessor` toe om te verscherpen). | +| **Prestatie‑vertraging** | Grote afbeeldingen worden verwerkt op volledige resolutie. | Verklein de afbeelding tot maximaal 2000 px breedte voordat je deze aan OCR geeft. | +| **Niet‑ondersteund formaat** | Een BMP gebruiken met een ongewoon pixel‑formaat. | Converteer de afbeelding eerst naar PNG of JPEG (`System.Drawing.Image.Save`). | + +**Pro tip:** Als je meerdere talen moet herkennen, stel `ocrEngine.Settings.Language = Language.English | Language.French;` in vóór het aanroepen van `Recognize()`. + +## Veelgestelde vragen + +**Q: Kan ik deze code op Linux gebruiken?** +Zeker. Aspose.OCR is cross‑platform; zorg er alleen voor dat de native libraries aanwezig zijn (ze worden meegeleverd met het NuGet‑pakket). + +**Q: Wat als ik geen Resources‑map heb?** +Je kunt de gratis taal‑pakketten downloaden van de website van Aspose of ze uit het NuGet‑pakket halen (`.../aspose.ocr//resources`). + +**Q: Is er een manier om vertrouwensscores te krijgen?** +Ja. Na `Recognize()` kun je `ocrEngine.RecognizedWords` inspecteren – elk woord bevat een `Confidence`‑eigenschap. + +## Conclusie + +We hebben behandeld **hoe je OCR** in C# kunt gebruiken om *tekst uit afbeelding*‑bestanden volledig offline te extraheren. Door Aspose.OCR te installeren, `EngineMode.Offline` te configureren, naar de resources te wijzen, een afbeelding te laden en `Recognize()` aan te roepen, kun je betrouwbaar **afbeelding naar tekst converteren** zonder ooit het internet aan te raken. + +Neem de bovenstaande code, vervang de paden naar je eigen afbeeldingen, en begin met het bouwen van functies zoals doorzoekbare PDF‑s, automatisering van gegevensinvoer, of toegankelijkheidstools. Vervolgens kun je **tekst uit PNG** in bulk verkennen, of de engine integreren in een ASP.NET Core‑API om OCR‑resultaten aan front‑end applicaties te leveren. + +Veel plezier met coderen, en voel je vrij om te experimenteren—OCR is verrassend vergevingsgezind zodra de engine correct is ingesteld! + +--- + +![Diagram die offline OCR‑workflow toont – hoe OCR te gebruiken in een beveiligde omgeving](https://example.com/ocr-workflow.png "hoe OCR te gebruiken diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/dutch/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..5fbf136e0 --- /dev/null +++ b/ocr/dutch/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-03-07 +description: Leer hoe je Hindi‑tekst herkent en een afbeelding laadt voor OCR met + Aspose.OCR in C#. Stapsgewijze installatie, code en tips. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: nl +og_description: Ontdek hoe u Hindi‑tekst kunt herkennen met Aspose OCR in C#. Inclusief + het laden van een afbeelding voor OCR, het instellen van een taalpakket en tips + voor best‑practice. +og_title: Herken Hindi‑tekst – Volledige Aspose OCR‑handleiding +tags: +- C# +- OCR +- Aspose +- Hindi +title: Herken Hindi-tekst in C# – Complete Aspose OCR-gids +url: /nl/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# herken Hindi-tekst – volledige Aspose OCR-tutorial + +Heb je ooit **Hindi-tekst moeten herkennen** van een gescande bon, maar wist je niet waar je moest beginnen? Je bent niet de enige. In veel op India gerichte apps kan het betrouwbaar extraheren van Hindi‑tekens aanvoelen als het achtervolgen van een bewegend doelwit. Gelukkig maakt Aspose.OCR het een eitje—zodra je de juiste stappen kent om **load image for OCR** en de engine naar de Hindi‑taalbronnen te wijzen. + +In deze gids lopen we alles door wat je nodig hebt om een werkende OCR‑pipeline in C# te krijgen. Aan het einde heb je een uitvoerbaar programma dat het Hindi‑taalpakket downloadt, een afbeelding laadt, de herkenning uitvoert en de resulterende tekst naar de console print. Geen vage “zie de docs”‑links—maar een zelfstandige oplossing die je in elk .NET‑project kunt plaatsen. + +## Wat je nodig hebt + +- **.NET 6+** (of .NET Framework 4.7.2+). De API is hetzelfde over versies heen, maar de nieuwere runtime biedt betere prestaties. +- **Aspose.OCR for .NET** NuGet‑pakket. Installeer het met `dotnet add package Aspose.OCR`. +- Een **Hindi language pack** – Aspose levert het als een downloadbare bron, niet standaard meegeleverd. +- Een afbeeldingsbestand dat Hindi‑tekst bevat (bijv. `hindi_receipt.jpg`). Elk gangbaar formaat (JPG, PNG, BMP) werkt. +- Een degelijke IDE (Visual Studio, Rider, of VS Code). + +Dat is alles—geen externe OCR‑engines, geen cloud‑sleutels, alleen een lokale bibliotheek. + +## Stap 1: Download het Hindi‑taalpakket – resources instellen + +Voordat de OCR‑engine Devanagari‑tekens kan begrijpen, moet je de Hindi‑taalbronnen ophalen. Dit is een eenmalige handeling, meestal uitgevoerd tijdens de installatie van de applicatie of CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Waarom dit belangrijk is:** De OCR‑engine vertrouwt op taalspecifieke modellen om pixelpatronen naar Unicode‑tekens te vertalen. Zonder het Hindi‑pakket krijg je onsamenhangende Latijnse output of helemaal niets. + +> **Pro tip:** Cache het pakket in een map die schrijf‑toegankelijk is op de doelmachine. Als je naar Azure App Service implementeert, gebruik dan de map `D:\home\site\wwwroot\Resources`. + +## Stap 2: Configureer de OCR‑engine – wijs naar de resources + +Nu de resources aanwezig zijn, maak je een `OcrEngine`‑instance aan en vertel je deze waar de taalbestanden te vinden zijn. Dit is ook het moment waarop we de **primary language** voor herkenning instellen. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Waarom we dit doen:** `ResourcesPath` is de brug tussen de engine en de gedownloade bestanden. Als je deze stap overslaat, valt de engine terug op zijn ingebouwde (alleen‑Engelse) modellen, en kun je **Hindi-tekst niet correct herkennen**. + +## Stap 3: Laad afbeelding voor OCR – voer de juiste invoer in de engine + +Met de engine klaar, is de volgende stap om **load image for OCR**. Aspose biedt een handige `ImageStream.FromFile`‑helper die de meeste gangbare afbeeldingsformaten ondersteunt. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Veelvoorkomende valkuilen:** +- **Grote afbeeldingen** kunnen de verwerking vertragen. Als je hoge‑resolutie‑scans verwerkt, overweeg dan eerst te down‑samplen (`ImageProcessor.Resize`). +- **Onjuiste oriëntatie** (gedraaide scans) leidt tot slechte resultaten. Gebruik `ocrEngine.Image.Rotate(90)` indien nodig. + +## Stap 4: Voer de herkenning uit – extraheer de tekst + +Nu vragen we de engine daadwerkelijk om de pixels te lezen en om te zetten in Unicode‑strings. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Wat je kunt verwachten:** Als de afbeelding duidelijk is, zou je de Hindi‑tekens precies zoals ze op de bon staan moeten zien afgedrukt. Bijvoorbeeld, een voorbeeldbon kan het volgende weergeven: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Als je onzin krijgt, controleer dan of het taalpakket correct is gedownload en of `ocrEngine.Settings.Language` is ingesteld op `Language.Hindi`. + +## Stap 5: Alles samenvoegen – compleet, uitvoerbaar programma + +Hieronder staat het volledige bronbestand dat je kunt copy‑pasten in een console‑project. Het bevat alle bovenstaande stappen, plus minimale foutafhandeling. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Sla dit op als `Program.cs`, voer `dotnet run` uit, en je zou de Hindi‑tekst in de console moeten zien verschijnen. + +## Veelgestelde vragen (FAQ) + +### Kan ik meerdere talen in één run herkennen? +Ja. Stel `ocrEngine.Settings.Language` in op een array, bijv. `new[] { Language.Hindi, Language.English }`. De engine zal proberen tekens uit beide scripts te detecteren. + +### Wat als mijn afbeelding onscherp is? +Overweeg pre‑processing met `ImageProcessor`—pas verscherping of contrastverbetering toe voordat je het toewijst aan `ocrEngine.Image`. + +### Werkt dit op Linux/macOS? +Absoluut. Aspose.OCR is cross‑platform; zorg er alleen voor dat de native afhankelijkheden aanwezig zijn (meestal meegeleverd met het NuGet‑pakket). + +### Hoe verbeter ik de nauwkeurigheid voor low‑resolution bonnen? +Verhoog de DPI (dots per inch) tijdens het scannen, of resample de afbeelding programmatisch naar minimaal 300 DPI vóór OCR. + +## Conclusie + +We hebben alles behandeld wat je nodig hebt om **Hindi-tekst te herkennen** met Aspose.OCR—van het downloaden van het Hindi‑taalpakket, het configureren van de engine, correct **load image for OCR**, tot het extraheren en afdrukken van het resultaat. De volledige code‑snippet hierboven is klaar om in elke C#‑console‑app te plaatsen, en de optionele tips helpen je bij het omgaan met veelvoorkomende randgevallen zoals onscherpe scans of meertalige documenten. + +Klaar voor de volgende stap? Probeer de OCR‑output naar een vertaal‑API te sturen, of sla de geëxtraheerde gegevens op in een database voor analytics. Je kunt ook experimenteren met andere Indiase talen—Aspose ondersteunt Tamil, Bengaals en meer—door `Language.Hindi` te vervangen door de gewenste enum‑waarde. + +Veel plezier met coderen, en moge je OCR‑resultaten altijd scherp zijn! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/dutch/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/dutch/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..2c6a7613a --- /dev/null +++ b/ocr/dutch/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Herken snel tekst in een afbeelding met Aspose OCR. Leer hoe je djvu + naar tekst converteert, tekst uit een afbeelding extraheert en een afbeelding laadt + voor OCR in een stapsgewijze C#‑tutorial. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: nl +og_description: herken tekst van afbeelding in C# met Aspose OCR. Deze gids laat zien + hoe je djvu naar tekst converteert, tekst uit een afbeelding haalt en een afbeelding + laadt voor OCR met praktische tips. +og_title: herken tekst uit afbeelding – Volledige C# Aspose OCR Tutorial +tags: +- C# +- Aspose OCR +- Document Processing +title: herken tekst van afbeelding in C# – Complete Aspose OCR-gids +url: /nl/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# tekst herkennen uit afbeelding – Volledige C# Aspose OCR Tutorial + +Heb je ooit **tekst moeten herkennen uit een afbeelding** maar wist je niet welke bibliotheek betrouwbare resultaten zou leveren? Je bent niet de enige. Of je nu werkt met gescande facturen, historische DJVU‑bestanden, of een eenvoudige PNG‑screenshot, het extraheren van de exacte tekens kan aanvoelen als het ontcijferen van een oud schrift. + +Het punt is—Aspose OCR maakt het hele proces een eitje. In deze gids lopen we stap voor stap door hoe je **convert djvu to text**, **extract text from image**, en **load image for OCR** kunt gebruiken met een beknopt C#‑programma. Aan het einde heb je een uitvoerbare console‑app die de herkende string naar de console print, en begrijp je het “waarom” achter elke regel. + +## Wat je zult leren + +- Hoe je de Aspose OCR‑engine instelt in een .NET‑project. +- De exacte code die nodig is om **load image for OCR** te doen vanuit een DJVU‑bestand. +- Waarom je `Recognize()` moet aanroepen voordat je `Text` leest. +- Veelvoorkomende valkuilen (multi‑page DJVU, niet‑ondersteunde formaten) en hoe je ze kunt vermijden. +- Snelle manieren om **convert djvu to text** uit te voeren voor batchverwerking. + +Alles wat je nodig hebt is een recente .NET SDK (≥ 6.0) en een Aspose OCR‑licentie (de gratis proefversie werkt voor testen). Geen externe services, geen REST‑calls—gewoon pure C#. + +## Vereisten + +| Vereiste | Reden | +|-------------|--------| +| .NET 6 SDK of later | Moderne taalfeatures en betere prestaties. | +| Aspose.OCR NuGet‑pakket (`Install-Package Aspose.OCR`) | Biedt de `OcrEngine`‑klasse die we gaan gebruiken. | +| Een DJVU‑bestand (bijv. `sample.djvu`) | Demonstreert **convert djvu to text**. | +| Basiskennis van C# console‑apps | Zorgt voor een natuurlijke stroom van de stappen. | + +Als een van deze ontbreekt, pauzeer dan en installeer ze nu; anders compileert de code niet. + +## Stap 1 – Installeer Aspose.OCR en maak het project + +Eerst maak je een nieuw console‑project aan en haal je de OCR‑bibliotheek binnen. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro tip:* Gebruik de `--framework net6.0`‑vlag als je het doel‑framework expliciet wilt vastzetten. + +## Stap 2 – Initialiseert de OCR‑engine en laad de DJVU‑afbeelding + +De engine heeft een afbeeldingsbron nodig. Aspose.OCR kan veel formaten lezen, inclusief DJVU, dus we wijzen hem simpelweg naar het bestandspad. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Waarom dit belangrijk is:** +- `OcrEngine` is het startpunt; het één keer aanmaken en hergebruiken vermindert geheugen‑schommelingen. +- `ImageStream.FromFile` abstraheert het bestandsformaat, zodat je later het DJVU‑bestand kunt vervangen door een PNG of TIFF zonder andere code te wijzigen—perfect voor “how to extract text from image” in verschillende scenario’s. + +## Stap 3 – Voer het herkenningsproces uit + +Het aanroepen van `Recognize()` start het zware werk. Onder de motorkap draait Aspose een op neurale netwerken gebaseerde classifier die werkt op zowel gedrukte als handgeschreven tekst. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Opmerking voor randgevallen:* Als je DJVU meerdere pagina’s bevat, laadt `ImageStream.FromFile` nog steeds alleen de eerste pagina. Om alle pagina’s te verwerken moet je over `ImageStream.FromFile(...).Pages` itereren. Voor de meeste snelle‑kijk‑taken is de eerste pagina voldoende. + +## Stap 4 – Haal de herkende tekst op en toon deze + +Na herkenning vult de engine de `Text`‑eigenschap met een platte‑tekst‑string. Je kunt deze nu naar de console, een bestand schrijven, of doorgeven aan een ander systeem. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typische output ziet er als volgt uit: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Als de output onduidelijk is, controleer dan of de bronafbeelding niet van lage resolutie is; Aspose raadt 300 dpi of hoger aan voor de beste nauwkeurigheid. + +## Volledig werkend voorbeeld + +Alles bij elkaar, hier is een enkel bestand (`Program.cs`) dat je in het eerder aangemaakte project kunt plakken. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Voer het uit met: + +```bash +dotnet run +``` + +Je zou de geëxtraheerde string in de terminal moeten zien verschijnen. Dit is de eenvoudigste manier om **recognize text from image** te gebruiken met Aspose OCR. + +## Stap 5 – Geavanceerd: Meerdere DJVU‑pagina’s omzetten naar tekstbestanden + +Als je **convert djvu to text** in bulk moet uitvoeren, breid dan de vorige code uit met een lus: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Waarom dit werkt:* `GetPage(i)` retourneert een `Image`‑object voor de gevraagde pagina, waardoor je dezelfde `OcrEngine`‑instantie kunt hergebruiken. De tekst van elke pagina wordt opgeslagen in een eigen `.txt`‑bestand, waardoor je een nette **convert djvu to text**‑pipeline krijgt. + +## Veelgestelde vragen & valkuilen + +- **Kan ik tekst extraheren uit een JPEG in plaats van DJVU?** + Absoluut. Verander gewoon de bestandsextensie in `FromFile`. Dezelfde code **how to extract text from image** is van toepassing omdat Aspose het formaat abstraheert. + +- **Wat als het OCR‑resultaat extra regeleinden bevat?** + Gebruik `String.Replace("\r\n", " ")` of een reguliere expressie om witruimte te normaliseren. + +- **Heb ik een licentie nodig voor productiegebruik?** + De gratis proefversie werkt tot 100 pagina’s. Voor onbeperkt gebruik koop je een licentie en roep je `License license = new License(); license.SetLicense("Aspose.OCR.lic");` aan vóór het aanmaken van de engine. + +- **Is de engine thread‑veilig?** + Nee. Maak een aparte `OcrEngine` per thread of bescherm de toegang met een lock. + +## Tips voor betere nauwkeurigheid + +1. **Verhoog DPI** – Als je de bronconversie beheert, exporteer afbeeldingen met 300 dpi of hoger. +2. **Pre‑process de afbeelding** – Eenvoudige binarisatie (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) kan resultaten verbeteren bij ruisende scans. +3. **Specificeer taal** – `ocrEngine.Language = Language.English;` beperkt de tekenset en versnelt de herkenning. + +## Conclusie + +Je hebt nu een compleet, kant‑klaar voorbeeld dat **recognize text from image** gebruikt met Aspose OCR, en je hebt gezien hoe je **convert djvu to text**, **how to extract text from image**, en de juiste manier om **load image for OCR** kunt uitvoeren. De code is zelfstandig, werkt op elke .NET 6+ runtime, en kan worden uitgebreid om multi‑page DJVU‑documenten in batch te verwerken. + +Vervolgens kun je overwegen: + +- **Taalherkenning** toe te voegen voor meertalige DJVU‑bestanden. +- De OCR‑output te integreren met een zoekindex (bijv. Elasticsearch). +- Aspose’s PDF‑conversie te gebruiken om de geëxtraheerde tekst om te zetten in doorzoekbare PDF’s. + +Probeer het, pas de DPI aan, experimenteer met verschillende afbeeldingsformaten, en laat de OCR‑engine het zware werk voor je doen. Veel programmeerplezier! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/ocr-configuration/_index.md b/ocr/english/net/ocr-configuration/_index.md index 32e2ef7e1..2605dd630 100644 --- a/ocr/english/net/ocr-configuration/_index.md +++ b/ocr/english/net/ocr-configuration/_index.md @@ -60,6 +60,8 @@ Unlock the power of OCR image recognition in .NET with Aspose.OCR. Extract text Unlock powerful OCR capabilities with Aspose.OCR for .NET. Extract text from images seamlessly. ### [OCROperation with List in OCR Image Recognition](./ocr-operation-with-list/) Unlock the potential of Aspose.OCR for .NET. Effortlessly perform OCR image recognition with lists. Boost productivity and data extraction in your applications. +### [read text from png – extract Cyrillic text with Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Learn how to read Cyrillic text from PNG images using Aspose.OCR in .NET, covering image loading, language setting, and extracting accurate results. ### Common Use Cases - **Extract text images** from scanned invoices for automated accounting. @@ -100,4 +102,4 @@ A: Yes, the `OcrResult` object provides confidence values you can inspect progra {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/english/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..d9a5261bb --- /dev/null +++ b/ocr/english/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-03-07 +description: Learn how to read text from png and extract Cyrillic text using Aspose + OCR, convert image to text, and download the Cyrillic language pack. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: en +og_description: Learn how to read text from png, extract Cyrillic text, and convert + image to text using Aspose OCR in C#. +og_title: read text from png – extract Cyrillic text with Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: read text from png – extract Cyrillic text with Aspose OCR +url: /net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# read text from png – extract Cyrillic text with Aspose OCR + +Need to **read text from png** files and pull out Cyrillic characters? In this guide we’ll show you how to read text from png using Aspose OCR, extract Cyrillic text, and **convert image to text** in just a few lines of C#. + +If you’ve ever stared at a screenshot of a Russian invoice and wondered how to get the words into a searchable string, you’re in the right place. We’ll also cover how to **download the Cyrillic language pack** automatically, so you don’t have to hunt for extra files. + +## What you’ll achieve + +By the end of this tutorial you will be able to: + +* **Load an image for OCR** directly from disk or a stream. +* Set the engine to **Cyrillic language** without manual downloads. +* Run recognition and **extract Cyrillic text** from a PNG file. +* See the recognized text printed to the console – a clean, plain‑text result you can feed into databases, search indexes, or any other workflow. + +No external services, no cloud keys, just the Aspose OCR NuGet package and a few lines of C#. + +## Prerequisites + +* .NET 6.0 or later (the code works on .NET Core, .NET Framework, and .NET 5+). +* Visual Studio 2022 or any editor you like. +* The Aspose.OCR NuGet package (`dotnet add package Aspose.OCR`). +* A PNG image that contains Cyrillic characters – for example `cyrillic_sample.png` placed in a folder called `YOUR_DIRECTORY`. + +> **Pro tip:** If you’re using Visual Studio, right‑click the project → **Manage NuGet Packages** → search “Aspose.OCR” and install the latest stable version. + +--- + +## Step 1 – Install Aspose OCR and create the engine + +First we need the OCR engine instance. The `OcrEngine` class is the entry point for all operations. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Why this matters:** The engine encapsulates language packs, image data, and recognition options. Instantiating it once and re‑using it across multiple images can improve performance. + +--- + +## Step 2 – **load image for ocr** and set the language + +Now we tell the engine which image to process and which language to look for. Setting `Language.Cyrillic` automatically downloads the required language pack the first time it runs. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Edge case:** If your PNG is huge (over 5 MB) you might want to resize it first to speed up recognition. The `Image` property also accepts a `Stream`, so you can load from memory, a web request, or an Azure Blob without touching the file system. + +--- + +## Step 3 – **convert image to text** with a single call + +Recognition is as simple as invoking `Recognize()`. After this call the `Text` property holds the extracted string. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **What happens under the hood?** Aspose runs a neural‑network‑based classifier trained on millions of Cyrillic glyphs. The library abstracts all that complexity, so you just get clean Unicode. + +--- + +## Step 4 – Output the result (or pipe it elsewhere) + +For demo purposes we’ll print the text to the console, but you could easily write it to a file, a database, or pass it to a search index. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Expected output** (assuming `cyrillic_sample.png` contains the phrase “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +If the output looks garbled, double‑check that the image is clear and that you set `Language.Cyrillic`. The engine defaults to English, which would treat Cyrillic characters as unknown symbols. + +--- + +## Step 5 – Full, runnable example + +Putting it all together, here’s a self‑contained program you can copy‑paste into a new console project. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Save the file as `Program.cs`, run `dotnet run`, and you should see the Cyrillic text printed out. + +--- + +## Common questions & troubleshooting + +| Question | Answer | +|----------|--------| +| **What if the language pack doesn’t download?** | Ensure the machine has internet access. The pack is cached in `%USERPROFILE%\.Aspose\OCR\Languages`. Deleting that folder forces a fresh download. | +| **Can I read other languages besides Cyrillic?** | Absolutely – replace `Language.Cyrillic` with `Language.English`, `Language.Arabic`, etc. The same auto‑download logic applies. | +| **My PNG is noisy – results are poor. What can I do?** | Pre‑process the image: increase contrast, convert to grayscale, or apply a median filter. Aspose OCR also offers `Settings.ImagePreprocess` options. | +| **Is there a way to get bounding boxes for each word?** | Yes, after `Recognize()` you can inspect `ocrEngine.Regions` which returns rectangles for each detected word. | +| **Do I need a license for production use?** | The free evaluation works for up to 100 pages. For commercial projects purchase a license – it removes the evaluation watermark and unlocks high‑speed batch processing. | + +--- + +## Next steps – extending the solution + +* **Batch processing:** Loop over a folder of PNGs, collect all texts into a CSV file. +* **Integration with Azure Cognitive Search:** Index the extracted Cyrillic strings for fast lookup. +* **Combine with PDF conversion:** Use Aspose.PDF to convert scanned PDFs to PNGs first, then run the same OCR flow. + +All of those scenarios reuse the core pattern we just covered: **load image for OCR → set language → recognize → use the text**. + +--- + +## Conclusion + +You now know how to **read text from png**, **extract Cyrillic text**, and **convert image to text** with Aspose OCR in C#. The key steps are creating the engine, loading the image, selecting the proper language (which automatically **downloads the Cyrillic language pack**), and finally calling `Recognize()`. + +Give it a try with different images, experiment with the `Settings` options, and watch your applications become searchable, multilingual, and far more intelligent. + +Happy coding, and feel free to drop a comment if you hit any snags! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/ocr-optimization/_index.md b/ocr/english/net/ocr-optimization/_index.md index ff28e4eeb..b814fafbe 100644 --- a/ocr/english/net/ocr-optimization/_index.md +++ b/ocr/english/net/ocr-optimization/_index.md @@ -62,6 +62,8 @@ Effortlessly save multipage OCR results as documents with Aspose.OCR for .NET. O Using Aspose.OCR For .NET Tutorials Listing, you can access additional resources and stay updated on the latest advancements in OCR optimization. Dive into the world of precision and efficiency with Aspose.OCR for .NET tutorials. ## OCR Optimization Tutorials +### [How to Deskew Image and Run OCR in C# – Complete Guide](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Learn to deskew images and perform OCR in C# using Aspose.OCR, improving accuracy for tilted documents. ### [Perform OCR on Image from URL in OCR Image Recognition](./perform-ocr-on-image-from-url/) Explore seamless OCR integration with Aspose.OCR for .NET. Recognize text from images with precision. ### [Prepare Rectangles in OCR Image Recognition](./prepare-rectangles/) @@ -69,9 +71,13 @@ Unlock the potential of Aspose.OCR for .NET with our comprehensive guide. Learn ### [Preprocessing Filters for Image in OCR Image Recognition](./preprocessing-filters-for-image/) Explore Aspose.OCR for .NET. Boost OCR accuracy with preprocessing filters. Download now for seamless integration. ### [Result Correction with Spell Checking in OCR Image Recognition](./result-correction-with-spell-checking/) -Enhance OCR accuracy with Aspose.OCR for .NET. Correct spellings, customize dictionaries, and achieve error-free text recognition effortlessly. +Enhance OCR accuracy with Aspose.OCR for .NET. Correct spellings, customize dictionaries, and achieve error‑free text recognition effortlessly. ### [Save Multipage Result as Document in OCR Image Recognition](./save-multipage-result-as-document/) -Unlock the potential of Aspose.OCR for .NET. Effortlessly save multipage OCR results as documents with this comprehensive step-by-step guide. +Unlock the potential of Aspose.OCR for .NET. Effortlessly save multipage OCR results as documents with this comprehensive step‑by‑step guide. +### [Aspose OCR Example – Enable Spellcheck and Fix Errors in C#](./aspose-ocr-example-enable-spell-check-and-fix-errors-in-c/) +Learn how to enable spellcheck and automatically fix OCR errors in C# using Aspose.OCR. +### [How to Perform OCR on Chinese Images – Complete C# Guide](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Step‑by‑step guide to recognize Chinese text in images using Aspose.OCR for .NET, covering language settings, preprocessing, and result handling. ## Frequently Asked Questions diff --git a/ocr/english/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/english/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..9afa65c7d --- /dev/null +++ b/ocr/english/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR example showing how to enable spellcheck, add a custom dictionary, + load image OCR and fix OCR errors quickly. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: en +og_description: Aspose OCR example that walks you through enabling spellcheck, adding + a custom dictionary, loading an image for OCR and fixing common OCR errors. +og_title: Aspose OCR Example – Enable Spellcheck & Fix Errors +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR Example – Enable Spellcheck and Fix Errors in C# +url: /net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Example – Enable Spellcheck and Fix Errors in C# + +Ever needed an **Aspose OCR example** that not only reads text from an image but also cleans up those pesky spelling mistakes? You're not the only one. In many real‑world projects the raw OCR output is riddled with typos, especially when the source image contains low‑contrast fonts or handwritten notes. + +The good news? With Aspose.OCR you can **enable spellcheck**, plug in your own dictionary, and get a polished string in just a few lines of code. Below you’ll see exactly **how to enable spellcheck**, **how to add a dictionary**, and **how to load image OCR** so you can finally **fix OCR errors** without pulling your hair out. + +In this tutorial we’ll cover everything you need—from NuGet installation to a complete, runnable program that prints corrected text. By the end you’ll have a solid **Aspose OCR example** you can drop straight into any .NET project. + +## Prerequisites + +- .NET 6.0 SDK or later (the code works with .NET Core and .NET Framework as well) +- Visual Studio 2022 or any C#‑compatible IDE +- An image file (`typed_text.png`) that contains clear, typed English text +- Internet access to pull the Aspose.OCR NuGet package + +No other third‑party libraries are required. + +--- + +## Step 1 – Install the Aspose.OCR NuGet Package (Load Image OCR) + +Before we can write any code, we need the library that powers the OCR engine. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** If you’re using Visual Studio, right‑click the project → *Manage NuGet Packages* → search for **Aspose.OCR** and hit *Install*. + +Installing the package gives you access to `OcrEngine`, `ImageStream`, and the built‑in spell‑checking utilities that we’ll use later. Once the package is in place, you’re ready to **load image OCR**. + +## Step 2 – Create the OCR Engine Instance + +Creating the engine is the first concrete step in any **Aspose OCR example**. Think of `OcrEngine` as the brain that will analyze the bitmap and spit out text. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +The `OcrEngine` constructor doesn’t require any parameters, which makes it nice and tidy for quick prototypes. + +## Step 3 – How to Enable Spellcheck (and Why It Matters) + +Raw OCR output often contains mis‑recognized words like “teh” instead of “the”. Enabling the built‑in spell‑checker lets Aspose automatically replace those errors with the most likely correct spelling. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Why enable spellcheck?** +> - **Accuracy:** A post‑processing spell check can boost overall text accuracy by 10‑15 % for printed documents. +> - **User experience:** Clean text means less downstream cleaning when you feed the result into search indexes or analytics pipelines. + +## Step 4 – How to Add a Dictionary (Custom Words) + +Sometimes the default dictionary doesn’t know your brand names, product codes, or domain‑specific jargon. That’s where **how to add dictionary** comes into play. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +You can feed an array, a list, or even read from a file if you have a large custom vocabulary. The spell‑checker will now treat those entries as valid, preventing false corrections. + +## Step 5 – Load the Image for OCR (Load Image OCR) + +Now that the engine is configured, we need to point it at the picture we want to read. The `ImageStream.FromFile` helper abstracts away the file‑reading details. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** If your image lives in a sub‑folder of the project, set its *Copy to Output Directory* property to *Copy always* so the path resolves at runtime. + +## Step 6 – Perform Recognition and Fix OCR Errors + +With everything set, a single call to `Recognize()` runs the OCR pipeline, applies spell‑checking, and stores the cleaned result in `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Expected Output + +Assuming `typed_text.png` contains the sentence `The quick brown fox jumps over teh lazy dog`, the console will display: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Notice how “teh” was automatically corrected to “the”. If you had added “OCRify” to the custom dictionary and the image contained that word, the engine would keep it untouched. + +--- + +## Full Working Example (Copy‑Paste Ready) + +Below is the complete program you can drop into a new console project. It includes all the steps above, plus a few comments for clarity. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Save this as `Program.cs`, run `dotnet run`, and you should see the corrected sentence printed to the console. + +--- + +## Frequently Asked Questions & Edge Cases + +| Question | Answer | +|----------|--------| +| **What if the image is a multi‑page PDF?** | Aspose.OCR can handle PDF pages as images. Use `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` and loop through pages. | +| **Can I change the language to something other than English?** | Absolutely. Set `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (or any supported language). | +| **My custom dictionary is huge—will it affect performance?** | Adding thousands of words incurs a small upfront cost, but lookup is O(1) thanks to a hash‑set under the hood. For massive vocabularies, consider loading them once at application start. | +| **What if the OCR engine throws an exception on a corrupted image?** | Wrap `Recognize()` in a try‑catch block and inspect `ocrEngine.LastError`. You can also pre‑validate the image dimensions with `ocrEngine.Image.Width` and `Height`. | +| **Do I need a license for production use?** | The free evaluation works for testing, but a commercial license removes the evaluation watermark and unlocks full performance. | + +--- + +## Conclusion + +You now have a **complete Aspose OCR example** that demonstrates **how to enable spellcheck**, **how to add a dictionary**, **load image OCR**, and **how to fix OCR errors** in a clean, production‑ready way. By configuring the spell‑checker and feeding a custom word list, you dramatically improve the quality of the extracted text without writing any post‑processing logic yourself. + +Ready for the next step? Try swapping the language to Spanish, feed a multi‑page PDF, or integrate the output into a searchable Azure Cognitive Search index. The same pattern applies—just adjust the language flag and maybe expand the custom dictionary. + +If you found this guide helpful, give it a star on GitHub, share it with teammates, or drop a comment below. Happy coding, and may your OCR results always be error‑free! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/english/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..fddccc936 --- /dev/null +++ b/ocr/english/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Learn how to deskew image, boost contrast, and extract text from scan + using Aspose OCR. Perform OCR on image with a full C# example and load image for + OCR easily. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: en +og_description: Learn how to deskew image, boost contrast, and extract text from scan + using Aspose OCR in C#. Perform OCR on image with step‑by‑step code. +og_title: How to Deskew Image and Run OCR in C# – Complete Guide +tags: +- C# +- OCR +- Image Processing +title: How to Deskew Image and Run OCR in C# – Complete Guide +url: /net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Deskew Image and Run OCR in C# – Complete Guide + +If you ever wondered **how to deskew image** before running OCR, you’re in the right place. In this tutorial we’ll walk you through boosting contrast, loading an image for OCR, and finally **extracting text from scan** with Aspose OCR. + +Whether you’re digitizing old receipts, cleaning up scanned contracts, or just need a reliable way to read text from a crooked photo, the steps below cover everything you need. No fluff—just a working example you can copy‑paste into Visual Studio. + +## What You’ll Achieve + +By the end of this guide you’ll be able to: + +* Correct skew up to 30° (that’s the **how to deskew image** part). +* Increase image contrast for sharper character edges (**how to boost contrast**). +* Load your picture into the OCR engine (**load image for OCR**). +* Run the recognition process and **extract text from scan**. + +All of this works with the latest Aspose.OCR .NET NuGet package (v23.11 at time of writing). + +--- + +![How to deskew image example](/images/deskew-example.png "how to deskew image") + +*The image above shows a scanned document before and after deskewing.* + +## Prerequisites + +* .NET 6.0 or later (the code also runs on .NET Framework 4.7+). +* Visual Studio 2022 (or any C# IDE you like). +* Aspose.OCR NuGet package – install via `dotnet add package Aspose.OCR`. + +That’s it. No external services, no API keys. + +--- + +## How to Deskew Image with Aspose OCR + +The first thing we do is create an **ImageProcessingPipeline** and add a `DeskewFilter`. The filter automatically detects the dominant text line angle and rotates the image back to horizontal. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Why this matters:** +A skewed scan confuses the OCR engine because characters are no longer aligned with the baseline. The `DeskewFilter` analyses the image histogram, finds the angle, and rotates it, dramatically improving recognition accuracy. + +> **Pro tip:** If you know your documents never exceed a 15° tilt, set `MaxAngle = 15` to speed up processing. + +--- + +## How to Boost Contrast for Better Recognition + +After deskewing, the next step is to make the text pop. The `ContrastBoostFilter` stretches the pixel intensity range, which is especially helpful for faded prints. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Why it helps:** +Low‑contrast scans produce gray‑ish characters that the binarizer may interpret as background. Boosting contrast pushes dark pixels darker and light pixels lighter, giving the subsequent `BinarizationFilter` a cleaner canvas. + +--- + +## Perform OCR on Image – Loading the File + +Now that the image is pre‑processed, we need to **load image for OCR**. Aspose offers a convenient `ImageStream.FromFile` helper. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +If your image lives in a stream (e.g., uploaded via a web API), you can use `ImageStream.FromStream(yourStream)` instead. The engine accepts BMP, JPEG, PNG, TIFF, and many others. + +--- + +## Run the Recognition Process and Extract Text from Scan + +With everything wired up, invoking `Recognize()` does the heavy lifting. After the call, the recognized text is available via `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Expected output** (example for a simple invoice): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +If the output looks garbled, double‑check the pipeline order—deskew first, then denoise, contrast boost, and finally binarization. Swapping them can degrade results. + +--- + +## Common Pitfalls and Edge Cases + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Empty result** | Image is too dark or too bright for the default binarization method. | Increase `ContrastBoostFilter.Strength` or switch to `BinarizationMethod.Otsu`. | +| **Partial text missing** | Noise remains after denoising. | Use `DenoiseLevel.Medium` for milder images, or add a second `DenoiseFilter`. | +| **Wrong rotation direction** | The document has mixed orientation (e.g., a photo of a rotated page). | Manually set `DeskewFilter.MaxAngle` lower and pre‑rotate the image with `ImageProcessor.Rotate`. | +| **Performance slowdown** | Large batch of high‑resolution images. | Downscale images (`ImageProcessor.Resize`) before the pipeline, or process in parallel (`Parallel.ForEach`). | + +--- + +## Full Working Example (Copy‑Paste Ready) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Save this as `Program.cs`, run `dotnet run`, and watch the console print the **extract text from scan** result. + +--- + +## Next Steps & Related Topics + +* **Batch processing** – Wrap the above logic in a loop to handle dozens of files. +* **Custom language packs** – If you need to read non‑Latin scripts, load a language model via `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF output** – Combine Aspose.PDF with OCR to embed searchable text directly into a PDF file. +* **Performance tuning** – Experiment with `ImageProcessingPipeline` ordering; sometimes denoising before deskew yields faster results on noisy photos. + +All of these build on the core concepts we covered: **how to deskew image**, **how to boost contrast**, **load image for OCR**, **perform OCR on image**, and finally **extract text from scan**. + +--- + +## Wrap‑Up + +We’ve just demonstrated a complete, production‑ready way to **how to deskew image** and run OCR in C#. By chaining a deskew filter, a denoise step, a contrast boost, and a binarizer, you get a clean input that lets Aspose OCR reliably **extract text from scan**. + +Give the code a spin, tweak the filter parameters for your own documents, and you’ll see how quickly the recognition accuracy improves. Got questions? Drop a comment, and happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/english/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..a108d9a0e --- /dev/null +++ b/ocr/english/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-03-07 +description: How to perform OCR on Chinese images using Aspose OCR. Learn to extract + Chinese text, convert image to ePub, and improve OCR accuracy in one tutorial. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: en +og_description: How to perform OCR on Chinese images with Aspose OCR. Get step‑by‑step + code to extract Chinese text, improve OCR, and export to ePub. +og_title: How to Perform OCR on Chinese Images – Complete C# Guide +tags: +- OCR +- C# +- Aspose +title: How to Perform OCR on Chinese Images – Complete C# Guide +url: /net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Perform OCR on Chinese Images – Complete C# Guide + +Ever wondered **how to perform OCR** on a picture that contains Chinese characters? You're not the only one. In many apps—scanning receipts, digitizing textbooks, or building a multilingual search engine—getting clean text out of an image is a make‑or‑break feature. + +In this tutorial we’ll walk through a real‑world solution that **extracts Chinese text**, drops the result into a plain‑text file, and even **converts the image to an ePub** for e‑readers. Along the way we’ll discuss **how to improve OCR** accuracy, why you should enable GPU mode, and what you need to do to **recognize simplified Chinese** correctly. + +By the end of the guide you’ll have a fully runnable C# program, a handful of practical tips, and a clear idea of the next steps you can take (like adding language detection or batch processing). No external docs required—everything you need is right here. + +## What You’ll Need + +- .NET 6+ (or .NET Core 3.1 with Aspose OCR for .NET) +- A valid Aspose OCR for .NET license (the free trial works for experimentation) +- An image file that contains Simplified Chinese characters (e.g., `chinese_sample.jpg`) +- Visual Studio 2022 or any C# editor you prefer + +If you’re missing any of these, grab the NuGet package now: + +```bash +dotnet add package Aspose.OCR +``` + +That’s it—no extra native libraries, no COM interop, just a single .NET package. + +## How to Perform OCR – Setting Up the Aspose OCR Engine + +The first thing you must do is create and configure the OCR engine. This step is crucial because the engine’s settings dictate **how well the OCR works** on Chinese characters and how fast it runs. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Why this matters:** +- **Language = ChineseSimplified** tells Aspose to load the character set for Simplified Chinese, which dramatically reduces mis‑recognitions. +- **EngineMode.Gpu** can cut processing time in half on a modern GPU, but it gracefully falls back to CPU if no GPU is present. +- **DeskewFilter** removes any tilt that commonly appears when users snap a photo with a phone. +- **Sauvola binarization** creates a high‑contrast black‑and‑white image, a classic trick for boosting OCR accuracy on dense scripts like Chinese. + +> **Pro tip:** If you’re dealing with low‑light photos, add a `ContrastFilter` before binarization. It’s not required for our sample, but it often saves you a few headaches. + +![How to perform OCR pipeline diagram](ocr-pipeline.png "How to perform OCR pipeline diagram") + +> *Alt text:* How to perform OCR pipeline diagram + +## Extract Chinese Text from an Image + +Now that the engine is ready, we load the image and let the engine do its magic. This is the core of **extract chinese text**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**What you should see:** +If `chinese_sample.jpg` contains the phrase “中华人民共和国”, the `out.txt` file will contain exactly those characters—no extra spaces, no garbled Latin letters. + +### Common Pitfalls + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| Missing characters | The image is too noisy | Add a `MedianFilter` before binarization | +| Wrong language detected | `Language` set to `English` | Ensure `Language = Language.ChineseSimplified` | +| Slow processing | GPU not enabled | Verify your machine has a compatible CUDA driver | + +## Convert Image to ePub + +Many developers ask, *“Can I turn the scanned page into a readable e‑book?”* Absolutely—Aspose OCR ships with an ePub exporter. This satisfies the **convert image to epub** requirement. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +The generated `out.epub` will contain the extracted Chinese text, correctly encoded in UTF‑8, and can be opened in Kindle, Apple Books, or any ePub reader. + +**Why use ePub?** +- It's reflowable, so readers can adjust font size without breaking the layout. +- The format keeps the text searchable, which is handy for later indexing. + +## How to Improve OCR – Practical Tweaks + +Even with a solid pipeline, you might still see occasional mis‑recognitions. Here’s a quick checklist for **how to improve OCR** on Chinese documents: + +1. **Pre‑process the image** – Use `GaussianBlurFilter` to smooth out speckles, then `ContrastFilter` to sharpen edges. +2. **Set a higher DPI** – If you control the scanning process, aim for 300 dpi or higher; low‑resolution images lose stroke detail. +3. **Enable language detection** – Aspose can auto‑detect language; combine it with a fallback to Simplified Chinese if detection fails. +4. **Fine‑tune binarization** – Swap `Sauvola` for `Otsu` if the background is uniformly light. +5. **Batch processing** – Process multiple pages in parallel using `Parallel.ForEach` to leverage multi‑core CPUs. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Recognize Simplified Chinese – Edge Cases + +The phrase **recognize simplified Chinese** often trips up newcomers because the same OCR engine can also handle Traditional Chinese, Japanese, or Korean. To keep things deterministic: + +- **Explicitly set the language** (as we did in Step 1). +- **Avoid mixed‑language pages**; if a page mixes Simplified Chinese with English, consider running two passes: one with `Language.ChineseSimplified`, another with `Language.English`. +- **Validate the output** – After recognition, run a simple regex to ensure all characters fall within the Unicode range `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +If the check fails, you can log the page for manual review. + +## Full Working Example + +Putting everything together, here’s a single file you can copy‑paste into a new console project (`Program.cs`). It includes all the steps, optional tweaks, and a final status line. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Expected console output (example):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Run the program, open `out.txt` or `out.epub`, and you’ll see clean, searchable Chinese characters ready for downstream processing. + +## Conclusion + +We’ve just covered **how to perform OCR** on Chinese images from start to finish, showing you how to **extract Chinese text**, **convert the result to an ePub**, and apply a handful of + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/text-recognition/_index.md b/ocr/english/net/text-recognition/_index.md index b3bb5f052..3e2f1ce04 100644 --- a/ocr/english/net/text-recognition/_index.md +++ b/ocr/english/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Enhance your .NET applications with Aspose.OCR for efficient image text recognit Unlock the potential of OCR in .NET with Aspose.OCR. Extract text from PDFs effortlessly. Download now for a seamless integration experience. ### [Recognize Table in OCR Image Recognition](./recognize-table/) Unlock the potential of Aspose.OCR for .NET with our comprehensive guide on recognizing tables in OCR image recognition. +### [How to Create ePub from Images in C# – Step-by-Step Guide](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Learn to generate ePub files from images using C# with Aspose.OCR in this comprehensive step-by-step tutorial. +### [recognize Hindi text in C# – Complete Aspose OCR Guide](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Learn how to recognize Hindi text in C# using Aspose.OCR with a complete step-by-step guide for accurate multilingual OCR. +### [recognize text from image in C# – Complete Aspose OCR Guide](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Learn how to extract text from images using C# and Aspose.OCR with this comprehensive step-by-step guide. +### [Extract Text from PNG in C# – Full OCR Guide](./extract-text-from-png-in-c-full-ocr-guide/) +Learn how to extract text from PNG images using C# and Aspose.OCR with this comprehensive step-by-step guide. +### [How to Use OCR in C# – Extract Text from Images Offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Learn how to extract text from images offline using OCR in C# with Aspose.OCR in this step-by-step guide. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/english/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..5711dc339 --- /dev/null +++ b/ocr/english/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-03-07 +description: Extract text from PNG files using C#. Learn how to convert image to text + C# and read text from scanned images quickly. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: en +og_description: Extract text from PNG files using C#. This guide shows how to convert + image to text C# and read text from scanned images with Aspose OCR. +og_title: Extract Text from PNG in C# – Full OCR Guide +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Extract Text from PNG in C# – Full OCR Guide +url: /net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extract Text from PNG in C# – Full OCR Guide + +Ever needed to **extract text from PNG** files but weren't sure where to start? You're not alone—most developers hit that wall when they first face scanned graphics or screenshots that need to become searchable text. The good news? With a few lines of C# and Aspose OCR you can turn any PNG into editable strings in a snap. + +In this tutorial we’ll walk through the entire process: from locating PNGs on disk, launching OCR tasks in parallel, to displaying a tidy preview of each result. By the end you’ll know how to **convert image to text C#** style, you’ll be able to **read text from scanned images** efficiently, and you’ll also see the best way to **run OCR on images** without blowing up your UI thread. + +## What You’ll Need + +- .NET 6.0 or later (the code works on .NET Core and .NET Framework as well) +- Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) +- A folder full of *.png* files you want to process +- Any IDE you like (Visual Studio, VS Code, Rider…) + +No extra configuration is required; the library ships with everything needed to decode PNGs, JPEGs, TIFFs, you name it. + +## Step 1: Locate All PNG Files – “Extract Text from PNG” Begins + +First we have to find every PNG we intend to run OCR on. Using `Directory.GetFiles` is quick and reliable. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Why this matters:* Scanning the directory once keeps the rest of the pipeline simple, and the early check prevents a silent “no‑output” situation that can be hard to debug later. + +## Step 2: Spin Up Parallel OCR Tasks – Efficiently **run OCR on images** + +Running OCR sequentially is fine for a handful of files, but real‑world projects often deal with dozens or hundreds. By launching a `Task` per image we keep the CPU busy while the library does its heavy lifting. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Pro tip:* `Task.Run` off‑loads the work to the thread pool, which means your UI (if you have one) stays responsive. If you’re on a server, the same pattern scales nicely across cores. + +## Step 3: Await All Tasks – Gather the Results + +Now we wait for every OCR operation to finish. `Task.WhenAll` returns an array that aligns with the original file order, making it easy to pair results with filenames. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Edge case note:* If any single image throws (corrupt file, unsupported format) the whole `WhenAll` will bubble up the exception. You can wrap the inner `Task.Run` in a try/catch and return an empty string or a diagnostic message if you need fault tolerance. + +## Step 4: Show a Preview – Verify the **convert image to text C#** output + +A quick preview helps you confirm the OCR worked before you start persisting the data somewhere else. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Typical console output looks like: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +If the preview shows gibberish, double‑check the image quality or consider pre‑processing (e.g., binarization) – but for most clean PNGs Aspose OCR gets it right on the first try. + +## Optional: Save Results to a CSV – A Real‑World Use Case + +Most projects need the extracted text in a structured format. Below is a tiny helper that writes the filename and full OCR text to a CSV file. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Now you can import the CSV into Excel, Power BI, or any downstream system that expects **read text from scanned images**. + +## Frequently Asked Questions + +**What if my PNGs are huge (over 5 MB)?** +Aspose OCR automatically down‑samples large images to keep memory usage sane, but you can manually resize with `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` to cap the width at 2000 px while preserving aspect ratio. + +**Can I run this on Linux?** +Yes. Aspose OCR is cross‑platform; just make sure the native dependencies (`libgdiplus` on some distros) are installed. + +**Is the OCR language set to English by default?** +Correct. If you need another language, set `engine.Language = OcrLanguage.French;` (or any supported enum) before calling `Recognize()`. + +**How do I handle password‑protected PDFs that contain PNGs?** +Convert the PDF pages to images first (using Aspose PDF or another library), then feed those PNGs into the same pipeline. The principle of **how to run OCR on images** stays unchanged. + +## Full Working Example (Async Main) + +Below is a self‑contained program you can copy‑paste into a console project. It includes all the pieces above, plus a tiny helper to validate the input folder. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Expected output** (sample for two PNGs): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Wrap‑Up + +We’ve just covered everything you need to **extract text from PNG** files using C#. From locating the files, launching parallel OCR jobs, previewing the strings, to persisting them in a CSV—this guide gives you a production‑ready pattern for **convert image to text C#** scenarios. + +If you’re ready for the next step, try feeding the same pipeline JPEG or TIFF files, experiment with different OCR languages, or hook the results into a search index so you can **read text from scanned images** instantly. + +Got questions about edge cases, performance tuning, or licensing? Drop a comment or ping the Aspose community—happy coding! + +![Extract text from PNG example](extract-text-png.png "Extract text from PNG using Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/english/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..78ba92f1d --- /dev/null +++ b/ocr/english/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-03-07 +description: How to create ePub from scanned images using Aspose OCR – learn to convert + image to ePub, extract text from image, add author to ePub, and load image for OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: en +og_description: How to create ePub from scanned images in C#. This tutorial shows + you how to convert image to ePub, extract text from image, add author to ePub, and + load image for OCR. +og_title: How to Create ePub from Images in C# – Complete Guide +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: How to Create ePub from Images in C# – Step-by-Step Guide +url: /net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Create ePub from Images in C# – Complete Guide + +Ever wondered **how to create ePub** from a collection of scanned pages? Maybe you have a handful of PNGs of a classic novel and you’d love to turn them into a tidy ePub you can read on any device. The good news is that with Aspose OCR you can **load image for OCR**, pull out the text, and then **convert image to ePub** in just a few lines of C#. + +In this tutorial we’ll walk through the entire pipeline: loading the picture, extracting the text, sprinkling some metadata (yes, we’ll **add author to epub**), and finally writing a standards‑compliant ePub file. By the end you’ll have a ready‑to‑publish ePub and a solid understanding of each step, so you can adapt the code for multi‑page books, custom fonts, or even DRM‑free distribution. + +## What You’ll Need + +- **.NET 6** or later (the API works with .NET Standard 2.0+ as well) +- **Aspose.OCR for .NET** – you can grab a free trial from the Aspose website. +- A scanned image like `book_page.png` placed somewhere on disk. +- A favorite IDE (Visual Studio, Rider, or VS Code – I’ll use Visual Studio in the screenshots). + +No additional NuGet packages are required; Aspose.OCR bundles everything you need for ePub export. + +--- + +![How to create ePub from scanned image](/images/how-to-create-epub.png "How to create ePub from a scanned image using Aspose OCR") + +## Step 1 – Set Up the Project and Install Aspose.OCR + +First things first. Create a new console app: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Add the Aspose.OCR package: + +```bash +dotnet add package Aspose.OCR +``` + +That’s it – the library ships with both OCR and ePub export capabilities, so you won’t need any extra dependencies. + +## Step 2 – Load Image for OCR + +Before we can **extract text from image**, we have to give the OCR engine something to read. The `ImageStream.FromFile` helper makes this trivial: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro tip:** If your image lives in an embedded resource, use `ImageStream.FromResource` instead of `FromFile`. + +## Step 3 – Extract Text from Image + +Now the engine actually reads the pixels and turns them into Unicode strings. The `Recognize` method does the heavy lifting. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Why call `Recognize` separately? It lets you inspect the raw OCR output, tweak language settings, or even run a spell‑check before you move on to ePub creation. + +## Step 4 – Prepare ePub Export Options (Add Author to ePub) + +Creating a polished ePub isn’t just about dumping text; you also want proper metadata. The `EpubExportOptions` class gives you a clean way to **add author to ePub**, set a title, and decide whether to embed the original images. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +If you have multiple pages, you can keep calling `ocrEngine.Image = …` and `ocrEngine.Recognize()` inside a loop; each call appends the new page’s content to the same ePub document. + +## Step 5 – Convert Image to ePub and Export + +With text extracted and metadata set, the final step is a one‑liner that writes the ePub file to disk: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +The resulting `book.epub` can be opened in Calibre, Apple Books, or any EPUB‑compatible reader. Because we set `IncludeImages = true`, the original PNG will appear as a picture‑page, preserving the look of the scanned source. + +## Full Working Example + +Putting it all together, here’s the complete, ready‑to‑run program: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Expected Output + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Open `book.epub` in your favorite reader and you’ll see a title page, the author line (even if it says “Unknown”), and the scanned image displayed alongside selectable text. + +## Common Questions & Edge Cases + +### What if the OCR language isn’t English? + +Aspose.OCR supports over 70 languages. Just set the `Language` property before calling `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### How do I handle multi‑page books? + +Wrap the loading/recognition logic in a `foreach` loop: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Each iteration appends the newly recognized text to the same ePub, preserving page order. + +### Can I exclude the original images? + +Sure – set `IncludeImages = false` in `EpubExportOptions`. The resulting ePub will be pure reflowable text, which reduces file size dramatically. + +### What about custom fonts or styling? + +Aspose.OCR’s ePub exporter lets you supply a CSS stylesheet via the `Css` property on `EpubExportOptions`. That way you can enforce a specific font family, line height, or margin. + +## Conclusion + +You now know **how to create ePub** from a scanned image using Aspose OCR in C#. The tutorial covered everything from **load image for OCR**, through **extract text from image**, to **add author to epub**, and finally **convert image to epub** with a single export call. With the full code sample in hand, you can extend the solution to batch‑process whole libraries, inject custom cover art, or even integrate the workflow into a web API. + +Ready for the next challenge? Try converting a PDF to ePub, or experiment with OCR confidence thresholds to improve accuracy on noisy scans. The sky’s the limit when you combine powerful OCR with flexible ePub generation. + +Happy coding, and enjoy reading your newly minted ePub! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/english/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..14d7c1dfa --- /dev/null +++ b/ocr/english/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,245 @@ +--- +category: general +date: 2026-03-07 +description: Learn how to use OCR in C# to extract text from image files. This guide + shows offline OCR, convert image to text, and load image for OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: en +og_description: How to use OCR in C# to extract text from images offline. Step‑by‑step + code, tips, and full explanation for converting image to text. +og_title: How to Use OCR in C# – Complete Offline Guide +tags: +- OCR +- C# +- Aspose +title: How to Use OCR in C# – Extract Text from Images Offline +url: /net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Use OCR in C# – Extract Text from Images Offline + +Ever wondered **how to use OCR** in a .NET project without sending data to the cloud? You're not alone. Many developers need to *extract text from image* files on a secured workstation, and they fear network traffic might expose sensitive information. + +The good news? With Aspose.OCR you can recognize text from PNGs, JPEGs, or PDFs entirely offline. In this tutorial we’ll walk through loading an image for OCR, configuring the engine for offline mode, and finally **convert image to text** with just a few lines of C#. + +By the end of this guide you’ll be able to: + +* Install the Aspose.OCR NuGet package. +* Set up the OCR engine for offline processing. +* Load an image for OCR and extract its textual content. + +No external services, no API keys—just pure C# code that runs on any Windows or Linux machine. + +--- + +## Prerequisites + +Before we dive in, make sure you have: + +* .NET 6.0 SDK or later (the code works with .NET Framework 4.7+ as well). +* Visual Studio 2022, VS Code, or any editor that supports C#. +* A copy of the **Aspose.OCR** library – you can pull it from NuGet (`Aspose.OCR`). +* An OCR resources folder (`Resources`) that ships with the library (contains language data files). +* A sample image (e.g., `offline_test.png`) placed in a known directory. + +> **Pro tip:** Keep the resources folder next to your executable; it simplifies the `ResourcesPath` configuration. + +--- + +## Step 1: Install the Aspose.OCR NuGet Package + +First, add the library to your project. Open a terminal in the project folder and run: + +```bash +dotnet add package Aspose.OCR +``` + +Or, if you prefer the Visual Studio UI, right‑click **Dependencies → Manage NuGet Packages**, search for *Aspose.OCR*, and click **Install**. + +> Installing the package pulls in all required binaries, so you won’t need any additional DLLs. + +--- + +## Step 2: Create and Configure the OCR Engine (How to Use OCR – Offline Mode) + +Now we’ll instantiate the OCR engine and tell it to work **offline**. This ensures no network traffic occurs during recognition. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Why offline?** +When `EngineMode` is set to `Online`, the engine contacts Aspose’s cloud to download language packs on the fly. In regulated environments (finance, healthcare) that traffic is often prohibited. By forcing offline mode you guarantee everything stays on the local machine. + +--- + +## Step 3: Point the Engine to the OCR Resources Folder + +The OCR engine needs language data (trained models) to recognize characters. Tell it where those files live: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +If you’re unsure where the folder is, locate it under the NuGet package directory (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Copy the whole folder into your project for easier deployment. + +--- + +## Step 4: Load the Image for OCR (Load Image for OCR) + +You can feed the engine any supported bitmap. Here we’ll load a PNG stored on disk: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tip:** If you need to process images from a stream (e.g., uploaded via an API), use `ImageStream.FromStream(yourStream)` instead. + +--- + +## Step 5: Run the Recognition Process and Convert Image to Text + +With everything in place, trigger the OCR. The `Recognize()` method does the heavy lifting, and the extracted text becomes available via the `Text` property. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Step 6: Output the Extracted Text + +Finally, display the result. In a console app you can simply write to the console, but in a web API you’d return the string as JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Running the program should print the textual content of `offline_test.png`. For example, if the image contains the phrase *“Hello, World!”*, you’ll see: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Full Working Example + +Below is the complete, ready‑to‑run program. Copy‑paste it into a new console project (`dotnet new console`) and adjust the paths to match your environment. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Expected output:** The console prints the exact text contained in the PNG file. If the image is blurry, the result may include mis‑recognized characters—see the troubleshooting section below. + +--- + +## Common Pitfalls & Tips (Recognize Text from PNG Efficiently) + +| Issue | Why it Happens | How to Fix | +|-------|----------------|------------| +| **Empty output** | ResourcesPath points to the wrong folder or missing language files. | Verify the folder contains `eng.traineddata` (or other language files) and double‑check the path string. | +| **Garbage characters** | Image resolution is too low or the image is not binarized. | Pre‑process the image (increase DPI, apply `ImageProcessor` to sharpen). | +| **Performance lag** | Large images are processed at full resolution. | Resize the image to a max of 2000 px width before feeding it to OCR. | +| **Unsupported format** | Using a BMP with an unusual pixel format. | Convert the image to PNG or JPEG first (`System.Drawing.Image.Save`). | + +**Pro tip:** If you need to recognize multiple languages, set `ocrEngine.Settings.Language = Language.English | Language.French;` before calling `Recognize()`. + +--- + +## Frequently Asked Questions + +**Q: Can I use this code on Linux?** +Absolutely. Aspose.OCR is cross‑platform; just ensure the native libraries are present (they are bundled with the NuGet package). + +**Q: What if I don’t have a Resources folder?** +You can download the free language packs from Aspose’s website or extract them from the NuGet package (`.../aspose.ocr//resources`). + +**Q: Is there a way to get confidence scores?** +Yes. After `Recognize()`, inspect `ocrEngine.RecognizedWords` – each word includes a `Confidence` property. + +--- + +## Conclusion + +We’ve covered **how to use OCR** in C# to *extract text from image* files completely offline. By installing Aspose.OCR, configuring `EngineMode.Offline`, pointing to the resources, loading an image, and calling `Recognize()`, you can reliably **convert image to text** without ever touching the internet. + +Take the code above, swap in your own image paths, and start building features like searchable PDFs, data entry automation, or accessibility tools. Next, you might explore **recognize text from PNG** in bulk, or integrate the engine into an ASP.NET Core API to serve OCR results to front‑end applications. + +Happy coding, and feel free to experiment—OCR is surprisingly forgiving once the engine is set up correctly! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/english/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..5972fbc8b --- /dev/null +++ b/ocr/english/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: Learn how to recognize Hindi text and load image for OCR using Aspose.OCR + in C#. Step‑by‑step setup, code, and tips. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: en +og_description: Discover how to recognize Hindi text with Aspose OCR in C#. Includes + loading image for OCR, language pack setup, and best‑practice tips. +og_title: recognize Hindi text – Full Aspose OCR Tutorial +tags: +- C# +- OCR +- Aspose +- Hindi +title: recognize Hindi text in C# – Complete Aspose OCR Guide +url: /net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# recognize Hindi text – Full Aspose OCR Tutorial + +Ever needed to **recognize Hindi text** from a scanned receipt but weren’t sure where to start? You’re not alone. In many Indian‑focused apps, extracting Hindi characters reliably can feel like chasing a moving target. Luckily, Aspose.OCR makes it a piece of cake—once you know the right steps to **load image for OCR** and point the engine at the Hindi language resources. + +In this guide we’ll walk through everything you need to get a working OCR pipeline in C#. By the end you’ll have a runnable program that downloads the Hindi language pack, loads an image, runs the recognition, and prints the resulting text to the console. No vague “see the docs” links—just a self‑contained solution you can drop into any .NET project. + +## What You’ll Need + +- **.NET 6+** (or .NET Framework 4.7.2+). The API is the same across versions, but the newer runtime gives you better performance. +- **Aspose.OCR for .NET** NuGet package. Install it with `dotnet add package Aspose.OCR`. +- A **Hindi language pack** – Aspose ships it as a downloadable resource, not bundled by default. +- An image file that contains Hindi text (e.g., `hindi_receipt.jpg`). Any common format (JPG, PNG, BMP) works. +- A decent IDE (Visual Studio, Rider, or VS Code). + +That’s it—no external OCR engines, no cloud keys, just a local library. + +## Step 1: Download the Hindi Language Pack – Set Up Resources + +Before the OCR engine can understand Devanagari characters, you must fetch the Hindi language resources. This is a one‑time operation, usually performed during application installation or CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Why this matters:** The OCR engine relies on language‑specific models to map pixel patterns to Unicode characters. Without the Hindi pack, you’ll get garbled Latin output or nothing at all. + +> **Pro tip:** Cache the pack in a folder that’s write‑accessible on the target machine. If you’re deploying to Azure App Service, use the `D:\home\site\wwwroot\Resources` folder. + +## Step 2: Configure the OCR Engine – Point to Resources + +Now that the resources are in place, create an `OcrEngine` instance and tell it where to look for the language files. This is also where we set the **primary language** for recognition. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Why we do this:** `ResourcesPath` is the bridge between the engine and the downloaded files. If you skip this step, the engine will fall back to its built‑in (English‑only) models, and you won’t be able to **recognize Hindi text** correctly. + +## Step 3: Load Image for OCR – Feed the Engine the Right Input + +With the engine ready, the next step is to **load image for OCR**. Aspose provides a convenient `ImageStream.FromFile` helper that supports most common image formats. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Large images** can slow down processing. If you’re handling high‑resolution scans, consider down‑sampling first (`ImageProcessor.Resize`). +- **Incorrect orientation** (rotated scans) will cause poor results. Use `ocrEngine.Image.Rotate(90)` if needed. + +## Step 4: Run the Recognition – Extract the Text + +Now we actually ask the engine to read the pixels and turn them into Unicode strings. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**What to expect:** If the image is clear, you should see the Hindi characters printed exactly as they appear on the receipt. For example, a sample receipt might output: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +If you get gibberish, double‑check that the language pack is correctly downloaded and that `ocrEngine.Settings.Language` is set to `Language.Hindi`. + +## Step 5: Wrap It All Up – Complete, Runnable Program + +Below is the full source file you can copy‑paste into a console project. It includes all the steps above, plus minimal error handling. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Save this as `Program.cs`, run `dotnet run`, and you should see the Hindi text printed to the console. + +## Frequently Asked Questions (FAQ) + +### Can I recognize multiple languages in one run? +Yes. Set `ocrEngine.Settings.Language` to an array, e.g., `new[] { Language.Hindi, Language.English }`. The engine will attempt to detect characters from both scripts. + +### What if my image is blurry? +Consider pre‑processing with `ImageProcessor`—apply sharpening or contrast enhancement before assigning it to `ocrEngine.Image`. + +### Does this work on Linux/macOS? +Absolutely. Aspose.OCR is cross‑platform; just ensure the native dependencies are present (usually bundled with the NuGet package). + +### How do I improve accuracy for low‑resolution receipts? +Increase the DPI (dots per inch) during scanning, or programmatically resample the image to at least 300 DPI before OCR. + +## Conclusion + +We’ve covered everything you need to **recognize Hindi text** using Aspose.OCR—from downloading the Hindi language pack, configuring the engine, correctly **load image for OCR**, to extracting and printing the result. The complete code snippet above is ready to drop into any C# console app, and the optional tips help you handle common edge cases like blurry scans or multi‑language documents. + +Ready for the next step? Try feeding the OCR output into a translation API, or store the extracted data in a database for analytics. You could also experiment with other Indian languages—Aspose supports Tamil, Bengali, and more—by swapping `Language.Hindi` with the desired enum value. + +Happy coding, and may your OCR results always be crisp! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/english/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/english/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..f874d6bf6 --- /dev/null +++ b/ocr/english/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: recognize text from image quickly with Aspose OCR. Learn how to convert + djvu to text, extract text from image, and load image for OCR in a step‑by‑step + C# tutorial. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: en +og_description: recognize text from image in C# using Aspose OCR. This guide shows + how to convert djvu to text, extract text from image, and load image for OCR with + practical tips. +og_title: recognize text from image – Full C# Aspose OCR Tutorial +tags: +- C# +- Aspose OCR +- Document Processing +title: recognize text from image in C# – Complete Aspose OCR Guide +url: /net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# recognize text from image – Full C# Aspose OCR Tutorial + +Ever needed to **recognize text from image** but weren’t sure which library would give you reliable results? You’re not alone. Whether you’re dealing with scanned invoices, historic DJVU files, or a simple PNG screenshot, extracting the exact characters can feel like deciphering an ancient script. + +Here’s the thing—Aspose OCR makes the whole process a piece of cake. In this guide we’ll walk through how to **convert djvu to text**, **extract text from image**, and **load image for OCR** using a concise C# program. By the end you’ll have a runnable console app that prints the recognized string to the console, and you’ll understand the “why” behind each line. + +## What You’ll Learn + +- How to set up the Aspose OCR engine in a .NET project. +- The exact code needed to **load image for OCR** from a DJVU file. +- Why you should call `Recognize()` before reading `Text`. +- Common pitfalls (multi‑page DJVU, unsupported formats) and how to avoid them. +- Quick ways to **convert djvu to text** for batch processing. + +All you need is a recent .NET SDK (≥ 6.0) and an Aspose OCR license (the free trial works for testing). No external services, no REST calls—just pure C#. + +## Prerequisites + +| Requirement | Reason | +|-------------|--------| +| .NET 6 SDK or later | Modern language features and better performance. | +| Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) | Provides the `OcrEngine` class we’ll use. | +| A DJVU file (e.g., `sample.djvu`) | Demonstrates **convert djvu to text**. | +| Basic familiarity with C# console apps | Makes the steps flow naturally. | + +If any of these are missing, pause and install them now; otherwise the code won’t compile. + +## Step 1 – Install Aspose.OCR and Create the Project + +First, spin up a new console project and pull in the OCR library. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro tip:* Use the `--framework net6.0` flag if you want to lock the target framework explicitly. + +## Step 2 – Initialize the OCR Engine and Load the DJVU Image + +The engine needs an image source. Aspose.OCR can read many formats, including DJVU, so we simply point it at the file path. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Why this matters:** +- `OcrEngine` is the entry point; creating it once and re‑using it reduces memory churn. +- `ImageStream.FromFile` abstracts away the file format, so you can later replace the DJVU file with a PNG or TIFF without changing any other code—perfect for “how to extract text from image” in different scenarios. + +## Step 3 – Run the Recognition Process + +Calling `Recognize()` triggers the heavy lifting. Under the hood Aspose runs a neural‑network‑based classifier that works on both printed and handwritten text. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Edge case note:* If your DJVU contains multiple pages, `ImageStream.FromFile` still loads only the first page. To process all pages you’d need to loop over `ImageStream.FromFile(...).Pages`. For most quick‑look tasks, the first page is enough. + +## Step 4 – Retrieve and Display the Recognized Text + +After recognition, the engine populates the `Text` property with a plain‑text string. You can now write it to the console, a file, or feed it into another system. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typical output looks like: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +If the output is garbled, double‑check that the source image isn’t low‑resolution; Aspose recommends 300 dpi or higher for best accuracy. + +## Full Working Example + +Putting it all together, here’s a single file (`Program.cs`) you can paste into the project created earlier. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Run it with: + +```bash +dotnet run +``` + +You should see the extracted string printed to the terminal. This is the simplest way to **recognize text from image** using Aspose OCR. + +## Step 5 – Advanced: Converting Multiple DJVU Pages to Text Files + +If you need to **convert djvu to text** in bulk, extend the previous code with a loop: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Why this works:* `GetPage(i)` returns an `Image` object for the requested page, letting you reuse the same `OcrEngine` instance. Each page’s text lands in its own `.txt` file, giving you a clean **convert djvu to text** pipeline. + +## Common Questions & Gotchas + +- **Can I extract text from a JPEG instead of DJVU?** + Absolutely. Just change the file extension in `FromFile`. The same code **how to extract text from image** applies because Aspose abstracts the format. + +- **What if the OCR result contains extra line breaks?** + Use `String.Replace("\r\n", " ")` or a regular expression to normalize whitespace. + +- **Do I need a license for production use?** + The free trial works for up to 100 pages. For unlimited usage, purchase a license and call `License license = new License(); license.SetLicense("Aspose.OCR.lic");` before creating the engine. + +- **Is the engine thread‑safe?** + No. Create a separate `OcrEngine` per thread or protect access with a lock. + +## Tips for Better Accuracy + +1. **Increase DPI** – If you control the source conversion, output images at 300 dpi or higher. +2. **Pre‑process the image** – Simple binarization (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) can improve results on noisy scans. +3. **Specify language** – `ocrEngine.Language = Language.English;` narrows the character set and speeds up recognition. + +## Conclusion + +You now have a complete, ready‑to‑run example that **recognize text from image** using Aspose OCR, and you’ve seen how to **convert djvu to text**, **how to extract text from image**, and the proper way to **load image for OCR**. The code is self‑contained, works on any .NET 6+ runtime, and can be expanded to batch‑process multi‑page DJVU documents. + +Next, you might explore: + +- Adding **language detection** for multilingual DJVU files. +- Integrating the OCR output with a search index (e.g., Elasticsearch). +- Using Aspose’s PDF conversion to turn the extracted text into searchable PDFs. + +Give it a try, tweak the DPI, experiment with different image formats, and let the OCR engine do the heavy lifting for you. Happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/ocr-configuration/_index.md b/ocr/french/net/ocr-configuration/_index.md index d06fa9627..b3458670c 100644 --- a/ocr/french/net/ocr-configuration/_index.md +++ b/ocr/french/net/ocr-configuration/_index.md @@ -67,6 +67,9 @@ Libérez la puissance de la reconnaissance d’images OCR dans .NET avec Aspose. Débloquez de puissantes capacités OCR avec Aspose.OCR pour .NET. Extrayez le texte des images de manière transparente. ### [OCROperation avec liste dans la reconnaissance d'images OCR](./ocr-operation-with-list/) +### [Lire du texte à partir de PNG – extraire du texte cyrillique avec Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Apprenez à extraire du texte cyrillique d'images PNG en utilisant Aspose OCR dans vos applications .NET. + Exploitez pleinement le potentiel d'Aspose.OCR pour .NET. Réalisez facilement la reconnaissance d'images OCR avec des listes. Optimisez la productivité et l'extraction de données dans vos applications. ### Cas d'utilisation courants @@ -115,4 +118,4 @@ R : Oui, l’objet `OcrResult` fournit des valeurs de confiance que vous pouvez {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/french/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..7364243e5 --- /dev/null +++ b/ocr/french/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-03-07 +description: Apprenez à lire le texte à partir d’un PNG, à extraire le texte cyrillique + avec Aspose OCR, à convertir l’image en texte et à télécharger le pack linguistique + cyrillique. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: fr +og_description: Apprenez à lire du texte à partir de PNG, extraire le texte cyrillique + et convertir une image en texte en utilisant Aspose OCR en C#. +og_title: Lire le texte d’un PNG – extraire le texte cyrillique avec Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Lire le texte d’un PNG – extraire le texte cyrillique avec Aspose OCR +url: /fr/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# lire du texte à partir d'un png – extraire du texte cyrillique avec Aspose OCR + +Need to **read text from png** files and pull out Cyrillic characters? In this guide we’ll show you how to read text from png using Aspose OCR, extract Cyrillic text, and **convert image to text** in just a few lines of C#. + +If you’ve ever stared at a screenshot of a Russian invoice and wondered how to get the words into a searchable string, you’re in the right place. We’ll also cover how to **download the Cyrillic language pack** automatically, so you don’t have to hunt for extra files. + +## What you’ll achieve + +By the end of this tutorial you will be able to: + +* **Load an image for OCR** directly from disk or a stream. +* Set the engine to **Cyrillic language** without manual downloads. +* Run recognition and **extract Cyrillic text** from a PNG file. +* See the recognized text printed to the console – a clean, plain‑text result you can feed into databases, search indexes, or any other workflow. + +No external services, no cloud keys, just the Aspose OCR NuGet package and a few lines of C#. + +## Prerequisites + +* .NET 6.0 or later (the code works on .NET Core, .NET Framework, and .NET 5+). +* Visual Studio 2022 or any editor you like. +* The Aspose.OCR NuGet package (`dotnet add package Aspose.OCR`). +* A PNG image that contains Cyrillic characters – for example `cyrillic_sample.png` placed in a folder called `YOUR_DIRECTORY`. + +> **Pro tip:** If you’re using Visual Studio, right‑click the project → **Manage NuGet Packages** → search “Aspose.OCR” and install the latest stable version. + +--- + +## Step 1 – Install Aspose OCR and create the engine + +First we need the OCR engine instance. The `OcrEngine` class is the entry point for all operations. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Why this matters:** The engine encapsulates language packs, image data, and recognition options. Instantiating it once and re‑using it across multiple images can improve performance. + +--- + +## Step 2 – **load image for ocr** and set the language + +Now we tell the engine which image to process and which language to look for. Setting `Language.Cyrillic` automatically downloads the required language pack the first time it runs. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Edge case:** If your PNG is huge (over 5 MB) you might want to resize it first to speed up recognition. The `Image` property also accepts a `Stream`, so you can load from memory, a web request, or an Azure Blob without touching the file system. + +--- + +## Step 3 – **convert image to text** with a single call + +Recognition is as simple as invoking `Recognize()`. After this call the `Text` property holds the extracted string. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **What happens under the hood?** Aspose runs a neural‑network‑based classifier trained on millions of Cyrillic glyphs. The library abstracts all that complexity, so you just get clean Unicode. + +--- + +## Step 4 – Output the result (or pipe it elsewhere) + +For demo purposes we’ll print the text to the console, but you could easily write it to a file, a database, or pass it to a search index. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Expected output** (assuming `cyrillic_sample.png` contains the phrase “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +If the output looks garbled, double‑check that the image is clear and that you set `Language.Cyrillic`. The engine defaults to English, which would treat Cyrillic characters as unknown symbols. + +--- + +## Step 5 – Full, runnable example + +Putting it all together, here’s a self‑contained program you can copy‑paste into a new console project. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Save the file as `Program.cs`, run `dotnet run`, and you should see the Cyrillic text printed out. + +--- + +## Common questions & troubleshooting + +| Question | Answer | +|----------|--------| +| **What if the language pack doesn’t download?** | Ensure the machine has internet access. The pack is cached in `%USERPROFILE%\.Aspose\OCR\Languages`. Deleting that folder forces a fresh download. | +| **Can I read other languages besides Cyrillic?** | Absolutely – replace `Language.Cyrillic` with `Language.English`, `Language.Arabic`, etc. The same auto‑download logic applies. | +| **My PNG is noisy – results are poor. What can I do?** | Pre‑process the image: increase contrast, convert to grayscale, or apply a median filter. Aspose OCR also offers `Settings.ImagePreprocess` options. | +| **Is there a way to get bounding boxes for each word?** | Yes, after `Recognize()` you can inspect `ocrEngine.Regions` which returns rectangles for each detected word. | +| **Do I need a license for production use?** | The free evaluation works for up to 100 pages. For commercial projects purchase a license – it removes the evaluation watermark and unlocks high‑speed batch processing. | + +--- + +## Next steps – extending the solution + +* **Batch processing:** Loop over a folder of PNGs, collect all texts into a CSV file. +* **Integration with Azure Cognitive Search:** Index the extracted Cyrillic strings for fast lookup. +* **Combine with PDF conversion:** Use Aspose.PDF to convert scanned PDFs to PNGs first, then run the same OCR flow. + +All of those scenarios reuse the core pattern we just covered: **load image for OCR → set language → recognize → use the text**. + +--- + +## Conclusion + +You now know how to **read text from png**, **extract Cyrillic text**, and **convert image to text** with Aspose OCR in C#. The key steps are creating the engine, loading the image, selecting the proper language (which automatically **downloads the Cyrillic language pack**), and finally calling `Recognize()`. + +Give it a try with different images, experiment with the `Settings` options, and watch your applications become searchable, multilingual, and far more intelligent. + +Happy coding, and feel free to drop a comment if you hit any snags! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/ocr-optimization/_index.md b/ocr/french/net/ocr-optimization/_index.md index 8d188ea7d..7472a4338 100644 --- a/ocr/french/net/ocr-optimization/_index.md +++ b/ocr/french/net/ocr-optimization/_index.md @@ -75,6 +75,12 @@ Explorez Aspose.OCR pour .NET. Boostez la précision de l’OCR avec des filtres Améliorez la précision de l’OCR avec Aspose.OCR pour .NET. Corrigez les fautes, personnalisez les dictionnaires et obtenez une reconnaissance de texte sans erreur en toute simplicité. ### [Enregistrer le résultat multipage en tant que document dans la reconnaissance d'image OCR](./save-multipage-result-as-document/) Débloquez le potentiel d’Aspose.OCR pour .NET. Enregistrez sans effort les résultats OCR multipages sous forme de documents grâce à ce guide complet étape par étape. +### [Comment redresser une image et exécuter l'OCR en C# – Guide complet](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Apprenez à redresser les images et à appliquer l'OCR avec Aspose.OCR en C# grâce à ce guide complet. +### [Exemple Aspose OCR – Activer la vérification orthographique et corriger les erreurs en C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Apprenez à activer la vérification orthographique dans Aspose.OCR et à corriger automatiquement les erreurs de texte en C#. +### [Comment effectuer l'OCR sur des images chinoises – Guide complet C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Apprenez à reconnaître le texte chinois dans les images avec Aspose.OCR en C#, incluant la configuration linguistique et les filtres de prétraitement. ## Questions fréquemment posées diff --git a/ocr/french/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/french/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..f1d90c249 --- /dev/null +++ b/ocr/french/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: Exemple Aspose OCR montrant comment activer la correction orthographique, + ajouter un dictionnaire personnalisé, charger l'OCR d'image et corriger rapidement + les erreurs d'OCR. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: fr +og_description: Exemple Aspose OCR qui vous guide à travers l’activation de la correction + orthographique, l’ajout d’un dictionnaire personnalisé, le chargement d’une image + pour l’OCR et la correction des erreurs OCR courantes. +og_title: Exemple Aspose OCR – Activer la correction orthographique et corriger les + erreurs +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Exemple Aspose OCR – Activer la vérification orthographique et corriger les + erreurs en C# +url: /fr/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Exemple Aspose OCR – Activer la vérification orthographique et corriger les erreurs en C# + +Vous avez déjà eu besoin d’un **exemple Aspose OCR** qui non seulement lit le texte d’une image mais qui nettoie aussi ces fautes d’orthographe agaçantes ? Vous n’êtes pas seul. Dans de nombreux projets réels, la sortie brute de l’OCR est truffée de coquilles, surtout lorsque l’image source contient des polices à faible contraste ou des notes manuscrites. + +Bonne nouvelle : avec Aspose.OCR vous pouvez **activer la vérification orthographique**, brancher votre propre dictionnaire, et obtenir une chaîne épurée en quelques lignes de code seulement. Vous verrez ci‑dessous **comment activer la vérification orthographique**, **comment ajouter un dictionnaire**, et **comment charger l’OCR d’une image** afin de **corriger les erreurs d’OCR** sans perdre patience. + +Dans ce tutoriel nous couvrirons tout ce dont vous avez besoin — de l’installation via NuGet à un programme complet, exécutable, qui affiche le texte corrigé. À la fin, vous disposerez d’un **exemple Aspose OCR** solide que vous pourrez insérer directement dans n’importe quel projet .NET. + +## Prérequis + +- SDK .NET 6.0 ou version ultérieure (le code fonctionne également avec .NET Core et .NET Framework) +- Visual Studio 2022 ou tout IDE compatible C# +- Un fichier image (`typed_text.png`) contenant du texte anglais clair et dactylographié +- Accès Internet pour télécharger le package NuGet Aspose.OCR + +Aucune autre bibliothèque tierce n’est requise. + +--- + +## Étape 1 – Installer le package NuGet Aspose.OCR (Load Image OCR) + +Avant d’écrire du code, nous avons besoin de la bibliothèque qui alimente le moteur OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Astuce :** Si vous utilisez Visual Studio, faites un clic droit sur le projet → *Manage NuGet Packages* → recherchez **Aspose.OCR** et cliquez sur *Install*. + +L’installation du package vous donne accès à `OcrEngine`, `ImageStream` et aux utilitaires de vérification orthographique intégrés que nous utiliserons plus tard. Une fois le package en place, vous êtes prêt à **charger l’OCR d’une image**. + +## Étape 2 – Créer l’instance du moteur OCR + +Créer le moteur est la première étape concrète dans tout **exemple Aspose OCR**. Pensez à `OcrEngine` comme le cerveau qui analysera le bitmap et produira du texte. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Le constructeur de `OcrEngine` ne nécessite aucun paramètre, ce qui le rend simple et pratique pour les prototypes rapides. + +## Étape 3 – Comment activer la vérification orthographique (et pourquoi c’est important) + +La sortie brute de l’OCR contient souvent des mots mal reconnus comme « teh » au lieu de « the ». Activer le correcteur orthographique intégré permet à Aspose de remplacer automatiquement ces erreurs par l’orthographe la plus probable. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Pourquoi activer la vérification orthographique ?** +> - **Précision :** Un correcteur orthographique en post‑traitement peut augmenter la précision globale du texte de 10‑15 % pour les documents imprimés. +> - **Expérience utilisateur :** Un texte propre signifie moins de nettoyage en aval lorsque vous injectez le résultat dans des index de recherche ou des pipelines d’analyse. + +## Étape 4 – Comment ajouter un dictionnaire (mots personnalisés) + +Parfois, le dictionnaire par défaut ne connaît pas vos noms de marque, codes produit ou jargon spécifique à votre domaine. C’est là qu’intervient **comment ajouter un dictionnaire**. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Vous pouvez fournir un tableau, une liste, ou même lire depuis un fichier si vous avez un vocabulaire personnalisé volumineux. Le correcteur orthographique traitera alors ces entrées comme valides, évitant les corrections erronées. + +## Étape 5 – Charger l’image pour l’OCR (Load Image OCR) + +Une fois le moteur configuré, il faut le pointer vers l’image que vous souhaitez lire. L’assistant `ImageStream.FromFile` masque les détails de lecture du fichier. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Conseil :** Si votre image se trouve dans un sous‑dossier du projet, définissez sa propriété *Copy to Output Directory* sur *Copy always* afin que le chemin soit résolu à l’exécution. + +## Étape 6 – Effectuer la reconnaissance et corriger les erreurs d’OCR + +Avec tout en place, un seul appel à `Recognize()` lance le pipeline OCR, applique la vérification orthographique, et stocke le résultat nettoyé dans `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Résultat attendu + +En supposant que `typed_text.png` contienne la phrase `The quick brown fox jumps over teh lazy dog`, la console affichera : + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Remarquez comment « teh » a été automatiquement corrigé en « the ». Si vous aviez ajouté « OCRify » au dictionnaire personnalisé et que l’image contenait ce mot, le moteur l’aurait laissé tel quel. + +--- + +## Exemple complet fonctionnel (prêt à copier‑coller) + +Voici le programme complet que vous pouvez placer dans un nouveau projet console. Il regroupe toutes les étapes précédentes, avec quelques commentaires pour plus de clarté. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Enregistrez-le sous le nom `Program.cs`, exécutez `dotnet run`, et vous devriez voir la phrase corrigée s’afficher dans la console. + +--- + +## Questions fréquentes & cas particuliers + +| Question | Réponse | +|----------|---------| +| **Et si l’image est un PDF multi‑pages ?** | Aspose.OCR peut gérer les pages PDF comme des images. Utilisez `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` et bouclez sur les pages. | +| **Puis‑je changer la langue pour autre chose que l’anglais ?** | Bien sûr. Définissez `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (ou toute langue prise en charge). | +| **Mon dictionnaire personnalisé est énorme — cela affectera‑t‑il les performances ?** | Ajouter des milliers de mots engendre un petit coût initial, mais la recherche est O(1) grâce à un hash‑set en interne. Pour des vocabulaires très volumineux, chargez‑les une fois au démarrage de l’application. | +| **Que faire si le moteur OCR lève une exception sur une image corrompue ?** | Enveloppez `Recognize()` dans un bloc try‑catch et inspectez `ocrEngine.LastError`. Vous pouvez également pré‑valider les dimensions de l’image avec `ocrEngine.Image.Width` et `Height`. | +| **Faut‑il une licence pour la production ?** | L’évaluation gratuite suffit pour les tests, mais une licence commerciale supprime le filigrane d’évaluation et débloque les performances complètes. | + +--- + +## Conclusion + +Vous disposez maintenant d’un **exemple complet Aspose OCR** qui montre **comment activer la vérification orthographique**, **comment ajouter un dictionnaire**, **comment charger l’OCR d’une image**, et **comment corriger les erreurs d’OCR** de façon propre et prête pour la production. En configurant le correcteur orthographique et en fournissant une liste de mots personnalisée, vous améliorez considérablement la qualité du texte extrait sans écrire de logique de post‑traitement supplémentaire. + +Prêt pour l’étape suivante ? Essayez de changer la langue en espagnol, de traiter un PDF multi‑pages, ou d’intégrer la sortie dans un index Azure Cognitive Search. Le même schéma s’applique — il suffit d’ajuster le drapeau de langue et éventuellement d’étendre le dictionnaire personnalisé. + +Si ce guide vous a été utile, donnez‑lui une étoile sur GitHub, partagez‑le avec vos collègues, ou laissez un commentaire ci‑dessous. Bon codage, et que vos résultats OCR soient toujours sans erreur ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/french/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..40d2800b6 --- /dev/null +++ b/ocr/french/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: Apprenez à redresser une image, à augmenter le contraste et à extraire + le texte d’un scan à l’aide d’Aspose OCR. Effectuez la reconnaissance optique de + caractères sur une image avec un exemple complet en C# et chargez facilement l’image + pour l’OCR. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: fr +og_description: Apprenez à redresser une image, améliorer le contraste et extraire + le texte d’un scan à l’aide d’Aspose OCR en C#. Effectuez la reconnaissance optique + de caractères sur une image avec un code étape par étape. +og_title: Comment redresser une image et exécuter l’OCR en C# – Guide complet +tags: +- C# +- OCR +- Image Processing +title: Comment redresser une image et exécuter l’OCR en C# – Guide complet +url: /fr/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment redresser une image et exécuter l'OCR en C# – Guide complet + +Si vous vous êtes déjà demandé **comment redresser une image** avant d'exécuter l'OCR, vous êtes au bon endroit. Dans ce tutoriel, nous vous guiderons à travers l'amélioration du contraste, le chargement d'une image pour l'OCR, et enfin **l'extraction du texte à partir d'un scan** avec Aspose OCR. + +Que vous numérisiez d'anciens reçus, nettoyiez des contrats scannés, ou que vous ayez simplement besoin d'une méthode fiable pour lire du texte à partir d'une photo de travers, les étapes ci‑dessous couvrent tout ce dont vous avez besoin. Pas de blabla—juste un exemple fonctionnel que vous pouvez copier‑coller dans Visual Studio. + +## Ce que vous allez accomplir + +À la fin de ce guide, vous serez capable de : + +* Corriger l'inclinaison jusqu'à 30° (c’est la partie **comment redresser une image**). +* Augmenter le contraste de l'image pour des contours de caractères plus nets (**comment augmenter le contraste**). +* Charger votre image dans le moteur OCR (**charger l'image pour l'OCR**). +* Exécuter le processus de reconnaissance et **extraire le texte du scan**. + +Tout cela fonctionne avec le dernier package NuGet Aspose.OCR .NET (v23.11 au moment de la rédaction). + +--- + +![Exemple de redressement d'image](/images/deskew-example.png "comment redresser une image") + +*L'image ci‑dessus montre un document scanné avant et après le redressement.* + +## Prérequis + +* .NET 6.0 ou version ultérieure (le code fonctionne également sur .NET Framework 4.7+). +* Visual Studio 2022 (ou tout IDE C# de votre choix). +* Package NuGet Aspose.OCR – à installer via `dotnet add package Aspose.OCR`. + +C’est tout. Aucun service externe, aucune clé API. + +--- + +## Comment redresser une image avec Aspose OCR + +La première chose que nous faisons est de créer un **ImageProcessingPipeline** et d’y ajouter un `DeskewFilter`. Le filtre détecte automatiquement l’angle dominant des lignes de texte et fait pivoter l’image pour la remettre à l’horizontale. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Pourquoi c’est important :** +Un scan incliné perturbe le moteur OCR car les caractères ne sont plus alignés avec la ligne de base. Le `DeskewFilter` analyse l’histogramme de l’image, trouve l’angle, et la fait pivoter, améliorant ainsi de façon spectaculaire la précision de reconnaissance. + +> **Astuce pro :** Si vous savez que vos documents n’excèdent jamais une inclinaison de 15°, définissez `MaxAngle = 15` pour accélérer le traitement. + +--- + +## Comment augmenter le contraste pour une meilleure reconnaissance + +Après le redressement, l’étape suivante consiste à faire ressortir le texte. Le `ContrastBoostFilter` étire la plage d’intensité des pixels, ce qui est particulièrement utile pour les impressions fanées. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Pourquoi cela aide :** +Les scans à faible contraste produisent des caractères grisâtres que le binarisateur peut interpréter comme du fond. Augmenter le contraste rend les pixels sombres plus sombres et les pixels clairs plus clairs, offrant ainsi une toile plus propre au `BinarizationFilter` suivant. + +--- + +## Effectuer l'OCR sur l'image – Chargement du fichier + +Maintenant que l’image est pré‑traitée, nous devons **charger l'image pour l'OCR**. Aspose propose un utilitaire pratique `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Si votre image provient d’un flux (par ex., téléchargée via une API web), vous pouvez utiliser `ImageStream.FromStream(yourStream)` à la place. Le moteur accepte BMP, JPEG, PNG, TIFF, et bien d’autres formats. + +--- + +## Exécuter le processus de reconnaissance et extraire le texte du scan + +Une fois tout configuré, appeler `Recognize()` fait le gros du travail. Après l’appel, le texte reconnu est disponible via `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Sortie attendue** (exemple pour une facture simple) : + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Si la sortie apparaît brouillée, revérifiez l’ordre du pipeline — redressement d’abord, puis débruitage, augmentation du contraste, et enfin binarisation. Les inverser peut détériorer les résultats. + +--- + +## Pièges courants et cas particuliers + +| Problème | Pourquoi cela se produit | Solution | +|----------|--------------------------|----------| +| **Résultat vide** | L’image est trop sombre ou trop claire pour la méthode de binarisation par défaut. | Augmentez `ContrastBoostFilter.Strength` ou passez à `BinarizationMethod.Otsu`. | +| **Texte partiel manquant** | Du bruit subsiste après le débruitage. | Utilisez `DenoiseLevel.Medium` pour les images plus douces, ou ajoutez un second `DenoiseFilter`. | +| **Direction de rotation incorrecte** | Le document a une orientation mixte (par ex., une photo d’une page tournée). | Réduisez manuellement `DeskewFilter.MaxAngle` et pré‑faites pivoter l’image avec `ImageProcessor.Rotate`. | +| **Ralentissement des performances** | Grand lot d’images haute résolution. | Redimensionnez les images (`ImageProcessor.Resize`) avant le pipeline, ou traitez en parallèle (`Parallel.ForEach`). | + +--- + +## Exemple complet fonctionnel (prêt à copier‑coller) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Enregistrez ceci sous le nom `Program.cs`, exécutez `dotnet run`, et observez la console afficher le résultat de **l'extraction du texte du scan**. + +--- + +## Prochaines étapes & sujets associés + +* **Traitement par lots** – Enveloppez la logique ci‑dessus dans une boucle pour gérer des dizaines de fichiers. +* **Packs de langues personnalisés** – Si vous devez lire des scripts non latins, chargez un modèle linguistique via `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **Export PDF** – Combinez Aspose.PDF avec l’OCR pour intégrer du texte recherchable directement dans un fichier PDF. +* **Optimisation des performances** – Expérimentez avec l’ordre du `ImageProcessingPipeline` ; parfois le débruitage avant le redressement donne de meilleurs résultats sur des photos bruyantes. + +Tous ces points s’appuient sur les concepts de base que nous avons couverts : **comment redresser une image**, **comment augmenter le contraste**, **charger l'image pour l'OCR**, **effectuer l'OCR sur l'image**, et enfin **extraire le texte du scan**. + +--- + +## Conclusion + +Nous venons de démontrer une méthode complète, prête pour la production, afin de **redresser une image** et d’exécuter l’OCR en C#. En chaînant un filtre de redressement, une étape de débruitage, une augmentation du contraste et un binarisateur, vous obtenez une entrée propre qui permet à Aspose OCR d’**extraire le texte du scan** de façon fiable. + +Testez le code, ajustez les paramètres des filtres selon vos propres documents, et vous verrez rapidement l’amélioration de la précision de reconnaissance. Des questions ? Laissez un commentaire, et bon codage ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/french/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..c8f29c7c3 --- /dev/null +++ b/ocr/french/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,269 @@ +--- +category: general +date: 2026-03-07 +description: Comment effectuer la reconnaissance optique de caractères (OCR) sur des + images chinoises avec Aspose OCR. Apprenez à extraire le texte chinois, à convertir + l'image en ePub et à améliorer la précision de l'OCR en un seul tutoriel. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: fr +og_description: Comment effectuer la reconnaissance optique de caractères (OCR) sur + des images chinoises avec Aspose OCR. Obtenez du code étape par étape pour extraire + le texte chinois, améliorer l'OCR et exporter en ePub. +og_title: Comment réaliser l'OCR sur des images chinoises – Guide complet C# +tags: +- OCR +- C# +- Aspose +title: Comment effectuer la reconnaissance optique de caractères sur des images chinoises + – Guide complet C# +url: /fr/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment effectuer la reconnaissance optique de caractères (OCR) sur des images chinoises – Guide complet C# + +Vous vous êtes déjà demandé **comment effectuer l'OCR** sur une image contenant des caractères chinois ? Vous n'êtes pas le seul. Dans de nombreuses applications—numérisation de reçus, digitalisation de manuels ou création d'un moteur de recherche multilingue—obtenir du texte propre à partir d'une image est une fonctionnalité décisive. + +Dans ce tutoriel, nous parcourrons une solution concrète qui **extrait du texte chinois**, enregistre le résultat dans un fichier texte brut, et même **convertit l'image en ePub** pour les liseuses. En cours de route, nous aborderons **comment améliorer la précision de l'OCR**, pourquoi vous devriez activer le mode GPU, et ce qu'il faut faire pour **reconnaître correctement le chinois simplifié**. + +À la fin du guide, vous disposerez d'un programme C# entièrement exécutable, de quelques conseils pratiques, et d'une idée claire des prochaines étapes à envisager (comme ajouter la détection de langue ou le traitement par lots). Aucun document externe n'est requis — tout ce dont vous avez besoin se trouve ici. + +## Ce dont vous avez besoin + +- .NET 6+ (ou .NET Core 3.1 avec Aspose OCR for .NET) +- Une licence valide Aspose OCR for .NET (l'essai gratuit suffit pour l'expérimentation) +- Un fichier image contenant des caractères chinois simplifiés (par ex., `chinese_sample.jpg`) +- Visual Studio 2022 ou tout éditeur C# de votre choix + +Si l'un de ces éléments vous manque, récupérez le package NuGet maintenant : + +```bash +dotnet add package Aspose.OCR +``` + +C'est tout—pas de bibliothèques natives supplémentaires, pas d'interop COM, juste un seul package .NET. + +## Comment effectuer l'OCR – Configuration du moteur Aspose OCR + +La première chose à faire est de créer et configurer le moteur OCR. Cette étape est cruciale car les paramètres du moteur déterminent **la qualité du fonctionnement de l'OCR** sur les caractères chinois et la rapidité d'exécution. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Pourquoi c'est important :** +- **Language = ChineseSimplified** indique à Aspose de charger le jeu de caractères pour le chinois simplifié, ce qui réduit considérablement les erreurs de reconnaissance. +- **EngineMode.Gpu** peut réduire le temps de traitement de moitié sur un GPU moderne, mais il revient élégamment au CPU si aucun GPU n'est présent. +- **DeskewFilter** supprime toute inclinaison qui apparaît souvent lorsque les utilisateurs prennent une photo avec un téléphone. +- **Sauvola binarization** crée une image noir‑et‑blanc à fort contraste, une astuce classique pour améliorer la précision de l'OCR sur des scripts denses comme le chinois. + +> **Astuce pro :** Si vous traitez des photos en faible lumière, ajoutez un `ContrastFilter` avant la binarisation. Ce n'est pas requis pour notre exemple, mais cela évite souvent bien des maux de tête. + +![Diagramme du pipeline OCR](ocr-pipeline.png "Diagramme du pipeline OCR") + +> *Texte alternatif :* Diagramme du pipeline OCR + +## Extraire du texte chinois d'une image + +Maintenant que le moteur est prêt, nous chargeons l'image et laissons le moteur faire sa magie. C'est le cœur de **l'extraction de texte chinois**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Ce que vous devriez voir :** +Si `chinese_sample.jpg` contient la phrase « 中华人民共和国 », le fichier `out.txt` contiendra exactement ces caractères—sans espaces supplémentaires, sans lettres latines corrompues. + +### Pièges courants + +| Problème | Pourquoi cela se produit | Solution | +|----------|--------------------------|----------| +| Caractères manquants | L'image est trop bruitée | Ajoutez un `MedianFilter` avant la binarisation | +| Langue détectée incorrecte | `Language` réglé sur `English` | Assurez-vous que `Language = Language.ChineseSimplified` | +| Traitement lent | GPU non activé | Vérifiez que votre machine possède un pilote CUDA compatible | + +## Convertir l'image en ePub + +De nombreux développeurs demandent, *« Puis-je transformer la page numérisée en livre numérique lisible ? »* Absolument—Aspose OCR est fourni avec un exportateur ePub. Cela répond à l'exigence **convertir l'image en epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Le `out.epub` généré contiendra le texte chinois extrait, correctement encodé en UTF‑8, et pourra être ouvert dans Kindle, Apple Books ou tout lecteur ePub. + +**Pourquoi utiliser ePub ?** +- Il est reflowable, ainsi les lecteurs peuvent ajuster la taille de la police sans casser la mise en page. +- Le format garde le texte recherchable, ce qui est pratique pour un indexage ultérieur. + +## Comment améliorer l'OCR – Astuces pratiques + +Même avec un pipeline solide, vous pourriez encore voir des erreurs de reconnaissance occasionnelles. Voici une liste de contrôle rapide pour **améliorer l'OCR** sur des documents chinois : + +1. **Pré‑traiter l'image** – Utilisez `GaussianBlurFilter` pour lisser les taches, puis `ContrastFilter` pour accentuer les contours. +2. **Définir une résolution DPI plus élevée** – Si vous contrôlez le processus de numérisation, visez 300 dpi ou plus ; les images basse résolution perdent les détails des traits. +3. **Activer la détection de langue** – Aspose peut détecter automatiquement la langue ; combinez cela avec un repli sur le chinois simplifié si la détection échoue. +4. **Ajuster la binarisation** – Remplacez `Sauvola` par `Otsu` si l'arrière‑plan est uniformément clair. +5. **Traitement par lots** – Traitez plusieurs pages en parallèle avec `Parallel.ForEach` pour exploiter les CPU multi‑cœurs. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Reconnaître le chinois simplifié – Cas limites + +L'expression **reconnaître le chinois simplifié** pose souvent problème aux débutants car le même moteur OCR peut également gérer le chinois traditionnel, le japonais ou le coréen. Pour garder les choses déterministes : + +- **Définir explicitement la langue** (comme nous l'avons fait à l'étape 1). +- **Éviter les pages multilingues** ; si une page mélange chinois simplifié et anglais, envisagez d'exécuter deux passes : une avec `Language.ChineseSimplified`, une autre avec `Language.English`. +- **Valider la sortie** – Après la reconnaissance, exécutez une expression régulière simple pour vous assurer que tous les caractères se situent dans la plage Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Si la vérification échoue, vous pouvez consigner la page pour une révision manuelle. + +## Exemple complet fonctionnel + +En rassemblant tous les éléments, voici un fichier unique que vous pouvez copier‑coller dans un nouveau projet console (`Program.cs`). Il comprend toutes les étapes, les ajustements optionnels, et une ligne d'état finale. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Sortie console attendue (exemple) :** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Exécutez le programme, ouvrez `out.txt` ou `out.epub`, et vous verrez des caractères chinois propres et recherchables, prêts pour le traitement en aval. + +## Conclusion + +Nous venons de couvrir **comment effectuer l'OCR** sur des images chinoises de bout en bout, en vous montrant comment **extraire du texte chinois**, **convertir le résultat en ePub**, et appliquer une poignée de + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/text-recognition/_index.md b/ocr/french/net/text-recognition/_index.md index 1b27348f2..61070d352 100644 --- a/ocr/french/net/text-recognition/_index.md +++ b/ocr/french/net/text-recognition/_index.md @@ -49,15 +49,26 @@ Améliorez vos applications .NET avec Aspose.OCR pour une reconnaissance précis Explorez Aspose.OCR pour .NET, une solution OCR puissante pour une reconnaissance transparente du texte dans les images. ### [Obtenir le résultat au format JSON dans la reconnaissance d'image OCR](./get-result-as-json/) Libérez la puissance d’Aspose.OCR pour .NET. Apprenez à obtenir des résultats OCR au format JSON sans effort. Améliorez votre reconnaissance d'image avec ce guide étape par étape. +### [Reconnaître du texte à partir d'une image en C# – Guide complet Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Libérez le potentiel d'Aspose OCR pour .NET en reconnaissant le texte à partir d'images en C#. Suivez notre guide complet pour une intégration fluide. ### [Mode de détection de zones OCR dans la reconnaissance d'images OCR](./ocr-detect-areas-mode/) Améliorez vos applications .NET avec Aspose.OCR pour une reconnaissance efficace du texte des images. Explorez le mode de détection des zones OCR pour des résultats précis. ### [Reconnaître un PDF dans la reconnaissance d'images OCR](./recognize-pdf/) Libérez le potentiel de l’OCR dans .NET avec Aspose.OCR. Extrayez le texte des PDF sans effort. Téléchargez-le maintenant pour une expérience d'intégration transparente. ### [Reconnaître la table dans la reconnaissance d'images OCR](./recognize-table/) Libérez le potentiel d'Aspose.OCR pour .NET avec notre guide complet sur la reconnaissance des tableaux dans la reconnaissance d'images OCR. +### [Reconnaître du texte Hindi en C# – Guide complet Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Libérez le potentiel d'Aspose OCR pour .NET en reconnaissant le texte Hindi en C#. Suivez notre guide complet pour une intégration fluide. +### [Comment créer un ePub à partir d'images en C# – Guide étape par étape](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Apprenez à générer un fichier ePub à partir d'images en C# grâce à notre guide détaillé étape par étape. +### [Extraire du texte à partir d'un PNG en C# – Guide complet OCR](./extract-text-from-png-in-c-full-ocr-guide/) +Libérez le potentiel d'Aspose.OCR pour .NET en extrayant du texte depuis des fichiers PNG. Suivez notre guide complet pour une intégration fluide. +### [Comment utiliser l'OCR en C# – Extraire du texte depuis des images hors ligne](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Libérez le potentiel d'Aspose.OCR pour .NET en extrayant du texte depuis des images hors ligne. Suivez notre guide complet pour une intégration fluide. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/french/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..8c94bedb3 --- /dev/null +++ b/ocr/french/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,256 @@ +--- +category: general +date: 2026-03-07 +description: Extrayez du texte à partir de fichiers PNG en utilisant C#. Apprenez + comment convertir une image en texte avec C# et lire rapidement le texte des images + numérisées. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: fr +og_description: Extraire du texte à partir de fichiers PNG avec C#. Ce guide montre + comment convertir une image en texte en C# et lire le texte à partir d'images numérisées + avec Aspose OCR. +og_title: Extraire du texte d’un PNG en C# – Guide complet d’OCR +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Extraire du texte d’un PNG en C# – Guide complet d’OCR +url: /fr/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraire du texte d'un PNG en C# – Guide complet d'OCR + +Vous avez déjà eu besoin d'**extract text from PNG** mais vous ne saviez pas par où commencer ? Vous n'êtes pas seul — la plupart des développeurs rencontrent ce problème lorsqu'ils sont confrontés à des graphiques numérisés ou à des captures d'écran qu'il faut rendre recherchables. Bonne nouvelle : avec quelques lignes de C# et Aspose OCR, vous pouvez transformer n'importe quel PNG en chaînes éditables en un clin d'œil. + +Dans ce tutoriel, nous parcourrons l’ensemble du processus : de la localisation des PNG sur le disque, au lancement de tâches OCR en parallèle, jusqu'à l’affichage d’un aperçu propre de chaque résultat. À la fin, vous saurez comment **convert image to text C#**, vous pourrez **read text from scanned images** efficacement, et vous verrez la meilleure façon de **run OCR on images** sans bloquer votre thread UI. + +## Ce dont vous avez besoin + +- .NET 6.0 ou version ultérieure (le code fonctionne aussi avec .NET Core et .NET Framework) +- Package NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- Un dossier rempli de fichiers *.png* que vous souhaitez traiter +- L'IDE de votre choix (Visual Studio, VS Code, Rider…) + +Aucune configuration supplémentaire n’est requise ; la bibliothèque inclut tout le nécessaire pour décoder PNG, JPEG, TIFF, etc. + +## Étape 1 : Localiser tous les fichiers PNG – le début de “Extract Text from PNG” + +Tout d’abord, nous devons trouver chaque PNG sur lequel nous allons exécuter l’OCR. `Directory.GetFiles` est rapide et fiable. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Pourquoi c’est important :* Balayer le répertoire une seule fois simplifie le reste du pipeline, et la vérification précoce évite une situation silencieuse de « no‑output » difficile à déboguer plus tard. + +## Étape 2 : Lancer des tâches OCR parallèles – **run OCR on images** efficacement + +Exécuter l’OCR séquentiellement suffit pour quelques fichiers, mais les projets réels traitent souvent des dizaines ou des centaines d’images. En lançant une `Task` par image, on garde le CPU occupé pendant que la bibliothèque effectue le travail lourd. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Astuce :* `Task.Run` délègue le travail au pool de threads, ce qui signifie que votre UI (si vous en avez une) reste réactive. Sur un serveur, le même schéma se met à l’échelle facilement sur plusieurs cœurs. + +## Étape 3 : Attendre toutes les tâches – Rassembler les résultats + +Nous attendons maintenant que chaque opération OCR se termine. `Task.WhenAll` renvoie un tableau aligné avec l’ordre original des fichiers, ce qui facilite l’association des résultats aux noms de fichiers. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Note sur les cas limites :* Si une image lève une exception (fichier corrompu, format non supporté), le `WhenAll` entier propagera l’exception. Vous pouvez envelopper le `Task.Run` interne dans un try/catch et renvoyer une chaîne vide ou un message diagnostique si vous avez besoin de tolérance aux fautes. + +## Étape 4 : Afficher un aperçu – Vérifier la sortie de **convert image to text C#** + +Un aperçu rapide vous aide à confirmer que l’OCR a fonctionné avant d’enregistrer les données ailleurs. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Un affichage typique dans la console ressemble à : + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Si l’aperçu montre du charabia, revérifiez la qualité de l’image ou envisagez un pré‑traitement (par ex., binarisation) – mais pour la plupart des PNG propres, Aspose OCR obtient le bon résultat du premier coup. + +## Optionnel : Enregistrer les résultats dans un CSV – Cas d’utilisation réel + +La plupart des projets ont besoin du texte extrait sous forme structurée. Voici un petit helper qui écrit le nom de fichier et le texte OCR complet dans un fichier CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Vous pouvez maintenant importer le CSV dans Excel, Power BI ou tout autre système en aval qui attend **read text from scanned images**. + +## FAQ + +**Et si mes PNG sont volumineux (plus de 5 Mo) ?** +Aspose OCR redimensionne automatiquement les grandes images pour garder la consommation mémoire raisonnable, mais vous pouvez redimensionner manuellement avec `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` pour limiter la largeur à 2000 px tout en conservant le ratio. + +**Puis‑je exécuter cela sous Linux ?** +Oui. Aspose OCR est multiplateforme ; assurez‑vous simplement que les dépendances natives (`libgdiplus` sur certaines distributions) sont installées. + +**La langue OCR est‑elle anglaise par défaut ?** +Exactement. Si vous avez besoin d’une autre langue, définissez `engine.Language = OcrLanguage.French;` (ou tout autre enum supporté) avant d’appeler `Recognize()`. + +**Comment gérer les PDF protégés par mot de passe contenant des PNG ?** +Convertissez d’abord les pages PDF en images (avec Aspose PDF ou une autre bibliothèque), puis alimentez ces PNG dans le même pipeline. Le principe de **how to run OCR on images** reste identique. + +## Exemple complet (Async Main) + +Voici un programme autonome que vous pouvez copier‑coller dans un projet console. Il inclut toutes les pièces présentées plus haut, ainsi qu’un petit helper pour valider le dossier d’entrée. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Sortie attendue** (exemple pour deux PNG) : + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Conclusion + +Nous venons de couvrir tout ce qu’il faut pour **extract text from PNG** avec C#. De la localisation des fichiers, au lancement de jobs OCR parallèles, en passant par l’aperçu des chaînes et leur persistance dans un CSV — ce guide fournit un modèle prêt pour la production dans les scénarios **convert image to text C#**. + +Si vous êtes prêt pour l’étape suivante, essayez d’alimenter le même pipeline avec des fichiers JPEG ou TIFF, expérimentez différentes langues OCR, ou intégrez les résultats à un index de recherche afin de **read text from scanned images** instantanément. + +Des questions sur les cas limites, l’optimisation des performances ou la licence ? Laissez un commentaire ou contactez la communauté Aspose—bon codage ! + +![Exemple d'extraction de texte à partir de PNG](extract-text-png.png "Extraction de texte à partir de PNG avec Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/french/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..8ee21404f --- /dev/null +++ b/ocr/french/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Comment créer un ePub à partir d'images numérisées avec Aspose OCR – + apprenez à convertir une image en ePub, extraire le texte d’une image, ajouter un + auteur à l’ePub et charger une image pour l’OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: fr +og_description: Comment créer un ePub à partir d'images numérisées en C#. Ce tutoriel + vous montre comment convertir une image en ePub, extraire le texte d’une image, + ajouter un auteur à l’ePub et charger l’image pour l’OCR. +og_title: Comment créer un ePub à partir d'images en C# – Guide complet +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Comment créer un ePub à partir d'images en C# – Guide étape par étape +url: /fr/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment créer un ePub à partir d'images en C# – Guide complet + +Vous vous êtes déjà demandé **comment créer un ePub** à partir d’une collection de pages numérisées ? Peut‑être avez‑vous quelques PNG d’un roman classique et vous aimeriez les transformer en un ePub propre que vous pouvez lire sur n’importe quel appareil. Bonne nouvelle : avec Aspose OCR, vous pouvez **charger l’image pour l’OCR**, extraire le texte, puis **convertir l’image en ePub** en quelques lignes de C#. + +Dans ce tutoriel, nous passerons en revue l’ensemble du pipeline : chargement de l’image, extraction du texte, ajout de quelques métadonnées (oui, nous allons **ajouter l’auteur à l’ePub**), et enfin écriture d’un fichier ePub conforme aux standards. À la fin, vous disposerez d’un ePub prêt à publier et d’une compréhension solide de chaque étape, afin de pouvoir adapter le code pour des livres multi‑pages, des polices personnalisées ou même une distribution sans DRM. + +## Ce dont vous avez besoin + +- **.NET 6** ou version ultérieure (l’API fonctionne également avec .NET Standard 2.0+) +- **Aspose.OCR for .NET** – vous pouvez obtenir une version d’essai gratuite sur le site d’Aspose. +- Une image numérisée comme `book_page.png` placée quelque part sur le disque. +- Un IDE préféré (Visual Studio, Rider ou VS Code – j’utiliserai Visual Studio dans les captures d’écran). + +Aucun package NuGet supplémentaire n’est requis ; Aspose.OCR regroupe tout ce dont vous avez besoin pour l’export ePub. + +--- + +![Comment créer un ePub à partir d’une image numérisée](/images/how-to-create-epub.png "Comment créer un ePub à partir d’une image numérisée avec Aspose OCR") + +## Étape 1 – Configurer le projet et installer Aspose.OCR + +Première chose à faire. Créez une nouvelle application console : + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Ajoutez le package Aspose.OCR : + +```bash +dotnet add package Aspose.OCR +``` + +C’est tout – la bibliothèque inclut à la fois les capacités d’OCR et d’export ePub, vous n’aurez donc besoin d’aucune dépendance supplémentaire. + +## Étape 2 – Charger l’image pour l’OCR + +Avant de pouvoir **extraire le texte de l’image**, il faut fournir quelque chose à lire au moteur OCR. L’assistant `ImageStream.FromFile` rend cela trivial : + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Astuce :** Si votre image se trouve dans une ressource incorporée, utilisez `ImageStream.FromResource` au lieu de `FromFile`. + +## Étape 3 – Extraire le texte de l’image + +Maintenant le moteur lit réellement les pixels et les transforme en chaînes Unicode. La méthode `Recognize` fait le gros du travail. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Pourquoi appeler `Recognize` séparément ? Cela vous permet d’inspecter la sortie brute de l’OCR, d’ajuster les paramètres de langue ou même d’exécuter une vérification orthographique avant de passer à la création de l’ePub. + +## Étape 4 – Préparer les options d’export ePub (Ajouter l’auteur à l’ePub) + +Créer un ePub soigné ne consiste pas seulement à déposer du texte ; il faut également des métadonnées correctes. La classe `EpubExportOptions` vous offre un moyen propre d’**ajouter l’auteur à l’ePub**, de définir un titre et de décider d’inclure ou non les images originales. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Si vous avez plusieurs pages, vous pouvez continuer à appeler `ocrEngine.Image = …` et `ocrEngine.Recognize()` dans une boucle ; chaque appel ajoute le contenu de la nouvelle page au même document ePub. + +## Étape 5 – Convertir l’image en ePub et exporter + +Avec le texte extrait et les métadonnées définies, l’étape finale se résume à une seule ligne qui écrit le fichier ePub sur le disque : + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Le `book.epub` résultant peut être ouvert dans Calibre, Apple Books ou tout lecteur compatible EPUB. Parce que nous avons défini `IncludeImages = true`, le PNG original apparaîtra comme une page image, préservant l’aspect de la source numérisée. + +## Exemple complet fonctionnel + +En rassemblant le tout, voici le programme complet, prêt à être exécuté : + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Sortie attendue + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Ouvrez `book.epub` dans votre lecteur préféré et vous verrez une page de titre, la ligne d’auteur (même si elle indique « Unknown »), ainsi que l’image numérisée affichée à côté du texte sélectionnable. + +## Questions fréquentes & cas particuliers + +### Et si la langue de l’OCR n’est pas l’anglais ? + +Aspose.OCR prend en charge plus de 70 langues. Il suffit de définir la propriété `Language` avant d’appeler `Recognize` : + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Comment gérer les livres multi‑pages ? + +Enveloppez la logique de chargement/reconnaissance dans une boucle `foreach` : + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Chaque itération ajoute le texte nouvellement reconnu au même ePub, en conservant l’ordre des pages. + +### Puis‑je exclure les images originales ? + +Bien sûr – définissez `IncludeImages = false` dans `EpubExportOptions`. L’ePub résultant sera alors du texte purement réflowable, ce qui réduit considérablement la taille du fichier. + +### Qu’en est‑il des polices ou du style personnalisés ? + +L’exportateur ePub d’Aspose.OCR vous permet de fournir une feuille de style CSS via la propriété `Css` de `EpubExportOptions`. Ainsi, vous pouvez imposer une famille de polices spécifique, une hauteur de ligne ou des marges particulières. + +## Conclusion + +Vous savez maintenant **comment créer un ePub** à partir d’une image numérisée en utilisant Aspose OCR en C#. Le tutoriel a couvert tout le processus, de **charger l’image pour l’OCR**, à **extraire le texte de l’image**, en passant par **ajouter l’auteur à l’ePub**, jusqu’à **convertir l’image en ePub** avec un appel d’export unique. Avec le code complet en main, vous pouvez étendre la solution pour traiter par lots des bibliothèques entières, injecter une couverture personnalisée, ou même intégrer le flux de travail dans une API web. + +Prêt pour le prochain défi ? Essayez de convertir un PDF en ePub, ou expérimentez les seuils de confiance de l’OCR pour améliorer la précision sur des numérisations bruyantes. Le ciel est la limite quand vous combinez un OCR puissant avec une génération d’ePub flexible. + +Bon codage, et bonne lecture de votre ePub fraîchement créé ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/french/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..45465b802 --- /dev/null +++ b/ocr/french/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-07 +description: Apprenez à utiliser l’OCR en C# pour extraire du texte à partir de fichiers + image. Ce guide montre l’OCR hors ligne, la conversion d’image en texte et le chargement + d’image pour l’OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: fr +og_description: Comment utiliser l'OCR en C# pour extraire du texte d'images hors + ligne. Code étape par étape, astuces et explication complète pour convertir une + image en texte. +og_title: Comment utiliser l'OCR en C# – Guide complet hors ligne +tags: +- OCR +- C# +- Aspose +title: Comment utiliser l'OCR en C# – Extraire du texte d'images hors ligne +url: /fr/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Comment utiliser l'OCR en C# – Extraire du texte d'images hors ligne + +Vous vous êtes déjà demandé **comment utiliser l'OCR** dans un projet .NET sans envoyer les données vers le cloud ? Vous n'êtes pas seul. De nombreux développeurs doivent *extraire du texte d'images* sur une station de travail sécurisée, et ils craignent que le trafic réseau n'expose des informations sensibles. + +Bonne nouvelle ? Avec Aspose.OCR, vous pouvez reconnaître du texte à partir de PNG, JPEG ou PDF entièrement hors ligne. Dans ce tutoriel, nous allons parcourir le chargement d'une image pour l'OCR, la configuration du moteur en mode hors ligne, et enfin **convertir une image en texte** avec seulement quelques lignes de C#. + +À la fin de ce guide, vous serez capable de : + +* Installer le package NuGet Aspose.OCR. +* Configurer le moteur OCR pour le traitement hors ligne. +* Charger une image pour l'OCR et extraire son contenu textuel. + +Aucun service externe, aucune clé API — juste du code C# pur qui s'exécute sur n'importe quelle machine Windows ou Linux. + +--- + +## Prérequis + +Avant de plonger, assurez‑vous d'avoir : + +* .NET 6.0 SDK ou ultérieur (le code fonctionne également avec .NET Framework 4.7+). +* Visual Studio 2022, VS Code, ou tout éditeur supportant C#. +* Une copie de la bibliothèque **Aspose.OCR** – vous pouvez la récupérer depuis NuGet (`Aspose.OCR`). +* Un dossier de ressources OCR (`Resources`) fourni avec la bibliothèque (contient les fichiers de données linguistiques). +* Une image d'exemple (par ex. `offline_test.png`) placée dans un répertoire connu. + +> **Astuce :** Conservez le dossier de ressources à côté de votre exécutable ; cela simplifie la configuration de `ResourcesPath`. + +--- + +## Étape 1 : Installer le package NuGet Aspose.OCR + +Tout d'abord, ajoutez la bibliothèque à votre projet. Ouvrez un terminal dans le dossier du projet et exécutez : + +```bash +dotnet add package Aspose.OCR +``` + +Ou, si vous préférez l'interface Visual Studio, faites un clic droit sur **Dependencies → Manage NuGet Packages**, recherchez *Aspose.OCR*, et cliquez sur **Install**. + +> L'installation du package récupère toutes les binaires nécessaires, vous n'aurez donc besoin d'aucune DLL supplémentaire. + +--- + +## Étape 2 : Créer et configurer le moteur OCR (Comment utiliser l'OCR – Mode hors ligne) + +Nous allons maintenant instancier le moteur OCR et lui indiquer de fonctionner **hors ligne**. Cela garantit qu'aucun trafic réseau ne se produit pendant la reconnaissance. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Pourquoi hors ligne ?** +Lorsque `EngineMode` est réglé sur `Online`, le moteur contacte le cloud d'Aspose pour télécharger les packs de langues à la volée. Dans les environnements réglementés (finance, santé), ce trafic est souvent interdit. En imposant le mode hors ligne, vous garantissez que tout reste sur la machine locale. + +--- + +## Étape 3 : Pointer le moteur vers le dossier de ressources OCR + +Le moteur OCR a besoin de données linguistiques (modèles entraînés) pour reconnaître les caractères. Indiquez‑lui où ces fichiers se trouvent : + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Si vous ne savez pas où se trouve le dossier, cherchez‑le dans le répertoire du package NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Copiez le dossier complet dans votre projet pour faciliter le déploiement. + +--- + +## Étape 4 : Charger l'image pour l'OCR (Load Image for OCR) + +Vous pouvez fournir au moteur n'importe quel bitmap supporté. Ici, nous chargerons un PNG stocké sur le disque : + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Astuce :** Si vous devez traiter des images depuis un flux (par ex. téléchargées via une API), utilisez `ImageStream.FromStream(yourStream)` à la place. + +--- + +## Étape 5 : Exécuter le processus de reconnaissance et convertir l'image en texte + +Une fois tout en place, déclenchez l'OCR. La méthode `Recognize()` effectue le travail lourd, et le texte extrait devient disponible via la propriété `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Étape 6 : Afficher le texte extrait + +Enfin, affichez le résultat. Dans une application console, vous pouvez simplement écrire dans la console, mais dans une API web vous renverrez la chaîne en JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +L'exécution du programme devrait afficher le contenu textuel de `offline_test.png`. Par exemple, si l'image contient la phrase *« Hello, World! »*, vous verrez : + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Exemple complet fonctionnel + +Ci-dessous le programme complet, prêt à être exécuté. Copiez‑collez‑le dans un nouveau projet console (`dotnet new console`) et ajustez les chemins pour correspondre à votre environnement. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Sortie attendue :** La console imprime le texte exact contenu dans le fichier PNG. Si l'image est floue, le résultat peut contenir des caractères mal reconnus — consultez la section dépannage ci‑dessous. + +--- + +## Pièges courants & astuces (Reconnaître du texte à partir de PNG efficacement) + +| Problème | Pourquoi cela se produit | Comment résoudre | +|----------|--------------------------|-------------------| +| **Sortie vide** | `ResourcesPath` pointe vers le mauvais dossier ou les fichiers de langue sont manquants. | Vérifiez que le dossier contient `eng.traineddata` (ou d'autres fichiers de langue) et revérifiez la chaîne du chemin. | +| **Caractères indésirables** | La résolution de l'image est trop basse ou l'image n'est pas binarisée. | Pré‑traitez l'image (augmentez le DPI, appliquez `ImageProcessor` pour affiner). | +| **Ralentissement des performances** | Les grandes images sont traitées à pleine résolution. | Redimensionnez l'image à une largeur maximale de 2000 px avant de la fournir à l'OCR. | +| **Format non pris en charge** | Utilisation d'un BMP avec un format de pixel inhabituel. | Convertissez d'abord l'image en PNG ou JPEG (`System.Drawing.Image.Save`). | + +**Astuce :** Si vous devez reconnaître plusieurs langues, définissez `ocrEngine.Settings.Language = Language.English | Language.French;` avant d'appeler `Recognize()`. + +--- + +## Questions fréquentes + +**Q : Puis-je utiliser ce code sous Linux ?** +Absolument. Aspose.OCR est multiplateforme ; assurez‑vous simplement que les bibliothèques natives sont présentes (elles sont incluses dans le package NuGet). + +**Q : Et si je n’ai pas de dossier Resources ?** +Vous pouvez télécharger les packs de langues gratuits depuis le site d'Aspose ou les extraire du package NuGet (`.../aspose.ocr//resources`). + +**Q : Existe‑t‑il un moyen d’obtenir les scores de confiance ?** +Oui. Après `Recognize()`, inspectez `ocrEngine.RecognizedWords` – chaque mot inclut une propriété `Confidence`. + +--- + +## Conclusion + +Nous avons couvert **comment utiliser l'OCR** en C# pour *extraire du texte d'images* entièrement hors ligne. En installant Aspose.OCR, en configurant `EngineMode.Offline`, en pointant vers les ressources, en chargeant une image et en appelant `Recognize()`, vous pouvez de manière fiable **convertir une image en texte** sans jamais toucher à Internet. + +Prenez le code ci‑dessus, remplacez les chemins d’image par les vôtres, et commencez à créer des fonctionnalités comme des PDF recherchables, l’automatisation de la saisie de données ou des outils d’accessibilité. Ensuite, vous pourriez explorer **reconnaître du texte à partir de PNG** en masse, ou intégrer le moteur dans une API ASP.NET Core pour fournir les résultats OCR aux applications front‑end. + +Bon codage, et n’hésitez pas à expérimenter — l'OCR est étonnamment indulgent une fois le moteur correctement configuré ! + +--- + +![Diagramme montrant le flux de travail OCR hors ligne – comment utiliser l'OCR dans un environnement sécurisé](https://example.com/ocr-workflow.png "diagramme comment utiliser l'OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/french/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..f582ac8c6 --- /dev/null +++ b/ocr/french/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Apprenez à reconnaître le texte hindi et à charger une image pour l’OCR + en utilisant Aspose.OCR en C#. Configuration étape par étape, code et conseils. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: fr +og_description: Découvrez comment reconnaître le texte hindi avec Aspose OCR en C#. + Inclut le chargement d’image pour l’OCR, la configuration du pack de langues et + des conseils de bonnes pratiques. +og_title: Reconnaître le texte hindi – Tutoriel complet Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: Reconnaître le texte hindi en C# – Guide complet d'Aspose OCR +url: /fr/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Reconnaître le texte hindi – Tutoriel complet Aspose OCR + +Vous avez déjà eu besoin de **reconnaître du texte hindi** à partir d'un reçu numérisé mais vous ne saviez pas par où commencer ? Vous n'êtes pas seul. Dans de nombreuses applications axées sur l'Inde, extraire les caractères hindi de manière fiable peut ressembler à poursuivre une cible en mouvement. Heureusement, Aspose.OCR rend cela très simple—une fois que vous connaissez les bonnes étapes pour **load image for OCR** et que vous pointez le moteur vers les ressources linguistiques hindi. + +Dans ce guide, nous passerons en revue tout ce dont vous avez besoin pour obtenir un pipeline OCR fonctionnel en C#. À la fin, vous disposerez d'un programme exécutable qui télécharge le pack de langue hindi, charge une image, exécute la reconnaissance et affiche le texte résultant dans la console. Pas de liens vagues du type « voir la documentation »—juste une solution autonome que vous pouvez intégrer à n'importe quel projet .NET. + +## Ce dont vous avez besoin + +- **.NET 6+** (ou .NET Framework 4.7.2+). L'API est la même sur toutes les versions, mais le runtime plus récent offre de meilleures performances. +- **Aspose.OCR for .NET** package NuGet. Installez-le avec `dotnet add package Aspose.OCR`. +- Un **Hindi language pack** – Aspose le fournit comme ressource téléchargeable, non inclus par défaut. +- Un fichier image contenant du texte hindi (par ex. `hindi_receipt.jpg`). Tout format courant (JPG, PNG, BMP) fonctionne. +- Un IDE décente (Visual Studio, Rider ou VS Code). + +C’est tout—pas de moteurs OCR externes, pas de clés cloud, juste une bibliothèque locale. + +## Étape 1 : Télécharger le pack de langue hindi – Configurer les ressources + +Avant que le moteur OCR puisse comprendre les caractères devanagari, vous devez récupérer les ressources linguistiques hindi. Il s'agit d'une opération unique, généralement effectuée lors de l'installation de l'application ou du CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Pourquoi c'est important :** Le moteur OCR s'appuie sur des modèles spécifiques à chaque langue pour mapper les motifs de pixels aux caractères Unicode. Sans le pack hindi, vous obtiendrez une sortie latine illisible ou rien du tout. + +> **Astuce :** Mettez le pack en cache dans un dossier accessible en écriture sur la machine cible. Si vous déployez sur Azure App Service, utilisez le dossier `D:\home\site\wwwroot\Resources`. + +## Étape 2 : Configurer le moteur OCR – Pointer vers les ressources + +Maintenant que les ressources sont en place, créez une instance `OcrEngine` et indiquez-lui où chercher les fichiers de langue. C’est également ici que nous définissons la **primary language** pour la reconnaissance. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Pourquoi nous faisons cela :** `ResourcesPath` est le pont entre le moteur et les fichiers téléchargés. Si vous sautez cette étape, le moteur reviendra à ses modèles intégrés (anglais uniquement), et vous ne pourrez pas **recognize Hindi text** correctement. + +## Étape 3 : Charger l'image pour l'OCR – Fournir la bonne entrée au moteur + +Avec le moteur prêt, l'étape suivante consiste à **load image for OCR**. Aspose fournit un utilitaire pratique `ImageStream.FromFile` qui prend en charge la plupart des formats d'image courants. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Pièges courants :** +- **Large images** peuvent ralentir le traitement. Si vous traitez des scans haute résolution, envisagez de réduire d'abord la taille (`ImageProcessor.Resize`). +- **Incorrect orientation** (scans tournés) entraînera de mauvais résultats. Utilisez `ocrEngine.Image.Rotate(90)` si nécessaire. + +## Étape 4 : Exécuter la reconnaissance – Extraire le texte + +Nous demandons maintenant réellement au moteur de lire les pixels et de les transformer en chaînes Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Ce à quoi s'attendre :** Si l'image est claire, vous devriez voir les caractères hindi affichés exactement comme ils apparaissent sur le reçu. Par exemple, un reçu d'exemple pourrait afficher : + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Si vous obtenez du charabia, vérifiez que le pack de langue a bien été téléchargé et que `ocrEngine.Settings.Language` est réglé sur `Language.Hindi`. + +## Étape 5 : Tout assembler – Programme complet et exécutable + +Ci-dessous le fichier source complet que vous pouvez copier‑coller dans un projet console. Il inclut toutes les étapes précédentes, ainsi qu’une gestion minimale des erreurs. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Enregistrez-le sous le nom `Program.cs`, exécutez `dotnet run`, et vous devriez voir le texte hindi affiché dans la console. + +## Questions fréquemment posées (FAQ) + +### Puis-je reconnaître plusieurs langues en une seule exécution ? + +Oui. Définissez `ocrEngine.Settings.Language` sur un tableau, par ex. `new[] { Language.Hindi, Language.English }`. Le moteur tentera de détecter les caractères des deux scripts. + +### Que faire si mon image est floue ? + +Envisagez un pré‑traitement avec `ImageProcessor` — appliquez un renforcement ou une amélioration du contraste avant de l'assigner à `ocrEngine.Image`. + +### Cela fonctionne-t-il sur Linux/macOS ? + +Absolument. Aspose.OCR est multiplateforme ; assurez‑vous simplement que les dépendances natives sont présentes (généralement incluses avec le package NuGet). + +### Comment améliorer la précision pour les reçus à basse résolution ? + +Augmentez le DPI (points par pouce) lors de la numérisation, ou rééchantillonnez l'image programmatiquement à au moins 300 DPI avant l'OCR. + +## Conclusion + +Nous avons couvert tout ce dont vous avez besoin pour **recognize Hindi text** avec Aspose.OCR—du téléchargement du pack de langue hindi, à la configuration du moteur, en passant par le **load image for OCR** correct, jusqu'à l'extraction et l'affichage du résultat. L'extrait de code complet ci‑dessus est prêt à être intégré dans n'importe quelle application console C#, et les conseils optionnels vous aident à gérer les cas courants comme les scans flous ou les documents multilingues. + +Prêt pour l'étape suivante ? Essayez d'alimenter la sortie OCR dans une API de traduction, ou stockez les données extraites dans une base de données pour l'analyse. Vous pouvez également expérimenter d'autres langues indiennes—Aspose prend en charge le tamoul, le bengali et plus encore—en remplaçant `Language.Hindi` par la valeur d'énumération souhaitée. + +Bon codage, et que vos résultats OCR soient toujours nets ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/french/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/french/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..4f3c4f09f --- /dev/null +++ b/ocr/french/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Reconnaître le texte d’une image rapidement avec Aspose OCR. Apprenez + comment convertir le DJVU en texte, extraire le texte d’une image et charger l’image + pour l’OCR dans un tutoriel C# étape par étape. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: fr +og_description: Reconnaître le texte à partir d'une image en C# avec Aspose OCR. Ce + guide montre comment convertir un djvu en texte, extraire le texte d'une image et + charger une image pour l'OCR avec des conseils pratiques. +og_title: reconnaître le texte à partir d'une image – Tutoriel complet C# Aspose OCR +tags: +- C# +- Aspose OCR +- Document Processing +title: Reconnaître le texte à partir d'une image en C# – Guide complet Aspose OCR +url: /fr/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconnaître du texte à partir d'une image – Tutoriel complet C# Aspose OCR + +Vous avez déjà eu besoin de **reconnaître du texte à partir d'une image** mais vous n'étiez pas sûr de la bibliothèque qui vous donnerait des résultats fiables ? Vous n'êtes pas seul. Que vous manipuliez des factures numérisées, des fichiers DJVU historiques, ou une simple capture d'écran PNG, extraire les caractères exacts peut ressembler à déchiffrer un texte ancien. + +Voici le point—Aspose OCR rend tout le processus un jeu d'enfant. Dans ce guide, nous allons parcourir comment **convert djvu to text**, **extract text from image**, et **load image for OCR** à l'aide d'un programme C# concis. À la fin, vous disposerez d'une application console exécutable qui affiche la chaîne reconnue dans la console, et vous comprendrez le « pourquoi » de chaque ligne. + +## Ce que vous allez apprendre + +- Comment configurer le moteur Aspose OCR dans un projet .NET. +- Le code exact nécessaire pour **load image for OCR** à partir d'un fichier DJVU. +- Pourquoi vous devez appeler `Recognize()` avant de lire `Text`. +- Pièges courants (DJVU multi‑pages, formats non pris en charge) et comment les éviter. +- Méthodes rapides pour **convert djvu to text** en traitement par lots. + +Tout ce dont vous avez besoin est un SDK .NET récent (≥ 6.0) et une licence Aspose OCR (l'essai gratuit fonctionne pour les tests). Aucun service externe, aucun appel REST—juste du pur C#. + +## Prérequis + +| Exigence | Raison | +|----------|--------| +| .NET 6 SDK ou version ultérieure | Fonctionnalités modernes du langage et meilleures performances. | +| Package NuGet Aspose.OCR (`Install-Package Aspose.OCR`) | Fournit la classe `OcrEngine` que nous utiliserons. | +| Un fichier DJVU (par ex., `sample.djvu`) | Illustre **convert djvu to text**. | +| Familiarité de base avec les applications console C# | Facilite le déroulement naturel des étapes. | + +Si l'une de ces exigences manque, faites une pause et installez‑les maintenant ; sinon le code ne compilera pas. + +## Étape 1 – Installer Aspose.OCR et créer le projet + +Tout d'abord, créez un nouveau projet console et ajoutez la bibliothèque OCR. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Astuce :* Utilisez le drapeau `--framework net6.0` si vous souhaitez verrouiller explicitement le framework cible. + +## Étape 2 – Initialiser le moteur OCR et charger l'image DJVU + +Le moteur a besoin d'une source d'image. Aspose.OCR peut lire de nombreux formats, y compris DJVU, nous le pointons donc simplement vers le chemin du fichier. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Pourquoi c'est important :** +- `OcrEngine` est le point d'entrée ; le créer une fois et le réutiliser réduit la consommation de mémoire. +- `ImageStream.FromFile` abstrait le format du fichier, vous permettant de remplacer plus tard le fichier DJVU par un PNG ou TIFF sans modifier aucun autre code—idéal pour « how to extract text from image » dans différents scénarios. + +## Étape 3 – Exécuter le processus de reconnaissance + +Appeler `Recognize()` déclenche le traitement intensif. En interne, Aspose exécute un classificateur basé sur un réseau neuronal qui fonctionne à la fois sur du texte imprimé et manuscrit. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Note de cas particulier :* Si votre DJVU contient plusieurs pages, `ImageStream.FromFile` ne charge toujours que la première page. Pour traiter toutes les pages, vous devez boucler sur `ImageStream.FromFile(...).Pages`. Pour la plupart des tâches d'examen rapide, la première page suffit. + +## Étape 4 – Récupérer et afficher le texte reconnu + +Après la reconnaissance, le moteur remplit la propriété `Text` avec une chaîne en texte brut. Vous pouvez maintenant l'écrire dans la console, dans un fichier, ou la transmettre à un autre système. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Un exemple de sortie ressemble à : + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Si la sortie est illisible, vérifiez que l'image source n'est pas de faible résolution ; Aspose recommande 300 dpi ou plus pour une précision optimale. + +## Exemple complet fonctionnel + +En réunissant tous les éléments, voici un fichier unique (`Program.cs`) que vous pouvez coller dans le projet créé précédemment. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Exécutez-le avec : + +```bash +dotnet run +``` + +Vous devriez voir la chaîne extraite affichée dans le terminal. C'est la façon la plus simple de **recognize text from image** avec Aspose OCR. + +## Étape 5 – Avancé : conversion de plusieurs pages DJVU en fichiers texte + +Si vous devez **convert djvu to text** en masse, étendez le code précédent avec une boucle : + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Pourquoi cela fonctionne :* `GetPage(i)` renvoie un objet `Image` pour la page demandée, vous permettant de réutiliser la même instance `OcrEngine`. Le texte de chaque page est enregistré dans son propre fichier `.txt`, vous offrant un pipeline **convert djvu to text** propre. + +## Questions fréquentes & pièges + +- **Puis-je extraire du texte d'un JPEG au lieu d'un DJVU ?** + Absolument. Il suffit de changer l'extension du fichier dans `FromFile`. Le même code **how to extract text from image** s'applique car Aspose abstrait le format. + +- **Que faire si le résultat OCR contient des sauts de ligne supplémentaires ?** + Utilisez `String.Replace("\r\n", " ")` ou une expression régulière pour normaliser les espaces blancs. + +- **Ai‑je besoin d'une licence pour une utilisation en production ?** + L'essai gratuit fonctionne jusqu'à 100 pages. Pour une utilisation illimitée, achetez une licence et appelez `License license = new License(); license.SetLicense("Aspose.OCR.lic");` avant de créer le moteur. + +- **Le moteur est‑il thread‑safe ?** + Non. Créez un `OcrEngine` distinct par thread ou protégez l'accès avec un verrou. + +## Conseils pour une meilleure précision + +1. **Augmenter le DPI** – Si vous contrôlez la conversion source, générez les images à 300 dpi ou plus. +2. **Pré‑traiter l'image** – Une binarisation simple (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) peut améliorer les résultats sur des numérisations bruyantes. +3. **Spécifier la langue** – `ocrEngine.Language = Language.English;` restreint le jeu de caractères et accélère la reconnaissance. + +## Conclusion + +Vous disposez maintenant d'un exemple complet, prêt à l'exécution, qui **recognize text from image** avec Aspose OCR, et vous avez vu comment **convert djvu to text**, **how to extract text from image**, et la bonne façon de **load image for OCR**. Le code est autonome, fonctionne sur n'importe quel runtime .NET 6+, et peut être étendu pour traiter par lots des documents DJVU multi‑pages. + +Ensuite, vous pourriez explorer : + +- Ajouter la **détection de langue** pour les fichiers DJVU multilingues. +- Intégrer la sortie OCR à un index de recherche (par ex., Elasticsearch). +- Utiliser la conversion PDF d'Aspose pour transformer le texte extrait en PDF recherchables. + +Essayez-le, ajustez le DPI, expérimentez différents formats d'image, et laissez le moteur OCR faire le travail lourd pour vous. Bon codage ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/ocr-configuration/_index.md b/ocr/german/net/ocr-configuration/_index.md index 2f940176d..fcdd2c6a3 100644 --- a/ocr/german/net/ocr-configuration/_index.md +++ b/ocr/german/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ Entfesseln Sie die Leistungsfähigkeit der OCR-Bilderkennung in .NET mit Aspose. Entfesseln Sie leistungsstarke OCR-Funktionen mit Aspose.OCR für .NET. Extrahieren Sie nahtlos Text aus Bildern. ### [OCROperation with List in OCR Image Recognition](./ocr-operation-with-list/) Entfesseln Sie das Potenzial von Aspose.OCR für .NET. Führen Sie mühelos OCR-Bilderkennung mit Listen durch. Steigern Sie die Produktivität und Datenerfassung in Ihren Anwendungen. +### [Text aus PNG lesen – Kyrillischen Text mit Aspose OCR extrahieren](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Erfahren Sie, wie Sie mit Aspose OCR kyrillischen Text aus PNG‑Dateien zuverlässig extrahieren. ### Häufige Anwendungsfälle - **Text aus Bildern** von gescannten Rechnungen für die automatisierte Buchhaltung extrahieren. @@ -102,4 +104,4 @@ A: Ja, das `OcrResult`‑Objekt liefert Konfidenzwerte, die Sie programmgesteuer {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/german/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..49e30f8ca --- /dev/null +++ b/ocr/german/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,200 @@ +--- +category: general +date: 2026-03-07 +description: Erfahren Sie, wie Sie Text aus PNG lesen und kyrillischen Text mit Aspose + OCR extrahieren, das Bild in Text umwandeln und das kyrillische Sprachpaket herunterladen. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: de +og_description: Erfahren Sie, wie Sie Text aus PNG lesen, kyrillischen Text extrahieren + und Bilder mit Aspose OCR in C# in Text umwandeln. +og_title: Text aus PNG lesen – kyrillischen Text mit Aspose OCR extrahieren +tags: +- Aspose OCR +- C# +- Image Processing +title: Text aus PNG lesen – kyrillischen Text mit Aspose OCR extrahieren +url: /de/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus PNG lesen – Kyrillischen Text mit Aspose OCR extrahieren + +Müssen Sie **Text aus PNG**-Dateien lesen und kyrillische Zeichen extrahieren? In diesem Leitfaden zeigen wir Ihnen, wie Sie Text aus PNG mit Aspose OCR lesen, kyrillischen Text extrahieren und **Bild in Text umwandeln** in nur wenigen Zeilen C#. + +Wenn Sie jemals einen Screenshot einer russischen Rechnung angesehen haben und sich gefragt haben, wie man die Wörter in einen durchsuchbaren String bekommt, sind Sie hier genau richtig. Wir werden auch erklären, wie Sie das **kyrillische Sprachpaket** automatisch **herunterladen**, sodass Sie nicht nach zusätzlichen Dateien suchen müssen. + +## Was Sie erreichen werden + +* **Ein Bild für OCR laden** direkt von der Festplatte oder einem Stream. +* Stellen Sie die Engine auf **kyrillische Sprache** ein, ohne manuelle Downloads. +* Führen Sie die Erkennung aus und **extrahieren Sie kyrillischen Text** aus einer PNG-Datei. +* Sehen Sie den erkannten Text, der in der Konsole ausgegeben wird – ein sauberes, Klartext‑Ergebnis, das Sie in Datenbanken, Suchindizes oder andere Workflows einbinden können. + +Keine externen Dienste, keine Cloud‑Schlüssel, nur das Aspose OCR NuGet‑Paket und ein paar Zeilen C#. + +## Voraussetzungen + +* .NET 6.0 oder höher (der Code funktioniert auf .NET Core, .NET Framework und .NET 5+). +* Visual Studio 2022 oder ein beliebiger Editor Ihrer Wahl. +* Das Aspose.OCR NuGet‑Paket (`dotnet add package Aspose.OCR`). +* Ein PNG‑Bild, das kyrillische Zeichen enthält – zum Beispiel `cyrillic_sample.png` in einem Ordner namens `YOUR_DIRECTORY`. + +> **Profi‑Tipp:** Wenn Sie Visual Studio verwenden, klicken Sie mit der rechten Maustaste auf das Projekt → **Manage NuGet Packages** → suchen Sie nach „Aspose.OCR“ und installieren Sie die neueste stabile Version. + +--- + +## Schritt 1 – Aspose OCR installieren und die Engine erstellen + +Zuerst benötigen wir eine Instanz der OCR‑Engine. Die Klasse `OcrEngine` ist der Einstiegspunkt für alle Vorgänge. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Warum das wichtig ist:** Die Engine kapselt Sprachpakete, Bilddaten und Erkennungsoptionen. Wenn Sie sie einmal instanziieren und über mehrere Bilder hinweg wiederverwenden, kann dies die Leistung verbessern. + +--- + +## Schritt 2 – **Bild für OCR laden** und die Sprache festlegen + +Jetzt teilen wir der Engine mit, welches Bild verarbeitet werden soll und nach welcher Sprache gesucht wird. Das Setzen von `Language.Cyrillic` lädt beim ersten Ausführen automatisch das erforderliche Sprachpaket herunter. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Randfall:** Wenn Ihr PNG sehr groß ist (über 5 MB), sollten Sie es zuerst verkleinern, um die Erkennung zu beschleunigen. Die `Image`‑Eigenschaft akzeptiert auch einen `Stream`, sodass Sie aus dem Speicher, einer Web‑Anfrage oder einem Azure‑Blob laden können, ohne das Dateisystem zu berühren. + +--- + +## Schritt 3 – **Bild in Text umwandeln** mit einem einzigen Aufruf + +Die Erkennung ist so einfach wie das Aufrufen von `Recognize()`. Nach diesem Aufruf enthält die `Text`‑Eigenschaft die extrahierte Zeichenkette. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Was im Hintergrund passiert:** Aspose verwendet einen auf neuronalen Netzen basierenden Klassifikator, der auf Millionen kyrillischer Glyphen trainiert ist. Die Bibliothek abstrahiert all diese Komplexität, sodass Sie einfach sauberes Unicode erhalten. + +--- + +## Schritt 4 – Ergebnis ausgeben (oder anderweitig weiterleiten) + +Für Demonstrationszwecke geben wir den Text in der Konsole aus, Sie könnten ihn jedoch leicht in eine Datei, eine Datenbank schreiben oder an einen Suchindex weitergeben. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Erwartete Ausgabe** (angenommen, `cyrillic_sample.png` enthält den Satz „Привет мир“): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Wenn die Ausgabe unleserlich erscheint, prüfen Sie, ob das Bild klar ist und Sie `Language.Cyrillic` gesetzt haben. Die Engine verwendet standardmäßig Englisch, wodurch kyrillische Zeichen als unbekannte Symbole behandelt würden. + +--- + +## Schritt 5 – Vollständiges, ausführbares Beispiel + +Alles zusammengeführt, hier ein eigenständiges Programm, das Sie in ein neues Konsolenprojekt kopieren können. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Speichern Sie die Datei als `Program.cs`, führen Sie `dotnet run` aus, und Sie sollten den kyrillischen Text ausgegeben sehen. + +--- + +## Häufige Fragen & Fehlersuche + +| Frage | Antwort | +|----------|--------| +| **Was ist, wenn das Sprachpaket nicht heruntergeladen wird?** | Stellen Sie sicher, dass der Rechner Internetzugang hat. Das Paket wird in `%USERPROFILE%\.Aspose\OCR\Languages` zwischengespeichert. Das Löschen dieses Ordners erzwingt einen frischen Download. | +| **Kann ich andere Sprachen als Kyrillisch lesen?** | Absolut – ersetzen Sie `Language.Cyrillic` durch `Language.English`, `Language.Arabic` usw. Die gleiche Auto‑Download‑Logik gilt. | +| **Mein PNG ist verrauscht – die Ergebnisse sind schlecht. Was kann ich tun?** | Bild vorverarbeiten: Kontrast erhöhen, in Graustufen konvertieren oder einen Median‑Filter anwenden. Aspose OCR bietet außerdem `Settings.ImagePreprocess` Optionen. | +| **Gibt es eine Möglichkeit, Begrenzungsrahmen für jedes Wort zu erhalten?** | Ja, nach `Recognize()` können Sie `ocrEngine.Regions` inspizieren, das Rechtecke für jedes erkannte Wort zurückgibt. | +| **Benötige ich eine Lizenz für den Produktionseinsatz?** | Die kostenlose Evaluation funktioniert für bis zu 100 Seiten. Für kommerzielle Projekte erwerben Sie eine Lizenz – sie entfernt das Evaluations‑Wasserzeichen und schaltet die Hochgeschwindigkeits‑Batch‑Verarbeitung frei. | + +--- + +## Nächste Schritte – die Lösung erweitern + +* **Batch processing:** Durchlaufen Sie einen Ordner mit PNGs und sammeln Sie alle Texte in einer CSV‑Datei. +* **Integration with Azure Cognitive Search:** Indexieren Sie die extrahierten kyrillischen Zeichenketten für schnelle Abfragen. +* **Combine with PDF conversion:** Verwenden Sie Aspose.PDF, um gescannte PDFs zuerst in PNGs zu konvertieren, und führen Sie dann denselben OCR‑Ablauf aus. + +All diese Szenarien nutzen das Kernmuster, das wir gerade behandelt haben: **Bild für OCR laden → Sprache festlegen → erkennen → Text verwenden**. + +--- + +## Fazit + +Sie wissen jetzt, wie Sie **Text aus PNG** lesen, **kyrillischen Text extrahieren** und **Bild in Text umwandeln** mit Aspose OCR in C#. Die wichtigsten Schritte sind das Erstellen der Engine, das Laden des Bildes, das Auswählen der richtigen Sprache (die automatisch das **kyrillische Sprachpaket herunterlädt**), und schließlich das Aufrufen von `Recognize()`. + +Probieren Sie es mit verschiedenen Bildern aus, experimentieren Sie mit den `Settings`‑Optionen und sehen Sie, wie Ihre Anwendungen durchsuchbar, mehrsprachig und deutlich intelligenter werden. + +Viel Spaß beim Programmieren, und hinterlassen Sie gerne einen Kommentar, falls Sie auf Probleme stoßen! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/ocr-optimization/_index.md b/ocr/german/net/ocr-optimization/_index.md index c77c30a65..16e36b1e8 100644 --- a/ocr/german/net/ocr-optimization/_index.md +++ b/ocr/german/net/ocr-optimization/_index.md @@ -68,7 +68,13 @@ Entdecken Sie Aspose.OCR für .NET. Steigern Sie die OCR‑Genauigkeit mit Vorve ### [Ergebniskorrektur mit Rechtschreibprüfung in OCR-Bilderkennung](./result-correction-with-spell-checking/) Verbessern Sie die OCR‑Genauigkeit mit Aspose.OCR für .NET. Korrigieren Sie Rechtschreibfehler, passen Sie Wörterbücher an und erreichen Sie mühelos eine fehlerfreie Texterkennung. ### [Mehrseitiges Ergebnis als Dokument speichern in OCR-Bilderkennung](./save-multipage-result-as-document/) -Entfesseln Sie das Potenzial von Aspose.OCR für .NET. Speichern Sie mühelos mehrseitige OCR‑Ergebnisse als Dokumente mit diesem umfassenden Schritt-für-Schritt‑Leitfaden. +Entfesseln Sie das Potenzial von Aspose.OCR für .NET. Speichern Sie mühelos mehrseitige OCR‑Ergebnisse als Dokumente mit diesem umfassenden Schritt‑für‑Schritt‑Leitfaden. +### [Wie man ein Bild entzerrt und OCR in C# ausführt – Komplettanleitung](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Erfahren Sie, wie Sie Bilder mit Entzerrungsfilter vorbereiten und anschließend OCR in C# durchführen. +### [Aspose OCR Beispiel – Rechtschreibprüfung aktivieren und Fehler in C# beheben](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Lernen Sie, wie Sie die Rechtschreibprüfung einschalten und OCR‑Fehler in C# automatisch korrigieren. +### [Wie man OCR auf chinesischen Bildern ausführt – Komplettanleitung für C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Erfahren Sie, wie Sie chinesische Bildtexte mit Aspose.OCR in C# präzise erkennen und verarbeiten. ## Häufig gestellte Fragen diff --git a/ocr/german/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/german/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..c9ea6e00d --- /dev/null +++ b/ocr/german/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR‑Beispiel, das zeigt, wie man die Rechtschreibprüfung aktiviert, + ein benutzerdefiniertes Wörterbuch hinzufügt, Bild‑OCR lädt und OCR‑Fehler schnell + behebt. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: de +og_description: Aspose OCR‑Beispiel, das Sie Schritt für Schritt durch das Aktivieren + der Rechtschreibprüfung, das Hinzufügen eines benutzerdefinierten Wörterbuchs, das + Laden eines Bildes für OCR und das Korrigieren häufiger OCR‑Fehler führt. +og_title: Aspose OCR‑Beispiel – Rechtschreibprüfung aktivieren & Fehler beheben +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR Beispiel – Rechtschreibprüfung aktivieren und Fehler in C# beheben +url: /de/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Beispiel – Rechtschreibprüfung aktivieren und Fehler in C# beheben + +Haben Sie jemals ein **Aspose OCR Beispiel** gebraucht, das nicht nur Text aus einem Bild liest, sondern auch diese lästigen Rechtschreibfehler bereinigt? Sie sind nicht allein. In vielen realen Projekten ist die rohe OCR‑Ausgabe voller Tippfehler, besonders wenn das Quellbild Schriftarten mit geringem Kontrast oder handschriftliche Notizen enthält. + +Die gute Nachricht? Mit Aspose.OCR können Sie **spellcheck aktivieren**, Ihr eigenes Wörterbuch einbinden und in nur wenigen Codezeilen einen bereinigten String erhalten. Im Folgenden sehen Sie genau **wie man spellcheck aktiviert**, **wie man ein Wörterbuch hinzufügt** und **wie man Bild‑OCR lädt**, sodass Sie endlich **OCR‑Fehler beheben** können, ohne sich die Haare zu raufen. + +In diesem Tutorial behandeln wir alles, was Sie benötigen – von der NuGet‑Installation bis zu einem vollständigen, ausführbaren Programm, das korrigierten Text ausgibt. Am Ende haben Sie ein solides **Aspose OCR Beispiel**, das Sie direkt in jedes .NET‑Projekt einbinden können. + +## Voraussetzungen + +- .NET 6.0 SDK oder neuer (der Code funktioniert auch mit .NET Core und .NET Framework) +- Visual Studio 2022 oder jede C#‑kompatible IDE +- Eine Bilddatei (`typed_text.png`), die klaren, getippten englischen Text enthält +- Internetzugang, um das Aspose.OCR NuGet‑Paket zu beziehen + +Keine weiteren Drittanbieter‑Bibliotheken sind erforderlich. + +--- + +## Schritt 1 – Installieren des Aspose.OCR NuGet‑Pakets (Load Image OCR) + +Bevor wir Code schreiben können, benötigen wir die Bibliothek, die die OCR‑Engine antreibt. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro Tipp:** Wenn Sie Visual Studio verwenden, klicken Sie mit der rechten Maustaste auf das Projekt → *Manage NuGet Packages* → suchen Sie nach **Aspose.OCR** und klicken Sie auf *Install*. + +Die Installation des Pakets gibt Ihnen Zugriff auf `OcrEngine`, `ImageStream` und die integrierten Rechtschreibprüfungs‑Utilities, die wir später verwenden werden. Sobald das Paket vorhanden ist, sind Sie bereit, **load image OCR** zu starten. + +## Schritt 2 – Erstellen der OCR‑Engine‑Instanz + +Das Erstellen der Engine ist der erste konkrete Schritt in jedem **Aspose OCR Beispiel**. Denken Sie an `OcrEngine` als das Gehirn, das das Bitmap analysiert und Text ausgibt. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Der `OcrEngine`‑Konstruktor benötigt keine Parameter, was ihn für schnelle Prototypen praktisch und übersichtlich macht. + +## Schritt 3 – Wie man spellcheck aktiviert (und warum es wichtig ist) + +Roh‑OCR‑Ausgaben enthalten oft falsch erkannte Wörter wie „teh“ anstelle von „the“. Durch das Aktivieren der integrierten Rechtschreibprüfung lässt Aspose diese Fehler automatisch durch die wahrscheinlich korrekte Schreibweise ersetzen. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Warum spellcheck aktivieren?** +> - **Genauigkeit:** Eine nachgelagerte Rechtschreibprüfung kann die Gesamtexaktheit des Textes bei gedruckten Dokumenten um 10‑15 % steigern. +> - **Benutzererlebnis:** Sauberer Text bedeutet weniger nachträgliche Bereinigung, wenn Sie das Ergebnis in Suchindizes oder Analyse‑Pipelines einspeisen. + +## Schritt 4 – Wie man ein Wörterbuch hinzufügt (benutzerdefinierte Wörter) + +Manchmal kennt das Standard‑Wörterbuch Ihre Markennamen, Produktcodes oder fachspezifischen Jargon nicht. Hier kommt **how to add dictionary** ins Spiel. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Sie können ein Array, eine Liste übergeben oder sogar aus einer Datei lesen, wenn Sie ein großes benutzerdefiniertes Vokabular haben. Die Rechtschreibprüfung wird diese Einträge nun als gültig behandeln und falsche Korrekturen verhindern. + +## Schritt 5 – Bild für OCR laden (Load Image OCR) + +Jetzt, wo die Engine konfiguriert ist, müssen wir sie auf das Bild zeigen, das wir lesen wollen. Der Helfer `ImageStream.FromFile` abstrahiert die Dateilesedetails. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tipp:** Wenn sich Ihr Bild in einem Unterordner des Projekts befindet, setzen Sie die Eigenschaft *Copy to Output Directory* auf *Copy always*, damit der Pfad zur Laufzeit aufgelöst wird. + +## Schritt 6 – Erkennung durchführen und OCR‑Fehler beheben + +Wenn alles eingestellt ist, führt ein einziger Aufruf von `Recognize()` die OCR‑Pipeline aus, wendet die Rechtschreibprüfung an und speichert das bereinigte Ergebnis in `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Erwartete Ausgabe + +Angenommen, `typed_text.png` enthält den Satz `The quick brown fox jumps over teh lazy dog`, dann wird die Konsole anzeigen: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Beachten Sie, wie „teh“ automatisch zu „the“ korrigiert wurde. Wenn Sie „OCRify“ zum benutzerdefinierten Wörterbuch hinzugefügt hätten und das Bild dieses Wort enthielte, würde die Engine es unverändert lassen. + +--- + +## Vollständiges funktionierendes Beispiel (Copy‑Paste bereit) + +Unten finden Sie das komplette Programm, das Sie in ein neues Konsolenprojekt einfügen können. Es enthält alle oben genannten Schritte sowie einige Kommentare zur Klarheit. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Speichern Sie dies als `Program.cs`, führen Sie `dotnet run` aus, und Sie sollten den korrigierten Satz in der Konsole sehen. + +--- + +## Häufig gestellte Fragen & Sonderfälle + +| Frage | Antwort | +|----------|--------| +| **Was ist, wenn das Bild ein mehrseitiges PDF ist?** | Aspose.OCR kann PDF‑Seiten als Bilder verarbeiten. Verwenden Sie `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` und iterieren Sie über die Seiten. | +| **Kann ich die Sprache auf etwas anderes als Englisch ändern?** | Natürlich. Setzen Sie `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (oder jede unterstützte Sprache). | +| **Mein benutzerdefiniertes Wörterbuch ist riesig – wirkt sich das auf die Leistung aus?** | Das Hinzufügen von tausenden Wörtern verursacht einen kleinen anfänglichen Aufwand, aber die Suche ist dank eines Hash‑Sets O(1). Bei sehr großen Vokabularen sollten Sie sie einmalig beim Anwendungsstart laden. | +| **Was passiert, wenn die OCR‑Engine bei einem beschädigten Bild eine Ausnahme wirft?** | Umgeben Sie `Recognize()` mit einem try‑catch‑Block und prüfen Sie `ocrEngine.LastError`. Sie können außerdem die Bildabmessungen vorab mit `ocrEngine.Image.Width` und `Height` validieren. | +| **Benötige ich eine Lizenz für den Produktionseinsatz?** | Die kostenlose Evaluation funktioniert für Tests, aber eine kommerzielle Lizenz entfernt das Evaluations‑Wasserzeichen und schaltet die volle Leistung frei. | + +--- + +## Fazit + +Sie haben jetzt ein **vollständiges Aspose OCR Beispiel**, das **zeigt, wie man spellcheck aktiviert**, **wie man ein Wörterbuch hinzufügt**, **Bild‑OCR lädt** und **wie man OCR‑Fehler** auf saubere, produktionsbereite Weise behebt. Durch die Konfiguration der Rechtschreibprüfung und das Einbinden einer benutzerdefinierten Wortliste verbessern Sie die Qualität des extrahierten Textes erheblich, ohne eigene Nachbearbeitungs‑Logik schreiben zu müssen. + +Bereit für den nächsten Schritt? Versuchen Sie, die Sprache auf Spanisch umzustellen, ein mehrseitiges PDF zu verarbeiten oder die Ausgabe in einen durchsuchbaren Azure Cognitive Search‑Index zu integrieren. Das gleiche Muster gilt – passen Sie einfach das Sprach‑Flag an und erweitern Sie ggf. das benutzerdefinierte Wörterbuch. + +Wenn Ihnen diese Anleitung geholfen hat, geben Sie ihr einen Stern auf GitHub, teilen Sie sie mit Kolleg*innen oder hinterlassen Sie einen Kommentar unten. Viel Spaß beim Programmieren und möge Ihr OCR‑Ergebnis stets fehlerfrei sein! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/german/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..63bcd727b --- /dev/null +++ b/ocr/german/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Erfahren Sie, wie Sie ein Bild begradigen, den Kontrast erhöhen und Text + aus einem Scan mit Aspose OCR extrahieren. Führen Sie OCR auf einem Bild mit einem + vollständigen C#‑Beispiel durch und laden Sie das Bild für OCR einfach. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: de +og_description: Erfahren Sie, wie Sie ein Bild entzerren, den Kontrast erhöhen und + Text aus einem Scan mit Aspose OCR in C# extrahieren. Führen Sie OCR auf dem Bild + mit Schritt‑für‑Schritt‑Code durch. +og_title: Wie man ein Bild entzerrt und OCR in C# ausführt – Komplettanleitung +tags: +- C# +- OCR +- Image Processing +title: Wie man ein Bild entzerrt und OCR in C# ausführt – Komplettanleitung +url: /de/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man ein Bild entneigt und OCR in C# ausführt – Komplettanleitung + +Wenn Sie sich jemals gefragt haben, **wie man ein Bild entneigt** bevor Sie OCR ausführen, sind Sie hier genau richtig. In diesem Tutorial führen wir Sie durch das Erhöhen des Kontrasts, das Laden eines Bildes für OCR und schließlich das **Extrahieren von Text aus einem Scan** mit Aspose OCR. + +Egal, ob Sie alte Quittungen digitalisieren, gescannte Verträge aufbereiten oder einfach eine zuverlässige Methode benötigen, um Text aus einem schiefen Foto zu lesen – die nachfolgenden Schritte decken alles ab, was Sie brauchen. Kein Schnickschnack – nur ein funktionierendes Beispiel, das Sie in Visual Studio kopieren‑und‑einfügen können. + +## Was Sie erreichen werden + +Am Ende dieses Leitfadens können Sie: + +* Schräglagen bis zu 30° korrigieren (das ist der **how to deskew image**‑Teil). +* Bildkontrast erhöhen für schärfere Zeichenkanten (**how to boost contrast**). +* Ihr Bild in die OCR‑Engine laden (**load image for OCR**). +* Den Erkennungsprozess ausführen und **extract text from scan**. + +All das funktioniert mit dem neuesten Aspose.OCR .NET NuGet‑Paket (v23.11 zum Zeitpunkt des Schreibens). + +--- + +![How to deskew image example](/images/deskew-example.png "how to deskew image") + +*Das obige Bild zeigt ein gescanntes Dokument vor und nach dem Entneigen.* + +## Voraussetzungen + +* .NET 6.0 oder höher (der Code läuft auch unter .NET Framework 4.7+). +* Visual Studio 2022 (oder jede andere C#‑IDE Ihrer Wahl). +* Aspose.OCR NuGet‑Paket – installieren Sie es via `dotnet add package Aspose.OCR`. + +Das war’s. Keine externen Dienste, keine API‑Keys. + +--- + +## How to Deskew Image with Aspose OCR + +Das erste, was wir tun, ist ein **ImageProcessingPipeline** zu erstellen und einen `DeskewFilter` hinzuzufügen. Der Filter erkennt automatisch den dominanten Textzeilenwinkel und dreht das Bild wieder horizontal. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Warum das wichtig ist:** +Ein schräger Scan verwirrt die OCR‑Engine, weil die Zeichen nicht mehr mit der Grundlinie ausgerichtet sind. Der `DeskewFilter` analysiert das Bildhistogramm, ermittelt den Winkel und dreht das Bild, was die Erkennungsgenauigkeit dramatisch verbessert. + +> **Profi‑Tipp:** Wenn Sie wissen, dass Ihre Dokumente nie mehr als 15° geneigt sind, setzen Sie `MaxAngle = 15`, um die Verarbeitung zu beschleunigen. + +--- + +## How to Boost Contrast for Better Recognition + +Nach dem Entneigen ist der nächste Schritt, den Text hervorzuheben. Der `ContrastBoostFilter` dehnt den Intensitätsbereich der Pixel aus, was besonders bei verblassten Drucken hilfreich ist. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Warum das hilft:** +Scans mit geringem Kontrast erzeugen graue Zeichen, die der Binärisierer als Hintergrund interpretieren könnte. Durch das Erhöhen des Kontrasts werden dunkle Pixel dunkler und helle Pixel heller, was dem nachfolgenden `BinarizationFilter` eine sauberere Basis gibt. + +--- + +## Perform OCR on Image – Loading the File + +Jetzt, wo das Bild vorverarbeitet ist, müssen wir **load image for OCR**. Aspose bietet einen praktischen Helfer `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Falls Ihr Bild in einem Stream vorliegt (z. B. über eine Web‑API hochgeladen), können Sie stattdessen `ImageStream.FromStream(yourStream)` verwenden. Die Engine akzeptiert BMP, JPEG, PNG, TIFF und viele weitere Formate. + +--- + +## Run the Recognition Process and Extract Text from Scan + +Wenn alles verkabelt ist, erledigt `Recognize()` die schwere Arbeit. Nach dem Aufruf ist der erkannte Text über `ocrEngine.Text` verfügbar. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Erwartete Ausgabe** (Beispiel für eine einfache Rechnung): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Wenn die Ausgabe unleserlich erscheint, überprüfen Sie die Reihenfolge der Pipeline – zuerst entneigen, dann entrauschen, Kontrast erhöhen und schließlich binarisieren. Das Vertauschen kann die Ergebnisse verschlechtern. + +--- + +## Common Pitfalls and Edge Cases + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Empty result** | Image is too dark or too bright for the default binarization method. | Increase `ContrastBoostFilter.Strength` or switch to `BinarizationMethod.Otsu`. | +| **Partial text missing** | Noise remains after denoising. | Use `DenoiseLevel.Medium` for milder images, or add a second `DenoiseFilter`. | +| **Wrong rotation direction** | The document has mixed orientation (e.g., a photo of a rotated page). | Manually set `DeskewFilter.MaxAngle` lower and pre‑rotate the image with `ImageProcessor.Rotate`. | +| **Performance slowdown** | Large batch of high‑resolution images. | Downscale images (`ImageProcessor.Resize`) before the pipeline, or process in parallel (`Parallel.ForEach`). | + +--- + +## Full Working Example (Copy‑Paste Ready) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Speichern Sie dies als `Program.cs`, führen Sie `dotnet run` aus und beobachten Sie, wie die Konsole das Ergebnis von **extract text from scan** ausgibt. + +--- + +## Next Steps & Related Topics + +* **Batch processing** – Packen Sie die obige Logik in eine Schleife, um Dutzende von Dateien zu verarbeiten. +* **Custom language packs** – Wenn Sie nicht‑lateinische Schriften lesen müssen, laden Sie ein Sprachmodell via `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF output** – Kombinieren Sie Aspose.PDF mit OCR, um durchsuchbaren Text direkt in eine PDF‑Datei einzubetten. +* **Performance tuning** – Experimentieren Sie mit der Reihenfolge von `ImageProcessingPipeline`; manchmal liefert das Entrauschen vor dem Entneigen bei verrauschten Fotos schnellere Ergebnisse. + +All dies baut auf den Kernkonzepten auf, die wir behandelt haben: **how to deskew image**, **how to boost contrast**, **load image for OCR**, **perform OCR on image**, und schließlich **extract text from scan**. + +--- + +## Wrap‑Up + +Wir haben gerade einen vollständigen, produktionsreifen Weg gezeigt, **how to deskew image** und OCR in C# auszuführen. Durch das Ketten eines Deskew‑Filters, eines Denoise‑Schritts, einer Kontrastverstärkung und eines Binärisierers erhalten Sie eine saubere Eingabe, die Aspose OCR zuverlässig **extract text from scan** lässt. + +Probieren Sie den Code aus, passen Sie die Filterparameter an Ihre eigenen Dokumente an, und Sie werden sehen, wie schnell sich die Erkennungsgenauigkeit verbessert. Fragen? Hinterlassen Sie einen Kommentar, und happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/german/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..d37ea2e79 --- /dev/null +++ b/ocr/german/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-03-07 +description: Wie man OCR für chinesische Bilder mit Aspose OCR durchführt. Lernen + Sie, chinesischen Text zu extrahieren, Bilder in ePub zu konvertieren und die OCR‑Genauigkeit + in einem Tutorial zu verbessern. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: de +og_description: Wie man OCR auf chinesischen Bildern mit Aspose OCR durchführt. Erhalten + Sie Schritt‑für‑Schritt‑Code, um chinesischen Text zu extrahieren, die OCR zu verbessern + und in ePub zu exportieren. +og_title: Wie man OCR auf chinesischen Bildern durchführt – Vollständiger C#‑Leitfaden +tags: +- OCR +- C# +- Aspose +title: Wie man OCR für chinesische Bilder durchführt – Vollständiger C#‑Leitfaden +url: /de/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man OCR auf chinesischen Bildern durchführt – Vollständiger C# Leitfaden + +Haben Sie sich jemals gefragt, **wie man OCR** auf einem Bild mit chinesischen Zeichen durchführt? Sie sind nicht der Einzige. In vielen Apps – das Scannen von Belegen, das Digitalisieren von Lehrbüchern oder das Erstellen einer mehrsprachigen Suchmaschine – ist das Extrahieren von sauberem Text aus einem Bild ein entscheidendes Feature. + +In diesem Tutorial gehen wir Schritt für Schritt durch eine praxisnahe Lösung, die **chinesischen Text extrahiert**, das Ergebnis in eine reine Textdatei schreibt und sogar **das Bild in ein ePub** für E‑Reader konvertiert. Unterwegs besprechen wir **wie man OCR verbessert** die Genauigkeit, warum Sie den GPU‑Modus aktivieren sollten und was Sie tun müssen, um **vereinfachtes Chinesisch** korrekt zu erkennen. + +Am Ende des Leitfadens haben Sie ein vollständig ausführbares C#‑Programm, eine Handvoll praktischer Tipps und eine klare Vorstellung von den nächsten Schritten, die Sie gehen können (wie das Hinzufügen einer Spracherkennung oder Stapelverarbeitung). Keine externen Dokumente nötig – alles, was Sie brauchen, finden Sie hier. + +## Was Sie benötigen + +- .NET 6+ (oder .NET Core 3.1 mit Aspose OCR for .NET) +- Eine gültige Aspose OCR for .NET Lizenz (die kostenlose Testversion reicht für Experimente) +- Eine Bilddatei, die vereinfachte chinesische Zeichen enthält (z. B. `chinese_sample.jpg`) +- Visual Studio 2022 oder ein beliebiger C#‑Editor Ihrer Wahl + +Wenn Ihnen etwas davon fehlt, holen Sie sich jetzt das NuGet‑Paket: + +```bash +dotnet add package Aspose.OCR +``` + +Das war’s – keine zusätzlichen nativen Bibliotheken, kein COM‑Interop, nur ein einziges .NET‑Paket. + +## OCR durchführen – Einrichten der Aspose OCR Engine + +Der erste Schritt besteht darin, die OCR‑Engine zu erstellen und zu konfigurieren. Dieser Schritt ist entscheidend, weil die Einstellungen der Engine bestimmen, **wie gut das OCR** bei chinesischen Zeichen funktioniert und wie schnell es läuft. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Warum das wichtig ist:** +- **Language = ChineseSimplified** teilt Aspose mit, den Zeichensatz für vereinfachtes Chinesisch zu laden, was Fehlinterpretationen drastisch reduziert. +- **EngineMode.Gpu** kann die Verarbeitungszeit auf einer modernen GPU halbieren, fällt jedoch elegant auf die CPU zurück, wenn keine GPU vorhanden ist. +- **DeskewFilter** entfernt jede Neigung, die häufig auftritt, wenn Nutzer ein Foto mit dem Handy aufnehmen. +- **Sauvola binarization** erzeugt ein hochkontrastreiches Schwarz‑Weiß‑Bild, ein klassischer Trick, um die OCR‑Genauigkeit bei dichten Schriften wie Chinesisch zu steigern. + +> **Pro‑Tipp:** Wenn Sie mit Aufnahmen bei schwachem Licht arbeiten, fügen Sie vor der Binarisierung einen `ContrastFilter` hinzu. Für unser Beispiel ist er nicht erforderlich, spart aber oft einige Kopfschmerzen. + +![Diagramm der OCR-Pipeline](ocr-pipeline.png "Diagramm der OCR-Pipeline") + +> *Alt‑Text:* Diagramm der OCR-Pipeline + +## Chinesischen Text aus einem Bild extrahieren + +Jetzt, wo die Engine bereit ist, laden wir das Bild und lassen die Engine ihre Magie wirken. Das ist der Kern von **chinesischen Text extrahieren**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Was Sie sehen sollten:** +Wenn `chinese_sample.jpg` den Ausdruck “中华人民共和国” enthält, wird die Datei `out.txt` exakt diese Zeichen enthalten – keine zusätzlichen Leerzeichen, keine verzerrten lateinischen Buchstaben. + +### Häufige Fallstricke + +| Problem | Warum es passiert | Lösung | +|---------|-------------------|--------| +| Fehlende Zeichen | Das Bild ist zu verrauscht | Fügen Sie einen `MedianFilter` vor der Binarisierung hinzu | +| Falsche Sprache erkannt | `Language` ist auf `English` gesetzt | Stellen Sie sicher, dass `Language = Language.ChineseSimplified` | +| Langsame Verarbeitung | GPU nicht aktiviert | Überprüfen Sie, ob Ihr System einen kompatiblen CUDA‑Treiber hat | + +## Bild in ePub konvertieren + +Viele Entwickler fragen, *„Kann ich die gescannte Seite in ein lesbares E‑Book verwandeln?“* Absolut – Aspose OCR liefert einen ePub‑Exporter. Das erfüllt die Anforderung **Bild in ePub konvertieren**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Das erzeugte `out.epub` enthält den extrahierten chinesischen Text, korrekt in UTF‑8 kodiert, und kann in Kindle, Apple Books oder jedem ePub‑Reader geöffnet werden. + +**Warum ePub verwenden?** +- Es ist fließend, sodass Leser die Schriftgröße anpassen können, ohne das Layout zu zerstören. +- Das Format hält den Text durchsuchbar, was für spätere Indizierung praktisch ist. + +## Wie man OCR verbessert – Praktische Optimierungen + +Selbst mit einer soliden Pipeline können gelegentlich Fehlinterpretationen auftreten. Hier ist eine schnelle Checkliste für **wie man OCR verbessert** bei chinesischen Dokumenten: + +1. **Pre‑process the image** – Verwenden Sie `GaussianBlurFilter`, um Sprenkel zu glätten, dann `ContrastFilter`, um Kanten zu schärfen. +2. **Set a higher DPI** – Wenn Sie den Scanvorgang steuern, streben Sie 300 dpi oder mehr an; niedrigauflösende Bilder verlieren Strichdetails. +3. **Enable language detection** – Aspose kann die Sprache automatisch erkennen; kombinieren Sie dies mit einem Rückgriff auf vereinfachtes Chinesisch, falls die Erkennung fehlschlägt. +4. **Fine‑tune binarization** – Tauschen Sie `Sauvola` gegen `Otsu` aus, wenn der Hintergrund gleichmäßig hell ist. +5. **Batch processing** – Verarbeiten Sie mehrere Seiten parallel mit `Parallel.ForEach`, um Mehrkern‑CPUs zu nutzen. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Simplifiziertes Chinesisch erkennen – Sonderfälle + +Der Ausdruck **recognize simplified Chinese** verwirrt oft Neulinge, weil dieselbe OCR‑Engine auch traditionelles Chinesisch, Japanisch oder Koreanisch verarbeiten kann. Um deterministisch zu bleiben: + +- **Explicitly set the language** (wie in Schritt 1 gezeigt). +- **Avoid mixed‑language pages**; wenn eine Seite vereinfachtes Chinesisch mit Englisch mischt, sollten Sie zwei Durchläufe ausführen: einen mit `Language.ChineseSimplified`, einen anderen mit `Language.English`. +- **Validate the output** – Nach der Erkennung führen Sie ein einfaches Regex aus, um sicherzustellen, dass alle Zeichen im Unicode‑Bereich `\u4E00‑\u9FFF` liegen. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Wenn die Prüfung fehlschlägt, können Sie die Seite zur manuellen Überprüfung protokollieren. + +## Vollständiges funktionierendes Beispiel + +Alles zusammengeführt, hier eine einzelne Datei, die Sie in ein neues Konsolenprojekt (`Program.cs`) kopieren‑und‑einfügen können. Sie enthält alle Schritte, optionale Optimierungen und eine abschließende Statuszeile. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Erwartete Konsolenausgabe (Beispiel):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Führen Sie das Programm aus, öffnen Sie `out.txt` oder `out.epub`, und Sie sehen saubere, durchsuchbare chinesische Zeichen, bereit für die Weiterverarbeitung. + +## Fazit + +Wir haben gerade **wie man OCR** auf chinesischen Bildern von Anfang bis Ende behandelt, Ihnen gezeigt, wie man **chinesischen Text extrahiert**, **das Ergebnis in ein ePub konvertiert** und dabei eine Handvoll + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/text-recognition/_index.md b/ocr/german/net/text-recognition/_index.md index 164bd821b..9068f2b2b 100644 --- a/ocr/german/net/text-recognition/_index.md +++ b/ocr/german/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Erweitern Sie Ihre .NET-Anwendungen mit Aspose.OCR für eine effiziente Bildtext Nutzen Sie das Potenzial von OCR in .NET mit Aspose.OCR. Extrahieren Sie mühelos Text aus PDFs. Laden Sie es jetzt herunter und genießen Sie eine nahtlose Integration. ### [Tabelle in der OCR-Bilderkennung erkennen](./recognize-table/) Nutzen Sie das Potenzial von Aspose.OCR für .NET mit unserem umfassenden Leitfaden zum Erkennen von Tabellen in der OCR-Bilderkennung. +### [Erkennen Sie Text aus Bild in C# – Vollständiger Aspose OCR Leitfaden](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Entdecken Sie, wie Sie mit Aspose.OCR Text aus Bildern in C# erkennen und in Ihre Anwendung integrieren. +### [Wie man OCR in C# verwendet – Text aus Bildern offline extrahieren](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Lernen Sie, wie Sie mit Aspose.OCR in C# Text aus Bildern offline extrahieren – eine praktische Schritt-für-Schritt-Anleitung. +### [Erkennen Sie Hindi-Text in C# – Vollständiger Aspose OCR Leitfaden](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Entdecken Sie, wie Sie mit Aspose.OCR Hindi-Text in C# erkennen und nahtlos in Ihre Anwendung integrieren. +### [Wie man ePub aus Bildern in C# erstellt – Schritt-für-Schritt-Anleitung](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Erfahren Sie, wie Sie mit Aspose.OCR ePub-Dateien aus Bilddateien in C# generieren – detaillierte Schritt-für-Schritt-Anleitung. +### [Text aus PNG in C# extrahieren – Vollständiger OCR-Leitfaden](./extract-text-from-png-in-c-full-ocr-guide/) +Entdecken Sie, wie Sie mit Aspose.OCR Text aus PNG-Bildern in C# extrahieren und nahtlos in Ihre Anwendung integrieren. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/german/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..c35b00a8a --- /dev/null +++ b/ocr/german/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: Extrahiere Text aus PNG‑Dateien mit C#. Lerne, wie du ein Bild in Text + umwandelst und Text aus gescannten Bildern schnell liest. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: de +og_description: Extrahieren Sie Text aus PNG‑Dateien mit C#. Dieser Leitfaden zeigt, + wie man ein Bild in Text umwandelt und Text aus gescannten Bildern mit Aspose OCR + liest. +og_title: Text aus PNG in C# extrahieren – Vollständige OCR‑Anleitung +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Text aus PNG in C# extrahieren – Vollständige OCR-Anleitung +url: /de/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus PNG in C# extrahieren – Vollständiger OCR-Leitfaden + +Haben Sie jemals **Text aus PNG**‑Dateien extrahieren müssen, wussten aber nicht, wo Sie anfangen sollen? Sie sind nicht allein – die meisten Entwickler stoßen an diese Hürde, wenn sie zum ersten Mal gescannte Grafiken oder Screenshots haben, die in durchsuchbaren Text umgewandelt werden müssen. Die gute Nachricht? Mit ein paar Zeilen C# und Aspose OCR können Sie jedes PNG im Handumdrehen in editierbare Zeichenketten verwandeln. + +In diesem Tutorial führen wir Sie durch den gesamten Prozess: vom Auffinden der PNG‑Dateien auf der Festplatte, über das parallele Starten von OCR‑Aufgaben, bis hin zur Anzeige einer übersichtlichen Vorschau jedes Ergebnisses. Am Ende wissen Sie, wie Sie **Bild in Text konvertieren C#**‑Stil durchführen, können **Text aus gescannten Bildern lesen** effizient umsetzen und sehen zudem, wie Sie **OCR auf Bildern ausführen** können, ohne Ihren UI‑Thread zu blockieren. + +## Was Sie benötigen + +- .NET 6.0 oder höher (der Code funktioniert auch mit .NET Core und .NET Framework) +- Aspose.OCR NuGet‑Paket (`Install-Package Aspose.OCR`) +- Ein Ordner voller *.png*-Dateien, die Sie verarbeiten möchten +- Beliebige IDE (Visual Studio, VS Code, Rider…) + +Keine zusätzliche Konfiguration ist nötig; die Bibliothek liefert alles, was zum Dekodieren von PNGs, JPEGs, TIFFs usw. erforderlich ist. + +## Schritt 1: Alle PNG‑Dateien finden – „Text aus PNG extrahieren“ beginnt + +Zuerst müssen wir jedes PNG finden, das wir mit OCR verarbeiten wollen. `Directory.GetFiles` ist schnell und zuverlässig. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Warum das wichtig ist:* Das einmalige Durchsuchen des Verzeichnisses hält den Rest der Pipeline einfach, und die frühe Prüfung verhindert eine stille „keine Ausgabe“-Situation, die später schwer zu debuggen ist. + +## Schritt 2: Parallele OCR‑Aufgaben starten – effizient **OCR auf Bildern ausführen** + +OCR sequenziell auszuführen ist für ein paar Dateien in Ordnung, aber reale Projekte arbeiten oft mit Dutzenden oder Hunderten. Durch das Starten eines `Task` pro Bild halten wir die CPU ausgelastet, während die Bibliothek die schwere Arbeit übernimmt. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Pro‑Tipp:* `Task.Run` verlagert die Arbeit in den Thread‑Pool, sodass Ihre UI (falls vorhanden) reaktionsfähig bleibt. Auf einem Server skaliert das gleiche Muster schön über mehrere Kerne. + +## Schritt 3: Auf alle Aufgaben warten – Ergebnisse sammeln + +Jetzt warten wir, bis jede OCR‑Operation abgeschlossen ist. `Task.WhenAll` liefert ein Array, das in derselben Reihenfolge wie die ursprünglichen Dateien steht, sodass Sie Ergebnisse leicht den Dateinamen zuordnen können. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Hinweis zu Randfällen:* Wenn ein einzelnes Bild eine Ausnahme wirft (beschädigte Datei, nicht unterstütztes Format), wird die gesamte `WhenAll`‑Aufgabe die Ausnahme weitergeben. Sie können das innere `Task.Run` in ein try/catch einbetten und einen leeren String oder eine Diagnose‑Nachricht zurückgeben, falls Sie Fehlertoleranz benötigen. + +## Schritt 4: Vorschau anzeigen – **Bild in Text konvertieren C#**‑Ausgabe prüfen + +Eine schnelle Vorschau hilft Ihnen, zu bestätigen, dass OCR funktioniert, bevor Sie die Daten woanders speichern. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Typische Konsolenausgabe sieht so aus: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Wenn die Vorschau Kauderwelsch zeigt, überprüfen Sie die Bildqualität oder erwägen Sie eine Vorverarbeitung (z. B. Binarisierung) – aber bei den meisten sauberen PNGs liefert Aspose OCR beim ersten Versuch das richtige Ergebnis. + +## Optional: Ergebnisse in CSV speichern – ein Anwendungsfall aus der Praxis + +Die meisten Projekte benötigen den extrahierten Text in einem strukturierten Format. Unten finden Sie einen kleinen Helfer, der den Dateinamen und den gesamten OCR‑Text in eine CSV‑Datei schreibt. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Jetzt können Sie die CSV in Excel, Power BI oder ein beliebiges nachgelagertes System importieren, das **Text aus gescannten Bildern lesen** erwartet. + +## Häufig gestellte Fragen + +**Was, wenn meine PNGs riesig sind (über 5 MB)?** +Aspose OCR verkleinert große Bilder automatisch, um den Speicherverbrauch im Rahmen zu halten, Sie können jedoch manuell die Größe ändern mit `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` um die Breite auf 2000 px zu begrenzen und das Seitenverhältnis beizubehalten. + +**Läuft das auch unter Linux?** +Ja. Aspose OCR ist plattformübergreifend; stellen Sie nur sicher, dass die nativen Abhängigkeiten (`libgdiplus` bei manchen Distributionen) installiert sind. + +**Ist die OCR‑Sprache standardmäßig auf Englisch eingestellt?** +Richtig. Wenn Sie eine andere Sprache benötigen, setzen Sie `engine.Language = OcrLanguage.French;` (oder ein anderes unterstütztes Enum), bevor Sie `Recognize()` aufrufen. + +**Wie gehe ich mit passwortgeschützten PDFs um, die PNGs enthalten?** +Konvertieren Sie zunächst die PDF‑Seiten in Bilder (mit Aspose PDF oder einer anderen Bibliothek) und geben Sie diese PNGs dann an dieselbe Pipeline weiter. Das Prinzip von **wie man OCR auf Bildern ausführt** bleibt unverändert. + +## Vollständiges Beispiel (Async Main) + +Unten finden Sie ein eigenständiges Programm, das Sie in ein Konsolenprojekt kopieren können. Es enthält alle oben beschriebenen Bausteine sowie einen kleinen Helfer zur Validierung des Eingabeordners. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Erwartete Ausgabe** (Beispiel für zwei PNGs): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Fazit + +Wir haben gerade alles behandelt, was Sie benötigen, um **Text aus PNG**‑Dateien mit C# zu extrahieren. Vom Auffinden der Dateien, über das parallele Starten von OCR‑Jobs, das Vorzeigen der Zeichenketten bis hin zum Speichern in einer CSV – dieser Leitfaden liefert ein produktionsreifes Muster für **Bild in Text konvertieren C#**‑Szenarien. + +Wenn Sie bereit für den nächsten Schritt sind, probieren Sie dieselbe Pipeline mit JPEG‑ oder TIFF‑Dateien, experimentieren Sie mit verschiedenen OCR‑Sprachen oder binden Sie die Ergebnisse in einen Suchindex ein, sodass Sie **Text aus gescannten Bildern lesen** können – sofort. + +Haben Sie Fragen zu Randfällen, Performance‑Optimierung oder Lizenzierung? Hinterlassen Sie einen Kommentar oder kontaktieren Sie die Aspose‑Community – happy coding! + +![Extract text from PNG example](extract-text-png.png "Extract text from PNG using Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/german/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..67a0dcbc8 --- /dev/null +++ b/ocr/german/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Wie man ePub aus gescannten Bildern mit Aspose OCR erstellt – lernen + Sie, ein Bild in ePub zu konvertieren, Text aus dem Bild zu extrahieren, einen Autor + zum ePub hinzuzufügen und ein Bild für OCR zu laden. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: de +og_description: Wie man in C# ein ePub aus gescannten Bildern erstellt. Dieses Tutorial + zeigt, wie man ein Bild in ePub konvertiert, Text aus dem Bild extrahiert, einen + Autor zum ePub hinzufügt und das Bild für OCR lädt. +og_title: Wie man ein ePub aus Bildern in C# erstellt – Vollständige Anleitung +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Wie man ein ePub aus Bildern in C# erstellt – Schritt‑für‑Schritt‑Anleitung +url: /de/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man ePub aus Bildern in C# erstellt – Vollständige Anleitung + +Haben Sie sich jemals gefragt, **wie man ePub** aus einer Sammlung gescannter Seiten erstellt? Vielleicht haben Sie ein paar PNGs eines klassischen Romans und möchten sie in ein ordentliches ePub verwandeln, das Sie auf jedem Gerät lesen können. Die gute Nachricht ist, dass Sie mit Aspose OCR **Bild für OCR laden**, den Text extrahieren und dann **Bild in ePub konvertieren** können – und das mit nur wenigen Zeilen C#. + +In diesem Tutorial gehen wir die gesamte Pipeline durch: Bild laden, Text extrahieren, etwas Metadaten hinzufügen (ja, wir werden **Autor zum ePub hinzufügen**), und schließlich eine standards‑konforme ePub‑Datei schreiben. Am Ende haben Sie ein veröffentlichungsfertiges ePub und ein solides Verständnis jedes Schrittes, sodass Sie den Code für mehrseitige Bücher, benutzerdefinierte Schriftarten oder sogar DRM‑freie Verteilung anpassen können. + +## Was Sie benötigen + +- **.NET 6** oder höher (die API funktioniert auch mit .NET Standard 2.0+) +- **Aspose.OCR for .NET** – Sie können eine kostenlose Testversion von der Aspose‑Website herunterladen. +- Ein gescanntes Bild wie `book_page.png`, das irgendwo auf der Festplatte liegt. +- Eine bevorzugte IDE (Visual Studio, Rider oder VS Code – ich verwende Visual Studio in den Screenshots). + +Keine zusätzlichen NuGet‑Pakete sind erforderlich; Aspose.OCR enthält alles, was Sie für den ePub‑Export benötigen. + +--- + +![Wie man ePub aus einem gescannten Bild erstellt](/images/how-to-create-epub.png "Wie man ePub aus einem gescannten Bild mit Aspose OCR erstellt") + +## Schritt 1 – Projekt einrichten und Aspose.OCR installieren + +Zuerst das Wichtigste. Erstellen Sie eine neue Konsolen‑App: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Fügen Sie das Aspose.OCR‑Paket hinzu: + +```bash +dotnet add package Aspose.OCR +``` + +Das war’s – die Bibliothek liefert sowohl OCR‑ als auch ePub‑Exportfunktionen, sodass Sie keine zusätzlichen Abhängigkeiten benötigen. + +## Schritt 2 – Bild für OCR laden + +Bevor wir **Text aus Bild extrahieren** können, müssen wir der OCR‑Engine etwas zum Lesen geben. Der Helfer `ImageStream.FromFile` macht das trivial: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro‑Tipp:** Wenn Ihr Bild in einer eingebetteten Ressource liegt, verwenden Sie `ImageStream.FromResource` anstelle von `FromFile`. + +## Schritt 3 – Text aus Bild extrahieren + +Jetzt liest die Engine tatsächlich die Pixel und wandelt sie in Unicode‑Zeichenketten um. Die Methode `Recognize` erledigt die schwere Arbeit. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Warum `Recognize` separat aufrufen? Das ermöglicht Ihnen, die rohe OCR‑Ausgabe zu prüfen, Spracheinstellungen anzupassen oder sogar eine Rechtschreibprüfung durchzuführen, bevor Sie mit der ePub‑Erstellung fortfahren. + +## Schritt 4 – ePub‑Exportoptionen vorbereiten (Autor zum ePub hinzufügen) + +Ein gepflegtes ePub zu erstellen bedeutet nicht nur, Text zu dumpen; Sie benötigen auch korrekte Metadaten. Die Klasse `EpubExportOptions` bietet Ihnen eine saubere Möglichkeit, **Autor zum ePub hinzuzufügen**, einen Titel zu setzen und zu entscheiden, ob die Originalbilder eingebettet werden sollen. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Wenn Sie mehrere Seiten haben, können Sie weiterhin `ocrEngine.Image = …` und `ocrEngine.Recognize()` innerhalb einer Schleife aufrufen; jeder Aufruf fügt den Inhalt der neuen Seite zum selben ePub‑Dokument hinzu. + +## Schritt 5 – Bild in ePub konvertieren und exportieren + +Nachdem Text extrahiert und Metadaten gesetzt wurden, besteht der letzte Schritt aus einer einzigen Zeile, die die ePub‑Datei auf die Festplatte schreibt: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Die resultierende `book.epub` kann in Calibre, Apple Books oder jedem EPUB‑kompatiblen Reader geöffnet werden. Da wir `IncludeImages = true` gesetzt haben, erscheint das ursprüngliche PNG als Bildseite und bewahrt das Aussehen der gescannten Quelle. + +## Vollständiges funktionierendes Beispiel + +Alles zusammengeführt, hier das komplette, sofort ausführbare Programm: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Erwartete Ausgabe + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Öffnen Sie `book.epub` in Ihrem bevorzugten Reader und Sie sehen eine Titelseite, die Autorenzeile (auch wenn dort „Unknown“ steht) und das gescannte Bild neben auswählbarem Text. + +## Häufige Fragen & Sonderfälle + +### Was, wenn die OCR‑Sprache nicht Englisch ist? + +Aspose.OCR unterstützt über 70 Sprachen. Setzen Sie einfach die Eigenschaft `Language`, bevor Sie `Recognize` aufrufen: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Wie gehe ich mit mehrseitigen Büchern um? + +Verpacken Sie die Lade‑/Erkennungslogik in eine `foreach`‑Schleife: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Jede Iteration fügt den neu erkannten Text zum selben ePub hinzu und bewahrt die Seitenreihenfolge. + +### Kann ich die Originalbilder ausschließen? + +Sicher – setzen Sie `IncludeImages = false` in `EpubExportOptions`. Das resultierende ePub besteht ausschließlich aus fließendem Text, wodurch die Dateigröße erheblich reduziert wird. + +### Was ist mit benutzerdefinierten Schriftarten oder Styling? + +Der ePub‑Exporter von Aspose.OCR lässt Sie ein CSS‑Stylesheet über die Eigenschaft `Css` von `EpubExportOptions` bereitstellen. So können Sie eine bestimmte Schriftfamilie, Zeilenhöhe oder Ränder erzwingen. + +## Fazit + +Sie wissen jetzt **wie man ePub** aus einem gescannten Bild mit Aspose OCR in C# erstellt. Das Tutorial behandelte alles von **Bild für OCR laden**, über **Text aus Bild extrahieren**, bis hin zu **Autor zum ePub hinzufügen** und schließlich **Bild in ePub konvertieren** mit einem einzigen Exportaufruf. Mit dem vollständigen Code‑Beispiel können Sie die Lösung erweitern, um ganze Bibliotheken stapelweise zu verarbeiten, benutzerdefinierte Cover‑Grafiken einzufügen oder den Workflow in eine Web‑API zu integrieren. + +Bereit für die nächste Herausforderung? Versuchen Sie, ein PDF in ePub zu konvertieren, oder experimentieren Sie mit OCR‑Vertrauensschwellen, um die Genauigkeit bei verrauschten Scans zu verbessern. Der Himmel ist das Limit, wenn Sie leistungsstarke OCR mit flexibler ePub‑Erstellung kombinieren. + +Viel Spaß beim Coden und beim Lesen Ihres frisch erstellten ePub! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/german/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..9e94637bc --- /dev/null +++ b/ocr/german/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-07 +description: Erfahren Sie, wie Sie OCR in C# verwenden, um Text aus Bilddateien zu + extrahieren. Dieser Leitfaden zeigt Offline-OCR, die Umwandlung von Bildern in Text + und das Laden von Bildern für OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: de +og_description: Wie man OCR in C# verwendet, um Text aus Bildern offline zu extrahieren. + Schritt‑für‑Schritt‑Code, Tipps und vollständige Erklärung zur Umwandlung von Bild + zu Text. +og_title: Wie man OCR in C# verwendet – Vollständiger Offline-Leitfaden +tags: +- OCR +- C# +- Aspose +title: Wie man OCR in C# verwendet – Text aus Bildern offline extrahieren +url: /de/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wie man OCR in C# verwendet – Text aus Bildern offline extrahieren + +Haben Sie sich jemals gefragt, **wie man OCR** in einem .NET‑Projekt verwendet, ohne Daten in die Cloud zu senden? Sie sind nicht allein. Viele Entwickler müssen *Text aus Bild*‑Dateien auf einem gesicherten Arbeitsplatz extrahieren und befürchten, dass Netzwerkverkehr sensible Informationen preisgeben könnte. + +Die gute Nachricht? Mit Aspose.OCR können Sie Text aus PNGs, JPEGs oder PDFs vollständig offline erkennen. In diesem Tutorial führen wir Sie durch das Laden eines Bildes für OCR, die Konfiguration der Engine für den Offline‑Modus und schließlich das **Konvertieren von Bild zu Text** mit nur wenigen Zeilen C#. + +Am Ende dieses Leitfadens können Sie: + +* Das Aspose.OCR NuGet‑Paket installieren. +* Die OCR‑Engine für die Offline‑Verarbeitung einrichten. +* Ein Bild für OCR laden und dessen Textinhalt extrahieren. + +Keine externen Dienste, keine API‑Schlüssel – nur reiner C#‑Code, der auf jedem Windows‑ oder Linux‑System läuft. + +--- + +## Voraussetzungen + +Bevor wir starten, stellen Sie sicher, dass Sie Folgendes haben: + +* .NET 6.0 SDK oder höher (der Code funktioniert auch mit .NET Framework 4.7+). +* Visual Studio 2022, VS Code oder ein beliebiger Editor, der C# unterstützt. +* Eine Kopie der **Aspose.OCR**‑Bibliothek – Sie können sie von NuGet beziehen (`Aspose.OCR`). +* Einen OCR‑Ressourcen‑Ordner (`Resources`), der mit der Bibliothek geliefert wird (enthält Sprachdatendateien). +* Ein Beispielbild (z. B. `offline_test.png`), das in einem bekannten Verzeichnis liegt. + +> **Pro‑Tipp:** Legen Sie den Ressourcen‑Ordner neben Ihrer ausführbaren Datei ab; das vereinfacht die `ResourcesPath`‑Konfiguration. + +--- + +## Schritt 1: Installieren des Aspose.OCR NuGet‑Pakets + +Fügen Sie zunächst die Bibliothek zu Ihrem Projekt hinzu. Öffnen Sie ein Terminal im Projektordner und führen Sie aus: + +```bash +dotnet add package Aspose.OCR +``` + +Oder, wenn Sie die Visual‑Studio‑Benutzeroberfläche bevorzugen, klicken Sie mit der rechten Maustaste auf **Dependencies → Manage NuGet Packages**, suchen Sie nach *Aspose.OCR* und klicken Sie auf **Install**. + +> Das Installieren des Pakets zieht alle erforderlichen Binärdateien nach, sodass Sie keine zusätzlichen DLLs benötigen. + +--- + +## Schritt 2: Erstellen und Konfigurieren der OCR‑Engine (How to Use OCR – Offline Mode) + +Jetzt instanziieren wir die OCR‑Engine und weisen sie an, **offline** zu arbeiten. Das stellt sicher, dass während der Erkennung kein Netzwerkverkehr entsteht. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Warum offline?** +Wenn `EngineMode` auf `Online` gesetzt ist, kontaktiert die Engine Asposes Cloud, um Sprachpakete on‑the‑fly herunterzuladen. In regulierten Umgebungen (Finanzen, Gesundheitswesen) ist dieser Verkehr oft verboten. Durch das Erzwingen des Offline‑Modus garantieren Sie, dass alles auf dem lokalen Rechner bleibt. + +--- + +## Schritt 3: Die Engine auf den OCR‑Ressourcen‑Ordner verweisen + +Die OCR‑Engine benötigt Sprachdaten (trainierte Modelle), um Zeichen zu erkennen. Geben Sie ihr an, wo diese Dateien liegen: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Falls Sie nicht wissen, wo der Ordner ist, finden Sie ihn im NuGet‑Paketverzeichnis (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Kopieren Sie den gesamten Ordner in Ihr Projekt, um die Bereitstellung zu vereinfachen. + +--- + +## Schritt 4: Das Bild für OCR laden (Load Image for OCR) + +Sie können der Engine jedes unterstützte Bitmap übergeben. Hier laden wir ein PNG von der Festplatte: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tipp:** Wenn Sie Bilder aus einem Stream verarbeiten müssen (z. B. über eine API hochgeladen), verwenden Sie stattdessen `ImageStream.FromStream(yourStream)`. + +--- + +## Schritt 5: Den Erkennungsprozess starten und Bild zu Text konvertieren + +Wenn alles bereit ist, starten Sie die OCR. Die Methode `Recognize()` übernimmt die eigentliche Arbeit, und der extrahierte Text ist über die Eigenschaft `Text` verfügbar. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Schritt 6: Den extrahierten Text ausgeben + +Zum Schluss das Ergebnis anzeigen. In einer Konsolen‑App schreiben Sie einfach in die Konsole, in einer Web‑API würden Sie den String als JSON zurückgeben. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Das Ausführen des Programms sollte den Textinhalt von `offline_test.png` ausgeben. Beispielweise, wenn das Bild den Satz *„Hello, World!“* enthält, sehen Sie: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Vollständiges funktionierendes Beispiel + +Unten finden Sie das komplette, sofort ausführbare Programm. Kopieren Sie es in ein neues Konsolen‑Projekt (`dotnet new console`) und passen Sie die Pfade an Ihre Umgebung an. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Erwartete Ausgabe:** Die Konsole gibt den genauen Text aus, der in der PNG‑Datei enthalten ist. Ist das Bild unscharf, können Fehlinterpretationen auftreten – siehe den Abschnitt zur Fehlersuche weiter unten. + +--- + +## Häufige Stolperfallen & Tipps (Recognize Text from PNG Efficiently) + +| Problem | Warum es passiert | Wie zu beheben | +|---------|-------------------|----------------| +| **Leere Ausgabe** | `ResourcesPath` zeigt auf den falschen Ordner oder Sprachdateien fehlen. | Stellen Sie sicher, dass der Ordner `eng.traineddata` (oder andere Sprachdateien) enthält und prüfen Sie den Pfad‑String doppelt. | +| **Fehlerhafte Zeichen** | Bildauflösung ist zu niedrig oder das Bild ist nicht binarisiert. | Bild vorverarbeiten (DPI erhöhen, `ImageProcessor` zum Schärfen anwenden). | +| **Leistungs‑Verzögerung** | Große Bilder werden in voller Auflösung verarbeitet. | Bild vor der OCR‑Übergabe auf maximal 2000 px Breite verkleinern. | +| **Nicht unterstütztes Format** | Verwendung eines BMP mit ungewöhnlichem Pixelformat. | Bild zuerst in PNG oder JPEG konvertieren (`System.Drawing.Image.Save`). | + +**Pro‑Tipp:** Wenn Sie mehrere Sprachen erkennen müssen, setzen Sie vor dem Aufruf von `Recognize()` `ocrEngine.Settings.Language = Language.English | Language.French;`. + +--- + +## Häufig gestellte Fragen + +**F: Kann ich diesen Code unter Linux verwenden?** +Ja. Aspose.OCR ist plattformübergreifend; stellen Sie lediglich sicher, dass die nativen Bibliotheken vorhanden sind (sie sind im NuGet‑Paket enthalten). + +**F: Was, wenn ich keinen Resources‑Ordner habe?** +Sie können die kostenlosen Sprachpakete von Asposes Website herunterladen oder sie aus dem NuGet‑Paket extrahieren (`.../aspose.ocr//resources`). + +**F: Gibt es eine Möglichkeit, Vertrauens‑Scores zu erhalten?** +Ja. Nach `Recognize()` prüfen Sie `ocrEngine.RecognizedWords` – jedes Wort enthält eine `Confidence`‑Eigenschaft. + +--- + +## Fazit + +Wir haben gezeigt, **wie man OCR** in C# verwendet, um *Text aus Bild*‑Dateien vollständig offline zu extrahieren. Durch das Installieren von Aspose.OCR, das Konfigurieren von `EngineMode.Offline`, das Setzen des Ressourcen‑Pfads, das Laden eines Bildes und den Aufruf von `Recognize()` können Sie zuverlässig **Bild zu Text** konvertieren, ohne jemals das Internet zu berühren. + +Nehmen Sie den obigen Code, passen Sie Ihre eigenen Bildpfade an und beginnen Sie, Funktionen wie durchsuchbare PDFs, Daten‑Entry‑Automatisierung oder Barrierefrei‑Tools zu bauen. Als Nächstes könnten Sie **Text aus PNG** stapelweise erkennen oder die Engine in eine ASP.NET Core‑API integrieren, um OCR‑Ergebnisse an Front‑End‑Anwendungen zu liefern. + +Viel Spaß beim Coden und experimentieren – OCR ist überraschend nachsichtig, sobald die Engine korrekt eingerichtet ist! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/german/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..2660384b1 --- /dev/null +++ b/ocr/german/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Erfahren Sie, wie Sie Hindi‑Text erkennen und ein Bild für OCR mit Aspose.OCR + in C# laden. Schritt‑für‑Schritt‑Einrichtung, Code und Tipps. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: de +og_description: Entdecken Sie, wie Sie Hindi-Text mit Aspose OCR in C# erkennen. Enthält + das Laden von Bildern für OCR, die Einrichtung des Sprachpakets und Tipps zu bewährten + Verfahren. +og_title: Hindi-Text erkennen – Vollständiges Aspose-OCR‑Tutorial +tags: +- C# +- OCR +- Aspose +- Hindi +title: Hindi-Text in C# erkennen – Vollständiger Aspose OCR‑Leitfaden +url: /de/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hindi-Text erkennen – Vollständiges Aspose OCR Tutorial + +Haben Sie jemals **Hindi text** von einem gescannten Beleg erkennen müssen, wussten aber nicht, wo Sie anfangen sollen? Sie sind nicht allein. In vielen auf Indien fokussierten Apps kann das zuverlässige Extrahieren von Hindi‑Zeichen sich anfühlen, als würde man einem sich bewegenden Ziel hinterherjagen. Glücklicherweise macht Aspose.OCR das zu einem Kinderspiel – sobald Sie die richtigen Schritte kennen, um **load image for OCR** auszuführen und die Engine auf die Hindi‑Sprachressourcen zu verweisen. + +In diesem Leitfaden gehen wir alles durch, was Sie benötigen, um eine funktionierende OCR‑Pipeline in C# zu erstellen. Am Ende haben Sie ein ausführbares Programm, das das Hindi‑Sprachpaket herunterlädt, ein Bild lädt, die Erkennung ausführt und den resultierenden Text in der Konsole ausgibt. Keine vagen „siehe die Docs“-Links – nur eine eigenständige Lösung, die Sie in jedes .NET‑Projekt einbinden können. + +## Was Sie benötigen + +- **.NET 6+** (oder .NET Framework 4.7.2+). Die API ist über alle Versionen hinweg gleich, aber die neuere Runtime bietet bessere Leistung. +- **Aspose.OCR for .NET** NuGet‑Paket. Installieren Sie es mit `dotnet add package Aspose.OCR`. +- Ein **Hindi language pack** – Aspose liefert ihn als herunterladbare Ressource, nicht standardmäßig gebündelt. +- Eine Bilddatei, die Hindi‑Text enthält (z. B. `hindi_receipt.jpg`). Jedes gängige Format (JPG, PNG, BMP) funktioniert. +- Eine brauchbare IDE (Visual Studio, Rider oder VS Code). + +Das war's – keine externen OCR‑Engines, keine Cloud‑Schlüssel, nur eine lokale Bibliothek. + +## Schritt 1: Hindi Language Pack herunterladen – Ressourcen einrichten + +Bevor die OCR‑Engine Devanagari‑Zeichen verstehen kann, müssen Sie die Hindi‑Sprachressourcen abrufen. Dies ist ein einmaliger Vorgang, der normalerweise während der Anwendungsinstallation oder im CI/CD durchgeführt wird. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Why this matters:** Die OCR‑Engine nutzt sprachspezifische Modelle, um Pixelmuster in Unicode‑Zeichen zu übersetzen. Ohne das Hindi‑Paket erhalten Sie verzerrte lateinische Ausgabe oder gar nichts. + +> **Pro tip:** Cache das Paket in einem Ordner, der auf der Zielmaschine beschreibbar ist. Wenn Sie zu Azure App Service deployen, verwenden Sie den Ordner `D:\home\site\wwwroot\Resources`. + +## Schritt 2: OCR‑Engine konfigurieren – Ressourcen zuweisen + +Jetzt, wo die Ressourcen vorhanden sind, erstellen Sie eine `OcrEngine`‑Instanz und geben ihr an, wo sie nach den Sprachdateien suchen soll. Hier setzen wir außerdem die **primary language** für die Erkennung. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Why we do this:** `ResourcesPath` ist die Brücke zwischen der Engine und den heruntergeladenen Dateien. Wenn Sie diesen Schritt überspringen, fällt die Engine auf ihre eingebauten (nur englischen) Modelle zurück und Sie können **recognize Hindi text** nicht korrekt ausführen. + +## Schritt 3: Bild für OCR laden – Engine mit richtiger Eingabe versorgen + +Mit der vorbereiteten Engine ist der nächste Schritt, **load image for OCR**. Aspose stellt einen praktischen Helfer `ImageStream.FromFile` bereit, der die meisten gängigen Bildformate unterstützt. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Large images** können die Verarbeitung verlangsamen. Wenn Sie hochauflösende Scans verarbeiten, sollten Sie zuerst down‑sampling durchführen (`ImageProcessor.Resize`). +- **Incorrect orientation** (rotierte Scans) führt zu schlechten Ergebnissen. Verwenden Sie bei Bedarf `ocrEngine.Image.Rotate(90)`. + +## Schritt 4: Erkennung ausführen – Text extrahieren + +Jetzt fordern wir die Engine tatsächlich auf, die Pixel zu lesen und in Unicode‑Strings zu verwandeln. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**What to expect:** Ist das Bild klar, sollten die Hindi‑Zeichen exakt so ausgegeben werden, wie sie auf dem Beleg erscheinen. Ein Beispielbeleg könnte folgendes ausgeben: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Wenn Sie Kauderwelsch erhalten, prüfen Sie, ob das Sprachpaket korrekt heruntergeladen wurde und ob `ocrEngine.Settings.Language` auf `Language.Hindi` gesetzt ist. + +## Schritt 5: Alles zusammenfassen – vollständiges, ausführbares Programm + +Unten finden Sie die komplette Quellcodedatei, die Sie in ein Konsolenprojekt kopieren können. Sie enthält alle oben genannten Schritte sowie minimale Fehlerbehandlung. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Speichern Sie dies als `Program.cs`, führen Sie `dotnet run` aus, und Sie sollten den Hindi‑Text in der Konsole sehen. + +## Häufig gestellte Fragen (FAQ) + +### Kann ich mehrere Sprachen in einem Durchlauf erkennen? + +Ja. Setzen Sie `ocrEngine.Settings.Language` auf ein Array, z. B. `new[] { Language.Hindi, Language.English }`. Die Engine versucht dann, Zeichen aus beiden Schriftsystemen zu erkennen. + +### Was tun, wenn mein Bild unscharf ist? + +Erwägen Sie eine Vorverarbeitung mit `ImageProcessor` – wenden Sie Schärfung oder Kontrastverbesserung an, bevor Sie das Bild `ocrEngine.Image` zuweisen. + +### Funktioniert das unter Linux/macOS? + +Absolut. Aspose.OCR ist plattformübergreifend; stellen Sie lediglich sicher, dass die nativen Abhängigkeiten vorhanden sind (in der Regel im NuGet‑Paket enthalten). + +### Wie verbessere ich die Genauigkeit bei niedrig aufgelösten Belegen? + +Erhöhen Sie die DPI (dots per inch) beim Scannen oder resampeln Sie das Bild programmgesteuert auf mindestens 300 DPI vor der OCR. + +## Fazit + +Wir haben alles behandelt, was Sie benötigen, um **recognize Hindi text** mit Aspose.OCR zu verwenden – vom Herunterladen des Hindi‑Sprachpakets, über die Konfiguration der Engine, das korrekte **load image for OCR** bis hin zur Extraktion und Ausgabe des Ergebnisses. Das vollständige Code‑Snippet oben kann in jede C#‑Konsolen‑App eingefügt werden, und die optionalen Tipps helfen Ihnen, gängige Randfälle wie unscharfe Scans oder mehrsprachige Dokumente zu bewältigen. + +Bereit für den nächsten Schritt? Versuchen Sie, die OCR‑Ausgabe an eine Übersetzungs‑API zu übergeben oder die extrahierten Daten in einer Datenbank für Analysen zu speichern. Sie können auch mit anderen indischen Sprachen experimentieren – Aspose unterstützt Tamil, Bengali und mehr – indem Sie `Language.Hindi` durch den gewünschten Enum‑Wert ersetzen. + +Viel Spaß beim Coden und möge Ihr OCR‑Ergebnis stets klar und scharf sein! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/german/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/german/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..db1602cd1 --- /dev/null +++ b/ocr/german/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Erkennen Sie Text aus Bildern schnell mit Aspose OCR. Erfahren Sie, wie + Sie DjVu in Text konvertieren, Text aus Bildern extrahieren und Bilder für OCR laden + – in einem Schritt‑für‑Schritt C#‑Tutorial. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: de +og_description: Texterkennung aus Bild in C# mit Aspose OCR. Dieser Leitfaden zeigt, + wie man Djvu in Text konvertiert, Text aus einem Bild extrahiert und ein Bild für + OCR lädt, inklusive praktischer Tipps. +og_title: Text aus Bild erkennen – Vollständiges C# Aspose OCR Tutorial +tags: +- C# +- Aspose OCR +- Document Processing +title: Text aus Bild in C# erkennen – Vollständiger Aspose OCR Leitfaden +url: /de/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Text aus Bild erkennen – Vollständiges C# Aspose OCR Tutorial + +Haben Sie jemals **Text aus Bild erkennen** müssen, waren sich aber nicht sicher, welche Bibliothek zuverlässige Ergebnisse liefert? Sie sind nicht allein. Ob Sie gescannte Rechnungen, historische DJVU‑Dateien oder einen einfachen PNG‑Screenshot verarbeiten – das Extrahieren der genauen Zeichen kann sich anfühlen, als würde man ein altes Schriftstück entschlüsseln. + +Hier ist die Sache – Aspose OCR macht den gesamten Prozess zum Kinderspiel. In diesem Leitfaden zeigen wir Ihnen, wie Sie **convert djvu to text**, **extract text from image** und **load image for OCR** mit einem kompakten C#‑Programm durchführen. Am Ende haben Sie eine ausführbare Konsolen‑App, die die erkannte Zeichenkette in der Konsole ausgibt, und Sie verstehen das „Warum“ hinter jeder Zeile. + +## Was Sie lernen werden + +- Wie Sie die Aspose OCR‑Engine in einem .NET‑Projekt einrichten. +- Der genaue Code, der **load image for OCR** aus einer DJVU‑Datei lädt. +- Warum Sie `Recognize()` aufrufen sollten, bevor Sie `Text` lesen. +- Häufige Stolperfallen (Mehrseiten‑DJVU, nicht unterstützte Formate) und wie Sie sie vermeiden. +- Schnelle Methoden, **convert djvu to text** für die Batch‑Verarbeitung durchzuführen. + +Alles, was Sie benötigen, ist ein aktuelles .NET‑SDK (≥ 6.0) und eine Aspose OCR‑Lizenz (die kostenlose Testversion funktioniert für Tests). Keine externen Dienste, keine REST‑Aufrufe – nur reines C#. + +## Voraussetzungen + +| Anforderung | Grund | +|-------------|-------| +| .NET 6 SDK oder neuer | Moderne Sprachfeatures und bessere Performance. | +| Aspose.OCR NuGet‑Paket (`Install-Package Aspose.OCR`) | Stellt die `OcrEngine`‑Klasse bereit, die wir verwenden. | +| Eine DJVU‑Datei (z. B. `sample.djvu`) | Demonstriert **convert djvu to text**. | +| Grundlegende Erfahrung mit C#‑Konsolen‑Apps | Lässt die Schritte natürlich fließen. | + +Wenn einer dieser Punkte fehlt, pausieren Sie und installieren Sie ihn jetzt; sonst lässt sich der Code nicht kompilieren. + +## Schritt 1 – Aspose.OCR installieren und das Projekt erstellen + +Zuerst ein neues Konsolen‑Projekt anlegen und die OCR‑Bibliothek einbinden. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro Tipp:* Verwenden Sie das Flag `--framework net6.0`, wenn Sie das Ziel‑Framework explizit festlegen möchten. + +## Schritt 2 – OCR‑Engine initialisieren und das DJVU‑Bild laden + +Die Engine benötigt eine Bildquelle. Aspose.OCR kann viele Formate lesen, einschließlich DJVU, sodass wir einfach den Dateipfad angeben. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Warum das wichtig ist:** +- `OcrEngine` ist der Einstiegspunkt; sie einmal zu erstellen und wiederzuverwenden reduziert den Speicherverbrauch. +- `ImageStream.FromFile` abstrahiert das Dateiformat, sodass Sie später die DJVU‑Datei durch ein PNG oder TIFF ersetzen können, ohne anderen Code zu ändern – perfekt für „how to extract text from image“ in verschiedenen Szenarien. + +## Schritt 3 – Erkennungsprozess ausführen + +Der Aufruf von `Recognize()` startet die eigentliche Arbeit. Im Hintergrund nutzt Aspose einen neuronalen Netzwerk‑basierten Klassifikator, der sowohl gedruckten als auch handgeschriebenen Text verarbeitet. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Hinweis zu Randfällen:* Wenn Ihre DJVU‑Datei mehrere Seiten enthält, lädt `ImageStream.FromFile` weiterhin nur die erste Seite. Um alle Seiten zu verarbeiten, müssten Sie über `ImageStream.FromFile(...).Pages` iterieren. Für die meisten Schnell‑Look‑Aufgaben reicht die erste Seite aus. + +## Schritt 4 – Erkannten Text abrufen und anzeigen + +Nach der Erkennung füllt die Engine die `Text`‑Eigenschaft mit einer Klartext‑Zeichenkette. Sie können diese nun in die Konsole, in eine Datei schreiben oder in ein anderes System einspeisen. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typische Ausgabe sieht so aus: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Wenn die Ausgabe unleserlich ist, prüfen Sie, ob das Quellbild eine niedrige Auflösung hat; Aspose empfiehlt 300 dpi oder höher für beste Genauigkeit. + +## Vollständiges funktionierendes Beispiel + +Alles zusammengeführt, hier eine einzelne Datei (`Program.cs`), die Sie in das zuvor erstellte Projekt einfügen können. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Führen Sie es aus mit: + +```bash +dotnet run +``` + +Sie sollten die extrahierte Zeichenkette im Terminal sehen. Dies ist der einfachste Weg, **recognize text from image** mit Aspose OCR zu nutzen. + +## Schritt 5 – Fortgeschritten: Mehrere DJVU‑Seiten in Textdateien konvertieren + +Wenn Sie **convert djvu to text** in großen Mengen benötigen, erweitern Sie den vorherigen Code um eine Schleife: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Warum das funktioniert:* `GetPage(i)` gibt ein `Image`‑Objekt für die angeforderte Seite zurück, sodass Sie dieselbe `OcrEngine`‑Instanz wiederverwenden können. Der Text jeder Seite landet in einer eigenen `.txt`‑Datei, was Ihnen eine saubere **convert djvu to text**‑Pipeline liefert. + +## Häufige Fragen & Stolperfallen + +- **Kann ich Text aus einem JPEG statt DJVU extrahieren?** + Absolut. Ändern Sie einfach die Dateierweiterung in `FromFile`. Der gleiche Code **how to extract text from image** gilt, weil Aspose das Format abstrahiert. + +- **Was tun, wenn das OCR‑Ergebnis zusätzliche Zeilenumbrüche enthält?** + Verwenden Sie `String.Replace("\r\n", " ")` oder einen regulären Ausdruck, um Leerzeichen zu normalisieren. + +- **Brauche ich eine Lizenz für den Produktionseinsatz?** + Die kostenlose Testversion funktioniert für bis zu 100 Seiten. Für unbegrenzte Nutzung kaufen Sie eine Lizenz und rufen `License license = new License(); license.SetLicense("Aspose.OCR.lic");` vor der Erstellung der Engine auf. + +- **Ist die Engine thread‑sicher?** + Nein. Erstellen Sie pro Thread eine separate `OcrEngine` oder schützen Sie den Zugriff mit einem Lock. + +## Tipps für bessere Genauigkeit + +1. **DPI erhöhen** – Wenn Sie die Quellkonvertierung steuern, geben Sie Bilder mit 300 dpi oder höher aus. +2. **Bild vorverarbeiten** – Eine einfache Binärisierung (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) kann die Ergebnisse bei verrauschten Scans verbessern. +3. **Sprache festlegen** – `ocrEngine.Language = Language.English;` reduziert den Zeichensatz und beschleunigt die Erkennung. + +## Fazit + +Sie haben nun ein komplettes, sofort ausführbares Beispiel, das **recognize text from image** mit Aspose OCR demonstriert, und Sie haben gesehen, wie man **convert djvu to text**, **how to extract text from image** und **load image for OCR** korrekt durchführt. Der Code ist eigenständig, läuft auf jeder .NET 6+‑Runtime und lässt sich leicht erweitern, um mehrseitige DJVU‑Dokumente stapelweise zu verarbeiten. + +Als Nächstes könnten Sie: + +- **Spracherkennung** für mehrsprachige DJVU‑Dateien hinzufügen. +- Die OCR‑Ausgabe in einen Such‑Index (z. B. Elasticsearch) integrieren. +- Asposes PDF‑Konvertierung nutzen, um den extrahierten Text in durchsuchbare PDFs zu verwandeln. + +Probieren Sie es aus, passen Sie die DPI an, experimentieren Sie mit verschiedenen Bildformaten, und lassen Sie die OCR‑Engine die schwere Arbeit für Sie übernehmen. Viel Spaß beim Coden! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/ocr-configuration/_index.md b/ocr/greek/net/ocr-configuration/_index.md index 3c21d17fc..2eb101e27 100644 --- a/ocr/greek/net/ocr-configuration/_index.md +++ b/ocr/greek/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ weight: 24 Αποκτήστε ισχυρές δυνατότητες OCR με το Aspose.OCR για .NET. Εξάγετε κείμενο από εικόνες απρόσκοπτα. ### [OCROperation με Λίστα σε Αναγνώριση Εικόνας OCR](./ocr-operation-with-list/) Αποκτήστε το δυναμικό του Aspose.OCR για .NET. Εκτελέστε αναγνώριση εικόνων OCR με λίστες εύκολα. Αυξήστε την παραγωγικότητα και την εξαγωγή δεδομένων στις εφαρμογές σας. +### [Ανάγνωση κειμένου από PNG – εξαγωγή κυριλλικού κειμένου με Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Μάθετε πώς να διαβάζετε κείμενο από αρχεία PNG και να εξάγετε κυριλλικό κείμενο χρησιμοποιώντας το Aspose OCR. ### Κοινές Περιπτώσεις Χρήσης - **Εξαγωγή κειμένου από εικόνες** σε σαρωμένα τιμολόγια για αυτοματοποιημένη λογιστική. @@ -100,4 +102,4 @@ A: Ναι, το αντικείμενο `OcrResult` παρέχει τιμές ε {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/greek/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..f446d36cd --- /dev/null +++ b/ocr/greek/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-03-07 +description: Μάθετε πώς να διαβάζετε κείμενο από PNG και να εξάγετε κυριλλικό κείμενο + χρησιμοποιώντας το Aspose OCR, να μετατρέπετε την εικόνα σε κείμενο και να κατεβάζετε + το πακέτο γλώσσας κυριλλικών. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: el +og_description: Μάθετε πώς να διαβάζετε κείμενο από PNG, να εξάγετε κυριλλικό κείμενο + και να μετατρέπετε την εικόνα σε κείμενο χρησιμοποιώντας το Aspose OCR σε C#. +og_title: διάβασμα κειμένου από png – εξαγωγή κυριλλικού κειμένου με Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: διάβασε κείμενο από png – εξήγαγε κυριλλικό κείμενο με Aspose OCR +url: /el/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ανάγνωση κειμένου από png – εξαγωγή κυριλλικού κειμένου με Aspose OCR + +Χρειάζεστε **ανάγνωση κειμένου από png** αρχεία και εξαγωγή κυριλλικών χαρακτήρων; Σε αυτόν τον οδηγό θα σας δείξουμε πώς να διαβάσετε κείμενο από png χρησιμοποιώντας Aspose OCR, να εξάγετε κυριλλικό κείμενο και **να μετατρέψετε την εικόνα σε κείμενο** με λίγες μόνο γραμμές C#. + +Αν έχετε ποτέ κολλήσει σε ένα στιγμιότυπο οθόνης ρωσικού τιμολογίου και αναρωτηθήκατε πώς να μετατρέψετε τις λέξεις σε αναζητήσιμη συμβολοσειρά, βρίσκεστε στο σωστό μέρος. Θα καλύψουμε επίσης πώς να **κατεβάσετε αυτόματα το πακέτο γλώσσας Κυριλλικού**, ώστε να μην χρειάζεται να ψάχνετε για επιπλέον αρχεία. + +## Τι θα πετύχετε + +Στο τέλος αυτού του tutorial θα μπορείτε: + +* **Φόρτωση εικόνας για OCR** απευθείας από δίσκο ή ροή. +* Ορισμός της μηχανής σε **γλώσσα Κυριλλικού** χωρίς χειροκίνητες λήψεις. +* Εκτέλεση αναγνώρισης και **εξαγωγή κυριλλικού κειμένου** από αρχείο PNG. +* Εμφάνιση του αναγνωρισμένου κειμένου στην κονσόλα – ένα καθαρό, απλό‑κείμενο αποτέλεσμα που μπορείτε να τροφοδοτήσετε σε βάσεις δεδομένων, ευρετήρια αναζήτησης ή οποιαδήποτε άλλη ροή εργασίας. + +Καμία εξωτερική υπηρεσία, κανένα κλειδί cloud, μόνο το πακέτο NuGet Aspose OCR και λίγες γραμμές C#. + +## Προαπαιτούμενα + +* .NET 6.0 ή νεότερο (ο κώδικας λειτουργεί σε .NET Core, .NET Framework και .NET 5+). +* Visual Studio 2022 ή οποιονδήποτε επεξεργαστή προτιμάτε. +* Το πακέτο NuGet Aspose.OCR (`dotnet add package Aspose.OCR`). +* Μια εικόνα PNG που περιέχει κυριλλικούς χαρακτήρες – π.χ. `cyrillic_sample.png` τοποθετημένη σε φάκελο με όνομα `YOUR_DIRECTORY`. + +> **Συμβουλή επαγγελματία:** Αν χρησιμοποιείτε Visual Studio, κάντε δεξί‑κλικ στο project → **Manage NuGet Packages** → αναζητήστε “Aspose.OCR” και εγκαταστήστε την πιο πρόσφατη σταθερή έκδοση. + +--- + +## Βήμα 1 – Εγκατάσταση Aspose OCR και δημιουργία της μηχανής + +Πρώτα χρειαζόμαστε το στιγμιότυπο της μηχανής OCR. Η κλάση `OcrEngine` είναι το σημείο εισόδου για όλες τις λειτουργίες. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Γιατί είναι σημαντικό:** Η μηχανή ενσωματώνει πακέτα γλώσσας, δεδομένα εικόνας και επιλογές αναγνώρισης. Η δημιουργία της μία φορά και η επαναχρησιμοποίησή της σε πολλαπλές εικόνες μπορεί να βελτιώσει την απόδοση. + +--- + +## Βήμα 2 – **φόρτωση εικόνας για OCR** και ορισμός της γλώσσας + +Τώρα λέμε στη μηχανή ποια εικόνα θα επεξεργαστεί και σε ποια γλώσσα να ψάξει. Ο ορισμός `Language.Cyrillic` κατεβάζει αυτόματα το απαιτούμενο πακέτο γλώσσας την πρώτη φορά που εκτελείται. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Ακραία περίπτωση:** Αν το PNG σας είναι τεράστιο (πάνω από 5 MB) ίσως θελήσετε πρώτα να το αλλάξετε μέγεθος για να επιταχύνετε την αναγνώριση. Η ιδιότητα `Image` δέχεται επίσης ένα `Stream`, ώστε να μπορείτε να φορτώσετε από μνήμη, αίτημα web ή Azure Blob χωρίς να αγγίξετε το σύστημα αρχείων. + +--- + +## Βήμα 3 – **μετατροπή εικόνας σε κείμενο** με μία κλήση + +Η αναγνώριση είναι τόσο απλή όσο η κλήση του `Recognize()`. Μετά από αυτήν την κλήση η ιδιότητα `Text` περιέχει τη εξαγόμενη συμβολοσειρά. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Τι συμβαίνει στο παρασκήνιο;** Το Aspose εκτελεί έναν ταξινομητή βασισμένο σε νευρωνικά δίκτυα, εκπαιδευμένο σε εκατομμύρια κυριλλικά γλύφους. Η βιβλιοθήκη αφαιρεί όλη αυτή τη πολυπλοκότητα, ώστε εσείς να λαμβάνετε καθαρό Unicode. + +--- + +## Βήμα 4 – Εξαγωγή του αποτελέσματος (ή προώθηση κάπου αλλού) + +Για σκοπούς επίδειξης θα τυπώσουμε το κείμενο στην κονσόλα, αλλά μπορείτε εύκολα να το γράψετε σε αρχείο, βάση δεδομένων ή να το περάσετε σε ευρετήριο αναζήτησης. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Αναμενόμενη έξοδος** (υπόθεση ότι το `cyrillic_sample.png` περιέχει τη φράση «Привет мир»): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Αν η έξοδος φαίνεται παραμορφωμένη, ελέγξτε ξανά ότι η εικόνα είναι καθαρή και ότι έχετε ορίσει `Language.Cyrillic`. Η μηχανή προεπιλογή είναι η Αγγλική, η οποία θα θεωρούσε τους κυριλλικούς χαρακτήρες ως άγνωστα σύμβολα. + +--- + +## Βήμα 5 – Πλήρες, εκτελέσιμο παράδειγμα + +Συνδυάζοντας όλα τα παραπάνω, εδώ είναι ένα αυτόνομο πρόγραμμα που μπορείτε να αντιγράψετε‑επικολλήσετε σε ένα νέο project κονσόλας. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Αποθηκεύστε το αρχείο ως `Program.cs`, τρέξτε `dotnet run`, και θα πρέπει να δείτε το κυριλλικό κείμενο να εμφανίζεται. + +--- + +## Συχνές ερωτήσεις & αντιμετώπιση προβλημάτων + +| Ερώτηση | Απάντηση | +|----------|--------| +| **Τι γίνεται αν το πακέτο γλώσσας δεν κατεβάσει;** | Βεβαιωθείτε ότι η μηχανή έχει πρόσβαση στο internet. Το πακέτο αποθηκεύεται στην `%USERPROFILE%\.Aspose\OCR\Languages`. Η διαγραφή αυτού του φακέλου αναγκάζει μια νέα λήψη. | +| **Μπορώ να διαβάσω άλλες γλώσσες εκτός από την Κυριλλική;** | Φυσικά – αντικαταστήστε το `Language.Cyrillic` με `Language.English`, `Language.Arabic` κ.λπ. Η ίδια λογική αυτόματης λήψης ισχύει. | +| **Η PNG μου είναι θορυβώδης – τα αποτελέσματα είναι φτωχά. Τι μπορώ να κάνω;** | Προεπεξεργαστείτε την εικόνα: αυξήστε την αντίθεση, μετατρέψτε σε γκρι κλίμακα ή εφαρμόστε φίλτρο μέσου όρου. Το Aspose OCR προσφέρει επίσης επιλογές `Settings.ImagePreprocess`. | +| **Υπάρχει τρόπος να λάβω τα πλαίσια περιορισμού (bounding boxes) για κάθε λέξη;** | Ναι, μετά το `Recognize()` μπορείτε να εξετάσετε το `ocrEngine.Regions` που επιστρέφει ορθογώνια για κάθε ανιχνευμένη λέξη. | +| **Χρειάζομαι άδεια για χρήση σε παραγωγή;** | Η δωρεάν αξιολόγηση λειτουργεί για έως 100 σελίδες. Για εμπορικά έργα αγοράστε άδεια – αφαιρεί το υδατογράφημα αξιολόγησης και ξεκλειδώνει την υψηλής ταχύτητας επεξεργασία παρτίδων. | + +--- + +## Επόμενα βήματα – επέκταση της λύσης + +* **Επεξεργασία παρτίδας:** Επανάληψη σε φάκελο PNG, συλλογή όλων των κειμένων σε αρχείο CSV. +* **Ενσωμάτωση με Azure Cognitive Search:** Ευρετηρίαση των εξαγόμενων κυριλλικών συμβολοσειρών για γρήγορη αναζήτηση. +* **Συνδυασμός με μετατροπή PDF:** Χρησιμοποιήστε Aspose.PDF για μετατροπή σκαναρισμένων PDF σε PNG πρώτα, έπειτα εκτελέστε την ίδια ροή OCR. + +Όλα αυτά τα σενάρια επαναχρησιμοποιούν το βασικό μοτίβο που καλύψαμε: **φόρτωση εικόνας για OCR → ορισμός γλώσσας → αναγνώριση → χρήση του κειμένου**. + +--- + +## Συμπέρασμα + +Τώρα ξέρετε πώς να **διαβάζετε κείμενο από png**, **εξάγετε κυριλλικό κείμενο** και **μετατρέπετε εικόνα σε κείμενο** με Aspose OCR σε C#. Τα βασικά βήματα είναι η δημιουργία της μηχανής, η φόρτωση της εικόνας, η επιλογή της κατάλληλης γλώσσας (που αυτόματα **κατεβάζει το πακέτο γλώσσας Κυριλλικού**) και τέλος η κλήση του `Recognize()`. + +Δοκιμάστε το με διαφορετικές εικόνες, πειραματιστείτε με τις επιλογές `Settings` και δείτε τις εφαρμογές σας να γίνονται αναζητήσιμες, πολυγλωσσικές και πολύ πιο έξυπνες. + +Καλό προγραμματισμό, και μη διστάσετε να αφήσετε ένα σχόλιο αν αντιμετωπίσετε προβλήματα! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/ocr-optimization/_index.md b/ocr/greek/net/ocr-optimization/_index.md index afd528c89..17a1f9910 100644 --- a/ocr/greek/net/ocr-optimization/_index.md +++ b/ocr/greek/net/ocr-optimization/_index.md @@ -65,15 +65,16 @@ weight: 25 ## Μαθήματα Βελτιστοποίησης OCR ### [Perform OCR on Image from URL in OCR Image Recognition](./perform-ocr-on-image-from-url/) -Εξερευνήστε αδιάλειπτη ενσωμάτωση OCR με Aspose.OCR for .NET. Αναγνωρίστε κείμενο από εικόνες με ακρίβεια. ### [Prepare Rectangles in OCR Image Recognition](./prepare-rectangles/) -Αποκτήστε το πλήρες δυναμικό του Aspose.OCR for .NET με τον ολοκληρωμένο μας οδηγό. Μάθετε βήμα‑βήμα πώς να προετοιμάσετε ορθογώνια για την αναγνώριση εικόνας. Αναβαθμίστε τις .NET εφαρμογές σας με αδιάλειπτη ενσωμάτωση OCR. ### [Preprocessing Filters for Image in OCR Image Recognition](./preprocessing-filters-for-image/) -Εξερευνήστε το Aspose.OCR for .NET. Βελτιώστε την ακρίβεια OCR με φίλτρα προεπεξεργασίας. Κατεβάστε τώρα για αδιάλειπτη ενσωμάτωση. -### [Result Correction with Spell Checking in OCR Image Recognition](./result-correction-with-spell-checking/) -Αυξήστε την ακρίβεια OCR με Aspose.OCR for .NET. Διορθώστε ορθογραφικά λάθη, προσαρμόστε λεξικά και επιτύχετε αναγνώριση κειμένου χωρίς σφάλματα με ευκολία. +### [Result Correction with Spell Checking in OCR Image Recognition](./result-correction-with-spellchecking/) ### [Save Multipage Result as Document in OCR Image Recognition](./save-multipage-result-as-document/) -Αποκτήστε το πλήρες δυναμικό του Aspose.OCR for .NET. Αποθηκεύστε άνετα πολυσέλιδα αποτελέσματα OCR ως έγγραφα με αυτόν τον ολοκληρωμένο βήμα‑βήμα οδηγό. +### [Πώς να διορθώσετε την κλίση εικόνας και να εκτελέσετε OCR σε C# – Πλήρης Οδηγός](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Μάθετε πώς να ευθυγραμμίσετε εικόνες και να εφαρμόσετε OCR με Aspose.OCR σε C# βήμα‑βήμα. +### [Παράδειγμα Aspose OCR – Ενεργοποίηση ορθογραφικού ελέγχου και διόρθωση σφαλμάτων σε C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Ενεργοποιήστε τον ορθογραφικό έλεγχο στο Aspose OCR και διορθώστε σφάλματα κειμένου σε εφαρμογές C#. +### [Πώς να εκτελέσετε OCR σε κινεζικές εικόνες – Πλήρης οδηγός C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Μάθετε πώς να αναγνωρίζετε κινεζικό κείμενο σε εικόνες με Aspose.OCR και C# βήμα‑βήμα. ## Συχνές Ερωτήσεις diff --git a/ocr/greek/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/greek/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..ab8a0e936 --- /dev/null +++ b/ocr/greek/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-03-07 +description: Παράδειγμα Aspose OCR που δείχνει πώς να ενεργοποιήσετε τον ορθογραφικό + έλεγχο, να προσθέσετε προσαρμοσμένο λεξικό, να φορτώσετε OCR εικόνας και να διορθώσετε + γρήγορα τα σφάλματα OCR. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: el +og_description: Παράδειγμα Aspose OCR που σας καθοδηγεί στη ενεργοποίηση του ελέγχου + ορθογραφίας, στην προσθήκη προσαρμοσμένου λεξικού, στη φόρτωση εικόνας για OCR και + στη διόρθωση κοινών σφαλμάτων OCR. +og_title: Παράδειγμα Aspose OCR – Ενεργοποίηση ορθογραφικού ελέγχου & Διόρθωση σφαλμάτων +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Παράδειγμα Aspose OCR – Ενεργοποίηση ορθογραφικού ελέγχου και διόρθωση σφαλμάτων + σε C# +url: /el/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Παράδειγμα Aspose OCR – Ενεργοποίηση Ορθογραφικού Ελέγχου και Διόρθωση Σφαλμάτων σε C# + +Έχετε ποτέ χρειαστεί ένα **Aspose OCR example** που όχι μόνο διαβάζει κείμενο από μια εικόνα αλλά και καθαρίζει αυτά τα επίμονα ορθογραφικά λάθη; Δεν είστε μόνοι. Σε πολλά πραγματικά έργα η ακατέργαστη έξοδος OCR είναι γεμάτη τυπογραφικά λάθη, ειδικά όταν η πηγή εικόνας περιέχει γραμματοσειρές χαμηλής αντίθεσης ή χειρόγραφες σημειώσεις. + +Τα καλά νέα; Με το Aspose.OCR μπορείτε να **ενεργοποιήσετε τον ορθογραφικό έλεγχο**, να ενσωματώσετε το δικό σας λεξικό και να λάβετε μια επεξεργασμένη συμβολοσειρά σε λίγες μόνο γραμμές κώδικα. Παρακάτω θα δείτε ακριβώς **πώς να ενεργοποιήσετε τον ορθογραφικό έλεγχο**, **πώς να προσθέσετε ένα λεξικό**, και **πώς να φορτώσετε εικόνα OCR** ώστε τελικά να **διορθώσετε τα σφάλματα OCR** χωρίς να τσακίζετε τα μαλλιά σας. + +Σε αυτό το tutorial θα καλύψουμε όλα όσα χρειάζεστε — από την εγκατάσταση του NuGet μέχρι ένα πλήρες, εκτελέσιμο πρόγραμμα που εκτυπώνει διορθωμένο κείμενο. Στο τέλος θα έχετε ένα στιβαρό **Aspose OCR example** που μπορείτε να ενσωματώσετε απευθείας σε οποιοδήποτε έργο .NET. + +## Προαπαιτούμενα + +- .NET 6.0 SDK ή νεότερο (ο κώδικας λειτουργεί επίσης με .NET Core και .NET Framework) +- Visual Studio 2022 ή οποιοδήποτε IDE συμβατό με C# +- Ένα αρχείο εικόνας (`typed_text.png`) που περιέχει καθαρό, τυπωμένο αγγλικό κείμενο +- Πρόσβαση στο Internet για λήψη του πακέτου NuGet Aspose.OCR + +Δεν απαιτούνται άλλες βιβλιοθήκες τρίτων. + +--- + +## Βήμα 1 – Εγκατάσταση του πακέτου NuGet Aspose.OCR (Φόρτωση εικόνας OCR) + +Πριν γράψουμε οποιονδήποτε κώδικα, χρειαζόμαστε τη βιβλιοθήκη που τροφοδοτεί τη μηχανή OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Συμβουλή:** Αν χρησιμοποιείτε Visual Studio, κάντε δεξί κλικ στο έργο → *Manage NuGet Packages* → αναζητήστε το **Aspose.OCR** και πατήστε *Install*. + +Η εγκατάσταση του πακέτου σας δίνει πρόσβαση στα `OcrEngine`, `ImageStream` και στα ενσωματωμένα εργαλεία ορθογραφικού ελέγχου που θα χρησιμοποιήσουμε αργότερα. Μόλις το πακέτο είναι στη θέση του, είστε έτοιμοι να **φορτώσετε εικόνα OCR**. + +## Βήμα 2 – Δημιουργία του αντικειμένου OCR Engine + +Η δημιουργία της μηχανής είναι το πρώτο συγκεκριμένο βήμα σε οποιοδήποτε **Aspose OCR example**. Σκεφτείτε το `OcrEngine` ως τον εγκέφαλο που θα αναλύσει το bitmap και θα εξάγει κείμενο. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Ο κατασκευαστής `OcrEngine` δεν απαιτεί παραμέτρους, κάτι που το καθιστά απλό και καθαρό για γρήγορα πρωτότυπα. + +## Βήμα 3 – Πώς να ενεργοποιήσετε τον ορθογραφικό έλεγχο (και γιατί είναι σημαντικό) + +Η ακατέργαστη έξοδος OCR συχνά περιέχει λανθασμένα αναγνωρισμένες λέξεις όπως “teh” αντί για “the”. Η ενεργοποίηση του ενσωματωμένου ορθογραφικού ελεγκτή επιτρέπει στο Aspose να αντικαθιστά αυτόματα αυτά τα σφάλματα με την πιο πιθανή σωστή ορθογραφία. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Γιατί να ενεργοποιήσετε τον ορθογραφικό έλεγχο;** +> - **Ακρίβεια:** Ένας ορθογραφικός έλεγχος μετά την επεξεργασία μπορεί να αυξήσει την συνολική ακρίβεια κειμένου κατά 10‑15 % για έντυπα έγγραφα. +> - **Εμπειρία χρήστη:** Καθαρό κείμενο σημαίνει λιγότερη επεξεργασία στο downstream όταν τροφοδοτείτε το αποτέλεσμα σε ευρετήρια αναζήτησης ή pipelines ανάλυσης. + +## Βήμα 4 – Πώς να προσθέσετε ένα λεξικό (προσαρμοσμένες λέξεις) + +Μερικές φορές το προεπιλεγμένο λεξικό δεν γνωρίζει τα ονόματα των εμπορικών σημάτων, τους κωδικούς προϊόντων ή το ειδικό λεξιλόγιο του τομέα σας. Εκεί έρχεται σε εφαρμογή το **πώς να προσθέσετε λεξικό**. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Μπορείτε να δώσετε έναν πίνακα, μια λίστα ή ακόμη και να διαβάσετε από αρχείο εάν έχετε μεγάλο προσαρμοσμένο λεξιλόγιο. Ο ορθογραφικός ελεγκτής θα θεωρεί τώρα αυτές τις καταχωρήσεις έγκυρες, αποτρέποντας λανθασμένες διορθώσεις. + +## Βήμα 5 – Φόρτωση της εικόνας για OCR (Φόρτωση εικόνας OCR) + +Τώρα που η μηχανή είναι ρυθμισμένη, πρέπει να την κατευθύνουμε προς την εικόνα που θέλουμε να διαβάσουμε. Η βοηθητική μέθοδος `ImageStream.FromFile` αφαιρεί τις λεπτομέρειες ανάγνωσης αρχείου. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Συμβουλή:** Εάν η εικόνα σας βρίσκεται σε υποφάκελο του έργου, ορίστε την ιδιότητα *Copy to Output Directory* σε *Copy always* ώστε η διαδρομή να λυθεί κατά την εκτέλεση. + +## Βήμα 6 – Εκτέλεση αναγνώρισης και διόρθωση σφαλμάτων OCR + +Με όλα ρυθμισμένα, μια ενιαία κλήση στο `Recognize()` εκτελεί τη διαδικασία OCR, εφαρμόζει τον ορθογραφικό έλεγχο και αποθηκεύει το καθαρισμένο αποτέλεσμα στο `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Αναμενόμενη έξοδος + +Υποθέτοντας ότι το `typed_text.png` περιέχει την πρόταση `The quick brown fox jumps over teh lazy dog`, η κονσόλα θα εμφανίσει: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Παρατηρήστε πώς το “teh” διορθώθηκε αυτόματα σε “the”. Εάν είχατε προσθέσει το “OCRify” στο προσαρμοσμένο λεξικό και η εικόνα περιείχε αυτή τη λέξη, η μηχανή θα την άφηνε αμετάβλητη. + +--- + +## Πλήρες λειτουργικό παράδειγμα (Έτοιμο για αντιγραφή‑επικόλληση) + +Παρακάτω είναι το πλήρες πρόγραμμα που μπορείτε να ενσωματώσετε σε ένα νέο έργο κονσόλας. Περιλαμβάνει όλα τα παραπάνω βήματα, συν λίγα σχόλια για σαφήνεια. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Αποθηκεύστε το ως `Program.cs`, εκτελέστε `dotnet run`, και θα πρέπει να δείτε την διορθωμένη πρόταση να εκτυπώνεται στην κονσόλα. + +--- + +## Συχνές ερωτήσεις & Ακραίες περιπτώσεις + +| Ερώτηση | Απάντηση | +|----------|--------| +| **Τι γίνεται αν η εικόνα είναι PDF πολλαπλών σελίδων;** | Το Aspose.OCR μπορεί να διαχειριστεί σελίδες PDF ως εικόνες. Χρησιμοποιήστε `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` και επαναλάβετε τη διαδικασία για κάθε σελίδα. | +| **Μπορώ να αλλάξω τη γλώσσα σε κάτι διαφορετικό από τα Αγγλικά;** | Απόλυτα. Ορίστε `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (ή οποιαδήποτε υποστηριζόμενη γλώσσα). | +| **Το προσαρμοσμένο λεξικό μου είναι τεράστιο — θα επηρεάσει την απόδοση;** | Η προσθήκη χιλιάδων λέξεων προκαλεί ένα μικρό αρχικό κόστος, αλλά η αναζήτηση είναι O(1) χάρη σε ένα hash‑set στο παρασκήνιο. Για τεράστια λεξιλόγια, σκεφτείτε να τα φορτώνετε μία φορά κατά την εκκίνηση της εφαρμογής. | +| **Τι γίνεται αν η μηχανή OCR ρίξει εξαίρεση σε κατεστραμμένη εικόνα;** | Τυλίξτε το `Recognize()` σε μπλοκ try‑catch και ελέγξτε το `ocrEngine.LastError`. Μπορείτε επίσης να προελέγξετε τις διαστάσεις της εικόνας με `ocrEngine.Image.Width` και `Height`. | +| **Χρειάζομαι άδεια για παραγωγική χρήση;** | Η δωρεάν αξιολόγηση λειτουργεί για δοκιμές, αλλά μια εμπορική άδεια αφαιρεί το υδατογράφημα αξιολόγησης και ξεκλειδώνει πλήρη απόδοση. | + +## Συμπέρασμα + +Τώρα έχετε ένα **πλήρες Aspose OCR example** που δείχνει **πώς να ενεργοποιήσετε τον ορθογραφικό έλεγχο**, **πώς να προσθέσετε ένα λεξικό**, **να φορτώσετε εικόνα OCR**, και **πώς να διορθώσετε σφάλματα OCR** με έναν καθαρό, έτοιμο για παραγωγή τρόπο. Με τη ρύθμιση του ορθογραφικού ελεγκτή και την παροχή μιας προσαρμοσμένης λίστας λέξεων, βελτιώνετε δραματικά την ποιότητα του εξαγόμενου κειμένου χωρίς να γράψετε λογική post‑processing. + +Έτοιμοι για το επόμενο βήμα; Δοκιμάστε να αλλάξετε τη γλώσσα στα Ισπανικά, να τροφοδοτήσετε ένα PDF πολλαπλών σελίδων, ή να ενσωματώσετε το αποτέλεσμα σε ένα αναζητήσιμο ευρετήριο Azure Cognitive Search. Το ίδιο μοτίβο ισχύει — απλώς προσαρμόστε τη σημαία γλώσσας και ίσως επεκτείνετε το προσαρμοσμένο λεξικό. + +Αν βρήκατε αυτόν τον οδηγό χρήσιμο, δώστε του ένα αστέρι στο GitHub, μοιραστείτε το με συναδέλφους, ή αφήστε ένα σχόλιο παρακάτω. Καλή προγραμματιστική, και εύχομαι τα αποτελέσματα OCR σας να είναι πάντα χωρίς σφάλματα! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/greek/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..906cfe98c --- /dev/null +++ b/ocr/greek/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Μάθετε πώς να διορθώσετε την κλίση μιας εικόνας, να ενισχύσετε την αντίθεση + και να εξάγετε κείμενο από σάρωση χρησιμοποιώντας το Aspose OCR. Εκτελέστε OCR σε + εικόνα με ένα πλήρες παράδειγμα C# και φορτώστε την εικόνα για OCR εύκολα. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: el +og_description: Μάθετε πώς να διορθώνετε την κλίση της εικόνας, να ενισχύετε την αντίθεση + και να εξάγετε κείμενο από σάρωση χρησιμοποιώντας το Aspose OCR σε C#. Εκτελέστε + OCR στην εικόνα με βήμα‑βήμα κώδικα. +og_title: Πώς να διορθώσετε την κλίση εικόνας και να εκτελέσετε OCR σε C# – Πλήρης + οδηγός +tags: +- C# +- OCR +- Image Processing +title: Πώς να διορθώσετε την κλίση μιας εικόνας και να εκτελέσετε OCR σε C# – Πλήρης + οδηγός +url: /el/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να Διορθώσετε την Κλίση μιας Εικόνας και να Εκτελέσετε OCR σε C# – Πλήρης Οδηγός + +Αν ποτέ αναρωτηθήκατε **πώς να διορθώσετε την κλίση μιας εικόνας** πριν εκτελέσετε OCR, βρίσκεστε στο σωστό μέρος. Σε αυτό το tutorial θα σας καθοδηγήσουμε στη βελτίωση της αντίθεσης, τη φόρτωση μιας εικόνας για OCR, και τελικά **την εξαγωγή κειμένου από τη σάρωση** με το Aspose OCR. + +Είτε ψηφιοποιείτε παλιές αποδείξεις, καθαρίζετε σαρωμένα συμβόλαια, ή απλώς χρειάζεστε έναν αξιόπιστο τρόπο για να διαβάσετε κείμενο από μια λοξή φωτογραφία, τα παρακάτω βήματα καλύπτουν όλα όσα χρειάζεστε. Χωρίς περιττές πληροφορίες—απλώς ένα λειτουργικό παράδειγμα που μπορείτε να αντιγράψετε‑επικολλήσετε στο Visual Studio. + +## Τι Θα Επιτύχετε + +* Διορθώστε την κλίση έως 30° (αυτό είναι το **πώς να διορθώσετε την κλίση μιας εικόνας** μέρος). +* Αυξήστε την αντίθεση της εικόνας για πιο καθαρά άκρα χαρακτήρων (**πώς να ενισχύσετε την αντίθεση**). +* Φορτώστε την εικόνα σας στη μηχανή OCR (**φόρτωση εικόνας για OCR**). +* Εκτελέστε τη διαδικασία αναγνώρισης και **εξάγετε κείμενο από τη σάρωση**. + +Όλα αυτά λειτουργούν με το πιο πρόσφατο πακέτο Aspose.OCR .NET NuGet (v23.11 τη στιγμή της συγγραφής). + +--- + +![Παράδειγμα Διόρθωσης Κλίσης Εικόνας](/images/deskew-example.png "πώς να διορθώσετε την κλίση μιας εικόνας") + +*Η παραπάνω εικόνα δείχνει ένα σαρωμένο έγγραφο πριν και μετά τη διόρθωση κλίσης.* + +## Προαπαιτούμενα + +* .NET 6.0 ή νεότερο (ο κώδικας λειτουργεί επίσης σε .NET Framework 4.7+). +* Visual Studio 2022 (ή οποιοδήποτε IDE C# προτιμάτε). +* Πακέτο NuGet Aspose.OCR – εγκαταστήστε το μέσω `dotnet add package Aspose.OCR`. + +Αυτό είναι όλο. Χωρίς εξωτερικές υπηρεσίες, χωρίς κλειδιά API. + +--- + +## Πώς να Διορθώσετε την Κλίση μιας Εικόνας με Aspose OCR + +Το πρώτο που κάνουμε είναι να δημιουργήσουμε ένα **ImageProcessingPipeline** και να προσθέσουμε ένα `DeskewFilter`. Το φίλτρο εντοπίζει αυτόματα τη γωνία της κυρίαρχης γραμμής κειμένου και περιστρέφει την εικόνα πίσω στην οριζόντια θέση. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Γιατί αυτό είναι σημαντικό:** +Μια κλιμακωμένη σάρωση μπερδεύει τη μηχανή OCR επειδή οι χαρακτήρες δεν είναι πλέον ευθυγραμμισμένοι με τη βάση γραμμής. Το `DeskewFilter` αναλύει το ιστόγραμμα της εικόνας, βρίσκει τη γωνία και την περιστρέφει, βελτιώνοντας δραματικά την ακρίβεια αναγνώρισης. + +> **Pro tip:** Αν γνωρίζετε ότι τα έγγραφά σας δεν υπερβαίνουν κλίση 15°, ορίστε `MaxAngle = 15` για να επιταχύνετε την επεξεργασία. + +--- + +## Πώς να Ενισχύσετε την Αντίθεση για Καλύτερη Αναγνώριση + +Μετά τη διόρθωση κλίσης, το επόμενο βήμα είναι να κάνετε το κείμενο πιο εμφανές. Το `ContrastBoostFilter` τεντώνει το εύρος έντασης των pixel, κάτι που είναι ιδιαίτερα χρήσιμο για ξεθωριασμένες εκτυπώσεις. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Γιατί βοηθά:** +Οι σάρωσες χαμηλής αντίθεσης παράγουν γκριζά χαρακτήρες που ο δυαδικοποιητής μπορεί να ερμηνεύσει ως φόντο. Η ενίσχυση της αντίθεσης κάνει τα σκοτεινά pixel πιο σκοτεινά και τα φωτεινά πιο φωτεινά, προσφέροντας στο επόμενο `BinarizationFilter` έναν πιο καθαρό καμβά. + +--- + +## Εκτέλεση OCR στην Εικόνα – Φόρτωση του Αρχείου + +Τώρα που η εικόνα έχει προεπεξεργαστεί, πρέπει να **φορτώσουμε την εικόνα για OCR**. Η Aspose προσφέρει ένα βολικό βοηθητικό `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Αν η εικόνα σας βρίσκεται σε ροή (π.χ., ανεβάστηκε μέσω web API), μπορείτε να χρησιμοποιήσετε `ImageStream.FromStream(yourStream)` αντί αυτού. Η μηχανή δέχεται BMP, JPEG, PNG, TIFF και πολλά άλλα. + +--- + +## Εκτέλεση της Διαδικασίας Αναγνώρισης και Εξαγωγή Κειμένου από τη Σάρωση + +Με όλα συνδεδεμένα, η κλήση `Recognize()` κάνει το σκληρό έργο. Μετά την κλήση, το αναγνωρισμένο κείμενο είναι διαθέσιμο μέσω `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Αναμενόμενη έξοδος** (παράδειγμα για απλό τιμολόγιο): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Αν η έξοδος φαίνεται ακατάστατη, ελέγξτε ξανά τη σειρά του pipeline—πρώτα deskew, μετά denoise, ενίσχυση αντίθεσης και τέλος δυαδικοποίηση. Η αλλαγή της σειράς μπορεί να υποβαθμίσει τα αποτελέσματα. + +--- + +## Συνηθισμένα Προβλήματα και Ακραίες Περιπτώσεις + +| Πρόβλημα | Γιατί Συμβαίνει | Διόρθωση | +|----------|------------------|----------| +| **Κενό αποτέλεσμα** | Η εικόνα είναι πολύ σκοτεινή ή πολύ φωτεινή για τη προεπιλεγμένη μέθοδο δυαδικοποίησης. | Αυξήστε το `ContrastBoostFilter.Strength` ή μεταβείτε σε `BinarizationMethod.Otsu`. | +| **Μερικό κείμενο λείπει** | Υπάρχει θόρυβος μετά την αποθορυβοποίηση. | Χρησιμοποιήστε `DenoiseLevel.Medium` για πιο ήπιες εικόνες, ή προσθέστε δεύτερο `DenoiseFilter`. | +| **Λάθος κατεύθυνση περιστροφής** | Το έγγραφο έχει μικτή προσανατολισμό (π.χ., φωτογραφία μιας περιστρεφόμενης σελίδας). | Ορίστε χειροκίνητα `DeskewFilter.MaxAngle` χαμηλότερο και προ-περιστρέψτε την εικόνα με `ImageProcessor.Rotate`. | +| **Μείωση απόδοσης** | Μεγάλο όγκο εικόνων υψηλής ανάλυσης. | Μειώστε την ανάλυση των εικόνων (`ImageProcessor.Resize`) πριν το pipeline, ή επεξεργαστείτε παράλληλα (`Parallel.ForEach`). | + +--- + +## Πλήρες Παράδειγμα Εργασίας (Έτοιμο για Αντιγραφή‑Επικόλληση) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Αποθηκεύστε το ως `Program.cs`, τρέξτε `dotnet run`, και παρακολουθήστε την κονσόλα να εκτυπώνει το αποτέλεσμα **εξαγωγής κειμένου από τη σάρωση**. + +--- + +## Επόμενα Βήματα & Σχετικά Θέματα + +* **Batch processing** – Τυλίξτε τη λογική παραπάνω σε βρόχο για να επεξεργαστείτε δεκάδες αρχεία. +* **Custom language packs** – Αν χρειάζεστε ανάγνωση μη‑λατινικών γραφών, φορτώστε ένα μοντέλο γλώσσας μέσω `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF output** – Συνδυάστε Aspose.PDF με OCR για να ενσωματώσετε αναζητήσιμο κείμενο απευθείας σε αρχείο PDF. +* **Performance tuning** – Πειραματιστείτε με τη σειρά του `ImageProcessingPipeline`; μερικές φορές η αποθορυβοποίηση πριν το deskew δίνει ταχύτερα αποτελέσματα σε θορυβώδεις φωτογραφίες. + +Όλα αυτά βασίζονται στις βασικές έννοιες που καλύψαμε: **πώς να διορθώσετε την κλίση μιας εικόνας**, **πώς να ενισχύσετε την αντίθεση**, **φόρτωση εικόνας για OCR**, **εκτέλεση OCR στην εικόνα**, και τέλος **εξαγωγή κειμένου από τη σάρωση**. + +--- + +## Συμπέρασμα + +Δείξαμε μια πλήρη, έτοιμη για παραγωγή μέθοδο για **πώς να διορθώσετε την κλίση μιας εικόνας** και να εκτελέσετε OCR σε C#. Συνδυάζοντας ένα φίλτρο deskew, ένα βήμα αποθορυβοποίησης, μια ενίσχυση αντίθεσης και έναν δυαδικοποιητή, λαμβάνετε καθαρή είσοδο που επιτρέπει στο Aspose OCR να εξάγει αξιόπιστα **κείμενο από τη σάρωση**. + +Δοκιμάστε τον κώδικα, προσαρμόστε τις παραμέτρους των φίλτρων στα δικά σας έγγραφα, και θα δείτε πόσο γρήγορα βελτιώνεται η ακρίβεια αναγνώρισης. Έχετε ερωτήσεις; Αφήστε ένα σχόλιο, και καλή προγραμματιστική διασκέδαση! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/greek/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..808a2ac03 --- /dev/null +++ b/ocr/greek/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-03-07 +description: Πώς να εκτελέσετε OCR σε κινεζικές εικόνες χρησιμοποιώντας το Aspose + OCR. Μάθετε πώς να εξάγετε κινεζικό κείμενο, να μετατρέψετε την εικόνα σε ePub και + να βελτιώσετε την ακρίβεια του OCR σε ένα μόνο σεμινάριο. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: el +og_description: Πώς να εκτελέσετε OCR σε κινεζικές εικόνες με το Aspose OCR. Λάβετε + κώδικα βήμα‑προς‑βήμα για την εξαγωγή κινεζικού κειμένου, τη βελτίωση του OCR και + την εξαγωγή σε ePub. +og_title: Πώς να εκτελέσετε OCR σε κινεζικές εικόνες – Πλήρης οδηγός C# +tags: +- OCR +- C# +- Aspose +title: Πώς να εκτελέσετε OCR σε κινεζικές εικόνες – Πλήρης οδηγός C# +url: /el/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να Εκτελέσετε OCR σε Κινέζιες Εικόνες – Πλήρης Οδηγός C# + +Έχετε αναρωτηθεί ποτέ **πώς να εκτελέσετε OCR** σε μια εικόνα που περιέχει κινέζους χαρακτήρες; Δεν είστε ο μόνος. Σε πολλές εφαρμογές—σάρωση αποδείξεων, ψηφιοποίηση σχολικών βιβλίων ή δημιουργία μηχανής αναζήτησης πολλαπλών γλωσσών—η λήψη καθαρού κειμένου από μια εικόνα είναι μια κρίσιμη λειτουργία. + +Σε αυτό το σεμινάριο θα περάσουμε από μια πραγματική λύση που **εξάγει κινέζικο κείμενο**, αποθηκεύει το αποτέλεσμα σε ένα αρχείο απλού κειμένου και ακόμη **μετατρέπει την εικόνα σε ePub** για e‑readers. Καθ' όλη τη διάρκεια θα συζητήσουμε **πώς να βελτιώσετε την ακρίβεια του OCR**, γιατί πρέπει να ενεργοποιήσετε τη λειτουργία GPU, και τι χρειάζεται να κάνετε για να **αναγνωρίσετε σωστά απλοποιημένα κινέζικα**. + +Στο τέλος του οδηγού θα έχετε ένα πλήρως εκτελέσιμο πρόγραμμα C#, μια σειρά πρακτικών συμβουλών και μια σαφή ιδέα για τα επόμενα βήματα που μπορείτε να κάνετε (όπως η προσθήκη ανίχνευσης γλώσσας ή η επεξεργασία σε παρτίδες). Δεν απαιτούνται εξωτερικά έγγραφα—όλα όσα χρειάζεστε είναι εδώ. + +## Τι Θα Χρειαστεί + +- .NET 6+ (ή .NET Core 3.1 με Aspose OCR for .NET) +- Ένα έγκυρο άδεια Aspose OCR for .NET (η δωρεάν δοκιμή λειτουργεί για πειραματισμό) +- Ένα αρχείο εικόνας που περιέχει απλοποιημένους κινέζικους χαρακτήρες (π.χ., `chinese_sample.jpg`) +- Visual Studio 2022 ή οποιονδήποτε επεξεργαστή C# προτιμάτε + +Αν λείπει κάτι από αυτά, αποκτήστε το πακέτο NuGet τώρα: + +```bash +dotnet add package Aspose.OCR +``` + +Αυτό είναι—χωρίς επιπλέον εγγενείς βιβλιοθήκες, χωρίς COM interop, μόνο ένα πακέτο .NET. + +## Πώς να Εκτελέσετε OCR – Ρύθμιση του Μηχανισμού Aspose OCR + +Το πρώτο πράγμα που πρέπει να κάνετε είναι να δημιουργήσετε και να διαμορφώσετε τον μηχανισμό OCR. Αυτό το βήμα είναι κρίσιμο επειδή οι ρυθμίσεις του μηχανισμού καθορίζουν **πόσο καλά λειτουργεί το OCR** με κινέζους χαρακτήρες και πόσο γρήγορα τρέχει. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Γιατί είναι σημαντικό:** +- **Language = ChineseSimplified** λέει στο Aspose να φορτώσει το σύνολο χαρακτήρων για απλοποιημένα κινέζικα, κάτι που μειώνει δραματικά τις λανθασμένες αναγνώσεις. +- **EngineMode.Gpu** μπορεί να μειώσει τον χρόνο επεξεργασίας στο μισό σε σύγχρονη GPU, αλλά επιστρέφει ομαλά στην CPU αν δεν υπάρχει GPU. +- **DeskewFilter** αφαιρεί οποιαδήποτε κλίση που εμφανίζεται συχνά όταν οι χρήστες τραβούν φωτογραφία με το τηλέφωνο. +- **Sauvola binarization** δημιουργεί μια εικόνα υψηλής αντίθεσης ασπρόμαυρη, ένα κλασικό τέχνασμα για την αύξηση της ακρίβειας του OCR σε πυκνά σενάρια όπως τα κινέζικα. + +> **Συμβουλή επαγγελματία:** Αν εργάζεστε με φωτογραφίες χαμηλού φωτισμού, προσθέστε ένα `ContrastFilter` πριν από τη δυαδικοποίηση. Δεν απαιτείται για το παράδειγμά μας, αλλά συχνά σας εξοικονομεί μερικά προβλήματα. + +![How to perform OCR pipeline diagram](ocr-pipeline.png "How to perform OCR pipeline diagram") + +> *Alt text:* Διάγραμμα σωλήνα OCR + +## Εξαγωγή Κινέζικου Κειμένου από Εικόνα + +Τώρα που ο μηχανισμός είναι έτοιμος, φορτώνουμε την εικόνα και αφήνουμε τον μηχανισμό να κάνει τη μαγεία του. Αυτό είναι ο πυρήνας του **extract chinese text**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Τι πρέπει να δείτε:** +Αν το `chinese_sample.jpg` περιέχει τη φράση “中华人民共和国”, το αρχείο `out.txt` θα περιέχει ακριβώς αυτούς τους χαρακτήρες—χωρίς επιπλέον κενά, χωρίς ακατάστατα λατινικά γράμματα. + +### Συνηθισμένα Πίδακες + +| Πρόβλημα | Γιατί συμβαίνει | Διόρθωση | +|----------|----------------|----------| +| Λείπουν χαρακτήρες | Η εικόνα είναι πολύ θορυβώδης | Προσθέστε ένα `MedianFilter` πριν από τη δυαδικοποίηση | +| Λάθος γλώσσα εντοπίστηκε | `Language` ορίστηκε σε `English` | Βεβαιωθείτε ότι `Language = Language.ChineseSimplified` | +| Αργή επεξεργασία | GPU δεν είναι ενεργοποιημένο | Επαληθεύστε ότι το μηχάνημά σας διαθέτει συμβατό οδηγό CUDA | + +## Μετατροπή Εικόνας σε ePub + +Πολλοί προγραμματιστές ρωτούν, *«Μπορώ να μετατρέψω τη σαρωμένη σελίδα σε ένα αναγνώσιμο e‑book;»* Απόλυτα—το Aspose OCR περιλαμβάνει έναν εξαγωγέα ePub. Αυτό ικανοποιεί την απαίτηση **convert image to epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Το παραγόμενο `out.epub` θα περιέχει το εξαγόμενο κινέζικο κείμενο, σωστά κωδικοποιημένο σε UTF‑8, και μπορεί να ανοιχθεί στο Kindle, Apple Books ή οποιονδήποτε αναγνώστη ePub. + +**Γιατί να χρησιμοποιήσετε ePub;** +- Είναι επαναρροή (reflowable), ώστε οι αναγνώστες να μπορούν να προσαρμόζουν το μέγεθος γραμματοσειράς χωρίς να σπάσει η διάταξη. +- Η μορφή διατηρεί το κείμενο αναζητήσιμο, κάτι που είναι χρήσιμο για μελλοντική ευρετηρίαση. + +## Πώς να Βελτιώσετε το OCR – Πρακτικές Ρυθμίσεις + +Ακόμη και με μια σταθερή αλυσίδα, μπορεί να δείτε περιστασιακές λανθασμένες αναγνώσεις. Εδώ είναι μια γρήγορη λίστα ελέγχου για **how to improve OCR** σε κινέζικα έγγραφα: + +1. **Προεπεξεργασία της εικόνας** – Χρησιμοποιήστε `GaussianBlurFilter` για να εξομαλύνετε τα στίγματα, στη συνέχεια `ContrastFilter` για να ενισχύσετε τις άκρες. +2. **Ορίστε υψηλότερο DPI** – Αν ελέγχετε τη διαδικασία σάρωσης, στοχεύστε σε 300 dpi ή περισσότερο· οι εικόνες χαμηλής ανάλυσης χάνουν λεπτομέρειες των γραμμών. +3. **Ενεργοποίηση ανίχνευσης γλώσσας** – Το Aspose μπορεί να ανιχνεύσει αυτόματα τη γλώσσα· συνδυάστε το με fallback στα απλοποιημένα κινέζικα αν η ανίχνευση αποτύχει. +4. **Λεπτομερής ρύθμιση της δυαδικοποίησης** – Αντικαταστήστε το `Sauvola` με `Otsu` αν το φόντο είναι ομοιόμορφα ανοιχτό. +5. **Επεξεργασία σε παρτίδες** – Επεξεργαστείτε πολλές σελίδες παράλληλα χρησιμοποιώντας `Parallel.ForEach` για να αξιοποιήσετε πολυπύρηνους επεξεργαστές. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Αναγνώριση Απλοποιημένων Κινέζικων – Ακραίες Περιπτώσεις + +Η φράση **recognize simplified Chinese** συχνά προκαλεί προβλήματα σε νέους χρήστες επειδή ο ίδιος μηχανισμός OCR μπορεί επίσης να διαχειριστεί Παραδοσιακά Κινέζικα, Ιαπωνικά ή Κορεατικά. Για να παραμείνουν τα πράγματα καθορισμένα: + +- **Ορίστε ρητά τη γλώσσα** (όπως κάναμε στο Βήμα 1). +- **Αποφύγετε σελίδες μικτής γλώσσας**· αν μια σελίδα συνδυάζει απλοποιημένα κινέζικα με αγγλικά, σκεφτείτε να τρέξετε δύο περάσματα: ένα με `Language.ChineseSimplified`, άλλο με `Language.English`. +- **Επικυρώστε το αποτέλεσμα** – Μετά την αναγνώριση, εκτελέστε ένα απλό regex για να διασφαλίσετε ότι όλοι οι χαρακτήρες βρίσκονται εντός της περιοχής Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Αν ο έλεγχος αποτύχει, μπορείτε να καταγράψετε τη σελίδα για χειροκίνητη ανασκόπηση. + +## Πλήρες Παράδειγμα Λειτουργίας + +Συνδυάζοντας όλα, εδώ είναι ένα μοναδικό αρχείο που μπορείτε να αντιγράψετε‑επικολλήσετε σε ένα νέο κονσόλα έργο (`Program.cs`). Περιλαμβάνει όλα τα βήματα, προαιρετικές ρυθμίσεις και μια τελική γραμμή κατάστασης. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Αναμενόμενη έξοδος κονσόλας (παράδειγμα):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Εκτελέστε το πρόγραμμα, ανοίξτε το `out.txt` ή το `out.epub`, και θα δείτε καθαρούς, αναζητήσιμους κινέζικους χαρακτήρες έτοιμους για επεξεργασία downstream. + +## Συμπέρασμα + +Μόλις καλύψαμε **πώς να εκτελέσετε OCR** σε κινέζιες εικόνες από την αρχή μέχρι το τέλος, δείχνοντάς σας πώς να **εξάγετε κινέζικο κείμενο**, **μετατρέψετε το αποτέλεσμα σε ePub**, και να εφαρμόσετε μια σειρά από + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/text-recognition/_index.md b/ocr/greek/net/text-recognition/_index.md index 7c0b04e8c..b7018d694 100644 --- a/ocr/greek/net/text-recognition/_index.md +++ b/ocr/greek/net/text-recognition/_index.md @@ -55,9 +55,20 @@ url: /el/net/text-recognition/ Ξεκλειδώστε τις δυνατότητες του OCR στο .NET με το Aspose.OCR. Εξαγωγή κειμένου από αρχεία PDF χωρίς κόπο. Κάντε λήψη τώρα για μια απρόσκοπτη εμπειρία ενσωμάτωσης. ### [Αναγνώριση πίνακα στην Αναγνώριση εικόνας OCR](./recognize-table/) Ξεκλειδώστε τις δυνατότητες του Aspose.OCR για .NET με τον ολοκληρωμένο οδηγό μας για την αναγνώριση πινάκων στην αναγνώριση εικόνας OCR. +### [Αναγνώριση κειμένου Hindi σε C# – Πλήρης Οδηγός Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Μάθετε πώς να αναγνωρίζετε κείμενο Hindi σε C# χρησιμοποιώντας το Aspose.OCR, βήμα προς βήμα οδηγός για ακριβή OCR. +### [Αναγνώριση κειμένου από εικόνα σε C# – Πλήρης Οδηγός Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Μάθετε πώς να αναγνωρίζετε κείμενο από εικόνα σε C# χρησιμοποιώντας το Aspose.OCR, βήμα προς βήμα οδηγός για ακριβή OCR. +### [Εξαγωγή κειμένου από PNG σε C# – Πλήρης Οδηγός OCR](./extract-text-from-png-in-c-full-ocr-guide/) +Μάθετε πώς να εξάγετε κείμενο από αρχεία PNG σε C# χρησιμοποιώντας το Aspose.OCR με έναν πλήρη οδηγό βήμα προς βήμα. +### [Πώς να δημιουργήσετε ePub από εικόνες σε C# – Οδηγός βήμα προς βήμα](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Μάθετε πώς να μετατρέψετε εικόνες σε αρχείο ePub χρησιμοποιώντας C# με αναλυτικές οδηγίες βήμα προς βήμα. +### [Πώς να χρησιμοποιήσετε OCR σε C# – Εξαγωγή κειμένου από εικόνες εκτός σύνδεσης](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Μάθετε πώς να εξάγετε κείμενο από εικόνες offline χρησιμοποιώντας το Aspose.OCR σε C# με βήμα-βήμα οδηγίες. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/greek/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..5267511ac --- /dev/null +++ b/ocr/greek/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: Εξάγετε κείμενο από αρχεία PNG χρησιμοποιώντας C#. Μάθετε πώς να μετατρέπετε + εικόνα σε κείμενο με C# και να διαβάζετε κείμενο από σαρωμένες εικόνες γρήγορα. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: el +og_description: Εξαγωγή κειμένου από αρχεία PNG χρησιμοποιώντας C#. Αυτός ο οδηγός + δείχνει πώς να μετατρέψετε εικόνα σε κείμενο με C# και να διαβάσετε κείμενο από + σαρωμένες εικόνες με το Aspose OCR. +og_title: Εξαγωγή κειμένου από PNG σε C# – Πλήρης οδηγός OCR +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Εξαγωγή κειμένου από PNG σε C# – Πλήρης οδηγός OCR +url: /el/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Εξαγωγή Κειμένου από PNG σε C# – Πλήρης Οδηγός OCR + +Έχετε χρειαστεί ποτέ να **εξάγετε κείμενο από PNG** αρχεία αλλά δεν ήξερατε από πού να ξεκινήσετε; Δεν είστε μόνοι—πολλοί προγραμματιστές αντιμετωπίζουν αυτό το εμπόδιο όταν αντιμετωπίζουν σαρωμένα γραφικά ή στιγμιότυπα οθόνης που πρέπει να γίνουν αναζητήσιμο κείμενο. Τα καλά νέα; Με λίγες γραμμές C# και Aspose OCR μπορείτε να μετατρέψετε οποιοδήποτε PNG σε επεξεργάσιμες συμβολοσειρές σε μια στιγμή. + +Σε αυτό το tutorial θα περάσουμε από όλη τη διαδικασία: από τον εντοπισμό PNG στο δίσκο, την εκκίνηση OCR εργασιών παράλληλα, μέχρι την εμφάνιση μιας καθαρής προεπισκόπησης κάθε αποτελέσματος. Στο τέλος θα ξέρετε πώς να **μετατρέψετε εικόνα σε κείμενο C#**, θα μπορείτε να **διαβάζετε κείμενο από σαρωμένες εικόνες** αποδοτικά, και θα δείτε τον καλύτερο τρόπο να **τρέξετε OCR σε εικόνες** χωρίς να καταστρέψετε το UI thread. + +## Τι Θα Χρειαστείτε + +- .NET 6.0 ή νεότερο (ο κώδικας λειτουργεί επίσης σε .NET Core και .NET Framework) +- Πακέτο NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- Ένας φάκελος γεμάτος *.png* αρχεία που θέλετε να επεξεργαστείτε +- Οποιοδήποτε IDE προτιμάτε (Visual Studio, VS Code, Rider…) + +Δεν απαιτείται επιπλέον διαμόρφωση· η βιβλιοθήκη περιλαμβάνει όλα όσα χρειάζονται για την αποκωδικοποίηση PNG, JPEG, TIFF, ό,τι και αν είναι. + +## Βήμα 1: Εντοπισμός Όλων των PNG Αρχείων – Η “Εξαγωγή Κειμένου από PNG” Ξεκινά + +Πρώτα πρέπει να βρούμε κάθε PNG στο οποίο θέλουμε να τρέξουμε OCR. Η χρήση του `Directory.GetFiles` είναι γρήγορη και αξιόπιστη. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Γιατί είναι σημαντικό:* Η σάρωση του καταλόγου μία φορά κρατά το υπόλοιπο pipeline απλό, και ο πρώιμος έλεγχος αποτρέπει μια σιωπηλή κατάσταση “χωρίς έξοδο” που μπορεί να είναι δύσκολο να εντοπιστεί αργότερα. + +## Βήμα 2: Εκκίνηση Παράλληλων OCR Εργασιών – Αποτελεσματικό **run OCR on images** + +Η εκτέλεση OCR διαδοχικά είναι αποδεκτή για λίγα αρχεία, αλλά σε πραγματικά έργα συχνά αντιμετωπίζουμε δεκάδες ή εκατοντάδες. Με την εκκίνηση ενός `Task` ανά εικόνα κρατάμε την CPU απασχολημένη ενώ η βιβλιοθήκη κάνει το βαρέως τύπου έργο. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Συμβουλή:* Το `Task.Run` εκχωρεί τη δουλειά στο thread pool, πράγμα που σημαίνει ότι το UI σας (αν υπάρχει) παραμένει αντιδραστικό. Αν τρέχετε σε διακομιστή, το ίδιο μοτίβο κλιμακώνεται ωραία σε πολλούς πυρήνες. + +## Βήμα 3: Αναμονή Όλων των Εργασιών – Συλλογή των Αποτελεσμάτων + +Τώρα περιμένουμε να ολοκληρωθεί κάθε λειτουργία OCR. Το `Task.WhenAll` επιστρέφει έναν πίνακα που ευθυγραμμίζεται με τη σειρά των αρχικών αρχείων, κάνοντας εύκολο το ζευγάρισμα αποτελεσμάτων με ονόματα αρχείων. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Σημείωση για ειδικές περιπτώσεις:* Αν κάποιο μόνο εικόνα προκαλέσει εξαίρεση (κατεστραμμένο αρχείο, μη υποστηριζόμενη μορφή) ολόκληρο το `WhenAll` θα προωθήσει την εξαίρεση. Μπορείτε να τυλίξετε το εσωτερικό `Task.Run` σε try/catch και να επιστρέψετε κενή συμβολοσειρά ή διαγνωστικό μήνυμα αν χρειάζεστε ανθεκτικότητα σε σφάλματα. + +## Βήμα 4: Εμφάνιση Προεπισκόπησης – Επαλήθευση του **convert image to text C#** αποτελέσματος + +Μια γρήγορη προεπισκόπηση σας βοηθά να επιβεβαιώσετε ότι το OCR λειτούργησε πριν αρχίσετε να αποθηκεύετε τα δεδομένα κάπου αλλού. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Τυπική έξοδος κονσόλας μοιάζει με: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Αν η προεπισκόπηση εμφανίζει ακαταλαβίστικο κείμενο, ελέγξτε ξανά την ποιότητα της εικόνας ή σκεφτείτε προεπεξεργασία (π.χ., δυαδικοποίηση) – αλλά για τις περισσότερες καθαρές PNG, το Aspose OCR το κάνει σωστά στην πρώτη προσπάθεια. + +## Προαιρετικό: Αποθήκευση Αποτελεσμάτων σε CSV – Πραγματική Χρήση + +Τα περισσότερα έργα χρειάζονται το εξαγόμενο κείμενο σε δομημένη μορφή. Παρακάτω υπάρχει ένας μικρός βοηθός που γράφει το όνομα αρχείου και το πλήρες OCR κείμενο σε αρχείο CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Τώρα μπορείτε να εισάγετε το CSV στο Excel, Power BI, ή σε οποιοδήποτε σύστημα που περιμένει **read text from scanned images**. + +## Συχνές Ερωτήσεις + +**Τι γίνεται αν τα PNG μου είναι τεράστια (πάνω από 5 MB);** +Το Aspose OCR αυτόματα μειώνει το μέγεθος των μεγάλων εικόνων για να διατηρήσει τη χρήση μνήμης λογική, αλλά μπορείτε να αλλάξετε το μέγεθος χειροκίνητα με `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` ώστε να περιορίσετε το πλάτος στα 2000 px διατηρώντας την αναλογία. + +**Μπορώ να το τρέξω σε Linux;** +Ναι. Το Aspose OCR είναι cross‑platform· απλώς βεβαιωθείτε ότι οι εγγενείς εξαρτήσεις (`libgdiplus` σε ορισμένες διανομές) είναι εγκατεστημένες. + +**Η γλώσσα OCR είναι προεπιλεγμένα στα Αγγλικά;** +Σωστά. Αν χρειάζεστε άλλη γλώσσα, ορίστε `engine.Language = OcrLanguage.French;` (ή οποιοδήποτε υποστηριζόμενο enum) πριν καλέσετε το `Recognize()`. + +**Πώς διαχειρίζομαι PDF με κωδικό πρόσβασης που περιέχουν PNG;** +Μετατρέψτε πρώτα τις σελίδες PDF σε εικόνες (χρησιμοποιώντας Aspose PDF ή άλλη βιβλιοθήκη), μετά τροφοδοτήστε τα PNG στην ίδια pipeline. Η αρχή του **how to run OCR on images** παραμένει αμετάβλητη. + +## Πλήρες Παράδειγμα (Async Main) + +Ακολουθεί ένα αυτόνομο πρόγραμμα που μπορείτε να αντιγράψετε‑επικολλήσετε σε ένα console project. Περιλαμβάνει όλα τα παραπάνω κομμάτια, καθώς και έναν μικρό βοηθό για την επικύρωση του φακέλου εισόδου. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Αναμενόμενη έξοδος** (παράδειγμα για δύο PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Συμπέρασμα + +Καλύψαμε όλα όσα χρειάζεστε για να **εξάγετε κείμενο από PNG** αρχεία χρησιμοποιώντας C#. Από τον εντοπισμό των αρχείων, την εκκίνηση παράλληλων εργασιών OCR, την προεπισκόπηση των συμβολοσειρών, μέχρι την αποθήκευσή τους σε CSV—αυτός ο οδηγός παρέχει ένα έτοιμο για παραγωγή πρότυπο για σενάρια **convert image to text C#**. + +Αν είστε έτοιμοι για το επόμενο βήμα, δοκιμάστε να τροφοδοτήσετε την ίδια pipeline με JPEG ή TIFF αρχεία, πειραματιστείτε με διαφορετικές γλώσσες OCR, ή συνδέστε τα αποτελέσματα με έναν δείκτη αναζήτησης ώστε να μπορείτε άμεσα να **read text from scanned images**. + +Έχετε ερωτήσεις για ειδικές περιπτώσεις, βελτιστοποίηση απόδοσης ή άδειες; Αφήστε ένα σχόλιο ή επικοινωνήστε με την κοινότητα Aspose—καλή προγραμματιστική! + +![Παράδειγμα εξαγωγής κειμένου από PNG](extract-text-png.png "Εξαγωγή κειμένου από PNG χρησιμοποιώντας Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/greek/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..2b6999d4a --- /dev/null +++ b/ocr/greek/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Πώς να δημιουργήσετε ePub από σαρωμένες εικόνες χρησιμοποιώντας το Aspose + OCR – μάθετε πώς να μετατρέψετε εικόνα σε ePub, να εξάγετε κείμενο από την εικόνα, + να προσθέσετε συγγραφέα στο ePub και να φορτώσετε την εικόνα για OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: el +og_description: Πώς να δημιουργήσετε ePub από σαρωμένες εικόνες σε C#. Αυτό το σεμινάριο + σας δείχνει πώς να μετατρέψετε εικόνα σε ePub, να εξάγετε κείμενο από την εικόνα, + να προσθέσετε συγγραφέα στο ePub και να φορτώσετε εικόνα για OCR. +og_title: Πώς να δημιουργήσετε ePub από εικόνες σε C# – Πλήρης οδηγός +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Πώς να δημιουργήσετε ePub από εικόνες σε C# – Οδηγός βήμα‑προς‑βήμα +url: /el/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να δημιουργήσετε ePub από εικόνες σε C# – Πλήρης Οδηγός + +Έχετε αναρωτηθεί ποτέ **πώς να δημιουργήσετε ePub** από μια συλλογή σαρωμένων σελίδων; Ίσως έχετε μερικά PNG ενός κλασικού μυθιστορήματος και θέλετε να τα μετατρέψετε σε ένα τακτοποιημένο ePub που μπορείτε να διαβάσετε σε οποιαδήποτε συσκευή. Τα καλά νέα είναι ότι με το Aspose OCR μπορείτε **να φορτώσετε εικόνα για OCR**, να εξαγάγετε το κείμενο και στη συνέχεια **να μετατρέψετε την εικόνα σε ePub** με λίγες μόνο γραμμές C#. + +Σε αυτό το tutorial θα περάσουμε από όλη τη διαδικασία: φόρτωση της εικόνας, εξαγωγή του κειμένου, προσθήκη κάποιων μεταδεδομένων (ναι, θα **προσθέσουμε συγγραφέα στο epub**), και τέλος εγγραφή ενός συμβατού με τα πρότυπα αρχείου ePub. Στο τέλος θα έχετε ένα έτοιμο προς δημοσίευση ePub και μια σαφή κατανόηση κάθε βήματος, ώστε να μπορείτε να προσαρμόσετε τον κώδικα για βιβλία πολλαπλών σελίδων, προσαρμοσμένες γραμματοσειρές ή ακόμη και διανομή χωρίς DRM. + +## Τι θα χρειαστείτε + +- **.NET 6** ή νεότερο (το API λειτουργεί επίσης με .NET Standard 2.0+) +- **Aspose.OCR for .NET** – μπορείτε να κατεβάσετε μια δωρεάν δοκιμή από την ιστοσελίδα της Aspose. +- Μια σαρωμένη εικόνα όπως `book_page.png` τοποθετημένη κάπου στον δίσκο. +- Ένα αγαπημένο IDE (Visual Studio, Rider ή VS Code – θα χρησιμοποιήσω το Visual Studio στις στιγμιότυπες). + +Δεν απαιτούνται επιπλέον πακέτα NuGet· το Aspose.OCR περιλαμβάνει όλα όσα χρειάζεστε για εξαγωγή ePub. + +--- + +![Πώς να δημιουργήσετε ePub από σαρωμένη εικόνα](/images/how-to-create-epub.png "Πώς να δημιουργήσετε ePub από μια σαρωμένη εικόνα χρησιμοποιώντας Aspose OCR") + +## Βήμα 1 – Ρύθμιση του έργου και εγκατάσταση του Aspose.OCR + +Πρώτα απ' όλα. Δημιουργήστε μια νέα εφαρμογή console: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Προσθέστε το πακέτο Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +Αυτό είναι όλο – η βιβλιοθήκη περιλαμβάνει τόσο OCR όσο και δυνατότητες εξαγωγής ePub, οπότε δεν θα χρειαστείτε επιπλέον εξαρτήσεις. + +## Βήμα 2 – Φόρτωση εικόνας για OCR + +Πριν μπορέσουμε **να εξάγουμε κείμενο από την εικόνα**, πρέπει να δώσουμε κάτι στον κινητήρα OCR για ανάγνωση. Η βοηθητική μέθοδος `ImageStream.FromFile` το κάνει αυτό εύκολα: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Συμβουλή:** Αν η εικόνα σας βρίσκεται σε ενσωματωμένο πόρο, χρησιμοποιήστε `ImageStream.FromResource` αντί για `FromFile`. + +## Βήμα 3 – Εξαγωγή κειμένου από την εικόνα + +Τώρα ο κινητήρας διαβάζει τα pixel και τα μετατρέπει σε συμβολοσειρές Unicode. Η μέθοδος `Recognize` κάνει το σκληρό έργο. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Γιατί να καλέσουμε το `Recognize` ξεχωριστά; Σας επιτρέπει να ελέγξετε την ακατέργαστη έξοδο OCR, να ρυθμίσετε τις γλώσσες ή ακόμη και να κάνετε ορθογραφικό έλεγχο πριν προχωρήσετε στη δημιουργία του ePub. + +## Βήμα 4 – Προετοιμασία επιλογών εξαγωγής ePub (Προσθήκη συγγραφέα στο ePub) + +Η δημιουργία ενός επαγγελματικού ePub δεν είναι μόνο η απόρριψη κειμένου· χρειάζεστε επίσης σωστά μεταδεδομένα. Η κλάση `EpubExportOptions` σας δίνει έναν καθαρό τρόπο να **προσθέσετε συγγραφέα στο ePub**, να ορίσετε τίτλο και να αποφασίσετε αν θα ενσωματώσετε τις αρχικές εικόνες. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Αν έχετε πολλές σελίδες, μπορείτε να συνεχίσετε να καλείτε `ocrEngine.Image = …` και `ocrEngine.Recognize()` μέσα σε βρόχο· κάθε κλήση προσθέτει το περιεχόμενο της νέας σελίδας στο ίδιο έγγραφο ePub. + +## Βήμα 5 – Μετατροπή εικόνας σε ePub και εξαγωγή + +Με το κείμενο εξαγόμενο και τα μεταδεδομένα ορισμένα, το τελικό βήμα είναι μια γραμμή κώδικα που γράφει το αρχείο ePub στον δίσκο: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Το παραγόμενο `book.epub` μπορεί να ανοιχθεί στο Calibre, Apple Books ή σε οποιονδήποτε αναγνώστη συμβατό με EPUB. Επειδή ορίσαμε `IncludeImages = true`, το αρχικό PNG θα εμφανιστεί ως σελίδα‑εικόνα, διατηρώντας την εμφάνιση της σαρωμένης πηγής. + +## Πλήρες λειτουργικό παράδειγμα + +Συνδυάζοντας όλα τα παραπάνω, εδώ είναι το πλήρες, έτοιμο‑να‑τρέξει πρόγραμμα: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Αναμενόμενη έξοδος + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Ανοίξτε το `book.epub` στον αγαπημένο σας αναγνώστη και θα δείτε μια σελίδα τίτλου, τη γραμμή συγγραφέα (ακόμα και αν γράφει “Unknown”) και την σαρωμένη εικόνα να εμφανίζεται δίπλα σε επιλέξιμο κείμενο. + +## Συχνές ερωτήσεις & Ακραίες περιπτώσεις + +### Τι γίνεται αν η γλώσσα OCR δεν είναι Αγγλικά; + +Το Aspose.OCR υποστηρίζει πάνω από 70 γλώσσες. Απλώς ορίστε την ιδιότητα `Language` πριν καλέσετε το `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Πώς να διαχειριστώ βιβλία πολλαπλών σελίδων; + +Τυλίξτε τη λογική φόρτωσης/αναγνώρισης σε έναν βρόχο `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Κάθε επανάληψη προσθέτει το νέο αναγνωρισμένο κείμενο στο ίδιο ePub, διατηρώντας τη σειρά των σελίδων. + +### Μπορώ να εξαιρέσω τις αρχικές εικόνες; + +Βεβαίως – ορίστε `IncludeImages = false` στο `EpubExportOptions`. Το παραγόμενο ePub θα είναι καθαρό κείμενο ρεφλουο, μειώνοντας δραστικά το μέγεθος του αρχείου. + +### Τι γίνεται με προσαρμοσμένες γραμματοσειρές ή στυλ; + +Ο εξαγωγέας ePub του Aspose.OCR σας επιτρέπει να παρέχετε ένα CSS stylesheet μέσω της ιδιότητας `Css` στο `EpubExportOptions`. Με αυτόν τον τρόπο μπορείτε να επιβάλετε συγκεκριμένη οικογένεια γραμματοσειράς, διάστιχο ή περιθώρια. + +## Συμπέρασμα + +Τώρα ξέρετε **πώς να δημιουργήσετε ePub** από μια σαρωμένη εικόνα χρησιμοποιώντας το Aspose OCR σε C#. Το tutorial κάλυψε τα πάντα από **φόρτωση εικόνας για OCR**, μέσω **εξαγωγής κειμένου από εικόνα**, μέχρι **προσθήκη συγγραφέα στο epub**, και τελικά **μετατροπή εικόνας σε epub** με μία κλήση εξαγωγής. Με το πλήρες δείγμα κώδικα στα χέρια σας, μπορείτε να επεκτείνετε τη λύση για μαζική επεξεργασία ολόκληρων βιβλιοθηκών, προσθήκη προσαρμοσμένου εξώφυλλου ή ακόμη και ενσωμάτωση της ροής εργασίας σε ένα web API. + +Έτοιμοι για την επόμενη πρόκληση; Δοκιμάστε τη μετατροπή PDF σε ePub ή πειραματιστείτε με τα όρια εμπιστοσύνης του OCR για να βελτιώσετε την ακρίβεια σε θορυβώδεις σαρώσεις. Ο ουρανός είναι το όριο όταν συνδυάζετε ισχυρό OCR με ευέλικτη δημιουργία ePub. + +Καλή προγραμματιστική και απολαύστε την ανάγνωση του νεοδημιουργημένου ePub σας! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/greek/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..ad60ad9bb --- /dev/null +++ b/ocr/greek/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Μάθετε πώς να χρησιμοποιείτε OCR σε C# για να εξάγετε κείμενο από αρχεία + εικόνας. Αυτός ο οδηγός δείχνει OCR εκτός σύνδεσης, μετατροπή εικόνας σε κείμενο + και φόρτωση εικόνας για OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: el +og_description: Πώς να χρησιμοποιήσετε OCR σε C# για εξαγωγή κειμένου από εικόνες + εκτός σύνδεσης. Βήμα‑βήμα κώδικας, συμβουλές και πλήρης εξήγηση για τη μετατροπή + εικόνας σε κείμενο. +og_title: Πώς να χρησιμοποιήσετε OCR σε C# – Πλήρης οδηγός εκτός σύνδεσης +tags: +- OCR +- C# +- Aspose +title: Πώς να χρησιμοποιήσετε OCR σε C# – Εξαγωγή κειμένου από εικόνες χωρίς σύνδεση +url: /el/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Πώς να χρησιμοποιήσετε OCR σε C# – Εξαγωγή κειμένου από εικόνες εκτός σύνδεσης + +Έχετε αναρωτηθεί ποτέ **πώς να χρησιμοποιήσετε OCR** σε ένα έργο .NET χωρίς να στέλνετε δεδομένα στο σύννεφο; Δεν είστε μόνοι. Πολλοί προγραμματιστές χρειάζονται να *εξάγουν κείμενο από εικόνα* αρχεία σε έναν ασφαλή σταθμό εργασίας, και φοβούνται ότι η κίνηση δικτύου μπορεί να εκθέσει ευαίσθητες πληροφορίες. + +Τα καλά νέα; Με το Aspose.OCR μπορείτε να αναγνωρίσετε κείμενο από PNG, JPEG ή PDF εντελώς εκτός σύνδεσης. Σε αυτό το σεμινάριο θα περάσουμε από τη φόρτωση μιας εικόνας για OCR, τη διαμόρφωση της μηχανής για λειτουργία εκτός σύνδεσης, και τέλος **μετατροπή εικόνας σε κείμενο** με μόνο λίγες γραμμές C#. + +Στο τέλος αυτού του οδηγού θα μπορείτε να: + +* Εγκαταστήσετε το πακέτο NuGet Aspose.OCR. +* Ρυθμίσετε τη μηχανή OCR για επεξεργασία εκτός σύνδεσης. +* Φορτώσετε μια εικόνα για OCR και εξάγετε το κειμενικό της περιεχόμενο. + +Χωρίς εξωτερικές υπηρεσίες, χωρίς κλειδιά API—απλός κώδικας C# που εκτελείται σε οποιοδήποτε μηχάνημα Windows ή Linux. + +--- + +## Προαπαιτούμενα + +Πριν βουτήξουμε, βεβαιωθείτε ότι έχετε: + +* .NET 6.0 SDK ή νεότερο (ο κώδικας λειτουργεί επίσης με .NET Framework 4.7+). +* Visual Studio 2022, VS Code ή οποιονδήποτε επεξεργαστή που υποστηρίζει C#. +* Ένα αντίγραφο της βιβλιοθήκης **Aspose.OCR** – μπορείτε να το κατεβάσετε από το NuGet (`Aspose.OCR`). +* Έναν φάκελο πόρων OCR (`Resources`) που συνοδεύει τη βιβλιοθήκη (περιέχει αρχεία δεδομένων γλώσσας). +* Μια δείγμα εικόνας (π.χ. `offline_test.png`) τοποθετημένη σε γνωστό κατάλογο. + +> **Συμβουλή επαγγελματία:** Κρατήστε το φάκελο πόρων δίπλα στο εκτελέσιμο σας· απλοποιεί τη διαμόρφωση `ResourcesPath`. + +## Βήμα 1: Εγκατάσταση του πακέτου NuGet Aspose.OCR + +Πρώτα, προσθέστε τη βιβλιοθήκη στο έργο σας. Ανοίξτε ένα τερματικό στον φάκελο του έργου και εκτελέστε: + +```bash +dotnet add package Aspose.OCR +``` + +Ή, αν προτιμάτε το UI του Visual Studio, κάντε δεξί κλικ στο **Dependencies → Manage NuGet Packages**, αναζητήστε *Aspose.OCR* και κάντε κλικ στο **Install**. + +> Η εγκατάσταση του πακέτου φέρνει όλα τα απαιτούμενα δυαδικά αρχεία, έτσι δεν θα χρειαστείτε επιπλέον DLLs. + +## Βήμα 2: Δημιουργία και Διαμόρφωση της Μηχανής OCR (Πώς να χρησιμοποιήσετε OCR – Λειτουργία εκτός σύνδεσης) + +Τώρα θα δημιουργήσουμε μια παρουσία της μηχανής OCR και θα την ρυθμίσουμε να λειτουργεί **εκτός σύνδεσης**. Αυτό εξασφαλίζει ότι δεν θα υπάρχει κίνηση δικτύου κατά την αναγνώριση. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Γιατί εκτός σύνδεσης;** +Όταν το `EngineMode` ορίζεται σε `Online`, η μηχανή επικοινωνεί με το cloud της Aspose για να κατεβάσει πακέτα γλώσσας σε πραγματικό χρόνο. Σε ρυθμιζόμενα περιβάλλοντα (χρηματοοικονομικά, υγειονομική περίθαλψη) αυτή η κίνηση συχνά απαγορεύεται. Αναγκάζοντας τη λειτουργία εκτός σύνδεσης, εξασφαλίζετε ότι όλα παραμένουν στον τοπικό υπολογιστή. + +## Βήμα 3: Καθορίστε τη Μηχανή στον Φάκελο Πόρων OCR + +Η μηχανή OCR χρειάζεται δεδομένα γλώσσας (εκπαιδευμένα μοντέλα) για να αναγνωρίσει χαρακτήρες. Ενημερώστε την πού βρίσκονται αυτά τα αρχεία: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Αν δεν είστε σίγουροι πού είναι ο φάκελος, εντοπίστε τον στον κατάλογο του πακέτου NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Αντιγράψτε ολόκληρο το φάκελο στο έργο σας για πιο εύκολη ανάπτυξη. + +## Βήμα 4: Φόρτωση της Εικόνας για OCR (Load Image for OCR) + +Μπορείτε να τροφοδοτήσετε τη μηχανή με οποιοδήποτε υποστηριζόμενο bitmap. Εδώ θα φορτώσουμε ένα PNG αποθηκευμένο στο δίσκο: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Συμβουλή:** Αν χρειάζεται να επεξεργαστείτε εικόνες από ροή (π.χ. ανεβασμένες μέσω API), χρησιμοποιήστε `ImageStream.FromStream(yourStream)` αντί. + +## Βήμα 5: Εκτέλεση της Διαδικασίας Αναγνώρισης και Μετατροπή Εικόνας σε Κείμενο + +Με όλα έτοιμα, ενεργοποιήστε το OCR. Η μέθοδος `Recognize()` κάνει το σκληρό έργο, και το εξαγόμενο κείμενο διατίθεται μέσω της ιδιότητας `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +## Βήμα 6: Εξαγωγή του Εξαγόμενου Κειμένου + +Τέλος, εμφανίστε το αποτέλεσμα. Σε μια εφαρμογή κονσόλας μπορείτε απλώς να γράψετε στην κονσόλα, αλλά σε ένα web API θα επιστρέφατε τη συμβολοσειρά ως JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Η εκτέλεση του προγράμματος θα πρέπει να εκτυπώσει το κειμενικό περιεχόμενο του `offline_test.png`. Για παράδειγμα, αν η εικόνα περιέχει τη φράση *«Hello, World!»*, θα δείτε: + +``` +=== OCR Result === +Hello, World! +``` + +## Πλήρες Παράδειγμα Λειτουργίας + +Παρακάτω είναι το πλήρες, έτοιμο‑για‑εκτέλεση πρόγραμμα. Αντιγράψτε‑και‑επικολλήστε το σε ένα νέο έργο κονσόλας (`dotnet new console`) και προσαρμόστε τις διαδρομές ώστε να ταιριάζουν με το περιβάλλον σας. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Αναμενόμενη έξοδος:** Η κονσόλα εκτυπώνει το ακριβές κείμενο που περιέχεται στο αρχείο PNG. Αν η εικόνα είναι θολή, το αποτέλεσμα μπορεί να περιλαμβάνει λανθασμένα αναγνωρισμένους χαρακτήρες—δείτε την ενότητα αντιμετώπισης προβλημάτων παρακάτω. + +## Συνηθισμένα Προβλήματα & Συμβουλές (Αναγνώριση Κειμένου από PNG Αποτελεσματικά) + +| Πρόβλημα | Γιατί συμβαίνει | Πώς να το διορθώσετε | +|-------|----------------|------------| +| **Κενή έξοδος** | Το ResourcesPath δείχνει σε λάθος φάκελο ή λείπουν τα αρχεία γλώσσας. | Επαληθεύστε ότι ο φάκελος περιέχει `eng.traineddata` (ή άλλα αρχεία γλώσσας) και ελέγξτε ξανά τη συμβολοσειρά διαδρομής. | +| **Ανεπιθύμητοι χαρακτήρες** | Η ανάλυση της εικόνας είναι πολύ χαμηλή ή η εικόνα δεν είναι δυαδική. | Προεπεξεργαστείτε την εικόνα (αυξήστε DPI, εφαρμόστε `ImageProcessor` για άμβλυνση). | +| **Καθυστέρηση απόδοσης** | Μεγάλες εικόνες επεξεργάζονται σε πλήρη ανάλυση. | Αλλάξτε το μέγεθος της εικόνας σε μέγιστο πλάτος 2000 px πριν τη δώσετε στο OCR. | +| **Μη υποστηριζόμενη μορφή** | Χρήση BMP με ασυνήθιστη μορφή εικονοστοιχείου. | Μετατρέψτε την εικόνα σε PNG ή JPEG πρώτα (`System.Drawing.Image.Save`). | + +**Συμβουλή επαγγελματία:** Αν χρειάζεται να αναγνωρίσετε πολλαπλές γλώσσες, ορίστε `ocrEngine.Settings.Language = Language.English | Language.French;` πριν καλέσετε το `Recognize()`. + +## Συχνές Ερωτήσεις + +**Ε: Μπορώ να χρησιμοποιήσω αυτόν τον κώδικα σε Linux;** +Απολύτως. Το Aspose.OCR είναι cross‑platform· απλώς βεβαιωθείτε ότι οι εγγενείς βιβλιοθήκες είναι παρούσες (είναι ενσωματωμένες στο πακέτο NuGet). + +**Ε: Τι γίνεται αν δεν έχω φάκελο Resources;** +Μπορείτε να κατεβάσετε τα δωρεάν πακέτα γλώσσας από τον ιστότοπο της Aspose ή να τα εξάγετε από το πακέτο NuGet (`.../aspose.ocr//resources`). + +**Ε: Υπάρχει τρόπος να λάβω βαθμούς εμπιστοσύνης;** +Ναι. Μετά το `Recognize()`, εξετάστε το `ocrEngine.RecognizedWords` – κάθε λέξη περιλαμβάνει την ιδιότητα `Confidence`. + +## Συμπέρασμα + +Συζητήσαμε **πώς να χρησιμοποιήσετε OCR** σε C# για *εξαγωγή κειμένου από εικόνα* αρχεία εντελώς εκτός σύνδεσης. Με την εγκατάσταση του Aspose.OCR, τη διαμόρφωση `EngineMode.Offline`, την καθοδήγηση στους πόρους, τη φόρτωση μιας εικόνας και την κλήση του `Recognize()`, μπορείτε αξιόπιστα **να μετατρέψετε εικόνα σε κείμενο** χωρίς ποτέ να αγγίξετε το διαδίκτυο. + +Αντιγράψτε τον παραπάνω κώδικα, αντικαταστήστε τις δικές σας διαδρομές εικόνας, και ξεκινήστε να δημιουργείτε λειτουργίες όπως αναζητήσιμα PDF, αυτοματοποίηση εισαγωγής δεδομένων ή εργαλεία προσβασιμότητας. Στη συνέχεια, μπορείτε να εξερευνήσετε **αναγνώριση κειμένου από PNG** μαζικά, ή να ενσωματώσετε τη μηχανή σε ένα API ASP.NET Core για να παρέχετε αποτελέσματα OCR σε εφαρμογές front‑end. + +Καλή προγραμματιστική δουλειά, και μη διστάσετε να πειραματιστείτε—το OCR είναι εκπληκτικά ανεκτικό μόλις η μηχανή ρυθμιστεί σωστά! + +--- + +![Διάγραμμα που δείχνει τη ροή εργασίας OCR εκτός σύνδεσης – πώς να χρησιμοποιήσετε OCR σε ασφαλές περιβάλλον](https://example.com/ocr-workflow.png "διάγραμμα πώς να χρησιμοποιήσετε OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/greek/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..4db42ad8c --- /dev/null +++ b/ocr/greek/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-03-07 +description: Μάθετε πώς να αναγνωρίζετε κείμενο στα Χίντι και να φορτώνετε εικόνα + για OCR χρησιμοποιώντας το Aspose.OCR σε C#. Βήμα‑βήμα ρύθμιση, κώδικας και συμβουλές. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: el +og_description: Ανακαλύψτε πώς να αναγνωρίζετε κείμενο στα Χίντι με το Aspose OCR + σε C#. Περιλαμβάνει τη φόρτωση εικόνας για OCR, τη ρύθμιση του πακέτου γλώσσας και + συμβουλές βέλτιστων πρακτικών. +og_title: Αναγνώριση κειμένου Hindi – Πλήρης οδηγός Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: Αναγνώριση κειμένου στα Χίντι σε C# – Πλήρης Οδηγός Aspose OCR +url: /el/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Αναγνώριση κειμένου Hindi – Πλήρης Εκπαιδευτικό Οδηγός Aspose OCR + +Έχετε χρειαστεί ποτέ να **αναγνωρίσετε κείμενο Hindi** από μια σαρωμένη απόδειξη αλλά δεν ήξερατε από πού να ξεκινήσετε; Δεν είστε μόνοι. Σε πολλές εφαρμογές με έμφαση στην Ινδία, η αξιόπιστη εξαγωγή χαρακτήρων Hindi μπορεί να φαίνεται σαν να κυνηγάτε ένα κινούμενο στόχο. Ευτυχώς, το Aspose.OCR το κάνει παιχνιδάκι — μόλις γνωρίζετε τα σωστά βήματα για **φόρτωση εικόνας για OCR** και δείχνετε στη μηχανή τους πόρους της γλώσσας Hindi. + +Σε αυτόν τον οδηγό θα περάσουμε βήμα‑βήμα από όλα όσα χρειάζεστε για να δημιουργήσετε μια λειτουργική αλυσίδα OCR σε C#. Στο τέλος θα έχετε ένα εκτελέσιμο πρόγραμμα που κατεβάζει το πακέτο γλώσσας Hindi, φορτώνει μια εικόνα, εκτελεί την αναγνώριση και εκτυπώνει το προκύπτον κείμενο στην κονσόλα. Χωρίς ασαφείς «δείτε τα docs» συνδέσμους — μόνο μια αυτόνομη λύση που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο .NET. + +## Τι Θα Χρειαστείτε + +- **.NET 6+** (ή .NET Framework 4.7.2+). Το API είναι το ίδιο σε όλες τις εκδόσεις, αλλά το νεότερο runtime προσφέρει καλύτερη απόδοση. +- **Aspose.OCR for .NET** πακέτο NuGet. Εγκαταστήστε το με `dotnet add package Aspose.OCR`. +- Ένα **πακέτο γλώσσας Hindi** — το Aspose το προσφέρει ως λήψιμο πόρο, δεν περιλαμβάνεται εξ ορισμού. +- Ένα αρχείο εικόνας που περιέχει κείμενο Hindi (π.χ., `hindi_receipt.jpg`). Οποιοδήποτε κοινό φορμά (JPG, PNG, BMP) λειτουργεί. +- Ένα καλό IDE (Visual Studio, Rider ή VS Code). + +Αυτό είναι όλο — χωρίς εξωτερικές μηχανές OCR, χωρίς κλειδιά cloud, μόνο μια τοπική βιβλιοθήκη. + +## Βήμα 1: Λήψη του Πακέτου Γλώσσας Hindi – Ρύθμιση Πόρων + +Πριν η μηχανή OCR μπορέσει να καταλάβει χαρακτήρες Devanagari, πρέπει να κατεβάσετε τους πόρους γλώσσας Hindi. Πρόκειται για μια εφάπαξ ενέργεια, συνήθως εκτελούμενη κατά την εγκατάσταση της εφαρμογής ή στο CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Γιατί είναι σημαντικό:** Η μηχανή OCR βασίζεται σε μοντέλα ειδικά για κάθε γλώσσα ώστε να αντιστοιχίζει μοτίβα pixel σε χαρακτήρες Unicode. Χωρίς το πακέτο Hindi, θα λάβετε ακατάλληλη λατινική έξοδο ή τίποτα. + +> **Συμβουλή:** Αποθηκεύστε το πακέτο σε φάκελο με δικαιώματα εγγραφής στο στόχο. Αν κάνετε ανάπτυξη σε Azure App Service, χρησιμοποιήστε το φάκελο `D:\home\site\wwwroot\Resources`. + +## Βήμα 2: Διαμόρφωση της Μηχανής OCR – Καθορισμός Πόρων + +Τώρα που οι πόροι είναι στη θέση τους, δημιουργήστε ένα αντικείμενο `OcrEngine` και υποδείξτε του πού να ψάξει για τα αρχεία γλώσσας. Εδώ ορίζουμε επίσης την **πρωτεύουσα γλώσσα** για την αναγνώριση. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Γιατί το κάνουμε:** Η ιδιότητα `ResourcesPath` είναι η γέφυρα μεταξύ της μηχανής και των ληφθέντων αρχείων. Αν παραλείψετε αυτό το βήμα, η μηχανή θα επιστρέψει στα ενσωματωμένα (μόνο Αγγλικά) μοντέλα και δεν θα μπορείτε να **αναγνωρίσετε κείμενο Hindi** σωστά. + +## Βήμα 3: Φόρτωση Εικόνας για OCR – Παροχή της Σωστής Εισόδου στη Μηχανή + +Με τη μηχανή έτοιμη, το επόμενο βήμα είναι να **φορτώσετε εικόνα για OCR**. Το Aspose παρέχει τη βολική βοηθητική μέθοδο `ImageStream.FromFile` που υποστηρίζει τις περισσότερες κοινές μορφές εικόνας. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Κοινά προβλήματα:** +- **Μεγάλες εικόνες** μπορούν να επιβραδύνουν την επεξεργασία. Αν διαχειρίζεστε σαρώσεις υψηλής ανάλυσης, σκεφτείτε να κάνετε down‑sampling πρώτα (`ImageProcessor.Resize`). +- **Λανθασμένος προσανατολισμός** (περιστροφές) θα οδηγήσει σε φτωχά αποτελέσματα. Χρησιμοποιήστε `ocrEngine.Image.Rotate(90)` αν χρειάζεται. + +## Βήμα 4: Εκτέλεση της Αναγνώρισης – Εξαγωγή του Κειμένου + +Τώρα ζητάμε από τη μηχανή να διαβάσει τα pixel και να τα μετατρέψει σε συμβολοσειρές Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Τι να περιμένετε:** Αν η εικόνα είναι καθαρή, θα δείτε τους χαρακτήρες Hindi να εκτυπώνονται ακριβώς όπως εμφανίζονται στην απόδειξη. Για παράδειγμα, μια τυπική απόδειξη μπορεί να εμφανίσει: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Αν λάβετε ακατανόητο κείμενο, ελέγξτε ξανά ότι το πακέτο γλώσσας έχει ληφθεί σωστά και ότι το `ocrEngine.Settings.Language` είναι ορισμένο σε `Language.Hindi`. + +## Βήμα 5: Ολοκλήρωση – Πλήρες Εκτελέσιμο Πρόγραμμα + +Παρακάτω βρίσκεται το πλήρες αρχείο πηγαίου κώδικα που μπορείτε να αντιγράψετε‑επικολλήσετε σε ένα έργο κονσόλας. Περιλαμβάνει όλα τα παραπάνω βήματα, καθώς και ελάχιστο χειρισμό σφαλμάτων. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Αποθηκεύστε το ως `Program.cs`, τρέξτε `dotnet run`, και θα πρέπει να δείτε το κείμενο Hindi να εκτυπώνεται στην κονσόλα. + +## Συχνές Ερωτήσεις (FAQ) + +### Μπορώ να αναγνωρίσω πολλαπλές γλώσσες σε μία εκτέλεση; +Ναι. Ορίστε το `ocrEngine.Settings.Language` σε πίνακα, π.χ., `new[] { Language.Hindi, Language.English }`. Η μηχανή θα προσπαθήσει να εντοπίσει χαρακτήρες και από τα δύο συστήματα γραφής. + +### Τι γίνεται αν η εικόνα μου είναι θολή; +Σκεφτείτε προεπεξεργασία με `ImageProcessor` — εφαρμόστε ενίσχυση ευκρίνειας ή αντίθεσης πριν την αντιστοίχιση στην `ocrEngine.Image`. + +### Λειτουργεί αυτό σε Linux/macOS; +Απόλυτα. Το Aspose.OCR είναι cross‑platform· απλώς βεβαιωθείτε ότι οι εγγενείς εξαρτήσεις είναι παρούσες (συνήθως περιλαμβάνονται στο πακέτο NuGet). + +### Πώς βελτιώνω την ακρίβεια για αποδείξεις χαμηλής ανάλυσης; +Αυξήστε το DPI (dots per inch) κατά τη σάρωση, ή προγραμματιστικά επαναδειγματοληψία της εικόνας σε τουλάχιστον 300 DPI πριν το OCR. + +## Συμπέρασμα + +Καλύψαμε όλα όσα χρειάζεστε για να **αναγνωρίσετε κείμενο Hindi** χρησιμοποιώντας το Aspose.OCR — από τη λήψη του πακέτου γλώσσας Hindi, τη διαμόρφωση της μηχανής, τη σωστή **φόρτωση εικόνας για OCR**, μέχρι την εξαγωγή και εκτύπωση του αποτελέσματος. Το πλήρες απόσπασμα κώδικα παραπάνω είναι έτοιμο να ενσωματωθεί σε οποιαδήποτε εφαρμογή C# console, και οι προαιρετικές συμβουλές βοηθούν στην αντιμετώπιση κοινών προβλημάτων όπως θολές σαρώσεις ή πολυγλωσσικά έγγραφα. + +Έτοιμοι για το επόμενο βήμα; Δοκιμάστε να στέλνετε το αποτέλεσμα OCR σε ένα API μετάφρασης, ή αποθηκεύστε τα εξαγόμενα δεδομένα σε βάση για αναλύσεις. Μπορείτε επίσης να πειραματιστείτε με άλλες ινδικές γλώσσες — το Aspose υποστηρίζει Tamil, Bengali και άλλες — απλώς αντικαταστήστε το `Language.Hindi` με την αντίστοιχη τιμή enum. + +Καλή προγραμματιστική δουλειά, και οι OCR αποτελέσματά σας να είναι πάντα καθαρά! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/greek/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/greek/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..d96723926 --- /dev/null +++ b/ocr/greek/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Αναγνωρίστε κείμενο από εικόνα γρήγορα με το Aspose OCR. Μάθετε πώς να + μετατρέψετε djvu σε κείμενο, να εξάγετε κείμενο από εικόνα και να φορτώσετε εικόνα + για OCR σε έναν βήμα‑βήμα οδηγό C#. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: el +og_description: Αναγνωρίστε κείμενο από εικόνα σε C# χρησιμοποιώντας Aspose OCR. Αυτός + ο οδηγός δείχνει πώς να μετατρέψετε djvu σε κείμενο, να εξάγετε κείμενο από εικόνα + και να φορτώσετε εικόνα για OCR με πρακτικές συμβουλές. +og_title: Αναγνώριση κειμένου από εικόνα – Πλήρες σεμινάριο C# Aspose OCR +tags: +- C# +- Aspose OCR +- Document Processing +title: Αναγνώριση κειμένου από εικόνα σε C# – Πλήρης Οδηγός Aspose OCR +url: /el/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# αναγνώριση κειμένου από εικόνα – Πλήρης C# Aspose OCR Tutorial + +Έχετε ποτέ χρειαστεί να **αναγνωρίσετε κείμενο από εικόνα** αλλά δεν ήσασταν σίγουροι ποια βιβλιοθήκη θα σας δώσει αξιόπιστα αποτελέσματα; Δεν είστε μόνοι. Είτε ασχολείστε με σαρωμένα τιμολόγια, ιστορικά αρχεία DJVU, είτε με ένα απλό στιγμιότυπο PNG, η εξαγωγή των ακριβών χαρακτήρων μπορεί να μοιάζει με αποκρυπτογράφηση ενός αρχαίου κειμένου. + +Το θέμα είναι ότι το Aspose OCR κάνει όλη τη διαδικασία παιγνίδι. Σε αυτόν τον οδηγό θα δούμε πώς να **convert djvu to text**, **extract text from image**, και **load image for OCR** χρησιμοποιώντας ένα σύντομο πρόγραμμα C#. Στο τέλος θα έχετε μια εκτελέσιμη εφαρμογή κονσόλας που εκτυπώνει το αναγνωρισμένο κείμενο στην κονσόλα, και θα κατανοήσετε το «γιατί» πίσω από κάθε γραμμή. + +## What You’ll Learn + +- Πώς να ρυθμίσετε τη μηχανή Aspose OCR σε ένα έργο .NET. +- Τον ακριβή κώδικα που χρειάζεται για **load image for OCR** από αρχείο DJVU. +- Γιατί πρέπει να καλέσετε `Recognize()` πριν διαβάσετε το `Text`. +- Συνηθισμένες παγίδες (πολλές σελίδες DJVU, μη υποστηριζόμενες μορφές) και πώς να τις αποφύγετε. +- Γρήγορους τρόπους για **convert djvu to text** για μαζική επεξεργασία. + +Ό,τι χρειάζεστε είναι ένα πρόσφατο .NET SDK (≥ 6.0) και μια άδεια Aspose OCR (η δωρεάν δοκιμή λειτουργεί για δοκιμές). Χωρίς εξωτερικές υπηρεσίες, χωρίς κλήσεις REST—απλώς καθαρό C#. + +## Prerequisites + +| Requirement | Reason | +|-------------|--------| +| .NET 6 SDK ή νεότερο | Σύγχρονα χαρακτηριστικά γλώσσας και καλύτερη απόδοση. | +| Πακέτο NuGet Aspose.OCR (`Install-Package Aspose.OCR`) | Παρέχει την κλάση `OcrEngine` που θα χρησιμοποιήσουμε. | +| Ένα αρχείο DJVU (π.χ., `sample.djvu`) | Δείχνει **convert djvu to text**. | +| Βασική εξοικείωση με εφαρμογές κονσόλας C# | Κάνει τα βήματα πιο φυσικά. | + +Αν λείπει κάτι από τα παραπάνω, κάντε παύση και εγκαταστήστε το τώρα· διαφορετικά ο κώδικας δεν θα μεταγλωττιστεί. + +## Step 1 – Install Aspose.OCR and Create the Project + +First, spin up a new console project and pull in the OCR library. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro tip:* Use the `--framework net6.0` flag if you want to lock the target framework explicitly. + +## Step 2 – Initialize the OCR Engine and Load the DJVU Image + +The engine needs an image source. Aspose.OCR can read many formats, including DJVU, so we simply point it at the file path. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Why this matters:** +- `OcrEngine` is the entry point; creating it once and re‑using it reduces memory churn. +- `ImageStream.FromFile` abstracts away the file format, so you can later replace the DJVU file with a PNG or TIFF without changing any other code—perfect for “how to extract text from image” in different scenarios. + +## Step 3 – Run the Recognition Process + +Calling `Recognize()` triggers the heavy lifting. Under the hood Aspose runs a neural‑network‑based classifier that works on both printed and handwritten text. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Edge case note:* If your DJVU contains multiple pages, `ImageStream.FromFile` still loads only the first page. To process all pages you’d need to loop over `ImageStream.FromFile(...).Pages`. For most quick‑look tasks, the first page is enough. + +## Step 4 – Retrieve and Display the Recognized Text + +After recognition, the engine populates the `Text` property with a plain‑text string. You can now write it to the console, a file, or feed it into another system. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typical output looks like: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +If the output is garbled, double‑check that the source image isn’t low‑resolution; Aspose recommends 300 dpi or higher for best accuracy. + +## Full Working Example + +Putting it all together, here’s a single file (`Program.cs`) you can paste into the project created earlier. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Run it with: + +```bash +dotnet run +``` + +You should see the extracted string printed to the terminal. This is the simplest way to **recognize text from image** using Aspose OCR. + +## Step 5 – Advanced: Converting Multiple DJVU Pages to Text Files + +If you need to **convert djvu to text** in bulk, extend the previous code with a loop: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Why this works:* `GetPage(i)` returns an `Image` object for the requested page, letting you reuse the same `OcrEngine` instance. Each page’s text lands in its own `.txt` file, giving you a clean **convert djvu to text** pipeline. + +## Common Questions & Gotchas + +- **Can I extract text from a JPEG instead of DJVU?** + Absolutely. Just change the file extension in `FromFile`. The same code **how to extract text from image** applies because Aspose abstracts the format. + +- **What if the OCR result contains extra line breaks?** + Use `String.Replace("\r\n", " ")` or a regular expression to normalize whitespace. + +- **Do I need a license for production use?** + The free trial works for up to 100 pages. For unlimited usage, purchase a license and call `License license = new License(); license.SetLicense("Aspose.OCR.lic");` before creating the engine. + +- **Is the engine thread‑safe?** + No. Create a separate `OcrEngine` per thread or protect access with a lock. + +## Tips for Better Accuracy + +1. **Increase DPI** – If you control the source conversion, output images at 300 dpi or higher. +2. **Pre‑process the image** – Simple binarization (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) can improve results on noisy scans. +3. **Specify language** – `ocrEngine.Language = Language.English;` narrows the character set and speeds up recognition. + +## Conclusion + +You now have a complete, ready‑to‑run example that **recognize text from image** using Aspose OCR, and you’ve seen how to **convert djvu to text**, **how to extract text from image**, and the proper way to **load image for OCR**. The code is self‑contained, works on any .NET 6+ runtime, and can be expanded to batch‑process multi‑page DJVU documents. + +Next, you might explore: + +- Adding **language detection** for multilingual DJVU files. +- Integrating the OCR output with a search index (e.g., Elasticsearch). +- Using Aspose’s PDF conversion to turn the extracted text into searchable PDFs. + +Give it a try, tweak the DPI, experiment with different image formats, and let the OCR engine do the heavy lifting for you. Happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/ocr-configuration/_index.md b/ocr/hindi/net/ocr-configuration/_index.md index cee8a4618..8d199c573 100644 --- a/ocr/hindi/net/ocr-configuration/_index.md +++ b/ocr/hindi/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ Aspose.OCR के साथ .NET में OCR इमेज रिकग्न Aspose.OCR for .NET के साथ शक्तिशाली OCR क्षमताओं को बढ़ाएं। इमेज से टेक्स्ट को बिना बताए हटाएं। ### [OCR इमेज रिकग्निशन में लिस्ट के साथ OCROperation](./ocr-operation-with-list/) Aspose.OCR for .NET की क्षमताओं को बढ़ाएं। लिस्ट के साथ OCR इमेज रिकग्निशन को आसानी से करें। अपने एप्लिकेशन में प्रोडक्टिविटी और डेटा एक्सट्रैक्शन को बढ़ाएं। +### [png से टेक्स्ट पढ़ें – Aspose OCR के साथ Cyrillic टेक्स्ट निकालें](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Aspose OCR का उपयोग करके PNG इमेज से Cyrillic भाषा का टेक्स्ट निकालने की प्रक्रिया सीखें। ### कॉमन यूज़ केस - **टेक्स्ट इमेज निकालें** स्कैन किए गए इनवॉइस से टेक्स्ट निकालें ताकि ऑटोमेटेड अकाउंटिंग हो सके। @@ -104,4 +106,4 @@ A: API इनेबल्ड फाइलों को स्किप कर {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/hindi/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..481ce2a9a --- /dev/null +++ b/ocr/hindi/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,200 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR का उपयोग करके PNG से टेक्स्ट पढ़ना और सायरिलिक टेक्स्ट निकालना, + इमेज को टेक्स्ट में बदलना, और सायरिलिक भाषा पैक डाउनलोड करना सीखें। +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: hi +og_description: Aspose OCR का उपयोग करके C# में PNG से टेक्स्ट पढ़ना, सायरिलिक टेक्स्ट + निकालना और इमेज को टेक्स्ट में बदलना सीखें। +og_title: PNG से टेक्स्ट पढ़ें – Aspose OCR के साथ सिरिलिक टेक्स्ट निकालें +tags: +- Aspose OCR +- C# +- Image Processing +title: PNG से टेक्स्ट पढ़ें – Aspose OCR के साथ सिरिलिक टेक्स्ट निकालें +url: /hi/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# png से टेक्स्ट पढ़ें – Aspose OCR के साथ Cyrillic टेक्स्ट निकालें + +क्या आपको **png से टेक्स्ट पढ़ना** है और Cyrillic अक्षर निकालने हैं? इस गाइड में हम आपको दिखाएंगे कि कैसे Aspose OCR का उपयोग करके png से टेक्स्ट पढ़ें, Cyrillic टेक्स्ट निकालें, और **इमेज को टेक्स्ट में बदलें** केवल कुछ ही C# लाइनों में। + +यदि आपने कभी रूसी इनवॉइस की स्क्रीनशॉट देखी है और सोचा है कि शब्दों को खोज योग्य स्ट्रिंग में कैसे बदलें, तो आप सही जगह पर हैं। हम यह भी बताएंगे कि कैसे **Cyrillic भाषा पैक** को स्वचालित रूप से **डाउनलोड** किया जाए, ताकि आपको अतिरिक्त फ़ाइलों की तलाश न करनी पड़े। + +## आप क्या हासिल करेंगे + +* **OCR के लिए इमेज लोड करें** सीधे डिस्क या स्ट्रीम से। +* इंजन को **Cyrillic भाषा** पर सेट करें बिना मैन्युअल डाउनलोड के। +* पहचान चलाएँ और PNG फ़ाइल से **Cyrillic टेक्स्ट निकालें**। +* कंसोल में पहचाना गया टेक्स्ट देखें – एक साफ़, साधारण‑टेक्स्ट परिणाम जिसे आप डेटाबेस, सर्च इंडेक्स, या किसी भी अन्य वर्कफ़्लो में उपयोग कर सकते हैं। + +कोई बाहरी सेवाएँ नहीं, कोई क्लाउड कुंजी नहीं, सिर्फ Aspose OCR NuGet पैकेज और कुछ ही C# लाइनों की जरूरत है। + +## आवश्यकताएँ + +* .NET 6.0 या बाद का संस्करण (कोड .NET Core, .NET Framework, और .NET 5+ पर काम करता है)। +* Visual Studio 2022 या कोई भी एडिटर जो आपको पसंद हो। +* Aspose.OCR NuGet पैकेज (`dotnet add package Aspose.OCR`). +* एक PNG इमेज जिसमें Cyrillic अक्षर हों – उदाहरण के लिए `cyrillic_sample.png` को `YOUR_DIRECTORY` नामक फ़ोल्डर में रखें। + +> **Pro tip:** यदि आप Visual Studio का उपयोग कर रहे हैं, तो प्रोजेक्ट पर राइट‑क्लिक करें → **Manage NuGet Packages** → “Aspose.OCR” खोजें और नवीनतम स्थिर संस्करण स्थापित करें। + +--- + +## चरण 1 – Aspose OCR स्थापित करें और इंजन बनाएं + +पहले हमें OCR इंजन का इंस्टेंस चाहिए। `OcrEngine` क्लास सभी ऑपरेशन्स का एंट्री पॉइंट है। + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Why this matters:** इंजन भाषा पैक, इमेज डेटा, और पहचान विकल्पों को समाहित करता है। इसे एक बार इंस्टैंशिएट करके कई इमेज पर पुनः उपयोग करने से प्रदर्शन में सुधार हो सकता है। + +--- + +## चरण 2 – **OCR के लिए इमेज लोड करें** और भाषा सेट करें + +अब हम इंजन को बताते हैं कि कौन सी इमेज प्रोसेस करनी है और किस भाषा की तलाश करनी है। `Language.Cyrillic` सेट करने से पहली बार चलाने पर आवश्यक भाषा पैक स्वचालित रूप से डाउनलोड हो जाता है। + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Edge case:** यदि आपकी PNG बहुत बड़ी है (5 MB से अधिक), तो पहचान को तेज़ करने के लिए पहले उसका आकार बदलना चाह सकते हैं। `Image` प्रॉपर्टी `Stream` को भी स्वीकार करती है, इसलिए आप मेमोरी, वेब अनुरोध, या Azure Blob से फ़ाइल सिस्टम को छुए बिना लोड कर सकते हैं। + +--- + +## चरण 3 – **इमेज को टेक्स्ट में बदलें** एक ही कॉल से + +पहचान उतनी ही सरल है जितना `Recognize()` को कॉल करना। इस कॉल के बाद `Text` प्रॉपर्टी में निकाली गई स्ट्रिंग रहती है। + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **What happens under the hood?** Aspose एक न्यूरल‑नेटवर्क‑आधारित क्लासिफायर चलाता है जो लाखों Cyrillic ग्लिफ़्स पर प्रशिक्षित है। लाइब्रेरी इस जटिलता को एब्स्ट्रैक्ट करती है, इसलिए आपको केवल साफ़ Unicode मिलता है। + +--- + +## चरण 4 – परिणाम आउटपुट करें (या कहीं और पाइप करें) + +डेमो के लिए हम टेक्स्ट को कंसोल पर प्रिंट करेंगे, लेकिन आप इसे आसानी से फ़ाइल, डेटाबेस, या सर्च इंडेक्स में लिख सकते हैं। + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**अपेक्षित आउटपुट** (मान लेते हैं कि `cyrillic_sample.png` में वाक्य “Привет мир” है): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +यदि आउटपुट गड़बड़ दिखे, तो दोबारा जांचें कि इमेज स्पष्ट है और आपने `Language.Cyrillic` सेट किया है। इंजन डिफ़ॉल्ट रूप से English पर सेट होता है, जिससे Cyrillic अक्षर अज्ञात प्रतीकों के रूप में दिखेंगे। + +--- + +## चरण 5 – पूर्ण, चलाने योग्य उदाहरण + +सब कुछ मिलाकर, यहाँ एक स्व-निहित प्रोग्राम है जिसे आप नई कंसोल प्रोजेक्ट में कॉपी‑पेस्ट कर सकते हैं। + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +फ़ाइल को `Program.cs` के रूप में सहेजें, `dotnet run` चलाएँ, और आपको Cyrillic टेक्स्ट प्रिंट होते हुए दिखना चाहिए। + +--- + +## आम प्रश्न और समस्या निवारण + +| प्रश्न | उत्तर | +|----------|--------| +| **अगर भाषा पैक डाउनलोड नहीं होता तो क्या करें?** | सुनिश्चित करें कि मशीन के पास इंटरनेट एक्सेस है। पैक `%USERPROFILE%\.Aspose\OCR\Languages` में कैश किया जाता है। उस फ़ोल्डर को हटाने से नया डाउनलोड मजबूर होगा। | +| **क्या मैं Cyrillic के अलावा अन्य भाषाएँ पढ़ सकता हूँ?** | बिल्कुल – `Language.Cyrillic` को `Language.English`, `Language.Arabic` आदि से बदलें। वही ऑटो‑डाउनलोड लॉजिक लागू होता है। | +| **मेरी PNG शोरयुक्त है – परिणाम खराब हैं। मैं क्या करूँ?** | इमेज को पूर्व‑प्रसंस्करण करें: कंट्रास्ट बढ़ाएँ, ग्रेस्केल में बदलें, या मीडियन फ़िल्टर लागू करें। Aspose OCR `Settings.ImagePreprocess` विकल्प भी प्रदान करता है। | +| **क्या प्रत्येक शब्द के लिए बाउंडिंग बॉक्स प्राप्त करने का तरीका है?** | हां, `Recognize()` के बाद आप `ocrEngine.Regions` को देख सकते हैं जो प्रत्येक पहचाने गए शब्द के लिए आयतें लौटाता है। | +| **उत्पादन उपयोग के लिए क्या मुझे लाइसेंस चाहिए?** | फ़्री इवैल्युएशन 100 पेज तक काम करता है। व्यावसायिक प्रोजेक्ट्स के लिए लाइसेंस खरीदें – यह इवैल्युएशन वॉटरमार्क हटाता है और हाई‑स्पीड बैच प्रोसेसिंग को अनलॉक करता है। | + +--- + +## अगले कदम – समाधान का विस्तार + +* **बैच प्रोसेसिंग:** PNG फ़ोल्डर पर लूप चलाएँ, सभी टेक्स्ट को CSV फ़ाइल में एकत्र करें। +* **Azure Cognitive Search के साथ इंटीग्रेशन:** तेज़ लुकअप के लिए निकाले गए Cyrillic स्ट्रिंग्स को इंडेक्स करें। +* **PDF रूपांतरण के साथ संयोजन:** पहले स्कैन किए गए PDFs को PNG में बदलने के लिए Aspose.PDF का उपयोग करें, फिर वही OCR फ्लो चलाएँ। + +इन सभी परिदृश्यों में हमने अभी कवर किया हुआ कोर पैटर्न दोहराया जाता है: **OCR के लिए इमेज लोड करें → भाषा सेट करें → पहचानें → टेक्स्ट का उपयोग करें**। + +--- + +## निष्कर्ष + +अब आप जानते हैं कि कैसे **png से टेक्स्ट पढ़ें**, **Cyrillic टेक्स्ट निकालें**, और Aspose OCR के साथ C# में **इमेज को टेक्स्ट में बदलें**। मुख्य कदम हैं इंजन बनाना, इमेज लोड करना, उचित भाषा चुनना (जो स्वचालित रूप से **Cyrillic भाषा पैक डाउनलोड करता है**), और अंत में `Recognize()` कॉल करना। + +विभिन्न इमेज के साथ इसे आज़माएँ, `Settings` विकल्पों के साथ प्रयोग करें, और देखें कि आपके एप्लिकेशन खोज योग्य, बहुभाषी, और अधिक बुद्धिमान कैसे बनते हैं। + +कोडिंग का आनंद लें, और यदि कोई समस्या आती है तो टिप्पणी करने में संकोच न करें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/ocr-optimization/_index.md b/ocr/hindi/net/ocr-optimization/_index.md index 741ae28e9..793dac036 100644 --- a/ocr/hindi/net/ocr-optimization/_index.md +++ b/ocr/hindi/net/ocr-optimization/_index.md @@ -74,6 +74,15 @@ Aspose.OCR for .NET के साथ OCR सटीकता बढ़ाएँ ### [OCR इमेज रिकग्निशन में मल्टी‑पेज परिणाम को दस्तावेज़ के रूप में सहेजें](./save-multipage-result-as-document/) Aspose.OCR for .NET की क्षमता को अनलॉक करें। इस व्यापक चरण‑दर‑चरण गाइड के साथ मल्टी‑पेज OCR परिणामों को दस्तावेज़ों के रूप में आसानी से सहेजें। +### [C# में इमेज को डेस्क्यू करें और OCR चलाएँ – पूर्ण गाइड](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +C# में इमेज को डेस्क्यू करने और Aspose.OCR के साथ सटीक OCR निष्पादित करने के चरण‑दर‑चरण निर्देश। + +### [Aspose OCR उदाहरण – C# में स्पेल‑चेक सक्षम करें और त्रुटियों को ठीक करें](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +C# में Aspose OCR का उपयोग करके स्पेल‑चेक सक्रिय करें और पहचान त्रुटियों को सुधारें। + +### [चीनी छवियों पर OCR कैसे करें – पूर्ण C# गाइड](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +C# में Aspose.OCR का उपयोग करके चीनी भाषा वाली छवियों से सटीक पाठ निकालने के चरण‑दर‑चरण निर्देश। + ## अक्सर पूछे जाने वाले प्रश्न **Q:** क्या मैं कई भाषाओं वाली छवि फ़ाइलों से पाठ निकाल सकता हूँ? diff --git a/ocr/hindi/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/hindi/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..78253bdd6 --- /dev/null +++ b/ocr/hindi/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR उदाहरण जो दिखाता है कि स्पेलचेक कैसे सक्षम करें, कस्टम शब्दकोश + जोड़ें, इमेज OCR लोड करें और OCR त्रुटियों को जल्दी ठीक करें। +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: hi +og_description: Aspose OCR उदाहरण जो आपको वर्तनी जाँच सक्षम करने, एक कस्टम शब्दकोश + जोड़ने, OCR के लिए छवि लोड करने और सामान्य OCR त्रुटियों को ठीक करने के चरणों से + परिचित कराता है। +og_title: Aspose OCR उदाहरण – वर्तनी जाँच सक्षम करें और त्रुटियों को ठीक करें +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR उदाहरण – C# में स्पेलचेक सक्षम करें और त्रुटियों को ठीक करें +url: /hi/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR उदाहरण – स्पेलचेक सक्षम करें और C# में त्रुटियों को ठीक करें + +क्या आपको कभी ऐसा **Aspose OCR example** चाहिए था जो केवल छवि से टेक्स्ट पढ़ता ही नहीं, बल्कि उन परेशान करने वाले वर्तनी त्रुटियों को भी साफ़ करता हो? आप अकेले नहीं हैं। कई वास्तविक‑दुनिया प्रोजेक्ट्स में कच्चा OCR आउटपुट टाइपो से भरा होता है, विशेषकर जब स्रोत छवि में कम कंट्रास्ट वाले फ़ॉन्ट या हाथ से लिखे नोट्स हों। + +अच्छी खबर? Aspose.OCR के साथ आप **spellcheck सक्षम कर** सकते हैं, अपना शब्दकोश जोड़ सकते हैं, और कुछ ही कोड लाइनों में एक परिष्कृत स्ट्रिंग प्राप्त कर सकते हैं। नीचे आप बिल्कुल देखेंगे **spellcheck कैसे सक्षम करें**, **शब्दकोश कैसे जोड़ें**, और **छवि OCR कैसे लोड करें** ताकि आप अंततः **OCR त्रुटियों को ठीक** कर सकें बिना सिर दर्द के। + +इस ट्यूटोरियल में हम सब कुछ कवर करेंगे—NuGet इंस्टॉलेशन से लेकर एक पूर्ण, चलाने योग्य प्रोग्राम जो सुधरा हुआ टेक्स्ट प्रिंट करता है। अंत तक आपके पास एक ठोस **Aspose OCR example** होगा जिसे आप सीधे किसी भी .NET प्रोजेक्ट में डाल सकते हैं। + +## आवश्यकताएँ + +- .NET 6.0 SDK या बाद वाला (कोड .NET Core और .NET Framework के साथ भी काम करता है) +- Visual Studio 2022 या कोई भी C#‑compatible IDE +- `typed_text.png` नामक इमेज फ़ाइल जिसमें स्पष्ट, टाइप किया गया अंग्रेज़ी टेक्स्ट हो +- Aspose.OCR NuGet पैकेज को प्राप्त करने के लिए इंटरनेट एक्सेस + +कोई अन्य थर्ड‑पार्टी लाइब्रेरी आवश्यक नहीं है. + +--- + +## चरण 1 – Aspose.OCR NuGet पैकेज इंस्टॉल करें (Load Image OCR) + +कोड लिखने से पहले, हमें उस लाइब्रेरी की आवश्यकता है जो OCR इंजन को शक्ति देती है। + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** यदि आप Visual Studio का उपयोग कर रहे हैं, तो प्रोजेक्ट पर राइट‑क्लिक करें → *Manage NuGet Packages* → **Aspose.OCR** खोजें और *Install* पर क्लिक करें। + +पैकेज को इंस्टॉल करने से आपको `OcrEngine`, `ImageStream`, और बिल्ट‑इन spell‑checking यूटिलिटीज़ तक पहुंच मिलती है जिन्हें हम बाद में उपयोग करेंगे। पैकेज स्थापित होने के बाद, आप **load image OCR** करने के लिए तैयार हैं। + +## चरण 2 – OCR इंजन इंस्टेंस बनाएं + +इंजन बनाना किसी भी **Aspose OCR example** में पहला ठोस कदम है। `OcrEngine` को उस मस्तिष्क की तरह समझें जो बिटमैप का विश्लेषण करेगा और टेक्स्ट निकालेगा। + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +`OcrEngine` कन्स्ट्रक्टर को किसी भी पैरामीटर की आवश्यकता नहीं होती, जिससे यह त्वरित प्रोटोटाइप के लिए साफ़ और सरल बन जाता है। + +## चरण 3 – Spellcheck कैसे सक्षम करें (और यह क्यों महत्वपूर्ण है) + +कच्चा OCR आउटपुट अक्सर “teh” जैसी गलत पहचानी गई शब्दों को शामिल करता है, जहाँ सही शब्द “the” होना चाहिए। बिल्ट‑इन spell‑checker को सक्षम करने से Aspose स्वचालित रूप से उन त्रुटियों को सबसे संभावित सही वर्तनी से बदल देता है। + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Spellcheck क्यों सक्षम करें?** +> - **सटीकता:** पोस्ट‑प्रोसेसिंग spell check प्रिंटेड दस्तावेज़ों के लिए कुल टेक्स्ट सटीकता को 10‑15 % तक बढ़ा सकता है। +> - **उपयोगकर्ता अनुभव:** साफ़ टेक्स्ट का मतलब है कम डाउनस्ट्रीम सफ़ाई जब आप परिणाम को सर्च इंडेक्स या एनालिटिक्स पाइपलाइन में फीड करते हैं। + +## चरण 4 – शब्दकोश कैसे जोड़ें (कस्टम शब्द) + +कभी‑कभी डिफ़ॉल्ट शब्दकोश आपके ब्रांड नाम, प्रोडक्ट कोड, या डोमेन‑स्पेसिफिक जार्गन को नहीं जानता। यही वह जगह है जहाँ **how to add dictionary** काम आता है। + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +आप एक एरे, लिस्ट, या यहाँ तक कि फ़ाइल से भी पढ़ सकते हैं यदि आपके पास बड़ा कस्टम शब्दावली है। अब spell‑checker उन एंट्रीज़ को वैध मान लेगा, जिससे गलत सुधारों से बचा जा सकेगा। + +## चरण 5 – OCR के लिए इमेज लोड करें (Load Image OCR) + +अब जब इंजन कॉन्फ़िगर हो गया है, हमें उसे उस चित्र की ओर इंगित करना है जिसे हम पढ़ना चाहते हैं। `ImageStream.FromFile` हेल्पर फ़ाइल‑रीडिंग विवरणों को एब्स्ट्रैक्ट करता है। + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** यदि आपकी इमेज प्रोजेक्ट की सब‑फ़ोल्डर में स्थित है, तो उसकी *Copy to Output Directory* प्रॉपर्टी को *Copy always* पर सेट करें ताकि रनटाइम पर पाथ सही ढंग से रिजॉल्व हो। + +## चरण 6 – पहचान चलाएँ और OCR त्रुटियों को ठीक करें + +सब कुछ सेट होने पर, `Recognize()` को एक बार कॉल करने से OCR पाइपलाइन चलती है, spell‑checking लागू होती है, और साफ़ परिणाम `ocrEngine.Text` में संग्रहीत हो जाता है। + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### अपेक्षित आउटपुट + +मान लीजिए `typed_text.png` में वाक्य `The quick brown fox jumps over teh lazy dog` है, तो कंसोल में यह प्रदर्शित होगा: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +ध्यान दें कि “teh” को स्वचालित रूप से “the” में सुधारा गया। यदि आपने “OCRify” को कस्टम शब्दकोश में जोड़ा होता और इमेज में वह शब्द होता, तो इंजन उसे बिना बदले रखता। + +--- + +## पूर्ण कार्यशील उदाहरण (कॉपी‑पेस्ट तैयार) + +नीचे पूरा प्रोग्राम है जिसे आप नए कंसोल प्रोजेक्ट में डाल सकते हैं। इसमें ऊपर बताए सभी चरण शामिल हैं, साथ ही स्पष्टता के लिए कुछ टिप्पणियाँ भी हैं। + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +`Program.cs` के रूप में सहेजें, `dotnet run` चलाएँ, और आपको कंसोल में सुधरा हुआ वाक्य प्रिंट होता दिखेगा। + +--- + +## अक्सर पूछे जाने वाले प्रश्न एवं किनारे के मामलों + +| Question | Answer | +|----------|--------| +| **यदि इमेज एक मल्टी‑पेज PDF है तो क्या होगा?** | Aspose.OCR PDF पेजों को इमेज के रूप में संभाल सकता है। `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` का उपयोग करें और पेजों के माध्यम से लूप करें। | +| **क्या मैं भाषा को अंग्रेज़ी के अलावा किसी अन्य में बदल सकता हूँ?** | बिल्कुल। `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` सेट करें (या कोई भी समर्थित भाषा)। | +| **मेरा कस्टम शब्दकोश बहुत बड़ा है—क्या यह प्रदर्शन को प्रभावित करेगा?** | हजारों शब्द जोड़ने से प्रारंभिक थोड़ा खर्च होता है, लेकिन लुकअप O(1) है क्योंकि पीछे एक hash‑set उपयोग किया जाता है। बड़े शब्दावली के लिए, एप्लिकेशन स्टार्ट पर एक बार लोड करने पर विचार करें। | +| **यदि OCR इंजन भ्रष्ट इमेज पर अपवाद फेंके तो क्या करें?** | `Recognize()` को try‑catch ब्लॉक में रैप करें और `ocrEngine.LastError` की जाँच करें। आप `ocrEngine.Image.Width` और `Height` से इमेज के आयामों को पहले से वैलिडेट भी कर सकते हैं। | +| **क्या उत्पादन उपयोग के लिए लाइसेंस की आवश्यकता है?** | फ़्री इवैल्यूएशन परीक्षण के लिए काम करता है, लेकिन एक कमर्शियल लाइसेंस इवैल्यूएशन वॉटरमार्क को हटाता है और पूरी परफ़ॉर्मेंस अनलॉक करता है। | + +## निष्कर्ष + +अब आपके पास एक **complete Aspose OCR example** है जो **spellcheck कैसे सक्षम करें**, **शब्दकोश कैसे जोड़ें**, **image OCR कैसे लोड करें**, और **OCR त्रुटियों को कैसे ठीक करें** को साफ़, प्रोडक्शन‑रेडी तरीके से दर्शाता है। spell‑checker को कॉन्फ़िगर करके और कस्टम शब्द सूची प्रदान करके, आप निकाले गए टेक्स्ट की गुणवत्ता को बहुत बढ़ा सकते हैं बिना कोई पोस्ट‑प्रोसेसिंग लॉजिक लिखे। + +अगले कदम के लिए तैयार हैं? भाषा को स्पेनिश में बदलें, मल्टी‑पेज PDF फीड करें, या आउटपुट को सर्चेबल Azure Cognitive Search इंडेक्स में इंटीग्रेट करें। वही पैटर्न लागू होता है—सिर्फ भाषा फ़्लैग को समायोजित करें और शायद कस्टम शब्दकोश को विस्तारित करें। + +यदि आपको यह गाइड उपयोगी लगा, तो इसे GitHub पर स्टार दें, टीम के साथ साझा करें, या नीचे टिप्पणी छोड़ें। कोडिंग का आनंद लें, और आपके OCR परिणाम हमेशा त्रुटि‑रहित रहें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/hindi/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..71c5d4b16 --- /dev/null +++ b/ocr/hindi/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR का उपयोग करके छवि को डेस्क्यू करना, कंट्रास्ट बढ़ाना और स्कैन + से टेक्स्ट निकालना सीखें। पूर्ण C# उदाहरण के साथ छवि पर OCR करें और OCR के लिए छवि + को आसानी से लोड करें। +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: hi +og_description: Aspose OCR को C# में उपयोग करके छवि को डेस्क्यू करना, कंट्रास्ट बढ़ाना + और स्कैन से टेक्स्ट निकालना सीखें। चरण‑दर‑चरण कोड के साथ छवि पर OCR करें। +og_title: C# में छवि को सीधा करें और OCR चलाएँ – पूर्ण गाइड +tags: +- C# +- OCR +- Image Processing +title: C# में इमेज को डेस्क्यू कैसे करें और OCR चलाएँ – पूर्ण गाइड +url: /hi/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# How to Deskew Image and Run OCR in C# – Complete Guide + +यदि आप कभी यह सोचते रहे हैं **छवि को कैसे डेस्क्यू (deskew) करें** OCR चलाने से पहले, तो आप सही जगह पर हैं। इस ट्यूटोरियल में हम कंट्रास्ट बढ़ाने, OCR के लिए छवि लोड करने, और अंत में **स्कैन से टेक्स्ट निकालने** के लिए Aspose OCR का उपयोग करके चरण-दर-चरण दिखाएंगे। + +चाहे आप पुराने रसीदों को डिजिटल बना रहे हों, स्कैन किए गए कॉन्ट्रैक्ट्स को साफ़ कर रहे हों, या सिर्फ़ एक तिरछी फोटो से टेक्स्ट पढ़ने का भरोसेमंद तरीका चाहिए, नीचे दिए गए चरण सभी आवश्यक बातें कवर करते हैं। कोई फालतू बात नहीं—सिर्फ़ एक कार्यशील उदाहरण जो आप Visual Studio में कॉपी‑पेस्ट कर सकते हैं। + +## What You’ll Achieve + +इस गाइड के अंत तक आप सक्षम होंगे: + +* 30° तक के स्क्यू को सही करना (**छवि को कैसे डेस्क्यू करें** भाग)। +* तेज़ अक्षर किनारों के लिए छवि का कंट्रास्ट बढ़ाना (**कंट्रास्ट कैसे बढ़ाएँ**)। +* अपनी तस्वीर को OCR इंजन में लोड करना (**OCR के लिए छवि लोड करें**)। +* पहचान प्रक्रिया चलाना और **स्कैन से टेक्स्ट निकालना**। + +यह सब नवीनतम Aspose.OCR .NET NuGet पैकेज (लेखन समय पर v23.11) के साथ काम करता है। + +--- + +![छवि को डेस्क्यू करने का उदाहरण](/images/deskew-example.png "छवि को डेस्क्यू करने का तरीका") + +*ऊपर की छवि में स्कैन किए गए दस्तावेज़ को डेस्क्यू करने से पहले और बाद दिखाया गया है।* + +## Prerequisites + +* .NET 6.0 या बाद का संस्करण (कोड .NET Framework 4.7+ पर भी चलता है)। +* Visual Studio 2022 (या कोई भी C# IDE)। +* Aspose.OCR NuGet पैकेज – `dotnet add package Aspose.OCR` कमांड से इंस्टॉल करें। + +बस इतना ही। कोई बाहरी सेवा, कोई API कुंजी नहीं। + +--- + +## How to Deskew Image with Aspose OCR + +सबसे पहले हम एक **ImageProcessingPipeline** बनाते हैं और उसमें `DeskewFilter` जोड़ते हैं। यह फ़िल्टर स्वचालित रूप से प्रमुख टेक्स्ट लाइन का कोण पता करता है और छवि को क्षैतिज में वापस घुमा देता है। + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**यह क्यों महत्वपूर्ण है:** +एक तिरछी स्कैन OCR इंजन को भ्रमित कर देती है क्योंकि अक्षर बेसलाइन के साथ संरेखित नहीं होते। `DeskewFilter` इमेज हिस्टोग्राम का विश्लेषण करता है, कोण खोजता है, और उसे घुमा देता है, जिससे पहचान की सटीकता में नाटकीय सुधार होता है। + +> **प्रो टिप:** यदि आपके दस्तावेज़ कभी 15° से अधिक नहीं झुके होते, तो प्रोसेसिंग तेज़ करने के लिए `MaxAngle = 15` सेट करें। + +--- + +## How to Boost Contrast for Better Recognition + +डेस्क्यू करने के बाद अगला कदम टेक्स्ट को उभारा जाना है। `ContrastBoostFilter` पिक्सेल इंटेंसिटी रेंज को विस्तारित करता है, जो फीके प्रिंट के लिए विशेष रूप से उपयोगी है। + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**यह मदद क्यों करता है:** +कम कंट्रास्ट वाली स्कैन में ग्रे‑शेड वाले अक्षर होते हैं जिन्हें बाइनराइज़र बैकग्राउंड समझ सकता है। कंट्रास्ट बढ़ाने से डार्क पिक्सेल और डार्क हो जाते हैं, लाइट पिक्सेल और लाइट, जिससे अगले `BinarizationFilter` को साफ़ कैनवास मिलता है। + +--- + +## Perform OCR on Image – Loading the File + +अब जब छवि पूर्व‑प्रसंस्करण हो गई है, हमें **OCR के लिए छवि लोड करना** है। Aspose एक सुविधाजनक `ImageStream.FromFile` हेल्पर प्रदान करता है। + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +यदि आपकी छवि स्ट्रीम में है (जैसे वेब API के माध्यम से अपलोड की गई), तो आप `ImageStream.FromStream(yourStream)` का उपयोग कर सकते हैं। इंजन BMP, JPEG, PNG, TIFF, और कई अन्य फॉर्मैट को सपोर्ट करता है। + +--- + +## Run the Recognition Process and Extract Text from Scan + +सब कुछ सेट हो जाने पर, `Recognize()` को कॉल करने से भारी काम हो जाता है। कॉल के बाद, पहचाना गया टेक्स्ट `ocrEngine.Text` के माध्यम से उपलब्ध होता है। + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**अपेक्षित आउटपुट** (एक साधारण इनवॉइस का उदाहरण): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +यदि आउटपुट गड़बड़ दिखे, तो पाइपलाइन क्रम दोबारा जाँचें—पहले डेस्क्यू, फिर डीनॉइज़, कंट्रास्ट बूस्ट, और अंत में बाइनराइज़ेशन। क्रम बदलने से परिणाम घट सकते हैं। + +--- + +## Common Pitfalls and Edge Cases + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **Empty result** | इमेज बहुत डार्क या बहुत ब्राइट है डिफ़ॉल्ट बाइनराइज़ेशन मेथड के लिए। | `ContrastBoostFilter.Strength` बढ़ाएँ या `BinarizationMethod.Otsu` पर स्विच करें। | +| **Partial text missing** | डीनॉइज़िंग के बाद भी शोर बचा रहता है। | हल्की इमेज के लिए `DenoiseLevel.Medium` उपयोग करें, या दूसरा `DenoiseFilter` जोड़ें। | +| **Wrong rotation direction** | दस्तावेज़ में मिश्रित ओरिएंटेशन है (जैसे घुमा हुआ पेज की फोटो)। | `DeskewFilter.MaxAngle` को कम सेट करें और `ImageProcessor.Rotate` से पहले इमेज को मैन्युअली घुमाएँ। | +| **Performance slowdown** | बड़ी संख्या में हाई‑रेज़ोल्यूशन इमेज। | पाइपलाइन से पहले इमेज को डाउनस्केल करें (`ImageProcessor.Resize`), या पैरलल प्रोसेसिंग (`Parallel.ForEach`) का उपयोग करें। | + +--- + +## Full Working Example (Copy‑Paste Ready) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +इसे `Program.cs` के रूप में सेव करें, `dotnet run` चलाएँ, और कंसोल में **स्कैन से टेक्स्ट निकालने** का परिणाम देखें। + +--- + +## Next Steps & Related Topics + +* **बैच प्रोसेसिंग** – ऊपर की लॉजिक को लूप में रखें ताकि दर्जनों फ़ाइलों को संभाला जा सके। +* **कस्टम लैंग्वेज पैक्स** – यदि आपको गैर‑लैटिन स्क्रिप्ट पढ़नी है, तो `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;` के माध्यम से भाषा मॉडल लोड करें। +* **PDF आउटपुट** – Aspose.PDF को OCR के साथ मिलाकर सीधे PDF फ़ाइल में सर्चेबल टेक्स्ट एम्बेड करें। +* **परफ़ॉर्मेंस ट्यूनिंग** – `ImageProcessingPipeline` के क्रम के साथ प्रयोग करें; कभी‑कभी डीनॉइज़िंग को डेस्क्यू से पहले करने से शोर वाले फ़ोटो पर तेज़ परिणाम मिलते हैं। + +इन सभी का आधार वही मूल अवधारणाएँ हैं जो हमने कवर कीं: **छवि को कैसे डेस्क्यू करें**, **कंट्रास्ट कैसे बढ़ाएँ**, **OCR के लिए छवि लोड करें**, **छवि पर OCR चलाएँ**, और अंत में **स्कैन से टेक्स्ट निकालें**। + +--- + +## Wrap‑Up + +हमने अभी-अभी C# में **छवि को कैसे डेस्क्यू करें** और OCR चलाने का एक पूर्ण, प्रोडक्शन‑रेडी तरीका दिखाया। एक डेस्क्यू फ़िल्टर, डीनॉइज़ स्टेप, कंट्रास्ट बूस्ट, और बाइनराइज़र को चेन करके, आप एक साफ़ इनपुट प्राप्त करते हैं जो Aspose OCR को भरोसेमंद रूप से **स्कैन से टेक्स्ट निकालने** में सक्षम बनाता है। + +कोड को चलाएँ, अपने दस्तावेज़ों के लिए फ़िल्टर पैरामीटर समायोजित करें, और आप देखेंगे कि पहचान की सटीकता कितनी जल्दी सुधरती है। कोई प्रश्न? टिप्पणी छोड़ें, और कोडिंग का आनंद लें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/hindi/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..e37c7a8ae --- /dev/null +++ b/ocr/hindi/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR का उपयोग करके चीनी छवियों पर OCR कैसे करें। एक ट्यूटोरियल + में चीनी टेक्स्ट निकालना, छवि को ePub में बदलना और OCR की सटीकता सुधारना सीखें। +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: hi +og_description: Aspose OCR के साथ चीनी छवियों पर OCR कैसे करें। चीनी टेक्स्ट निकालने, + OCR को सुधारने और ePub में निर्यात करने के लिए चरण‑दर‑चरण कोड प्राप्त करें। +og_title: चीनी छवियों पर OCR कैसे करें – पूर्ण C# गाइड +tags: +- OCR +- C# +- Aspose +title: चीनी छवियों पर OCR कैसे करें – पूर्ण C# गाइड +url: /hi/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# चीनी छवियों पर OCR कैसे करें – पूर्ण C# गाइड + +क्या आपने कभी सोचा है **how to perform OCR** ऐसी तस्वीर पर जिसमें चीनी अक्षर हों? आप अकेले नहीं हैं। कई ऐप्स—रसीदें स्कैन करना, पाठ्यपुस्तकों को डिजिटल बनाना, या बहुभाषी सर्च इंजन बनाना—में छवि से साफ़ टेक्स्ट निकालना एक महत्वपूर्ण फीचर होता है। + +इस ट्यूटोरियल में हम एक वास्तविक समाधान से गुजरेंगे जो **extracts Chinese text** करता है, परिणाम को एक प्लेन‑टेक्स्ट फ़ाइल में डालता है, और यहाँ तक कि **converts the image to an ePub** ई‑रीडर्स के लिए करता है। इस दौरान हम **how to improve OCR** की सटीकता पर चर्चा करेंगे, GPU मोड को क्यों सक्षम करना चाहिए, और **recognize simplified Chinese** को सही ढंग से करने के लिए क्या करना आवश्यक है, यह बताएँगे। + +गाइड के अंत तक आपके पास एक पूरी तरह से चलने वाला C# प्रोग्राम, कुछ व्यावहारिक टिप्स, और अगले कदमों की स्पष्ट समझ होगी (जैसे भाषा पहचान जोड़ना या बैच प्रोसेसिंग)। कोई बाहरी दस्तावेज़ आवश्यक नहीं—सब कुछ यहाँ उपलब्ध है। + +## आपको क्या चाहिए + +- .NET 6+ (या .NET Core 3.1 के साथ Aspose OCR for .NET) +- एक वैध Aspose OCR for .NET लाइसेंस (नि:शुल्क ट्रायल प्रयोग के लिए काम करता है) +- एक इमेज फ़ाइल जिसमें सरलित चीनी अक्षर हों (उदाहरण के लिए `chinese_sample.jpg`) +- Visual Studio 2022 या कोई भी C# एडिटर जो आप पसंद करते हैं + +यदि इनमें से कोई भी चीज़ आपके पास नहीं है, तो अभी NuGet पैकेज प्राप्त करें: + +```bash +dotnet add package Aspose.OCR +``` + +बस इतना ही—कोई अतिरिक्त नेटिव लाइब्रेरी नहीं, कोई COM इंटरऑप नहीं, सिर्फ एक ही .NET पैकेज। + +## How to Perform OCR – Setting Up the Aspose OCR Engine + +पहला कदम OCR इंजन बनाना और उसे कॉन्फ़िगर करना है। यह चरण बहुत महत्वपूर्ण है क्योंकि इंजन की सेटिंग्स तय करती हैं कि **how well the OCR works** चीनी अक्षरों पर और यह कितनी तेज़ चलती है। + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Why this matters:** +- **Language = ChineseSimplified** Aspose को सरलित चीनी के कैरेक्टर सेट को लोड करने के लिए बताता है, जिससे गलत पहचान काफी घटती है। +- **EngineMode.Gpu** आधुनिक GPU पर प्रोसेसिंग समय को आधा कर सकता है, लेकिन यदि GPU उपलब्ध नहीं है तो स्वचालित रूप से CPU पर वापस आ जाता है। +- **DeskewFilter** फोटो में अक्सर मिलने वाले झुकाव को हटाता है जब उपयोगकर्ता फोन से तस्वीर लेते हैं। +- **Sauvola binarization** एक उच्च‑कॉन्ट्रास्ट ब्लैक‑एंड‑व्हाइट इमेज बनाता है, जो घनी स्क्रिप्ट जैसे चीनी पर OCR की सटीकता बढ़ाने का क्लासिक ट्रिक है। + +> **Pro tip:** यदि आप कम‑रोशनी वाली तस्वीरों से निपट रहे हैं, तो बाइनराइज़ेशन से पहले `ContrastFilter` जोड़ें। यह हमारे नमूने के लिए आवश्यक नहीं है, लेकिन अक्सर कई समस्याओं से बचाता है। + +![OCR पाइपलाइन आरेख कैसे करें](ocr-pipeline.png "How to perform OCR pipeline diagram") + +> *Alt text:* OCR पाइपलाइन आरेख कैसे करें + +## Extract Chinese Text from an Image + +अब जब इंजन तैयार है, हम इमेज लोड करते हैं और इंजन को अपना जादू करने देते हैं। यह **extract chinese text** का मुख्य भाग है। + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**What you should see:** +यदि `chinese_sample.jpg` में वाक्य “中华人民共和国” है, तो `out.txt` फ़ाइल में बिल्कुल वही अक्षर होंगे—कोई अतिरिक्त स्पेस नहीं, कोई गड़बड़ लैटिन अक्षर नहीं। + +### Common Pitfalls + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| Missing characters | The image is too noisy | Add a `MedianFilter` before binarization | +| Wrong language detected | `Language` set to `English` | Ensure `Language = Language.ChineseSimplified` | +| Slow processing | GPU not enabled | Verify your machine has a compatible CUDA driver | + +## Convert Image to ePub + +बहुत से डेवलपर्स पूछते हैं, *“क्या मैं स्कैन किया हुआ पेज एक पढ़ने योग्य ई‑बुक में बदल सकता हूँ?”* बिल्कुल—Aspose OCR में एक ePub एक्सपोर्टर शामिल है। यह **convert image to epub** की आवश्यकता को पूरा करता है। + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +जनरेट किया गया `out.epub` निकाले गए चीनी टेक्स्ट को UTF‑8 में सही ढंग से एन्कोड करेगा, और इसे Kindle, Apple Books, या किसी भी ePub रीडर में खोला जा सकता है। + +**Why use ePub?** +- यह रीफ़्लोएबल है, इसलिए रीडर फ़ॉन्ट साइज को लेआउट बिगड़े बिना बदल सकते हैं। +- फॉर्मेट टेक्स्ट को सर्चेबल रखता है, जो बाद में इंडेक्सिंग के लिए उपयोगी है। + +## How to Improve OCR – Practical Tweaks + +भले ही पाइपलाइन ठोस हो, कभी‑कभी आप कुछ गलत पहचान देख सकते हैं। यहाँ एक त्वरित चेकलिस्ट है **how to improve OCR** पर चीनी दस्तावेज़ों के लिए: + +1. **Pre‑process the image** – स्पीकल्स को स्मूद करने के लिए `GaussianBlurFilter` उपयोग करें, फिर किनारों को तेज़ करने के लिए `ContrastFilter`। +2. **Set a higher DPI** – यदि आप स्कैनिंग प्रक्रिया को नियंत्रित करते हैं, तो 300 dpi या उससे अधिक लक्ष्य रखें; कम रेज़ोल्यूशन वाली इमेज में स्ट्रोक विवरण खो जाता है। +3. **Enable language detection** – Aspose भाषा को ऑटो‑डिटेक्ट कर सकता है; यदि डिटेक्शन फेल हो जाए तो फॉलबैक के रूप में Simplified Chinese सेट करें। +4. **Fine‑tune binarization** – यदि बैकग्राउंड समान रूप से हल्का है तो `Sauvola` को `Otsu` से बदलें। +5. **Batch processing** – कई पेज़ को समानांतर में प्रोसेस करने के लिए `Parallel.ForEach` उपयोग करें और मल्टी‑कोर CPU का लाभ उठाएँ। + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Recognize Simplified Chinese – Edge Cases + +वाक्यांश **recognize simplified Chinese** अक्सर नए उपयोगकर्ताओं को उलझन में डालता है क्योंकि वही OCR इंजन Traditional Chinese, Japanese, या Korean को भी संभाल सकता है। इसे निर्धारित रखने के लिए: + +- **Explicitly set the language** (जैसा कि हमने Step 1 में किया)। +- **Avoid mixed‑language pages**; यदि कोई पेज Simplified Chinese को English के साथ मिलाता है, तो दो पास चलाने पर विचार करें: एक `Language.ChineseSimplified` के साथ, दूसरा `Language.English` के साथ। +- **Validate the output** – पहचान के बाद, एक सरल regex चलाएँ ताकि सभी अक्षर Unicode रेंज `\u4E00‑\u9FFF` के भीतर हों। + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +यदि जांच विफल हो जाती है, तो आप पेज को मैन्युअल रिव्यू के लिए लॉग कर सकते हैं। + +## Full Working Example + +सब कुछ एक साथ मिलाकर, यहाँ एक सिंगल फ़ाइल है जिसे आप नए कंसोल प्रोजेक्ट (`Program.cs`) में कॉपी‑पेस्ट कर सकते हैं। इसमें सभी चरण, वैकल्पिक ट्यूनिंग, और अंतिम स्टेटस लाइन शामिल है। + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Expected console output (example):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +प्रोग्राम चलाएँ, `out.txt` या `out.epub` खोलें, और आपको साफ़, सर्चेबल चीनी अक्षर दिखेंगे जो आगे की प्रोसेसिंग के लिए तैयार हैं। + +## Conclusion + +हमने अभी-अभी **how to perform OCR** को चीनी छवियों पर शुरू से अंत तक कवर किया, आपको दिखाया कि कैसे **extract Chinese text**, **convert the result to an ePub**, और कई व्यावहारिक टिप्स लागू करें। + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/text-recognition/_index.md b/ocr/hindi/net/text-recognition/_index.md index 0512ee10e..0c38873fd 100644 --- a/ocr/hindi/net/text-recognition/_index.md +++ b/ocr/hindi/net/text-recognition/_index.md @@ -27,7 +27,7 @@ url: /hi/net/text-recognition/ ## OCR छवि पहचान में JSON के रूप में परिणाम प्राप्त करें -आसानी से JSON प्रारूप में OCR परिणाम प्राप्त करने का तरीका सीखकर .NET के लिए Aspose.OCR की पूरी क्षमता का उपयोग करें। यह चरण-दर-चरण मार्गदर्शिका आपकी छवि पहचान क्षमताओं को बढ़ाने की दिशा में एक सहज यात्रा सुनिश्चित करती है। Aspose.OCR की मजबूत विशेषताओं और उद्योग-अग्रणी तकनीक के साथ अपने एप्लिकेशन की दक्षता बढ़ाएँ। +आसानी से JSON प्रारूप में OCR परिणाम प्राप्त करने का तरीका सीखकर .NET के लिए Aspose.OCR की पूरी क्षमता का उपयोग करें। यह चरण-दर-स्टेप मार्गदर्शिका आपकी छवि पहचान क्षमताओं को बढ़ाने की दिशा में एक सहज यात्रा सुनिश्चित करती है। Aspose.OCR की मजबूत विशेषताओं और उद्योग-अग्रणी तकनीक के साथ अपने एप्लिकेशन की दक्षता बढ़ाएँ। ## ओसीआर छवि पहचान में ओसीआर डिटेक्ट एरिया मोड @@ -44,20 +44,41 @@ Aspose.OCR के साथ .NET में OCR की क्षमता को क्या आप अपने .NET अनुप्रयोगों में क्रांति लाने के लिए तैयार हैं? हमारे टेक्स्ट रिकग्निशन ट्यूटोरियल्स में गोता लगाएँ और छवियों में सटीक और कुशल टेक्स्ट पहचान के लिए Aspose.OCR की शक्ति का उपयोग करें। अभी डाउनलोड करें और उन्नत ओसीआर क्षमताओं की यात्रा पर निकलें। ## पाठ पहचान ट्यूटोरियल ### [ओसीआर छवि पहचान में मान्यता प्राप्त पात्रों के लिए विकल्प प्राप्त करें](./get-choices-for-recognized-characters/) -सटीक चरित्र पहचान के लिए Aspose.OCR के साथ अपने .NET अनुप्रयोगों को बेहतर बनाएं। छवि पहचान में मान्यता प्राप्त पात्रों के विकल्प पुनः प्राप्त करने के लिए हमारी चरण-दर-चरण मार्गदर्शिका का पालन करें। +सटीक चरित्र पहचान के लिए Aspose.OCR के साथ अपने .NET अनुप्रयोगों को बेहतर बनाएं। छवि पहचान में मान्यता प्राप्त पात्रों के विकल्प पुनः प्राप्त करने के लिए हमारी चरण-दर-स्टेप मार्गदर्शिका का पालन करें। + ### [ओसीआर छवि पहचान में मान्यता परिणाम प्राप्त करें](./get-recognition-result/) .NET के लिए Aspose.OCR का अन्वेषण करें, जो छवियों में निर्बाध पाठ पहचान के लिए एक शक्तिशाली OCR समाधान है। + ### [OCR छवि पहचान में JSON के रूप में परिणाम प्राप्त करें](./get-result-as-json/) -.NET के लिए Aspose.OCR की शक्ति को उजागर करें। JSON प्रारूप में OCR परिणाम सहजता से प्राप्त करना सीखें। इस चरण-दर-चरण मार्गदर्शिका के साथ अपनी छवि पहचान बढ़ाएँ। +.NET के लिए Aspose.OCR की शक्ति को उजागर करें। JSON प्रारूप में OCR परिणाम सहजता से प्राप्त करना सीखें। इस चरण-दर-स्टेप मार्गदर्शिका के साथ अपनी छवि पहचान बढ़ाएँ। + ### [ओसीआर छवि पहचान में ओसीआर डिटेक्ट एरिया मोड](./ocr-detect-areas-mode/) -कुशल छवि पाठ पहचान के लिए Aspose.OCR के साथ अपने .NET अनुप्रयोगों को बेहतर बनाएं। सटीक परिणामों के लिए ओसीआर डिटेक्ट एरिया मोड का अन्वेषण करें। +कुशल छवि पाठ पहचान के लिए Aspose.OCR के साथ अपने .NET अनुप्रयोग को बेहतर बनाएं। सटीक परिणामों के लिए ओसीआर डिटेक्ट एरिया मोड का अन्वेषण करें। + ### [ओसीआर छवि पहचान में पीडीएफ को पहचानें](./recognize-pdf/) Aspose.OCR के साथ .NET में OCR की क्षमता को अनलॉक करें। पीडीएफ़ से आसानी से टेक्स्ट निकालें। सहज एकीकरण अनुभव के लिए अभी डाउनलोड करें। + ### [ओसीआर छवि पहचान में तालिका को पहचानें](./recognize-table/) OCR छवि पहचान में तालिकाओं को पहचानने पर हमारे व्यापक गाइड के साथ .NET के लिए Aspose.OCR की क्षमता को अनलॉक करें। + +### [C# में हिंदी टेक्स्ट पहचान – पूर्ण Aspose OCR गाइड](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +C# में Aspose OCR का उपयोग करके हिंदी टेक्स्ट को पहचानने की पूरी मार्गदर्शिका। चरण-दर-स्टेप निर्देश और कोड उदाहरण। + +### [C# में इमेज से ePub बनाना – चरण-दर-स्टेप गाइड](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +C# में इमेज से ePub फ़ाइल बनाने की पूरी प्रक्रिया सीखें। चरण-दर-स्टेप निर्देश और कोड उदाहरण। + +### [C# में इमेज से टेक्स्ट पहचान – पूर्ण Aspose OCR गाइड](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +C# में Aspose OCR का उपयोग करके इमेज से टेक्स्ट पहचानने की पूरी मार्गदर्शिका। चरण-दर-स्टेप निर्देश और कोड उदाहरण। + +### [C# में PNG से टेक्स्ट निकालें – पूर्ण OCR गाइड](./extract-text-from-png-in-c-full-ocr-guide/) +C# में Aspose OCR का उपयोग करके PNG छवियों से टेक्स्ट निकालने की पूरी मार्गदर्शिका। चरण-दर-स्टेप निर्देश और कोड उदाहरण। + +### [C# में OCR का उपयोग – ऑफ़लाइन इमेज से टेक्स्ट निकालें](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +ऑफ़लाइन इमेज से टेक्स्ट निकालने के लिए C# में Aspose OCR का उपयोग करने की चरण-दर-स्टेप गाइड। + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/hindi/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..35cd27780 --- /dev/null +++ b/ocr/hindi/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: C# का उपयोग करके PNG फ़ाइलों से टेक्स्ट निकालें। सीखें कि कैसे इमेज को + टेक्स्ट में बदलें C# और स्कैन की गई छवियों से जल्दी टेक्स्ट पढ़ें। +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: hi +og_description: C# का उपयोग करके PNG फ़ाइलों से टेक्स्ट निकालें। यह गाइड दिखाता है + कि कैसे इमेज को टेक्स्ट में बदलें C# और Aspose OCR के साथ स्कैन की गई छवियों से + टेक्स्ट पढ़ें। +og_title: C# में PNG से टेक्स्ट निकालें – पूर्ण OCR गाइड +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C# में PNG से टेक्स्ट निकालें – पूर्ण OCR गाइड +url: /hi/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# में PNG से टेक्स्ट निकालें – पूर्ण OCR गाइड + +क्या आपको कभी **PNG से टेक्स्ट निकालना** की ज़रूरत पड़ी है लेकिन आप नहीं जानते थे कि कहाँ से शुरू करें? आप अकेले नहीं हैं—अधिकांश डेवलपर्स को यह समस्या तब मिलती है जब वे पहली बार स्कैन किए गए ग्राफ़िक्स या स्क्रीनशॉट्स का सामना करते हैं जिन्हें खोज योग्य टेक्स्ट में बदलना होता है। अच्छी खबर? कुछ ही पंक्तियों के C# और Aspose OCR के साथ आप किसी भी PNG को तुरंत संपादन योग्य स्ट्रिंग्स में बदल सकते हैं। + +इस ट्यूटोरियल में हम पूरी प्रक्रिया को समझेंगे: डिस्क पर PNG फाइलों को ढूँढने से लेकर, समानांतर में OCR टास्क चलाने, और प्रत्येक परिणाम का साफ़ प्रीव्यू दिखाने तक। अंत तक आप जान जाएंगे कि **convert image to text C#** शैली में कैसे काम करता है, आप प्रभावी ढंग से **read text from scanned images** कर पाएंगे, और आप यह भी देखेंगे कि **run OCR on images** को अपने UI थ्रेड को ब्लॉक किए बिना कैसे किया जाए। + +## आपको क्या चाहिए + +- .NET 6.0 या बाद का संस्करण (कोड .NET Core और .NET Framework पर भी काम करता है) +- Aspose.OCR NuGet पैकेज (`Install-Package Aspose.OCR`) +- एक फ़ोल्डर जिसमें आप प्रोसेस करना चाहते हैं *.png* फाइलें हों +- कोई भी IDE जो आप पसंद करें (Visual Studio, VS Code, Rider…) + +कोई अतिरिक्त कॉन्फ़िगरेशन आवश्यक नहीं है; लाइब्रेरी में PNGs, JPEGs, TIFFs आदि को डिकोड करने के लिए सभी आवश्यक चीज़ें शामिल हैं। + +## चरण 1: सभी PNG फाइलें ढूँढें – “Extract Text from PNG” शुरू होता है + +सबसे पहले हमें प्रत्येक PNG को ढूँढना होगा जिस पर हम OCR चलाना चाहते हैं। `Directory.GetFiles` का उपयोग तेज़ और भरोसेमंद है। + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*क्यों यह महत्वपूर्ण है:* डायरेक्टरी को एक बार स्कैन करने से बाकी पाइपलाइन सरल रहती है, और शुरुआती जांच एक चुपचाप “कोई‑आउटपुट” स्थिति को रोकती है जिसे बाद में डिबग करना कठिन हो सकता है। + +## चरण 2: समानांतर OCR टास्क शुरू करें – प्रभावी रूप से **run OCR on images** + +OCR को क्रमिक रूप से चलाना कुछ फाइलों के लिए ठीक है, लेकिन वास्तविक प्रोजेक्ट्स अक्सर दर्जनों या सैकड़ों फाइलों से निपटते हैं। प्रत्येक इमेज के लिए एक `Task` लॉन्च करके हम CPU को व्यस्त रखते हैं जबकि लाइब्रेरी अपना भारी काम करती है। + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*प्रो टिप:* `Task.Run` काम को थ्रेड पूल पर भेज देता है, जिसका मतलब है कि आपका UI (अगर है) उत्तरदायी रहता है। यदि आप सर्वर पर हैं, तो यही पैटर्न कोर के बीच अच्छी तरह स्केल करता है। + +## चरण 3: सभी टास्क का इंतजार करें – परिणाम इकट्ठा करें + +अब हम प्रत्येक OCR ऑपरेशन के समाप्त होने का इंतजार करते हैं। `Task.WhenAll` एक एरे लौटाता है जो मूल फ़ाइल क्रम के साथ मेल खाता है, जिससे परिणामों को फ़ाइलनामों के साथ जोड़ना आसान हो जाता है। + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*एज केस नोट:* यदि कोई एक इमेज त्रुटि देता है (खराब फ़ाइल, असमर्थित फ़ॉर्मेट) तो पूरा `WhenAll` अपवाद को ऊपर उठाएगा। आप अंदर के `Task.Run` को try/catch में लपेट सकते हैं और यदि फ़ॉल्ट टॉलरेंस चाहिए तो खाली स्ट्रिंग या डायग्नोस्टिक संदेश वापस कर सकते हैं। + +## चरण 4: प्रीव्यू दिखाएँ – **convert image to text C#** आउटपुट की पुष्टि करें + +एक त्वरित प्रीव्यू आपको OCR के काम करने की पुष्टि करने में मदद करता है इससे पहले कि आप डेटा को कहीं और सहेजना शुरू करें। + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +आम तौर पर कंसोल आउटपुट इस प्रकार दिखता है: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +यदि प्रीव्यू में बकवास दिखे, तो इमेज की क्वालिटी दोबारा जाँचें या प्री‑प्रोसेसिंग (जैसे बाइनराइज़ेशन) पर विचार करें – लेकिन अधिकांश साफ़ PNGs के लिए Aspose OCR पहली कोशिश में सही परिणाम देता है। + +## वैकल्पिक: परिणामों को CSV में सहेजें – एक वास्तविक‑दुनिया उपयोग केस + +अधिकांश प्रोजेक्ट्स को निकाले गए टेक्स्ट को संरचित फ़ॉर्मेट में चाहिए। नीचे एक छोटा हेल्पर दिया गया है जो फ़ाइलनाम और पूर्ण OCR टेक्स्ट को CSV फ़ाइल में लिखता है। + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +अब आप CSV को Excel, Power BI, या किसी भी डाउनस्ट्रीम सिस्टम में इम्पोर्ट कर सकते हैं जो **read text from scanned images** की अपेक्षा करता है। + +## अक्सर पूछे जाने वाले प्रश्न + +**यदि मेरे PNG बड़े हैं (5 MB से अधिक)?** +Aspose OCR स्वचालित रूप से बड़े इमेज को डाउन‑सैंपल करता है ताकि मेमोरी उपयोग उचित रहे, लेकिन आप `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` का उपयोग करके मैन्युअली आकार बदल सकते हैं, जिससे चौड़ाई 2000 px पर सीमित हो जाएगी जबकि अनुपात बना रहेगा। + +**क्या मैं इसे Linux पर चला सकता हूँ?** +हाँ। Aspose OCR क्रॉस‑प्लेटफ़ॉर्म है; बस यह सुनिश्चित करें कि नेटिव डिपेंडेंसीज़ (`libgdiplus` कुछ डिस्ट्रीब्यूशन्स में) स्थापित हों। + +**क्या OCR भाषा डिफ़ॉल्ट रूप से अंग्रेज़ी पर सेट है?** +सही है। यदि आपको कोई अन्य भाषा चाहिए, तो `Recognize()` कॉल करने से पहले `engine.Language = OcrLanguage.French;` (या कोई भी समर्थित enum) सेट करें। + +**मैं पासवर्ड‑सुरक्षित PDFs जो PNGs रखते हैं, उन्हें कैसे संभालूँ?** +पहले PDF पेजों को इमेज में बदलें (Aspose PDF या किसी अन्य लाइब्रेरी का उपयोग करके), फिर उन PNGs को उसी पाइपलाइन में फीड करें। **how to run OCR on images** का सिद्धांत अपरिवर्तित रहता है। + +## पूर्ण कार्यशील उदाहरण (Async Main) + +नीचे एक स्व-निहित प्रोग्राम है जिसे आप कॉपी‑पेस्ट करके एक कंसोल प्रोजेक्ट में उपयोग कर सकते हैं। इसमें ऊपर के सभी हिस्से शामिल हैं, साथ ही इनपुट फ़ोल्डर को वैलिडेट करने के लिए एक छोटा हेल्पर भी है। + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**अपेक्षित आउटपुट** (दो PNGs के लिए नमूना): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## समापन + +हमने अभी वह सब कवर किया है जो आपको C# का उपयोग करके **extract text from PNG** फ़ाइलों के लिए चाहिए। फ़ाइलों को ढूँढने से लेकर, समानांतर OCR जॉब्स लॉन्च करने, स्ट्रिंग्स का प्रीव्यू दिखाने, और उन्हें CSV में सहेजने तक—यह गाइड आपको **convert image to text C#** परिदृश्यों के लिए प्रोडक्शन‑रेडी पैटर्न देता है। + +यदि आप अगले कदम के लिए तैयार हैं, तो वही पाइपलाइन JPEG या TIFF फ़ाइलों के साथ आज़माएँ, विभिन्न OCR भाषाओं के साथ प्रयोग करें, या परिणामों को सर्च इंडेक्स में जोड़ें ताकि आप तुरंत **read text from scanned images** कर सकें। + +एज केस, परफ़ॉर्मेंस ट्यूनिंग, या लाइसेंसिंग के बारे में प्रश्न हैं? एक टिप्पणी छोड़ें या Aspose समुदाय को पिंग करें—हैप्पी कोडिंग! + +![PNG से टेक्स्ट निकालने का उदाहरण](extract-text-png.png "Aspose OCR का उपयोग करके PNG से टेक्स्ट निकालना") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/hindi/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..f8445de62 --- /dev/null +++ b/ocr/hindi/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR का उपयोग करके स्कैन की गई छवियों से ePub कैसे बनाएं – छवि + को ePub में बदलना, छवि से टेक्स्ट निकालना, ePub में लेखक जोड़ना, और OCR के लिए छवि + लोड करना सीखें। +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: hi +og_description: C# में स्कैन किए गए चित्रों से ePub कैसे बनाएं। यह ट्यूटोरियल आपको + दिखाता है कि चित्र को ePub में कैसे बदलें, चित्र से टेक्स्ट कैसे निकालें, ePub में + लेखक कैसे जोड़ें, और OCR के लिए चित्र कैसे लोड करें। +og_title: C# में इमेज से ePub कैसे बनाएं – पूर्ण गाइड +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: C# में छवियों से ePub कैसे बनाएं – चरण-दर-चरण गाइड +url: /hi/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# में इमेज से ePub कैसे बनाएं – पूर्ण गाइड + +क्या आपने कभी सोचा है **how to create ePub** को स्कैन की गई पेजों के संग्रह से बनाना? शायद आपके पास एक क्लासिक उपन्यास की कुछ PNG फाइलें हैं और आप उन्हें एक साफ‑सुथरे ePub में बदलना चाहते हैं जिसे आप किसी भी डिवाइस पर पढ़ सकें। अच्छी खबर यह है कि Aspose OCR के साथ आप **load image for OCR** कर सकते हैं, टेक्स्ट निकाल सकते हैं, और फिर **convert image to ePub** केवल कुछ ही C# लाइनों में कर सकते हैं। + +इस ट्यूटोरियल में हम पूरी पाइपलाइन को देखेंगे: तस्वीर लोड करना, टेक्स्ट निकालना, कुछ मेटाडेटा जोड़ना (हाँ, हम **add author to epub** करेंगे), और अंत में एक मानक‑अनुरूप ePub फ़ाइल लिखना। अंत तक आपके पास प्रकाशित करने योग्य ePub होगा और प्रत्येक चरण की ठोस समझ होगी, जिससे आप कोड को मल्टी‑पेज बुक, कस्टम फ़ॉन्ट या यहाँ तक कि DRM‑फ्री वितरण के लिए भी अनुकूलित कर सकेंगे। + +## What You’ll Need + +- **.NET 6** या बाद का संस्करण (API .NET Standard 2.0+ के साथ भी काम करता है) +- **Aspose.OCR for .NET** – आप Aspose वेबसाइट से एक फ्री ट्रायल प्राप्त कर सकते हैं। +- एक स्कैन की गई इमेज जैसे `book_page.png` को डिस्क पर कहीं रखें। +- आपका पसंदीदा IDE (Visual Studio, Rider, या VS Code – मैं स्क्रीनशॉट में Visual Studio का उपयोग करूँगा)। + +कोई अतिरिक्त NuGet पैकेज आवश्यक नहीं है; Aspose.OCR में ePub एक्सपोर्ट के लिए सभी आवश्यक चीज़ें शामिल हैं। + +--- + +![स्कैन की गई इमेज से ePub कैसे बनाएं](/images/how-to-create-epub.png "Aspose OCR का उपयोग करके स्कैन की गई इमेज से ePub कैसे बनाएं") + +## Step 1 – Set Up the Project and Install Aspose.OCR + +First things first. Create a new console app: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Add the Aspose.OCR package: + +```bash +dotnet add package Aspose.OCR +``` + +That’s it – the library ships with both OCR and ePub export capabilities, so you won’t need any extra dependencies. + +## Step 2 – Load Image for OCR + +Before we can **extract text from image**, we have to give the OCR engine something to read. The `ImageStream.FromFile` helper makes this trivial: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro tip:** If your image lives in an embedded resource, use `ImageStream.FromResource` instead of `FromFile`. + +## Step 3 – Extract Text from Image + +Now the engine actually reads the pixels and turns them into Unicode strings. The `Recognize` method does the heavy lifting. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Why call `Recognize` separately? It lets you inspect the raw OCR output, tweak language settings, or even run a spell‑check before you move on to ePub creation. + +## Step 4 – Prepare ePub Export Options (Add Author to ePub) + +Creating a polished ePub isn’t just about dumping text; you also want proper metadata. The `EpubExportOptions` class gives you a clean way to **add author to ePub**, set a title, and decide whether to embed the original images. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +If you have multiple pages, you can keep calling `ocrEngine.Image = …` and `ocrEngine.Recognize()` inside a loop; each call appends the new page’s content to the same ePub document. + +## Step 5 – Convert Image to ePub and Export + +With text extracted and metadata set, the final step is a one‑liner that writes the ePub file to disk: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +The resulting `book.epub` can be opened in Calibre, Apple Books, or any EPUB‑compatible reader. Because we set `IncludeImages = true`, the original PNG will appear as a picture‑page, preserving the look of the scanned source. + +## Full Working Example + +Putting it all together, here’s the complete, ready‑to‑run program: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Expected Output + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Open `book.epub` in your favorite reader and you’ll see a title page, the author line (even if it says “Unknown”), and the scanned image displayed alongside selectable text. + +## Common Questions & Edge Cases + +### What if the OCR language isn’t English? + +Aspose.OCR supports over 70 languages. Just set the `Language` property before calling `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### How do I handle multi‑page books? + +Wrap the loading/recognition logic in a `foreach` loop: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Each iteration appends the newly recognized text to the same ePub, preserving page order. + +### Can I exclude the original images? + +Sure – set `IncludeImages = false` in `EpubExportOptions`. The resulting ePub will be pure reflowable text, which reduces file size dramatically. + +### What about custom fonts or styling? + +Aspose.OCR’s ePub exporter lets you supply a CSS stylesheet via the `Css` property on `EpubExportOptions`. That way you can enforce a specific font family, line height, or margin. + +## Conclusion + +You now know **how to create ePub** from a scanned image using Aspose OCR in C#. The tutorial covered everything from **load image for OCR**, through **extract text from image**, to **add author to epub**, and finally **convert image to epub** with a single export call. With the full code sample in hand, you can extend the solution to batch‑process whole libraries, inject custom cover art, or even integrate the workflow into a web API. + +Ready for the next challenge? Try converting a PDF to ePub, or experiment with OCR confidence thresholds to improve accuracy on noisy scans. The sky’s the limit when you combine powerful OCR with flexible ePub generation. + +Happy coding, and enjoy reading your newly minted ePub! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/hindi/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..737ff0789 --- /dev/null +++ b/ocr/hindi/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,243 @@ +--- +category: general +date: 2026-03-07 +description: सी# में OCR का उपयोग करके इमेज फ़ाइलों से टेक्स्ट निकालना सीखें। यह गाइड + ऑफ़लाइन OCR, इमेज को टेक्स्ट में बदलना, और OCR के लिए इमेज लोड करना दिखाता है। +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: hi +og_description: ऑफ़लाइन छवियों से टेक्स्ट निकालने के लिए C# में OCR का उपयोग कैसे + करें। चरण‑दर‑चरण कोड, टिप्स, और छवि को टेक्स्ट में बदलने की पूरी व्याख्या। +og_title: C# में OCR का उपयोग कैसे करें – पूर्ण ऑफ़लाइन गाइड +tags: +- OCR +- C# +- Aspose +title: C# में OCR का उपयोग कैसे करें – ऑफ़लाइन छवियों से टेक्स्ट निकालें +url: /hi/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# में OCR का उपयोग कैसे करें – इमेज से टेक्स्ट ऑफ़लाइन निकालें + +क्या आपने कभी सोचा है **how to use OCR** को .NET प्रोजेक्ट में क्लाउड पर डेटा भेजे बिना? आप अकेले नहीं हैं। कई डेवलपर्स को सुरक्षित वर्कस्टेशन पर *extract text from image* फ़ाइलों की आवश्यकता होती है, और उन्हें डर होता है कि नेटवर्क ट्रैफ़िक संवेदनशील जानकारी को उजागर कर सकता है। + +अच्छी खबर? Aspose.OCR के साथ आप PNG, JPEG या PDF से पूरी तरह ऑफ़लाइन टेक्स्ट पहचान सकते हैं। इस ट्यूटोरियल में हम OCR के लिए इमेज लोड करने, इंजन को ऑफ़लाइन मोड में कॉन्फ़िगर करने, और अंत में **convert image to text** को केवल कुछ लाइनों के C# कोड से करेंगे। + +इस गाइड के अंत तक आप सक्षम होंगे: + +* Aspose.OCR NuGet पैकेज इंस्टॉल करें। +* ऑफ़लाइन प्रोसेसिंग के लिए OCR इंजन सेट अप करें। +* OCR के लिए इमेज लोड करें और उसका टेक्स्ट निकालें। + +कोई बाहरी सर्विस नहीं, कोई API की नहीं—सिर्फ शुद्ध C# कोड जो किसी भी Windows या Linux मशीन पर चलता है। + +--- + +## आवश्यकताएँ + +Before we dive in, make sure you have: + +* .NET 6.0 SDK या बाद का संस्करण (कोड .NET Framework 4.7+ के साथ भी काम करता है)। +* Visual Studio 2022, VS Code, या कोई भी एडिटर जो C# को सपोर्ट करता है। +* **Aspose.OCR** लाइब्रेरी की एक कॉपी – आप इसे NuGet (`Aspose.OCR`) से प्राप्त कर सकते हैं। +* OCR रिसोर्सेज फ़ोल्डर (`Resources`) जो लाइब्रेरी के साथ आता है (भाषा डेटा फ़ाइलें शामिल हैं)। +* एक सैंपल इमेज (जैसे `offline_test.png`) जिसे ज्ञात डायरेक्टरी में रखा गया हो। + +> **Pro tip:** रिसोर्सेज फ़ोल्डर को अपने executable के बगल में रखें; यह `ResourcesPath` कॉन्फ़िगरेशन को सरल बनाता है। + +--- + +## चरण 1: Aspose.OCR NuGet पैकेज इंस्टॉल करें + +First, add the library to your project. Open a terminal in the project folder and run: + +```bash +dotnet add package Aspose.OCR +``` + +Or, if you prefer the Visual Studio UI, right‑click **Dependencies → Manage NuGet Packages**, search for *Aspose.OCR*, and click **Install**. + +> पैकेज इंस्टॉल करने से सभी आवश्यक बाइनरी शामिल हो जाते हैं, इसलिए आपको कोई अतिरिक्त DLLs की आवश्यकता नहीं होगी। + +--- + +## चरण 2: OCR इंजन बनाएं और कॉन्फ़िगर करें (How to Use OCR – Offline Mode) + +Now we’ll instantiate the OCR engine and tell it to work **offline**. This ensures no network traffic occurs during recognition. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Why offline?** +जब `EngineMode` को `Online` सेट किया जाता है, तो इंजन Aspose के क्लाउड से भाषा पैक्स को रीयल‑टाइम में डाउनलोड करता है। नियामक वातावरण (वित्त, स्वास्थ्य देखभाल) में यह ट्रैफ़िक अक्सर प्रतिबंधित होता है। ऑफ़लाइन मोड को मजबूर करके आप सुनिश्चित करते हैं कि सब कुछ स्थानीय मशीन पर ही रहे। + +--- + +## चरण 3: इंजन को OCR रिसोर्सेज फ़ोल्डर की ओर इंगित करें + +The OCR engine needs language data (trained models) to recognize characters. Tell it where those files live: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +यदि आपको फ़ोल्डर का स्थान पता नहीं है, तो इसे NuGet पैकेज डायरेक्टरी (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`) में देखें। आसान डिप्लॉयमेंट के लिए पूरे फ़ोल्डर को अपने प्रोजेक्ट में कॉपी कर लें। + +--- + +## चरण 4: OCR के लिए इमेज लोड करें (Load Image for OCR) + +You can feed the engine any supported bitmap. Here we’ll load a PNG stored on disk: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tip:** यदि आपको स्ट्रीम से इमेज प्रोसेस करनी है (जैसे API के ज़रिए अपलोड की गई), तो `ImageStream.FromStream(yourStream)` का उपयोग करें। + +--- + +## चरण 5: पहचान प्रक्रिया चलाएँ और इमेज को टेक्स्ट में बदलें + +With everything in place, trigger the OCR. The `Recognize()` method does the heavy lifting, and the extracted text becomes available via the `Text` property. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## चरण 6: निकाले गए टेक्स्ट को आउटपुट करें + +Finally, display the result. In a console app you can simply write to the console, but in a web API you’d return the string as JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Running the program should print the textual content of `offline_test.png`. For example, if the image contains the phrase *“Hello, World!”*, you’ll see: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## पूर्ण कार्यशील उदाहरण + +Below is the complete, ready‑to‑run program. Copy‑paste it into a new console project (`dotnet new console`) and adjust the paths to match your environment. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Expected output:** कंसोल PNG फ़ाइल में मौजूद सटीक टेक्स्ट प्रिंट करेगा। यदि इमेज धुंधली है, तो परिणाम में गलत पहचाने गए अक्षर भी हो सकते हैं—नीचे ट्रबलशूटिंग सेक्शन देखें। + +--- + +## सामान्य समस्याएँ और टिप्स (Recognize Text from PNG Efficiently) + +| Issue | क्यों होता है | समाधान | +|-------|----------------|------------| +| **Empty output** | ResourcesPath गलत फ़ोल्डर की ओर इशारा कर रहा है या भाषा फ़ाइलें गायब हैं। | सुनिश्चित करें कि फ़ोल्डर में `eng.traineddata` (या अन्य भाषा फ़ाइलें) मौजूद हैं और पाथ स्ट्रिंग को दोबारा जांचें। | +| **Garbage characters** | Image resolution बहुत कम है या इमेज बाइनराइज़्ड नहीं है। | इमेज को प्री‑प्रोसेस करें (DPI बढ़ाएँ, `ImageProcessor` लागू करके शार्पन करें)। | +| **Performance lag** | बड़ी इमेजेज पूरी रेज़ोल्यूशन पर प्रोसेस की जाती हैं। | OCR को फीड करने से पहले इमेज को अधिकतम 2000 px चौड़ाई तक रीसाइज़ करें। | +| **Unsupported format** | एक असामान्य पिक्सेल फ़ॉर्मेट वाले BMP का उपयोग। | इमेज को पहले PNG या JPEG में कनवर्ट करें (`System.Drawing.Image.Save`)। | + +**Pro tip:** यदि आपको कई भाषाओं को पहचानना है, तो `Recognize()` कॉल करने से पहले `ocrEngine.Settings.Language = Language.English | Language.French;` सेट करें। + +--- + +## अक्सर पूछे जाने वाले प्रश्न + +**Q: क्या मैं इस कोड को Linux पर उपयोग कर सकता हूँ?** +बिल्कुल। Aspose.OCR क्रॉस‑प्लेटफ़ॉर्म है; सुनिश्चित करें कि नेटिव लाइब्रेरीज़ मौजूद हैं (वे NuGet पैकेज में बंडल हैं)। + +**Q: अगर मेरे पास Resources फ़ोल्डर नहीं है तो?** +आप Aspose की वेबसाइट से मुफ्त भाषा पैक्स डाउनलोड कर सकते हैं या NuGet पैकेज (`.../aspose.ocr//resources`) से निकाल सकते हैं। + +**Q: क्या confidence स्कोर प्राप्त करने का कोई तरीका है?** +हां। `Recognize()` के बाद, `ocrEngine.RecognizedWords` को देखें – प्रत्येक शब्द में `Confidence` प्रॉपर्टी होती है। + +--- + +## निष्कर्ष + +हमने C# में **how to use OCR** को *extract text from image* फ़ाइलों से पूरी तरह ऑफ़लाइन निकालने के बारे में कवर किया है। Aspose.OCR इंस्टॉल करके, `EngineMode.Offline` कॉन्फ़िगर करके, रिसोर्सेज की ओर इशारा करके, इमेज लोड करके, और `Recognize()` कॉल करके, आप बिना इंटरनेट के **convert image to text** भरोसेमंद रूप से कर सकते हैं। + +ऊपर दिया गया कोड लें, अपने इमेज पाथ बदलें, और सर्चेबल PDFs, डेटा एंट्री ऑटोमेशन, या एक्सेसिबिलिटी टूल्स जैसी सुविधाएँ बनाना शुरू करें। आगे आप **recognize text from PNG** को बैच में एक्सप्लोर कर सकते हैं, या इंजन को ASP.NET Core API में इंटीग्रेट करके OCR परिणाम फ्रंट‑एंड एप्लिकेशन को सर्व कर सकते हैं। + +कोडिंग का आनंद लें, और प्रयोग करने में संकोच न करें—इंजन सही सेटअप होने पर OCR आश्चर्यजनक रूप से सहनशील होता है! + +![ऑफ़लाइन OCR वर्कफ़्लो दिखाता डायग्राम – सुरक्षित वातावरण में how to use OCR](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/hindi/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..46046f118 --- /dev/null +++ b/ocr/hindi/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: Aspose.OCR का उपयोग करके C# में हिंदी टेक्स्ट को पहचानना और OCR के लिए + छवि लोड करना सीखें। चरण‑दर‑चरण सेटअप, कोड और टिप्स। +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: hi +og_description: Aspose OCR के साथ C# में हिंदी टेक्स्ट को पहचानने के तरीके जानें। + OCR के लिए इमेज लोड करना, भाषा पैक सेटअप और सर्वोत्तम अभ्यास टिप्स शामिल हैं। +og_title: हिंदी टेक्स्ट को पहचानें – पूर्ण Aspose OCR ट्यूटोरियल +tags: +- C# +- OCR +- Aspose +- Hindi +title: C# में हिन्दी टेक्स्ट को पहचानें – पूर्ण Aspose OCR गाइड +url: /hi/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# हिंदी टेक्स्ट को पहचानें – पूर्ण Aspose OCR ट्यूटोरियल + +क्या आपको कभी स्कैन किए गए रसीद से **हिंदी टेक्स्ट को पहचानने** की ज़रूरत पड़ी, लेकिन शुरुआत कैसे करें, समझ नहीं आया? आप अकेले नहीं हैं। कई भारतीय‑उन्मुख ऐप्स में, हिंदी अक्षरों को भरोसेमंद तरीके से निकालना एक चलती हुई लक्ष्य की तरह महसूस हो सकता है। सौभाग्य से, Aspose.OCR इसे आसान बना देता है—जब आप सही चरणों को जानते हैं **load image for OCR** करने के और इंजन को हिंदी भाषा संसाधनों की ओर इंगित करने के। + +इस गाइड में हम C# में एक कार्यशील OCR पाइपलाइन बनाने के लिए सभी आवश्यक कदमों से गुजरेंगे। अंत तक आपके पास एक चलाने योग्य प्रोग्राम होगा जो हिंदी भाषा पैक डाउनलोड करता है, इमेज लोड करता है, पहचान चलाता है, और परिणामस्वरूप टेक्स्ट को कंसोल पर प्रिंट करता है। कोई अस्पष्ट “डॉक्यूमेंटेशन देखें” लिंक नहीं—सिर्फ एक स्व-समाहित समाधान जिसे आप किसी भी .NET प्रोजेक्ट में डाल सकते हैं। + +## आपको क्या चाहिए + +- **.NET 6+** (या .NET Framework 4.7.2+). API सभी संस्करणों में समान है, लेकिन नया रनटाइम बेहतर प्रदर्शन देता है। +- **Aspose.OCR for .NET** NuGet पैकेज। इसे `dotnet add package Aspose.OCR` से इंस्टॉल करें। +- एक **हिंदी भाषा पैक** – Aspose इसे डाउनलोडेबल रिसोर्स के रूप में प्रदान करता है, डिफ़ॉल्ट रूप से बंडल नहीं होता। +- एक इमेज फ़ाइल जिसमें हिंदी टेक्स्ट हो (जैसे `hindi_receipt.jpg`)। कोई भी सामान्य फ़ॉर्मेट (JPG, PNG, BMP) चलेगा। +- एक अच्छा IDE (Visual Studio, Rider, या VS Code)। + +बस इतना ही—कोई बाहरी OCR इंजन नहीं, कोई क्लाउड की नहीं, सिर्फ एक लोकल लाइब्रेरी। + +## चरण 1: हिंदी भाषा पैक डाउनलोड करें – रिसोर्स सेटअप करें + +OCR इंजन को देवनागरी अक्षर समझने से पहले, आपको हिंदी भाषा संसाधन डाउनलोड करने होंगे। यह एक बार का काम है, आमतौर पर एप्लिकेशन इंस्टॉलेशन या CI/CD के दौरान किया जाता है। + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**यह क्यों महत्वपूर्ण है:** OCR इंजन भाषा‑विशिष्ट मॉडलों पर निर्भर करता है जो पिक्सेल पैटर्न को यूनिकोड अक्षरों में बदलते हैं। बिना हिंदी पैक के आपको गड़बड़ लैटिन आउटपुट या कुछ नहीं मिलेगा। + +> **प्रो टिप:** पैक को ऐसी फ़ोल्डर में कैश करें जो लक्ष्य मशीन पर लिखने योग्य हो। यदि आप Azure App Service पर डिप्लॉय कर रहे हैं, तो `D:\home\site\wwwroot\Resources` फ़ोल्डर का उपयोग करें। + +## चरण 2: OCR इंजन कॉन्फ़िगर करें – रिसोर्स की ओर इंगित करें + +अब जब रिसोर्स उपलब्ध हैं, एक `OcrEngine` इंस्टेंस बनाएं और उसे बताएं कि भाषा फ़ाइलें कहाँ हैं। यहाँ हम **primary language** को भी सेट करते हैं। + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**हम यह क्यों करते हैं:** `ResourcesPath` इंजन और डाउनलोडेड फ़ाइलों के बीच पुल का काम करता है। यदि आप इस चरण को छोड़ देते हैं, तो इंजन अपने बिल्ट‑इन (केवल अंग्रेज़ी) मॉडलों पर वापस आ जाएगा, और आप **हिंदी टेक्स्ट को सही ढंग से पहचान** नहीं पाएंगे। + +## चरण 3: OCR के लिए इमेज लोड करें – इंजन को सही इनपुट दें + +इंजन तैयार है, अगला कदम **load image for OCR** करना है। Aspose एक सुविधाजनक `ImageStream.FromFile` हेल्पर प्रदान करता है जो अधिकांश सामान्य इमेज फ़ॉर्मेट को सपोर्ट करता है। + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**सामान्य जाल:** +- **बड़ी इमेज** प्रोसेसिंग को धीमा कर सकती है। यदि आप हाई‑रेज़ोल्यूशन स्कैन संभाल रहे हैं, तो पहले `ImageProcessor.Resize` से डाउन‑सैंपल करने पर विचार करें। +- **गलत ओरिएंटेशन** (घुमाई गई स्कैन) खराब परिणाम देगा। आवश्यकता पड़ने पर `ocrEngine.Image.Rotate(90)` का उपयोग करें। + +## चरण 4: पहचान चलाएँ – टेक्स्ट निकालें + +अब हम वास्तव में इंजन को पिक्सेल पढ़ने और उन्हें यूनिकोड स्ट्रिंग में बदलने के लिए कहते हैं। + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**क्या उम्मीद करें:** यदि इमेज स्पष्ट है, तो आपको रसीद पर जैसे दिखता है वैसी ही हिंदी अक्षर प्रिंट होते दिखेंगे। उदाहरण के लिए, एक नमूना रसीद इस प्रकार आउटपुट दे सकती है: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +यदि आपको बकवास मिल रहा है, तो दोबारा जांचें कि भाषा पैक सही ढंग से डाउनलोड हुआ है और `ocrEngine.Settings.Language` `Language.Hindi` पर सेट है। + +## चरण 5: सब कुछ एक साथ रखें – पूर्ण, चलाने योग्य प्रोग्राम + +नीचे पूरा सोर्स फ़ाइल दिया गया है जिसे आप कॉन्सोल प्रोजेक्ट में कॉपी‑पेस्ट कर सकते हैं। इसमें ऊपर बताए सभी चरण और न्यूनतम एरर हैंडलिंग शामिल है। + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +इसे `Program.cs` के रूप में सेव करें, `dotnet run` चलाएँ, और आपको कंसोल पर हिंदी टेक्स्ट प्रिंट होते दिखेंगे। + +## अक्सर पूछे जाने वाले प्रश्न (FAQ) + +### क्या मैं एक ही रन में कई भाषाएँ पहचान सकता हूँ? +हां। `ocrEngine.Settings.Language` को एक एरे में सेट करें, जैसे `new[] { Language.Hindi, Language.English }`। इंजन दोनों स्क्रिप्ट्स के अक्षरों को पहचानने की कोशिश करेगा। + +### अगर मेरी इमेज धुंधली हो तो क्या करें? +`ImageProcessor` के साथ प्री‑प्रोसेसिंग पर विचार करें—शार्पनिंग या कंट्रास्ट एन्हांसमेंट लागू करें, फिर उसे `ocrEngine.Image` को असाइन करें। + +### क्या यह Linux/macOS पर काम करता है? +बिल्कुल। Aspose.OCR क्रॉस‑प्लेटफ़ॉर्म है; बस यह सुनिश्चित करें कि नेटिव डिपेंडेंसीज़ मौजूद हों (आमतौर पर NuGet पैकेज में बंडल होती हैं)। + +### कम‑रेज़ोल्यूशन रसीदों की सटीकता कैसे बढ़ाएँ? +स्कैनिंग के दौरान DPI (डॉट्स पर इंच) बढ़ाएँ, या प्रोग्रामेटिक रूप से इमेज को कम से कम 300 DPI तक री‑सैंपल करें OCR से पहले। + +## निष्कर्ष + +हमने **हिंदी टेक्स्ट को पहचानने** के लिए Aspose.OCR के सभी आवश्यक चरणों को कवर किया—हिंदी भाषा पैक डाउनलोड करने से लेकर इंजन कॉन्फ़िगर करने, सही **load image for OCR** करने, और परिणाम निकालने व प्रिंट करने तक। ऊपर दिया गया पूर्ण कोड स्निपेट किसी भी C# कॉन्सोल ऐप में डालने के लिए तैयार है, और वैकल्पिक टिप्स आपको धुंधली स्कैन या मल्टी‑लैंग्वेज डॉक्यूमेंट जैसे सामान्य किनारे के मामलों को संभालने में मदद करेंगे। + +अगला कदम तैयार हैं? OCR आउटपुट को एक ट्रांसलेशन API में फीड करें, या निकाले गए डेटा को एनालिटिक्स के लिए डेटाबेस में स्टोर करें। आप अन्य भारतीय भाषाओं—जैसे तमिल, बांग्ला आदि—के साथ भी प्रयोग कर सकते हैं, बस `Language.Hindi` को इच्छित enum वैल्यू से बदलें। + +कोडिंग का आनंद लें, और आपके OCR परिणाम हमेशा स्पष्ट रहें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hindi/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/hindi/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..e03fd2ac4 --- /dev/null +++ b/ocr/hindi/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR के साथ छवि से तेज़ी से टेक्स्ट पहचानें। जानें कि djvu को टेक्स्ट + में कैसे बदलें, छवि से टेक्स्ट निकालें, और OCR के लिए छवि कैसे लोड करें, एक चरण‑दर‑चरण + C# ट्यूटोरियल में। +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: hi +og_description: Aspose OCR का उपयोग करके C# में छवि से टेक्स्ट पहचानें। यह गाइड दिखाता + है कि djvu को टेक्स्ट में कैसे बदलें, छवि से टेक्स्ट निकालें, और OCR के लिए छवि + लोड करें, साथ ही व्यावहारिक टिप्स। +og_title: इमेज से टेक्स्ट पहचानें – पूर्ण C# Aspose OCR ट्यूटोरियल +tags: +- C# +- Aspose OCR +- Document Processing +title: C# में छवि से टेक्स्ट पहचानें – पूर्ण Aspose OCR गाइड +url: /hi/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# इमेज से टेक्स्ट पहचानें – पूर्ण C# Aspose OCR ट्यूटोरियल + +क्या आपको कभी **इमेज से टेक्स्ट पहचानने** की जरूरत पड़ी है लेकिन आप सुनिश्चित नहीं थे कि कौन सी लाइब्रेरी विश्वसनीय परिणाम देगी? आप अकेले नहीं हैं। चाहे आप स्कैन किए गए इनवॉइस, ऐतिहासिक DJVU फ़ाइलों, या एक साधारण PNG स्क्रीनशॉट से निपट रहे हों, सटीक अक्षरों को निकालना प्राचीन लिपि को डिकोड करने जैसा महसूस हो सकता है। + +बात यह है—Aspose OCR पूरी प्रक्रिया को आसान बना देता है। इस गाइड में हम देखेंगे कि कैसे **djvu को टेक्स्ट में बदलें**, **इमेज से टेक्स्ट निकालें**, और **OCR के लिए इमेज लोड करें** एक संक्षिप्त C# प्रोग्राम का उपयोग करके। अंत तक आपके पास एक चलाने योग्य कंसोल ऐप होगा जो पहचाने गए स्ट्रिंग को कंसोल में प्रिंट करेगा, और आप प्रत्येक लाइन के पीछे का “क्यों” समझ पाएंगे। + +## आप क्या सीखेंगे + +- एक .NET प्रोजेक्ट में Aspose OCR इंजन को सेट अप करने का तरीका। +- DJVU फ़ाइल से **OCR के लिए इमेज लोड करने** के लिए आवश्यक सटीक कोड। +- `Recognize()` को `Text` पढ़ने से पहले कॉल क्यों करना चाहिए। +- सामान्य समस्याएँ (मल्टी‑पेज DJVU, असमर्थित फ़ॉर्मेट) और उन्हें कैसे टालें। +- बैच प्रोसेसिंग के लिए **djvu को टेक्स्ट में बदलने** के तेज़ तरीके। + +आपको केवल एक नवीनतम .NET SDK (≥ 6.0) और एक Aspose OCR लाइसेंस (फ़्री ट्रायल टेस्टिंग के लिए काम करता है) चाहिए। कोई बाहरी सेवाएँ नहीं, कोई REST कॉल नहीं—सिर्फ शुद्ध C#। + +## पूर्वापेक्षाएँ + +| आवश्यकता | कारण | +|-------------|--------| +| .NET 6 SDK or later | आधुनिक भाषा सुविधाएँ और बेहतर प्रदर्शन। | +| Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) | `OcrEngine` क्लास प्रदान करता है जिसका हम उपयोग करेंगे। | +| A DJVU file (e.g., `sample.djvu`) | **djvu को टेक्स्ट में बदलने** का प्रदर्शन करता है। | +| Basic familiarity with C# console apps | स्टेप्स को स्वाभाविक रूप से चलाने में मदद करता है। | + +यदि इनमें से कोई भी गायब है, तो रुकें और अभी इंस्टॉल करें; अन्यथा कोड कम्पाइल नहीं होगा। + +## चरण 1 – Aspose.OCR इंस्टॉल करें और प्रोजेक्ट बनाएं + +सबसे पहले, एक नया कंसोल प्रोजेक्ट बनाएं और OCR लाइब्रेरी को जोड़ें। + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro tip:* यदि आप लक्ष्य फ्रेमवर्क को स्पष्ट रूप से लॉक करना चाहते हैं तो `--framework net6.0` फ़्लैग का उपयोग करें। + +## चरण 2 – OCR इंजन को इनिशियलाइज़ करें और DJVU इमेज लोड करें + +इंजन को एक इमेज स्रोत चाहिए। Aspose.OCR कई फ़ॉर्मेट पढ़ सकता है, जिसमें DJVU भी शामिल है, इसलिए हम इसे फ़ाइल पाथ की ओर इशारा करते हैं। + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**यह क्यों महत्वपूर्ण है:** +- `OcrEngine` एंट्री पॉइंट है; इसे एक बार बनाकर पुनः‑उपयोग करने से मेमोरी उपयोग कम होता है। +- `ImageStream.FromFile` फ़ाइल फ़ॉर्मेट को एब्स्ट्रैक्ट करता है, इसलिए आप बाद में DJVU फ़ाइल को PNG या TIFF से बदल सकते हैं बिना किसी अन्य कोड को बदले—विभिन्न परिस्थितियों में “इमेज से टेक्स्ट निकालने” के लिए परफेक्ट। + +## चरण 3 – पहचान प्रक्रिया चलाएँ + +`Recognize()` को कॉल करने से भारी काम शुरू होता है। पीछे के स्तर पर Aspose एक न्यूरल‑नेटवर्क‑आधारित क्लासिफायर चलाता है जो प्रिंटेड और हैंडराइटन दोनों टेक्स्ट पर काम करता है। + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Edge case note:* यदि आपके DJVU में कई पेज हैं, तो `ImageStream.FromFile` अभी भी केवल पहला पेज लोड करता है। सभी पेज प्रोसेस करने के लिए आपको `ImageStream.FromFile(...).Pages` पर लूप करना होगा। अधिकांश त्वरित‑देखे कार्यों के लिए पहला पेज पर्याप्त है। + +## चरण 4 – पहचाने गए टेक्स्ट को प्राप्त करें और प्रदर्शित करें + +पहचान के बाद, इंजन `Text` प्रॉपर्टी को एक साधारण‑टेक्स्ट स्ट्रिंग से भर देता है। अब आप इसे कंसोल, फ़ाइल में लिख सकते हैं, या किसी अन्य सिस्टम में फीड कर सकते हैं। + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +सामान्य आउटपुट इस प्रकार दिखता है: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +यदि आउटपुट गड़बड़ है, तो दोबारा जांचें कि स्रोत इमेज कम रिज़ॉल्यूशन तो नहीं है; सर्वोत्तम सटीकता के लिए Aspose 300 dpi या उससे अधिक की सिफ़ारिश करता है। + +## पूर्ण कार्यशील उदाहरण + +सब कुछ एक साथ मिलाकर, यहाँ एक सिंगल फ़ाइल (`Program.cs`) है जिसे आप पहले बनाए गए प्रोजेक्ट में पेस्ट कर सकते हैं। + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +इसे चलाएँ: + +```bash +dotnet run +``` + +आपको टर्मिनल में निकाली गई स्ट्रिंग प्रिंट होती हुई दिखनी चाहिए। यह Aspose OCR का उपयोग करके **इमेज से टेक्स्ट पहचानने** का सबसे सरल तरीका है। + +## चरण 5 – उन्नत: कई DJVU पेज को टेक्स्ट फ़ाइलों में बदलना + +यदि आपको बल्क में **djvu को टेक्स्ट में बदलने** की जरूरत है, तो पिछले कोड को लूप के साथ विस्तारित करें: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Why this works:* `GetPage(i)` अनुरोधित पेज के लिए एक `Image` ऑब्जेक्ट लौटाता है, जिससे आप वही `OcrEngine` इंस्टेंस पुनः उपयोग कर सकते हैं। प्रत्येक पेज का टेक्स्ट अपनी .txt फ़ाइल में सहेजा जाता है, जिससे आपको एक साफ़ **djvu को टेक्स्ट में बदलने** पाइपलाइन मिलती है। + +## सामान्य प्रश्न और समस्याएँ + +- **क्या मैं DJVU के बजाय JPEG से टेक्स्ट निकाल सकता हूँ?** + बिल्कुल। बस `FromFile` में फ़ाइल एक्सटेंशन बदल दें। वही कोड **इमेज से टेक्स्ट निकालने** के लिए लागू होता है क्योंकि Aspose फ़ॉर्मेट को एब्स्ट्रैक्ट करता है। + +- **यदि OCR परिणाम में अतिरिक्त लाइन ब्रेक हैं तो क्या करें?** + व्हाइटस्पेस को सामान्य करने के लिए `String.Replace("\r\n", " ")` या रेगुलर एक्सप्रेशन का उपयोग करें। + +- **क्या उत्पादन उपयोग के लिए लाइसेंस चाहिए?** + फ़्री ट्रायल 100 पेज तक काम करता है। अनलिमिटेड उपयोग के लिए लाइसेंस खरीदें और इंजन बनाने से पहले `License license = new License(); license.SetLicense("Aspose.OCR.lic");` कॉल करें। + +- **क्या इंजन थ्रेड‑सेफ़ है?** + नहीं। प्रत्येक थ्रेड के लिए अलग `OcrEngine` बनाएं या लॉक के साथ एक्सेस को सुरक्षित रखें। + +## बेहतर सटीकता के टिप्स + +1. **DPI बढ़ाएँ** – यदि आप स्रोत रूपांतरण को नियंत्रित करते हैं, तो इमेज को 300 dpi या उससे अधिक पर आउटपुट करें। +2. **इमेज को प्री‑प्रोसेस करें** – सरल बाइनराइज़ेशन (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) शोरयुक्त स्कैन पर परिणाम सुधार सकता है। +3. **भाषा निर्दिष्ट करें** – `ocrEngine.Language = Language.English;` कैरेक्टर सेट को सीमित करता है और पहचान को तेज़ करता है। + +## निष्कर्ष + +अब आपके पास एक पूर्ण, तैयार‑चलाने योग्य उदाहरण है जो Aspose OCR का उपयोग करके **इमेज से टेक्स्ट पहचानता** है, और आपने देखा कि कैसे **djvu को टेक्स्ट में बदलें**, **इमेज से टेक्स्ट निकालें**, और **OCR के लिए इमेज लोड करें**। कोड स्व-निहित है, किसी भी .NET 6+ रनटाइम पर काम करता है, और मल्टी‑पेज DJVU दस्तावेज़ों को बैच‑प्रोसेस करने के लिए विस्तारित किया जा सकता है। + +अगला, आप खोज सकते हैं: + +- बहुभाषी DJVU फ़ाइलों के लिए **भाषा पहचान** जोड़ना। +- OCR आउटपुट को सर्च इंडेक्स (जैसे, Elasticsearch) के साथ इंटीग्रेट करना। +- निकाले गए टेक्स्ट को सर्चेबल PDFs में बदलने के लिए Aspose की PDF कन्वर्ज़न का उपयोग करना। + +इसे आज़माएँ, DPI को समायोजित करें, विभिन्न इमेज फ़ॉर्मेट के साथ प्रयोग करें, और OCR इंजन को आपका भारी काम करने दें। कोडिंग का आनंद लें! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/ocr-configuration/_index.md b/ocr/hongkong/net/ocr-configuration/_index.md index 0fd2ef8d0..57e0ada22 100644 --- a/ocr/hongkong/net/ocr-configuration/_index.md +++ b/ocr/hongkong/net/ocr-configuration/_index.md @@ -60,6 +60,8 @@ Extracting OCR 意味著將影像(或影像集合)傳遞給 Aspose.OCR,該 使用 Aspose.OCR for .NET 釋放強大的 OCR 功能。將文字無縫地從圖像中提取。 ### [OCR 影像辨識中對清單檔案的 OCR 操作](./ocr-operation-with-list/) 釋放 Aspose.OCR for .NET 的潛能。輕鬆實現清單的 OCR 影像辨識。提升應用程式的效率和資料提取速度。 +### [從 PNG 讀取文字 – 使用 Aspose OCR 提取西里爾文字](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +使用 Aspose.OCR 在 .NET 中從 PNG 圖像提取西里爾文字,實現高精度文字辨識。 ### 常見用例 - **Extract text images** 從掃描發票中擷取文字,以實現自動化會計。 @@ -93,4 +95,4 @@ Extracting OCR 意味著將影像(或影像集合)傳遞給 Aspose.OCR,該 {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/hongkong/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..7351367c7 --- /dev/null +++ b/ocr/hongkong/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,200 @@ +--- +category: general +date: 2026-03-07 +description: 學習如何從 png 讀取文字,使用 Aspose OCR 提取西里爾文字,將圖像轉換為文字,並下載西里爾語言包。 +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: zh-hant +og_description: 學習如何從 PNG 讀取文字、提取西里爾文字,並使用 Aspose OCR 於 C# 中將圖像轉換為文字。 +og_title: 從 PNG 讀取文字 – 使用 Aspose OCR 提取西里爾文字 +tags: +- Aspose OCR +- C# +- Image Processing +title: 從 PNG 讀取文字 – 使用 Aspose OCR 提取西里爾文字 +url: /zh-hant/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從 PNG 讀取文字 – 使用 Aspose OCR 提取西里爾文字 + +需要 **從 png 讀取文字** 並提取西里爾字元嗎?在本指南中,我們將示範如何使用 Aspose OCR 從 png 讀取文字、提取西里爾文字,並在幾行 C# 程式碼內 **將影像轉換為文字**。 + +如果你曾經盯著一張俄文發票的螢幕截圖,想知道如何把文字轉成可搜尋的字串,那麼你來對地方了。我們還會說明如何自動 **下載西里爾語言包**,免去手動搜尋額外檔案的麻煩。 + +## 您將能夠達成的目標 + +完成本教學後,你將能夠: + +* **直接從磁碟或串流載入影像以供 OCR 使用**。 +* 在不需手動下載的情況下,將引擎設定為 **Cyrillic 語言**。 +* 執行辨識,並 **提取 PNG 檔案中的西里爾文字**。 +* 在主控台上看到辨識後的文字 – 純淨的純文字結果,可供資料庫、搜尋索引或其他工作流程使用。 + +不需要外部服務、雲端金鑰,只要 Aspose OCR NuGet 套件與幾行 C# 程式碼即可。 + +## 前置條件 + +* .NET 6.0 或更新版本(程式碼可在 .NET Core、.NET Framework 以及 .NET 5+ 上執行)。 +* Visual Studio 2022 或您喜歡的任何編輯器。 +* Aspose.OCR NuGet 套件(`dotnet add package Aspose.OCR`)。 +* 包含西里爾字元的 PNG 影像,例如放在 `YOUR_DIRECTORY` 資料夾中的 `cyrillic_sample.png`。 + +> **小技巧**:如果您使用 Visual Studio,右鍵點擊專案 → **Manage NuGet Packages** → 搜尋 “Aspose.OCR” 並安裝最新的穩定版。 + +--- + +## Step 1 – Install Aspose OCR and create the engine + +首先我們需要建立 OCR 引擎實例。`OcrEngine` 類別是所有操作的入口點。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **為什麼這很重要**:引擎封裝了語言包、影像資料與辨識選項。只要實例化一次,並在多張影像間重複使用,可提升效能。 + +--- + +## Step 2 – **load image for ocr** and set the language + +現在告訴引擎要處理哪張影像以及要偵測哪種語言。設定 `Language.Cyrillic` 後,第一次執行時會自動下載所需的語言包。 + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **邊緣情況**:如果你的 PNG 檔案很大(超過 5 MB),建議先縮小尺寸以加速辨識。`Image` 屬性也接受 `Stream`,因此可以從記憶體、網路請求或 Azure Blob 載入,而不必觸及檔案系統。 + +--- + +## Step 3 – **convert image to text** with a single call + +辨識只需要呼叫 `Recognize()`。呼叫完成後,`Text` 屬性即保存了提取出的字串。 + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **底層發生了什麼**:Aspose 以神經網路分類器(訓練自數百萬個西里爾字形)執行辨識。程式庫將所有複雜度抽象化,讓你直接取得乾淨的 Unicode 文字。 + +--- + +## Step 4 – Output the result (or pipe it elsewhere) + +示範用途我們會把文字印到主控台,但你也可以輕鬆寫入檔案、資料庫,或傳給搜尋索引。 + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**預期輸出**(假設 `cyrillic_sample.png` 包含短語 “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +如果輸出看起來亂碼,請再次確認影像清晰且已設定 `Language.Cyrillic`。引擎預設使用英文,會將西里爾字元視為未知符號。 + +--- + +## Step 5 – Full, runnable example + +把所有步驟整合起來,以下是一個可直接貼到新 Console 專案的完整程式碼。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +將檔案儲存為 `Program.cs`,執行 `dotnet run`,即可在主控台看到西里爾文字。 + +--- + +## 常見問題與除錯 + +| 問題 | 回答 | +|----------|--------| +| **如果語言包無法下載該怎麼辦?** | 確認機器能連上網路。語言包會快取於 `%USERPROFILE%\.Aspose\OCR\Languages`。刪除該資料夾即可強制重新下載。 | +| **我可以讀取除西里爾之外的其他語言嗎?** | 當然可以 – 只要把 `Language.Cyrillic` 換成 `Language.English`、`Language.Arabic` 等,同樣會自動下載相應語言包。 | +| **我的 PNG 噪點太多,辨識效果差,該怎麼辦?** | 先前處理影像:提升對比、轉成灰階,或套用中值濾波。Aspose OCR 也提供 `Settings.ImagePreprocess` 選項。 | +| **有辦法取得每個單字的邊界框嗎?** | 可以,呼叫 `Recognize()` 後檢查 `ocrEngine.Regions`,它會回傳每個偵測到的單字的矩形區域。 | +| **正式環境需要授權嗎?** | 免費評估版支援最多 100 頁。商業專案請購買授權,授權會移除評估浮水印並解鎖高速批次處理功能。 | + +--- + +## 下一步 – 擴充解決方案 + +* **批次處理**:遍歷 PNG 資料夾,將所有文字收集到 CSV 檔案中。 +* **整合 Azure Cognitive Search**:將提取的西里爾字串建立索引,以便快速查詢。 +* **結合 PDF 轉換**:先使用 Aspose.PDF 將掃描的 PDF 轉為 PNG,然後執行相同的 OCR 流程。 + +上述情境皆可重複使用我們剛剛學到的核心模式:**載入影像 → 設定語言 → 辨識 → 使用文字**。 + +--- + +## 結論 + +現在你已掌握如何 **從 png 讀取文字**、**提取西里爾文字**,以及使用 Aspose OCR 在 C# 中 **將影像轉換為文字**。關鍵步驟包括建立引擎、載入影像、選擇正確語言(會自動 **下載西里爾語言包**),最後呼叫 `Recognize()`。 + +試著用不同的影像來練習,玩玩 `Settings` 選項,讓你的應用程式變得可搜尋、多語言且更聰明。 + +祝程式開發順利,若遇到任何問題,歡迎留下評論! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/ocr-optimization/_index.md b/ocr/hongkong/net/ocr-optimization/_index.md index c078585c2..2025e7638 100644 --- a/ocr/hongkong/net/ocr-optimization/_index.md +++ b/ocr/hongkong/net/ocr-optimization/_index.md @@ -72,6 +72,14 @@ weight: 25 使用 Aspose.OCR for .NET 增強 OCR 精度,校正拼寫、客製化字典,輕鬆實現無誤的文字辨識。 ### [在 OCR 圖像辨識中將多頁結果儲存為文件](./save-multipage-result-as-document/) 解鎖 Aspose.OCR for .NET 的潛能,透過本完整步驟教學,輕鬆將多頁 OCR 結果儲存為文件。 +### [如何在 C# 中對中文圖像執行 OCR – 完整指南](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +### [在 OCR 圖像辨識中使用拼寫檢查進行結果校正](./result-correction-with-spell-checking/) +使用 Aspose.OCR for .NET 增強 OCR 精度,校正拼寫、客製化字典,輕鬆實現無誤的文字辨識。 +### [在 OCR 圖像辨識中將多頁結果儲存為文件](./save-multipage-result-as-document/) +解鎖 Aspose.OCR for .NET 的潛能,透過本完整步驟教學,輕鬆將多頁 OCR 結果儲存為文件。 +### [如何在 C# 中去斜圖像並執行 OCR – 完整指南](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +學習在 C# 使用 Aspose.OCR 進行圖像去斜處理並執行 OCR,提升辨識精度的完整步驟指南。 +### [Aspose OCR 範例 – 在 C# 中啟用拼寫檢查並修正錯誤](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) ## 常見問題 diff --git a/ocr/hongkong/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/hongkong/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..5f0edd03e --- /dev/null +++ b/ocr/hongkong/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR 範例示範如何啟用拼寫檢查、加入自訂字典、載入影像 OCR,並快速修正 OCR 錯誤。 +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: zh-hant +og_description: Aspose OCR example that walks you through enabling spellcheck, adding + a custom dictionary, loading an image for OCR and fixing common OCR errors. +og_title: Aspose OCR 範例 – 啟用拼字檢查並修正錯誤 +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR 範例 – 在 C# 中啟用拼寫檢查並修正錯誤 +url: /zh-hant/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR 示例 – 在 C# 中啟用拼寫檢查並修正錯誤 + +有沒有曾經需要一個 **Aspose OCR example**,不僅能從圖像讀取文字,還能清除那些惱人的拼寫錯誤?你並不是唯一遇到這種情況的人。在許多實際專案中,原始 OCR 輸出充斥著錯別字,尤其是當來源圖像的字體對比度低或是手寫筆記時。 + +好消息是?使用 Aspose.OCR 你可以 **enable spellcheck**,加入自己的字典,僅用幾行程式碼就能取得潤飾過的字串。以下將會示範 **how to enable spellcheck**、**how to add a dictionary**,以及 **how to load image OCR**,讓你終於能 **fix OCR errors**,不再抓狂。 + +在本教學中,我們會涵蓋所有必需的內容——從 NuGet 安裝到完整、可執行的程式,印出校正後的文字。完成後,你將擁有一個可靠的 **Aspose OCR example**,可直接嵌入任何 .NET 專案。 + +## 前置條件 + +- .NET 6.0 SDK 或更新版本(此程式碼亦可於 .NET Core 與 .NET Framework 上執行) +- Visual Studio 2022 或任何相容 C# 的 IDE +- 一個圖像檔案(`typed_text.png`),內含清晰、打字的英文文字 +- 具備網際網路連線以取得 Aspose.OCR NuGet 套件 + +不需要其他第三方函式庫。 + +--- + +## 步驟 1 – 安裝 Aspose.OCR NuGet 套件(Load Image OCR) + +在撰寫任何程式碼之前,我們需要提供 OCR 引擎的函式庫。 + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** 若你使用 Visual Studio,右鍵點擊專案 → *Manage NuGet Packages* → 搜尋 **Aspose.OCR** 並點選 *Install*。 + +安裝套件後即可使用 `OcrEngine`、`ImageStream`,以及稍後會用到的內建拼寫檢查工具。套件就緒後,你就可以 **load image OCR**。 + +## 步驟 2 – 建立 OCR 引擎實例 + +建立引擎是任何 **Aspose OCR example** 的第一個具體步驟。可將 `OcrEngine` 想像成分析位圖並輸出文字的大腦。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +`OcrEngine` 的建構子不需要任何參數,讓快速原型開發變得簡潔易用。 + +## 步驟 3 – 如何啟用拼寫檢查(以及為何重要) + +原始 OCR 輸出常出現錯誤辨識的單字,例如將 “the” 誤寫為 “teh”。啟用內建拼寫檢查器可讓 Aspose 自動將這些錯誤替換為最可能的正確拼寫。 + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **為何要啟用拼寫檢查?** +> - **Accuracy(準確度):** 後處理的拼寫檢查可將印刷文件的整體文字準確度提升 10‑15 %。 +> - **User experience(使用者體驗):** 清晰的文字在將結果輸入搜尋索引或分析管線時,可減少後續清理工作。 + +## 步驟 4 – 如何加入字典(自訂詞彙) + +有時預設字典不認識你的品牌名稱、產品代碼或領域特有術語。這時 **how to add dictionary** 就派上用場了。 + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +你可以提供陣列、清單,甚至從檔案讀取大量自訂詞彙。拼寫檢查器將把這些條目視為有效,避免錯誤的校正。 + +## 步驟 5 – 載入 OCR 圖像(Load Image OCR) + +現在引擎已設定完成,我們需要指向要讀取的圖片。`ImageStream.FromFile` 輔助方法抽象化了檔案讀取的細節。 + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** 若你的圖像位於專案的子資料夾,請將其 *Copy to Output Directory* 屬性設為 *Copy always*,以確保執行時路徑正確。 + +## 步驟 6 – 執行辨識並修正 OCR 錯誤 + +設定完成後,只要呼叫一次 `Recognize()` 即可執行 OCR 流程、套用拼寫檢查,並將清理後的結果存入 `ocrEngine.Text`。 + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### 預期輸出 + +假設 `typed_text.png` 包含句子 `The quick brown fox jumps over teh lazy dog`,控制台將顯示: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +請注意 “teh” 已自動校正為 “the”。若你已將 “OCRify” 加入自訂字典且圖像中出現該詞,則引擎會保持原樣不做更動。 + +--- + +## 完整可執行範例(可直接複製貼上) + +以下是完整程式碼,可直接放入新的 Console 專案。它包含上述所有步驟,並加入少量註解以增進可讀性。 + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +將此檔案存為 `Program.cs`,執行 `dotnet run`,即可在控制台看到校正後的句子。 + +--- + +## 常見問題與邊緣案例 + +| Question | Answer | +|----------|--------| +| **如果圖像是多頁 PDF 會怎樣?** | Aspose.OCR 能將 PDF 頁面視為圖像處理。使用 `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` 並遍歷各頁。 | +| **我可以將語言改成非英文嗎?** | 當然可以。設定 `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;`(或任何支援的語言)。 | +| **我的自訂字典很大——會影響效能嗎?** | 加入數千個詞彙會有少量的前置成本,但因底層使用 hash‑set,查找為 O(1)。若字彙極為龐大,建議在應用程式啟動時一次載入。 | +| **如果 OCR 引擎在損壞的圖像上拋出例外會怎樣?** | 將 `Recognize()` 包在 try‑catch 區塊中,檢查 `ocrEngine.LastError`。也可以先以 `ocrEngine.Image.Width` 與 `Height` 先驗證圖像尺寸。 | +| **生產環境需要授權嗎?** | 免費評估版可用於測試,但商業授權會移除評估水印並解鎖完整效能。 | + +--- + +## 結論 + +現在你已擁有一個 **complete Aspose OCR example**,示範了 **how to enable spellcheck**、**how to add a dictionary**、**load image OCR**,以及 **how to fix OCR errors**,以乾淨且適合上線的方式完成。透過設定拼寫檢查器並提供自訂詞彙表,即可大幅提升擷取文字的品質,且無需自行撰寫後處理邏輯。 + +準備好進一步了嗎?試著將語言切換成西班牙文、處理多頁 PDF,或將輸出整合至可搜尋的 Azure Cognitive Search 索引。模式相同——只需調整語言旗標,或擴充自訂字典即可。 + +如果你覺得本指南有幫助,請在 GitHub 上給個星星,與同事分享,或在下方留下評論。祝編程愉快,願你的 OCR 結果永遠零錯! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/hongkong/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..f2a6091dc --- /dev/null +++ b/ocr/hongkong/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,215 @@ +--- +category: general +date: 2026-03-07 +description: 了解如何使用 Aspose OCR 校正影像傾斜、增強對比度,並從掃描檔中擷取文字。提供完整的 C# 範例,輕鬆載入影像並執行 OCR。 +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: zh-hant +og_description: 學習如何使用 Aspose OCR 於 C# 進行圖像去斜、提升對比度,並從掃描檔提取文字。提供逐步程式碼執行影像 OCR。 +og_title: 如何在 C# 中校正影像傾斜並執行 OCR – 完整指南 +tags: +- C# +- OCR +- Image Processing +title: 如何校正影像傾斜並在 C# 中執行 OCR – 完整指南 +url: /zh-hant/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何校正影像傾斜並在 C# 中執行 OCR – 完整指南 + +如果你曾經想過在執行 OCR 前 **如何校正影像傾斜**,你來對地方了。在本教學中,我們將帶你一步步提升對比度、載入影像以供 OCR,最後使用 Aspose OCR **從掃描中擷取文字**。 + +無論你是要數位化舊收據、清理掃描的合約,或只是需要一個可靠的方法從斜斜的相片讀取文字,以下步驟涵蓋你所需的一切。沒有多餘說明——只提供一個可直接複製貼上至 Visual Studio 的可執行範例。 + +## 你將達成的目標 + +* 校正至多 30° 的傾斜(這就是 **如何校正影像傾斜** 的部分)。 +* 提升影像對比度,使字元邊緣更銳利(**如何提升對比度**)。 +* 將你的圖片載入 OCR 引擎(**載入影像以供 OCR**)。 +* 執行辨識程序並 **從掃描中擷取文字**。 + +以上全部皆可使用最新的 Aspose.OCR .NET NuGet 套件(撰寫時為 v23.11)運作。 + +--- + +![校正影像傾斜範例](/images/deskew-example.png "如何校正影像傾斜") + +*上圖顯示了掃描文件在校正前後的樣子。* + +## 前置條件 + +* .NET 6.0 或更新版本(程式碼亦可在 .NET Framework 4.7+ 上執行)。 +* Visual Studio 2022(或任何你喜歡的 C# IDE)。 +* Aspose.OCR NuGet 套件 – 透過 `dotnet add package Aspose.OCR` 安裝。 + +就這樣。無需外部服務,亦不需要 API 金鑰。 + +--- + +## 使用 Aspose OCR 校正影像傾斜 + +我們首先建立一個 **ImageProcessingPipeline**,並加入 `DeskewFilter`。此過濾器會自動偵測主要文字行的角度,並將影像旋轉回水平。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**為什麼這很重要:** +傾斜的掃描會讓 OCR 引擎困惑,因為字元不再與基線對齊。`DeskewFilter` 會分析影像直方圖,找出角度並旋轉影像,顯著提升辨識準確度。 + +> **專業提示:** 若你知道文件的傾斜角度永不超過 15°,可將 `MaxAngle = 15` 設定,以加快處理速度。 + +--- + +## 提升對比度以獲得更佳辨識效果 + +校正完畢後,下一步是讓文字更突出。`ContrastBoostFilter` 會拉伸像素強度範圍,對於褪色的印刷特別有幫助。 + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**為什麼這有幫助:** +低對比度的掃描會產生灰色的字元,二值化器可能會將其誤判為背景。提升對比度會使暗像素更暗、亮像素更亮,為後續的 `BinarizationFilter` 提供更乾淨的畫布。 + +--- + +## 在影像上執行 OCR – 載入檔案 + +現在影像已完成前置處理,我們需要 **載入影像以供 OCR**。Aspose 提供便利的 `ImageStream.FromFile` 輔助方法。 + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +如果你的影像位於串流中(例如透過 Web API 上傳),也可以改用 `ImageStream.FromStream(yourStream)`。引擎支援 BMP、JPEG、PNG、TIFF 等多種格式。 + +--- + +## 執行辨識程序並從掃描中擷取文字 + +所有設定完成後,呼叫 `Recognize()` 即可執行繁重的工作。呼叫結束後,可透過 `ocrEngine.Text` 取得辨識後的文字。 + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**預期輸出**(簡易發票範例): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +如果輸出看起來亂碼,請再次確認管線順序——先校正傾斜,接著去噪、提升對比度,最後二值化。調換順序可能會降低結果品質。 + +--- + +## 常見陷阱與邊緣案例 + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **結果為空** | 影像過暗或過亮,導致預設二值化方法無法正常運作。 | 提升 `ContrastBoostFilter.Strength` 或改用 `BinarizationMethod.Otsu`。 | +| **部分文字缺失** | 去噪後仍有雜訊殘留。 | 對較輕微的影像使用 `DenoiseLevel.Medium`,或加入第二個 `DenoiseFilter`。 | +| **旋轉方向錯誤** | 文件的方向混雜(例如拍攝了已旋轉頁面的照片)。 | 手動將 `DeskewFilter.MaxAngle` 設為較低值,並使用 `ImageProcessor.Rotate` 先行旋轉影像。 | +| **效能下降** | 大量高解析度影像的批次處理。 | 在管線前先縮小影像 (`ImageProcessor.Resize`),或使用平行處理 (`Parallel.ForEach`)。 | + +--- + +## 完整可執行範例(即貼即用) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +將此存為 `Program.cs`,執行 `dotnet run`,即可在主控台看到 **從掃描中擷取文字** 的結果。 + +--- + +## 後續步驟與相關主題 + +* **批次處理** – 將上述邏輯包在迴圈中,以處理數十個檔案。 +* **自訂語言套件** – 若需讀取非拉丁文字,可透過 `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;` 載入語言模型。 +* **PDF 輸出** – 結合 Aspose.PDF 與 OCR,將可搜尋文字直接嵌入 PDF 檔案。 +* **效能調校** – 嘗試調整 `ImageProcessingPipeline` 的順序;在噪點較多的照片中,先去噪再校正傾斜有時能更快得到結果。 + +所有這些皆建立在我們先前討論的核心概念之上:**如何校正影像傾斜**、**如何提升對比度**、**載入影像以供 OCR**、**在影像上執行 OCR**,以及最後的 **從掃描中擷取文字**。 + +--- + +## 結語 + +我們剛剛示範了一套完整、可投入生產環境的 **如何校正影像傾斜** 並在 C# 中執行 OCR 的方法。透過串接校正過濾器、去噪步驟、對比度提升與二值化,你即可得到乾淨的輸入,讓 Aspose OCR 能可靠地 **從掃描中擷取文字**。 + +試著執行這段程式碼,依你的文件調整過濾器參數,你會看到辨識準確度迅速提升。有任何問題,歡迎留言,祝編程愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/hongkong/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..72ee51f06 --- /dev/null +++ b/ocr/hongkong/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,265 @@ +--- +category: general +date: 2026-03-07 +description: 如何使用 Aspose OCR 對中文圖片執行光學字符辨識(OCR)。在本教學中學習提取中文文字、將圖片轉換為 ePub,並提升 OCR + 準確度。 +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: zh-hant +og_description: 如何使用 Aspose OCR 對中文圖像執行光學字符辨識。取得逐步程式碼以提取中文文字、提升 OCR 效能,並匯出為 ePub。 +og_title: 如何對中文圖像執行 OCR – 完整 C# 指南 +tags: +- OCR +- C# +- Aspose +title: 如何對中文圖像執行 OCR – 完整 C# 指南 +url: /zh-hant/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在中文圖片上執行 OCR – 完整 C# 指南 + +有沒有想過 **如何在含有中文字符的圖片上執行 OCR**?你並不是唯一的疑問者。無論是掃描收據、數位化教科書,或是打造多語言搜尋引擎,從圖片中取得乾淨的文字都是成敗關鍵的功能。 + +在本教學中,我們將示範一個 **擷取中文文字** 的實務解決方案,將結果寫入純文字檔,甚至 **將圖片轉換成 ePub** 供電子閱讀器使用。過程中,我們會討論 **如何提升 OCR 準確度**、為何要啟用 GPU 模式,以及正確 **辨識簡體中文** 所需的設定。 + +完成本指南後,你將擁有一個可直接執行的 C# 程式、一系列實用技巧,並清楚了解後續可以採取的步驟(例如加入語言偵測或批次處理)。不需要額外文件——所有資訊皆在此。 + +## 你需要的環境 + +- .NET 6+(或 .NET Core 3.1 搭配 Aspose OCR for .NET) +- 有效的 Aspose OCR for .NET 授權(免費試用版足以進行測試) +- 含有簡體中文字符的圖片檔(例如 `chinese_sample.jpg`) +- Visual Studio 2022 或任何你慣用的 C# 編輯器 + +如果缺少上述任一項,請立即取得 NuGet 套件: + +```bash +dotnet add package Aspose.OCR +``` + +就這樣——不需要額外的原生函式庫、也不需要 COM Interop,只要一個 .NET 套件即可。 + +## 如何執行 OCR – 設定 Aspose OCR 引擎 + +首先必須建立並設定 OCR 引擎。此步驟相當關鍵,因為引擎的設定直接決定 **OCR 在中文字符上的表現** 以及執行速度。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**為何這麼重要:** +- **Language = ChineseSimplified** 告訴 Aspose 載入簡體中文字符集,能大幅降低錯誤辨識。 +- **EngineMode.Gpu** 在支援的 GPU 上可將處理時間減半,若無 GPU 則會自動回退至 CPU。 +- **DeskewFilter** 會去除使用手機拍照時常見的傾斜。 +- **Sauvola 二值化** 產生高對比的黑白圖像,是提升中文等密集文字腳本 OCR 準確度的經典技巧。 + +> **專業提示:** 若處理低光環境的照片,可在二值化前加入 `ContrastFilter`。雖然範例不需要,但常能避免不少麻煩。 + +![How to perform OCR pipeline diagram](ocr-pipeline.png "How to perform OCR pipeline diagram") + +> *替代文字:* OCR 流程圖示 + +## 從圖片中擷取中文文字 + +引擎就緒後,我們載入圖片並讓引擎執行魔法。這就是 **擷取中文文字** 的核心。 + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**預期結果:** +如果 `chinese_sample.jpg` 包含「中华人民共和国」這句話,`out.txt` 檔案將完整寫入該句中文——不會出現多餘空格或雜亂的拉丁字母。 + +### 常見陷阱 + +| 問題 | 為何會發生 | 解決方式 | +|------|------------|----------| +| 缺字 | 圖片噪點過多 | 在二值化前加入 `MedianFilter` | +| 語言偵測錯誤 | `Language` 設為 `English` | 確認 `Language = Language.ChineseSimplified` | +| 處理緩慢 | GPU 未啟用 | 檢查機器是否安裝相容的 CUDA 驅動程式 | + +## 將圖片轉換成 ePub + +許多開發者會問,*「我可以把掃描的頁面變成可閱讀的電子書嗎?」* 絕對可以——Aspose OCR 內建 ePub 匯出功能,滿足 **將圖片轉換成 ePub** 的需求。 + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +產生的 `out.epub` 會包含已擷取的中文文字,使用 UTF‑8 編碼,且可在 Kindle、Apple Books 或任何 ePub 閱讀器中開啟。 + +**為何選擇 ePub?** +- 具可重排特性,讀者可調整字型大小而不破壞版面。 +- 文字保持可搜尋,方便日後索引。 + +## 如何提升 OCR – 實用調整 + +即使管線已相當完整,仍可能偶爾出現錯誤辨識。以下是 **提升中文文件 OCR** 的快速檢查清單: + +1. **前置處理圖片** – 使用 `GaussianBlurFilter` 平滑雜點,接著 `ContrastFilter` 銳化邊緣。 +2. **設定較高 DPI** – 若自行控制掃描,建議 300 dpi 以上;低解析度會失去筆畫細節。 +3. **啟用語言偵測** – Aspose 可自動偵測語言,若偵測失敗則回退至簡體中文。 +4. **微調二值化** – 若背景均勻且偏亮,可將 `Sauvola` 換成 `Otsu`。 +5. **批次處理** – 使用 `Parallel.ForEach` 同時處理多頁,以發揮多核心 CPU 效能。 + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## 辨識簡體中文 – 邊緣案例 + +**辨識簡體中文** 常讓新手卡關,因為同一個 OCR 引擎同時支援繁體中文、日文或韓文。為了確保行為可預測,請遵守以下原則: + +- **明確設定語言**(如步驟 1 所示)。 +- **避免混合語言頁面**;若一頁同時包含簡體中文與英文,建議執行兩次辨識:一次使用 `Language.ChineseSimplified`,一次使用 `Language.English`。 +- **驗證輸出** – 辨識完成後,使用簡單的正規表達式確認所有字符落在 Unicode 範圍 `\u4E00‑\u9FFF` 之內。 + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +若驗證失敗,可將該頁面記錄下來以供人工審查。 + +## 完整範例程式 + +以下將所有步驟整合於單一檔案,直接貼到新的 Console 專案 (`Program.cs`) 即可執行。程式內含所有必備步驟、可選調整,以及最終狀態訊息。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**預期的主控台輸出(範例):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +執行程式後,開啟 `out.txt` 或 `out.epub`,即可看到乾淨、可搜尋的中文字符,已準備好供後續處理使用。 + +## 結論 + +我們已完整說明 **如何在中文圖片上執行 OCR**,從 **擷取中文文字**、**轉換結果為 ePub**,到應用多項實用技巧的全流程。未來你可以進一步加入語言偵測、批次處理或其他進階功能,讓你的應用更具彈性與效能。 + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/text-recognition/_index.md b/ocr/hongkong/net/text-recognition/_index.md index 948767d8e..5807b04fe 100644 --- a/ocr/hongkong/net/text-recognition/_index.md +++ b/ocr/hongkong/net/text-recognition/_index.md @@ -45,19 +45,40 @@ url: /zh-hant/net/text-recognition/ ## 文字辨識教程 ### [在 OCR 影像辨識中取得已辨識字元的選擇](./get-choices-for-recognized-characters/) 使用 Aspose.OCR 增強您的 .NET 應用程序,以實現準確的字元辨識。請依照我們的逐步指南檢索影像辨識中已辨識字元的選擇。 + ### [OCR影像辨識中取得辨識結果](./get-recognition-result/) 探索 Aspose.OCR for .NET,這是一款功能強大的 OCR 解決方案,可實現圖像中的無縫文字辨識。 + ### [在 OCR 影像辨識中取得 JSON 格式的結果](./get-result-as-json/) 釋放 Aspose.OCR for .NET 的強大功能。學習輕鬆取得 JSON 格式的 OCR 結果。透過本逐步指南增強您的影像辨識能力。 + ### [OCR影像辨識中的OCR偵測區域模式](./ocr-detect-areas-mode/) 使用 Aspose.OCR 增強您的 .NET 應用程序,以實現高效的圖像文字識別。探索 OCR 偵測區域模式以獲得精確結果。 + ### [OCR影像辨識中辨識PDF](./recognize-pdf/) 使用 Aspose.OCR 釋放 .NET 中 OCR 的潛力。輕鬆從 PDF 中提取文字。立即下載以獲得無縫整合體驗。 + ### [OCR影像辨識中的辨識表](./recognize-table/) 透過我們關於 OCR 影像辨識中表格辨識的綜合指南,釋放 Aspose.OCR for .NET 的潛力。 + +### [在 C# 中辨識圖像文字 – 完整 Aspose OCR 指南](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +使用 Aspose.OCR 在 C# 應用程式中完整辨識圖像文字,提供詳細步驟與範例。 + +### [在 C# 中辨識印地語文字 – 完整 Aspose OCR 指南](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +使用 Aspose.OCR 在 C# 應用程式中完整辨識印地語文字,提供詳細步驟與範例。 + +### [如何在 C# 中從圖像建立 ePub – 步驟指南](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +使用 Aspose.OCR 在 C# 應用程式中將圖像轉換為 ePub 電子書,提供完整的步驟說明。 + +### [在 C# 中從 PNG 提取文字 – 完整 Aspose OCR 指南](./extract-text-from-png-in-c-full-ocr-guide/) +使用 Aspose.OCR 在 C# 中從 PNG 圖像提取文字,提供完整步驟與範例。 + +### [如何在 C# 中使用 OCR – 離線從圖像提取文字](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +使用 Aspose.OCR 在 C# 中離線提取圖像文字,提供完整步驟與範例。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/hongkong/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..f65ffb974 --- /dev/null +++ b/ocr/hongkong/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,252 @@ +--- +category: general +date: 2026-03-07 +description: 使用 C# 從 PNG 檔案中提取文字。學習如何使用 C# 將圖像轉換為文字,並快速讀取掃描圖像中的文字。 +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: zh-hant +og_description: 使用 C# 從 PNG 檔案提取文字。本指南示範如何在 C# 中將圖像轉換為文字,以及使用 Aspose OCR 讀取掃描圖像中的文字。 +og_title: 在 C# 中從 PNG 提取文字 – 完整 OCR 教程 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: 在 C# 中從 PNG 提取文字 – 完整 OCR 教學 +url: /zh-hant/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從 PNG 中提取文字(C#)– 完整 OCR 指南 + +曾經需要 **extract text from PNG** 檔案,但不知從何入手嗎?你並不孤單——大多數開發者在第一次面對需要轉換為可搜尋文字的掃描圖形或螢幕截圖時,都會卡在這裡。好消息是,只要幾行 C# 程式碼加上 Aspose OCR,就能瞬間把任何 PNG 轉換成可編輯的字串。 + +在本教學中,我們將完整示範整個流程:從磁碟上定位 PNG、平行啟動 OCR 工作、到顯示每個結果的預覽。完成後,你將了解如何 **convert image to text C#**,能有效 **read text from scanned images**,同時掌握最佳的 **run OCR on images** 方法,避免阻塞 UI 執行緒。 + +## 需要的環境 + +- .NET 6.0 或更新版本(程式碼同樣適用於 .NET Core 與 .NET Framework) +- Aspose.OCR NuGet 套件(`Install-Package Aspose.OCR`) +- 一個放有 *.png* 檔案的資料夾 +- 任意你喜歡的 IDE(Visual Studio、VS Code、Rider…) + +不需要額外設定;此函式庫已內建解碼 PNG、JPEG、TIFF 等所有常見格式的功能。 + +## 步驟 1:定位所有 PNG 檔案 – 「Extract Text from PNG」開始 + +首先必須找出所有要執行 OCR 的 PNG。使用 `Directory.GetFiles` 既快速又可靠。 + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*為什麼這很重要:* 只掃描一次目錄即可讓後續流程保持簡潔,且提前檢查可避免之後出現「無輸出」的靜默錯誤,這類問題往往難以除錯。 + +## 步驟 2:平行啟動 OCR 任務 – 高效 **run OCR on images** + +對少量檔案而言,順序執行 OCR 仍可接受,但實務上常會面對數十或數百張圖片。為每張圖片建立一個 `Task`,即可在 CPU 繼續運算的同時讓函式庫處理繁重工作。 + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*小技巧:* `Task.Run` 會把工作交給執行緒池,這樣即使有 UI(例如 WinForms/WPF)也能保持回應。如果是在伺服器上執行,同樣的模式可以很好地跨核心擴展。 + +## 步驟 3:等待所有任務完成 – 收集結果 + +現在等待每個 OCR 作業結束。`Task.WhenAll` 會回傳一個陣列,順序與原始檔案列表相同,方便把結果對應回檔名。 + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*邊緣情況說明:* 若任一圖片拋出例外(檔案損毀、格式不支援),`WhenAll` 會把例外向上拋出。你可以在內部的 `Task.Run` 加上 try/catch,並在失敗時回傳空字串或診斷訊息,以提升容錯能力。 + +## 步驟 4:顯示預覽 – 驗證 **convert image to text C#** 輸出 + +快速的預覽可以讓你在將資料寫入其他地方前,先確認 OCR 是否正確。 + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +典型的主控台輸出如下: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +如果預覽出現亂碼,請檢查影像品質或考慮前置處理(例如二值化)——但對於大多數乾淨的 PNG,Aspose OCR 通常能一次就正確辨識。 + +## 可選:將結果寫入 CSV – 真實案例 + +大多數專案都需要把抽取出的文字以結構化格式保存。以下是一個簡易輔助程式,會把檔名與完整 OCR 文字寫入 CSV。 + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +之後即可將 CSV 匯入 Excel、Power BI,或任何需要 **read text from scanned images** 的下游系統。 + +## 常見問答 + +**如果我的 PNG 很大(超過 5 MB)怎麼辦?** +Aspose OCR 會自動對大型影像做降採樣,以維持記憶體使用量合理;若需要自行調整,可使用 `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` 將寬度限制在 2000 px,並保持長寬比。 + +**可以在 Linux 上執行嗎?** +可以。Aspose OCR 為跨平台套件,只要安裝相應的原生相依(例如部分發行版的 `libgdiplus`)即可。 + +**OCR 語言預設是英文嗎?** +是的。若需其他語言,可在呼叫 `Recognize()` 前設定 `engine.Language = OcrLanguage.French;`(或任何支援的列舉值)。 + +**要如何處理包含 PNG 的受密碼保護 PDF?** +先將 PDF 頁面轉成影像(可使用 Aspose PDF 或其他函式庫),再把產生的 PNG 交給相同的管線。**how to run OCR on images** 的原則不變。 + +## 完整範例(Async Main) + +以下是一個可直接貼到 Console 專案的完整程式碼,包含前述所有步驟,以及一個小幫手用來驗證輸入資料夾。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**預期輸出**(兩個 PNG 為例): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## 小結 + +我們已完整說明如何使用 C# **extract text from PNG** 檔案。從定位檔案、平行執行 OCR、預覽文字,到將結果寫入 CSV,這份指南提供了可直接投入生產環境的 **convert image to text C#** 範式。 + +如果你已準備好進一步嘗試,請將相同管線套用到 JPEG 或 TIFF,測試不同的 OCR 語言,或將結果串接至搜尋索引,讓 **read text from scanned images** 能即時被搜尋。 + +對於邊緣案例、效能調校或授權問題有任何疑問,歡迎留言或在 Aspose 社群發問——祝開發順利! + +![從 PNG 中提取文字範例](extract-text-png.png "使用 Aspose OCR 從 PNG 提取文字") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/hongkong/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..52eab1bf3 --- /dev/null +++ b/ocr/hongkong/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-03-07 +description: 如何使用 Aspose OCR 從掃描圖像建立 ePub – 學習將圖像轉換為 ePub、從圖像提取文字、為 ePub 添加作者,以及載入圖像進行 + OCR。 +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: zh-hant +og_description: 如何在 C# 中從掃描圖像建立 ePub。本教學將示範如何將圖像轉換為 ePub、從圖像提取文字、為 ePub 添加作者,以及載入圖像進行 + OCR。 +og_title: 如何在 C# 中從圖片建立 ePub – 完整指南 +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: 如何使用 C# 從圖片建立 ePub – 逐步指南 +url: /zh-hant/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何使用 C# 從圖像建立 ePub – 完整指南 + +有沒有想過 **如何從掃描頁面集合建立 ePub**?也許你手上有幾張經典小說的 PNG,想把它們變成一個整齊的 ePub,隨時在任何裝置上閱讀。好消息是,使用 Aspose OCR 只要幾行 C# 程式碼,就能 **載入圖像進行 OCR**、擷取文字,然後 **將圖像轉換為 ePub**。 + +在本教學中,我們將完整走過整個流程:載入圖片、擷取文字、加入一些中繼資料(沒錯,我們會 **將作者加入 epub**),最後寫出符合標準的 ePub 檔案。完成後,你將得到一個可直接發佈的 ePub,並且對每個步驟都有深入了解,未來可以自行調整程式碼以支援多頁書、客製字型,甚至 DRM‑free 發行。 + +## 你需要的環境 + +- **.NET 6** 或更新版本(API 亦支援 .NET Standard 2.0+) +- **Aspose.OCR for .NET** – 可從 Aspose 官方網站取得免費試用版。 +- 一張已掃描的圖像,例如 `book_page.png`,放在磁碟任意位置。 +- 你慣用的 IDE(Visual Studio、Rider 或 VS Code – 本教學以 Visual Studio 為例)。 + +不需要額外的 NuGet 套件;Aspose.OCR 已內建所有 ePub 匯出所需的功能。 + +--- + +![如何使用 Aspose OCR 從掃描圖像建立 ePub](/images/how-to-create-epub.png "如何使用 Aspose OCR 從掃描圖像建立 ePub") + +## 第一步 – 建立專案並安裝 Aspose.OCR + +首先,建立一個新的 Console 應用程式: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +安裝 Aspose.OCR 套件: + +```bash +dotnet add package Aspose.OCR +``` + +就這樣 – 此函式庫同時提供 OCR 與 ePub 匯出功能,無需額外相依套件。 + +## 第二步 – 載入圖像進行 OCR + +在 **從圖像擷取文字** 之前,我們必須先給 OCR 引擎一個可讀取的圖像。`ImageStream.FromFile` 輔助方法讓這件事變得非常簡單: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **小技巧:** 若圖像是嵌入資源,請改用 `ImageStream.FromResource` 取代 `FromFile`。 + +## 第三步 – 從圖像擷取文字 + +現在引擎會讀取像素並轉換成 Unicode 字串。`Recognize` 方法負責執行這項繁重工作。 + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +為什麼要單獨呼叫 `Recognize`?這讓你可以檢視原始 OCR 輸出、調整語言設定,或在進行 ePub 產生前先做拼字檢查。 + +## 第四步 – 設定 ePub 匯出選項(將作者加入 ePub) + +製作精緻的 ePub 不只是把文字倒出,還需要正確的中繼資料。`EpubExportOptions` 類別提供了簡潔的方式讓你 **將作者加入 ePub**、設定書名,並決定是否嵌入原始圖像。 + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +如果有多頁圖像,你可以在迴圈中持續呼叫 `ocrEngine.Image = …` 與 `ocrEngine.Recognize()`;每一次呼叫都會把新頁面的內容附加到同一個 ePub 文件中。 + +## 第五步 – 轉換圖像為 ePub 並匯出 + +文字已擷取完畢且中繼資料設定完成,最後只需要一行程式碼即可將 ePub 寫入磁碟: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +產生的 `book.epub` 可在 Calibre、Apple Books 或任何支援 EPUB 的閱讀器中開啟。因為我們將 `IncludeImages = true`,原始 PNG 會以圖片頁的形式保留,完整呈現掃描來源的外觀。 + +## 完整範例程式 + +以下是完整、可直接執行的程式碼: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### 預期輸出 + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +在你喜愛的閱讀器中開啟 `book.epub`,即可看到封面頁、作者行(即使顯示為 “Unknown”),以及與可選取文字同步的掃描圖像。 + +## 常見問題與特殊情況 + +### 若 OCR 語言不是英文該怎麼辦? + +Aspose.OCR 支援超過 70 種語言。只要在呼叫 `Recognize` 前設定 `Language` 屬性即可: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### 如何處理多頁書籍? + +將載入與辨識的邏輯包在 `foreach` 迴圈中: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +每一次迭代都會把新辨識的文字附加到同一個 ePub,保持頁面順序。 + +### 可以不匯入原始圖像嗎? + +可以 – 在 `EpubExportOptions` 中將 `IncludeImages = false`。如此產生的 ePub 只包含可重排文字,檔案大小會大幅減少。 + +### 若要使用自訂字型或樣式該怎麼做? + +Aspose.OCR 的 ePub 匯出器允許透過 `EpubExportOptions` 的 `Css` 屬性提供 CSS 樣式表。這樣就能指定特定字型、行高或邊距等樣式。 + +## 結論 + +現在你已掌握 **如何使用 Aspose OCR 在 C# 中從掃描圖像建立 ePub**。本教學涵蓋了從 **載入圖像進行 OCR**、**從圖像擷取文字**、**將作者加入 epub**,到最後 **將圖像轉換為 epub** 的完整流程。手握完整程式碼後,你可以將此解決方案擴充為批次處理整個圖書館、加入自訂封面,甚至整合至 Web API。 + +準備好挑戰下一個目標了嗎?試著將 PDF 轉換為 ePub,或調整 OCR 信心門檻以提升噪點掃描的辨識準確度。結合強大的 OCR 與彈性的 ePub 產生,你的可能性無限。 + +祝程式開發順利,閱讀新生成的 ePub 愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/hongkong/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..7bbd61ffa --- /dev/null +++ b/ocr/hongkong/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: 學習如何在 C# 中使用 OCR 從圖像檔案提取文字。本指南展示離線 OCR、將圖像轉換為文字,以及載入圖像進行 OCR。 +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: zh-hant +og_description: 如何在 C# 中使用 OCR 離線提取圖像文字。逐步程式碼、技巧與完整說明,教您將圖像轉換為文字。 +og_title: 如何在 C# 中使用 OCR – 完整離線指南 +tags: +- OCR +- C# +- Aspose +title: 如何在 C# 中使用 OCR – 離線從圖片提取文字 +url: /zh-hant/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 如何在 C# 中使用 OCR – 離線從圖像提取文字 + +有沒有想過 **如何在 .NET 專案中使用 OCR** 而不將資料傳送到雲端?你並不孤單。許多開發人員需要在受保護的工作站上 *從圖像檔案提取文字*,且擔心網路流量會洩露敏感資訊。 + +好消息是?使用 Aspose.OCR,你可以完全離線辨識 PNG、JPEG 或 PDF 中的文字。在本教學中,我們將逐步說明如何載入圖像進行 OCR、設定離線模式的引擎,最後只需幾行 C# 程式碼即可 **將圖像轉換為文字**。 + +在本指南結束時,你將能夠: + +* 安裝 Aspose.OCR NuGet 套件。 +* 設定 OCR 引擎以進行離線處理。 +* 載入圖像進行 OCR 並提取其文字內容。 + +無需外部服務、無需 API 金鑰——只需純粹的 C# 程式碼,即可在任何 Windows 或 Linux 機器上執行。 + +--- + +## 前置條件 + +在開始之前,請確保你已具備: + +* .NET 6.0 SDK 或更新版本(此程式碼同樣支援 .NET Framework 4.7 以上)。 +* Visual Studio 2022、VS Code,或任何支援 C# 的編輯器。 +* **Aspose.OCR** 函式庫的副本——可從 NuGet 取得(`Aspose.OCR`)。 +* 隨函式庫一起提供的 OCR 資源資料夾(`Resources`),內含語言資料檔。 +* 一張範例圖像(例如 `offline_test.png`),放置於已知目錄中。 + +> **專業提示:** 將資源資料夾放在可執行檔旁邊;這樣可簡化 `ResourcesPath` 的設定。 + +## 步驟 1:安裝 Aspose.OCR NuGet 套件 + +首先,將函式庫加入你的專案。於專案資料夾中開啟終端機並執行: + +```bash +dotnet add package Aspose.OCR +``` + +或者,若你偏好使用 Visual Studio 介面,右鍵點選 **Dependencies → Manage NuGet Packages**,搜尋 *Aspose.OCR*,然後點擊 **Install**。 + +> 安裝套件會自動下載所有必要的二進位檔,無需額外的 DLL。 + +## 步驟 2:建立並設定 OCR 引擎(如何使用 OCR – 離線模式) + +現在我們將實例化 OCR 引擎,並指示它以 **離線** 方式運作。這可確保辨識過程中不會產生任何網路流量。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**為什麼要離線?** +當 `EngineMode` 設為 `Online` 時,引擎會連線至 Aspose 雲端即時下載語言套件。在受管制的環境(金融、醫療)中,此類流量通常被禁止。強制使用離線模式即可確保所有資料皆留在本機。 + +## 步驟 3:將引擎指向 OCR 資源資料夾 + +OCR 引擎需要語言資料(訓練模型)才能辨識字元。請告訴它這些檔案所在的位置: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +如果不確定資料夾位置,可在 NuGet 套件目錄下找到(`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`)。將整個資料夾複製到你的專案中,以便更輕鬆部署。 + +## 步驟 4:載入圖像以進行 OCR(Load Image for OCR) + +你可以將任何支援的位圖提供給引擎。此處我們將載入磁碟上的 PNG 圖像: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**提示:** 若需從串流處理圖像(例如透過 API 上傳),請改用 `ImageStream.FromStream(yourStream)`。 + +## 步驟 5:執行辨識程序並將圖像轉換為文字 + +所有設定完成後,啟動 OCR。`Recognize()` 方法負責主要的辨識工作,提取出的文字可透過 `Text` 屬性取得。 + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +## 步驟 6:輸出提取的文字 + +最後,顯示結果。在主控台應用程式中只需寫入主控台;若是 Web API,則可將字串作為 JSON 回傳。 + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +執行程式後應會印出 `offline_test.png` 的文字內容。例如,若圖像包含字句 *“Hello, World!”*,則會看到: + +``` +=== OCR Result === +Hello, World! +``` + +## 完整範例程式 + +以下是完整、可直接執行的程式。將其複製貼上至新建的主控台專案(`dotnet new console`),並依你的環境調整路徑。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **預期輸出:** 主控台會印出 PNG 檔案中完整的文字。若圖像模糊,結果可能包含辨識錯誤的字元——請參閱下方的故障排除章節。 + +## 常見問題與技巧(有效辨識 PNG 文字) + +| 問題 | 為什麼會發生 | 如何解決 | +|------|--------------|----------| +| **輸出為空** | ResourcesPath 指向錯誤的資料夾或缺少語言檔案。 | 確認資料夾內含 `eng.traineddata`(或其他語言檔案),並再次檢查路徑字串。 | +| **雜訊字元** | 圖像解析度過低或未進行二值化。 | 預先處理圖像(提升 DPI,使用 `ImageProcessor` 銳化)。 | +| **效能延遲** | 大型圖像以完整解析度處理。 | 在送入 OCR 前將圖像大小調整至最大寬度 2000 px。 | +| **不支援的格式** | 使用了具有不尋常像素格式的 BMP。 | 先將圖像轉為 PNG 或 JPEG(`System.Drawing.Image.Save`)。 | + +**專業提示:** 若需辨識多種語言,請在呼叫 `Recognize()` 前設定 `ocrEngine.Settings.Language = Language.English | Language.French;`。 + +## 常見問答 + +**問:我可以在 Linux 上使用這段程式碼嗎?** +當然可以。Aspose.OCR 為跨平台套件,只要確保本機已包含原生函式庫(已隨 NuGet 套件一起打包)。 + +**問:如果我沒有 Resources 資料夾該怎麼辦?** +你可以從 Aspose 官方網站下載免費語言套件,或從 NuGet 套件中解壓取得(`.../aspose.ocr//resources`)。 + +**問:有辦法取得信心分數嗎?** +有的。呼叫 `Recognize()` 後,檢查 `ocrEngine.RecognizedWords`——每個單字都包含 `Confidence` 屬性。 + +## 結論 + +我們已說明 **如何在 C# 中使用 OCR** 完全離線 *從圖像檔案提取文字*。只要安裝 Aspose.OCR、將 `EngineMode` 設為 `Offline`、指向資源資料夾、載入圖像,並呼叫 `Recognize()`,即可可靠地 **將圖像轉換為文字**,且全程不需連網。 + +使用上述程式碼,替換成自己的圖像路徑,即可開始開發可搜尋的 PDF、資料輸入自動化或無障礙工具等功能。接下來,你可以探索批次 **辨識 PNG 文字**,或將引擎整合至 ASP.NET Core API,為前端應用提供 OCR 結果。 + +祝開發順利,盡情嘗試吧——只要正確設定引擎,OCR 的容錯度相當高! + +![顯示離線 OCR 工作流程的圖示 – 如何在安全環境中使用 OCR](https://example.com/ocr-workflow.png "如何使用 OCR 圖示") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/hongkong/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..eab165723 --- /dev/null +++ b/ocr/hongkong/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-03-07 +description: 學習如何使用 Aspose.OCR 在 C# 中辨識印地語文字並載入影像進行 OCR。一步一步的設定、程式碼與技巧。 +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: zh-hant +og_description: 探索如何在 C# 中使用 Aspose OCR 識別印地語文字。包括載入 OCR 圖像、語言套件設定以及最佳實踐技巧。 +og_title: 識別印地語文字 – 完整 Aspose OCR 教學 +tags: +- C# +- OCR +- Aspose +- Hindi +title: 在 C# 中辨識印地語文字 – 完整 Aspose OCR 指南 +url: /zh-hant/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 辨識印地語文字 – 完整 Aspose OCR 教學 + +是否曾經需要從掃描的收據中**辨識印地語文字**,卻不知從何著手?你並不孤單。在許多以印度為目標的應用程式中,可靠地擷取印地語字元常常像在追逐移動的目標。幸好,Aspose.OCR 讓這變得輕而易舉——只要掌握正確的**load image for OCR** 步驟,並將引擎指向印地語語言資源。 + +在本指南中,我們將逐步說明在 C# 中建立可運作的 OCR 流程所需的一切。完成後,你將擁有一個可執行的程式,能下載印地語語言套件、載入影像、執行辨識,並將結果文字印到主控台。沒有模糊的「請參考文件」連結——只有一個可自行包含的解決方案,隨時可放入任何 .NET 專案中。 + +## 需要的環境與工具 + +- **.NET 6+**(或 .NET Framework 4.7.2+)。API 在各版本間保持一致,但較新的執行階段可提供更佳效能。 +- **Aspose.OCR for .NET** NuGet 套件。使用 `dotnet add package Aspose.OCR` 安裝。 +- **Hindi language pack**(印地語語言套件)— Aspose 以可下載資源方式提供,預設不會捆綁。 +- 包含印地語文字的影像檔(例如 `hindi_receipt.jpg`)。任何常見格式(JPG、PNG、BMP)皆可使用。 +- 一個不錯的 IDE(Visual Studio、Rider 或 VS Code)。 + +就這樣——不需要外部 OCR 引擎、也不需要雲端金鑰,只要本地函式庫即可。 + +## 步驟 1:下載印地語語言套件 – 設定資源 + +在 OCR 引擎能理解天城文(Devanagari)字元之前,你必須取得印地語語言資源。這是一個一次性的操作,通常在應用程式安裝或 CI/CD 階段執行。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Why this matters:** OCR 引擎依賴語言特定的模型將像素模式映射到 Unicode 字元。若未安裝印地語套件,將會得到亂碼的拉丁文字或根本沒有輸出。 + +> **Pro tip:** 將套件快取於目標機器上可寫入的資料夾中。如果你部署到 Azure App Service,請使用 `D:\home\site\wwwroot\Resources` 資料夾。 + +## 步驟 2:設定 OCR 引擎 – 指向資源 + +資源就緒後,建立 `OcrEngine` 實例並告訴它語言檔案所在位置。這裡同時會設定**primary language**(主要語言)以供辨識使用。 + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Why we do this:** `ResourcesPath` 是引擎與下載檔案之間的橋樑。若省略此步驟,引擎將退回使用內建(僅英語)模型,將無法正確**辨識印地語文字**。 + +## 步驟 3:載入影像以供 OCR – 為引擎提供正確的輸入 + +引擎就緒後,下一步是**load image for OCR**。Aspose 提供便利的 `ImageStream.FromFile` 輔助方法,支援大多數常見影像格式。 + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Large images** 會減慢處理速度。若處理高解析度掃描,請先進行降採樣(`ImageProcessor.Resize`)。 +- **Incorrect orientation**(影像方向錯誤)會導致結果不佳。如有需要,可使用 `ocrEngine.Image.Rotate(90)`。 + +## 步驟 4:執行辨識 – 抽取文字 + +現在我們實際請求引擎讀取像素並轉換為 Unicode 字串。 + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**What to expect:** 若影像清晰,應會看到印地語字元如同收據上呈現的樣子。例如,範例收據的輸出可能如下: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +若出現亂碼,請再次確認語言套件已正確下載,且 `ocrEngine.Settings.Language` 已設定為 `Language.Hindi`。 + +## 步驟 5:完整整合 – 可執行程式 + +以下是完整的原始檔案,可直接複製貼上至 Console 專案。它包含上述所有步驟,並加入最小的錯誤處理。 + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +將其儲存為 `Program.cs`,執行 `dotnet run`,即可在主控台看到印地語文字。 + +## 常見問題 (FAQ) + +### 我可以在一次執行中辨識多種語言嗎? + +可以。將 `ocrEngine.Settings.Language` 設為陣列,例如 `new[] { Language.Hindi, Language.English }`。引擎會嘗試偵測兩種文字的字元。 + +### 如果我的影像模糊該怎麼辦? + +可考慮使用 `ImageProcessor` 進行前置處理——在指派給 `ocrEngine.Image` 前,先套用銳化或對比度增強。 + +### 這在 Linux/macOS 上能運作嗎? + +當然可以。Aspose.OCR 為跨平台套件,只要確保本機相依性存在(通常已隨 NuGet 套件一起捆綁)。 + +### 如何提升低解析度收據的辨識準確度? + +在掃描時提升 DPI(每英吋點數),或在 OCR 前以程式方式將影像重新取樣至至少 300 DPI。 + +## 結論 + +我們已說明使用 Aspose.OCR **辨識印地語文字** 所需的全部步驟——從下載印地語語言套件、設定引擎、正確 **load image for OCR**,到抽取並印出結果。上方完整的程式碼片段可直接放入任何 C# Console 應用程式,且提供的可選技巧可協助處理如模糊掃描或多語言文件等常見情況。 + +準備好進一步了嗎?可以將 OCR 輸出送入翻譯 API,或將抽取的資料存入資料庫以供分析。亦可嘗試其他印度語言——Aspose 支援泰米爾語、孟加拉語等,只要將 `Language.Hindi` 換成相應的列舉值即可。 + +祝開發順利,願你的 OCR 結果永遠清晰! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hongkong/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/hongkong/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..9de4ac300 --- /dev/null +++ b/ocr/hongkong/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-03-07 +description: 使用 Aspose OCR 快速辨識圖片中的文字。於一步一步的 C# 教學中,學習如何將 djvu 轉換為文字、從圖片提取文字,以及載入圖片進行 + OCR。 +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: zh-hant +og_description: 使用 Aspose OCR 在 C# 中辨識圖像文字。本指南展示如何將 djvu 轉換為文字、從圖像中提取文字,以及載入圖像進行 OCR,並提供實用技巧。 +og_title: 從圖像辨識文字 – 完整 C# Aspose OCR 教學 +tags: +- C# +- Aspose OCR +- Document Processing +title: 在 C# 中從圖像辨識文字 – 完整 Aspose OCR 指南 +url: /zh-hant/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 從圖像辨識文字 – 完整 C# Aspose OCR 教學 + +是否曾需要 **recognize text from image**,卻不確定哪個函式庫能提供可靠的結果?你並不孤單。無論是處理掃描發票、歷史 DJVU 檔案,或是簡單的 PNG 截圖,提取精確的字元都可能感覺像在破譯古代文字。 + +事實上——Aspose OCR 讓整個流程變得輕而易舉。在本指南中,我們將示範如何使用簡潔的 C# 程式 **convert djvu to text**、**extract text from image**,以及 **load image for OCR**。完成後,你將擁有一個可執行的主控台應用程式,會將辨識出的字串印到主控台,並且了解每一行程式背後的「原因」。 + +## 你將學到什麼 + +- 如何在 .NET 專案中設定 Aspose OCR 引擎。 +- 從 DJVU 檔案 **load image for OCR** 所需的完整程式碼。 +- 為何在讀取 `Text` 之前必須先呼叫 `Recognize()`。 +- 常見陷阱(多頁 DJVU、不支援的格式)以及如何避免。 +- 快速將 **convert djvu to text** 用於批次處理的方法。 + +你只需要最新版的 .NET SDK(≥ 6.0)以及 Aspose OCR 授權(免費試用版可用於測試)。不需要外部服務,也不需要 REST 呼叫——純粹使用 C#。 + +## 前置條件 + +| Requirement | Reason | +|-------------|--------| +| .NET 6 SDK or later | 現代語言功能與更佳效能。 | +| Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) | 提供我們將使用的 `OcrEngine` 類別。 | +| A DJVU file (e.g., `sample.djvu`) | 示範 **convert djvu to text**。 | +| Basic familiarity with C# console apps | 讓步驟自然流暢。 | + +如果缺少上述任何項目,請先暫停並安裝它們;否則程式碼將無法編譯。 + +## 步驟 1 – 安裝 Aspose.OCR 並建立專案 + +首先,建立一個新的主控台專案,並加入 OCR 函式庫。 + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*小技巧:* 若想明確鎖定目標框架,請使用 `--framework net6.0` 參數。 + +## 步驟 2 – 初始化 OCR 引擎並載入 DJVU 圖像 + +引擎需要圖像來源。Aspose.OCR 能讀取多種格式,包括 DJVU,因此我們只需指向檔案路徑即可。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**為何重要:** +- `OcrEngine` 為入口點;只建立一次並重複使用可減少記憶體開銷。 +- `ImageStream.FromFile` 抽象化檔案格式,之後你可以將 DJVU 檔案換成 PNG 或 TIFF,無需修改其他程式碼——非常適合在不同情境下「how to extract text from image」。 + +## 步驟 3 – 執行辨識程序 + +呼叫 `Recognize()` 會觸發繁重的運算。底層 Aspose 會使用基於神經網路的分類器,支援印刷文字與手寫文字。 + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*邊緣情況說明:* 若 DJVU 包含多頁,`ImageStream.FromFile` 仍僅載入第一頁。若要處理全部頁面,需要對 `ImageStream.FromFile(...).Pages` 進行迴圈。對於大多數快速檢視任務,第一頁已足夠。 + +## 步驟 4 – 取得並顯示辨識文字 + +辨識完成後,引擎會將 `Text` 屬性填入純文字字串。你現在可以將它寫入主控台、檔案,或傳遞給其他系統。 + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +典型的輸出如下: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +如果輸出雜亂,請再次確認來源圖像的解析度是否過低;Aspose 建議使用 300 dpi 或更高以獲得最佳準確度。 + +## 完整可執行範例 + +將上述所有步驟整合起來,以下是一個單一檔案(`Program.cs`),可直接貼入先前建立的專案中。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +使用以下指令執行: + +```bash +dotnet run +``` + +你應該會在終端機看到提取出的字串。這是使用 Aspose OCR 進行 **recognize text from image** 的最簡單方式。 + +## 步驟 5 – 進階:將多頁 DJVU 轉換為文字檔 + +若需要批次 **convert djvu to text**,可在先前的程式碼加入迴圈: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*為何可行:* `GetPage(i)` 會回傳所請求頁面的 `Image` 物件,讓你可以重複使用同一個 `OcrEngine` 實例。每一頁的文字會寫入各自的 `.txt` 檔案,形成乾淨的 **convert djvu to text** 流程。 + +## 常見問題與注意事項 + +- **Can I extract text from a JPEG instead of DJVU?** + 絕對可以。只要在 `FromFile` 中更改檔案副檔名即可。相同的程式碼 **how to extract text from image** 仍適用,因為 Aspose 抽象化了格式。 + +- **What if the OCR result contains extra line breaks?** + 使用 `String.Replace("\r\n", " ")` 或正規表達式來正規化空白字元。 + +- **Do I need a license for production use?** + 免費試用版支援最多 100 頁。若需無限制使用,請購買授權,並在建立引擎前呼叫 `License license = new License(); license.SetLicense("Aspose.OCR.lic");`。 + +- **Is the engine thread‑safe?** + 否。每個執行緒請建立獨立的 `OcrEngine`,或使用鎖定機制保護存取。 + +## 提升準確度的技巧 + +1. **Increase DPI** – 若能控制來源轉換,請將圖像輸出為 300 dpi 或更高。 +2. **Pre‑process the image** – 簡單的二值化 (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) 可改善噪點掃描的結果。 +3. **Specify language** – `ocrEngine.Language = Language.English;` 可縮小字元集並加速辨識。 + +## 結論 + +現在你已擁有一個完整、可直接執行的範例,使用 Aspose OCR 進行 **recognize text from image**,同時了解了如何 **convert djvu to text**、**how to extract text from image**,以及正確的 **load image for OCR** 方法。程式碼自包含、可在任何 .NET 6+ 執行環境執行,亦可擴充以批次處理多頁 DJVU 文件。 + +接下來,你可以探索: + +- 為多語言 DJVU 檔案加入 **language detection**。 +- 將 OCR 輸出整合至搜尋索引(例如 Elasticsearch)。 +- 使用 Aspose 的 PDF 轉換功能,將提取的文字轉為可搜尋的 PDF。 + +試試看,調整 DPI,實驗不同的圖像格式,讓 OCR 引擎為你完成繁重的工作。祝開發愉快! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/ocr-configuration/_index.md b/ocr/hungarian/net/ocr-configuration/_index.md index 47bb729fd..4b9880fc4 100644 --- a/ocr/hungarian/net/ocr-configuration/_index.md +++ b/ocr/hungarian/net/ocr-configuration/_index.md @@ -61,7 +61,9 @@ Szabadítsa fel az OCR képfelismerés erejét .NET-ben az Aspose.OCR-rel. Kény ### [OCROperation nyelvválasztással az OCR képfelismerésben](./ocr-operation-with-language-selection/) Használja ki az OCR erőteljes képességeit az Aspose.OCR for .NET-ben. Zökkenőmentesen nyerjen ki szöveget a képekből. ### [OCROperation listával az OCR képfelismerésben](./ocr-operation-with-list/) -Fedezze fel az Aspose.OCR for .NET lehetőségeit. Könnyedén végezzen OCR képfelismerést listákkal, növelje a termelékenységet és az adatkinyerést alkalmazásaiban. +Fedezze fel az Aspose.OCR for .NET lehetőségeit. Könnyedén végezzen OCR képfelismerést listákkal, növelje a termelékenységet és az adatkinyerést alkalmazásaiban. +### [PNG‑ből szöveg olvasása – cirill szöveg kinyerése az Aspose OCR-rel](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Tanulja meg, hogyan nyerjen ki cirill karaktereket PNG képekből az Aspose OCR .NET használatával. ### Gyakori felhasználási esetek - **Szöveg kinyerése** beolvasott számlákról az automatizált könyveléshez. @@ -98,4 +100,4 @@ A: Igen, az `OcrResult` objektum bizalmi értékeket biztosít, amelyeket progra {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/hungarian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..848b755e2 --- /dev/null +++ b/ocr/hungarian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,187 @@ +--- +category: general +date: 2026-03-07 +description: Ismerje meg, hogyan olvashat szöveget PNG-ből, és nyerhet ki cirill szöveget + az Aspose OCR segítségével, konvertálja a képet szöveggé, és töltse le a cirill + nyelvi csomagot. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: hu +og_description: Tanulja meg, hogyan olvashat szöveget PNG-ből, hogyan nyerhet ki cirill + szöveget, és hogyan konvertálhatja a képet szöveggé az Aspose OCR használatával + C#-ban. +og_title: szöveg olvasása PNG-ből – cirill szöveg kinyerése az Aspose OCR-rel +tags: +- Aspose OCR +- C# +- Image Processing +title: szöveg olvasása PNG-ből – cirill szöveg kinyerése az Aspose OCR-rel +url: /hu/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# szöveg olvasása png‑ből – cirill szöveg kinyerése az Aspose OCR‑rel + +Szükséged van **png‑ből szöveg olvasására** és a cirill karakterek kinyerésére? Ebben az útmutatóban megmutatjuk, hogyan olvassunk szöveget png‑ből az Aspose OCR‑rel, hogyan nyerjünk ki cirill szöveget, és hogyan **alakítsuk át a képet szöveggé** néhány C#‑sorral. + +Ha valaha is egy orosz számla képernyőképe előtt ültél, és azon tűnődtél, hogyan lehet a szavakat kereshető karakterláncba átalakítani, jó helyen vagy. +Azt is bemutatjuk, hogyan **töltsd le automatikusan a cirill nyelvi csomagot**, így nem kell külön fájlokat keresgélned. + +## Mit fogsz elérni + +* **Tölts be egy képet OCR‑hez** közvetlenül lemezről vagy egy stream‑ből. +* Állítsd be a motorra a **cirill nyelvet** manuális letöltés nélkül. +* Futtasd a felismerést és **nyerd ki a cirill szöveget** egy PNG fájlból. +* Lásd a felismert szöveget a konzolon kiírva – egy tiszta, egyszerű szöveg, amelyet adatbázisokba, keresőindexekbe vagy bármilyen más munkafolyamatba beilleszthetsz. + +Nincs külső szolgáltatás, nincs felhőkulcs, csak az Aspose OCR NuGet csomag és néhány C# sor. + +## Előfeltételek + +* .NET 6.0 vagy újabb (a kód működik .NET Core‑on, .NET Framework‑ön és .NET 5+-ön). +* Visual Studio 2022 vagy bármely kedvenc szerkesztő. +* Az Aspose.OCR NuGet csomag (`dotnet add package Aspose.OCR`). +* Egy PNG kép, amely cirill karaktereket tartalmaz – például a `cyrillic_sample.png` fájl, amely a `YOUR_DIRECTORY` mappában van elhelyezve. + +> **Pro tipp:** Ha Visual Studio‑t használsz, jobb‑klikk a projektre → **NuGet csomagok kezelése** → keresd a „Aspose.OCR” kifejezést és telepítsd a legújabb stabil verziót. + +## 1. lépés – Aspose OCR telepítése és a motor létrehozása + +Először szükségünk van az OCR motor példányra. Az `OcrEngine` osztály minden művelet belépési pontja. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Miért fontos:** A motor tartalmazza a nyelvi csomagokat, a kép adatokat és a felismerési beállításokat. Egyszer példányosítva, és több képnél újra felhasználva javíthatja a teljesítményt. + +## 2. lépés – **kép betöltése OCR‑hez** és a nyelv beállítása + +Most megadjuk a motor számára, melyik képet dolgozza fel, és melyik nyelvet keresse. A `Language.Cyrillic` beállítása automatikusan letölti a szükséges nyelvi csomagot az első futtatáskor. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Külön eset:** Ha a PNG nagy (több mint 5 MB), érdemes előbb átméretezni a felismerés gyorsítása érdekében. Az `Image` tulajdonság `Stream`‑et is elfogad, így betöltheted memóriából, webkéréssel vagy Azure Blob‑ból anélkül, hogy a fájlrendszert érintenéd. + +## 3. lépés – **kép átalakítása szöveggé** egyetlen hívással + +A felismerés olyan egyszerű, mint a `Recognize()` meghívása. E hívás után a `Text` tulajdonság tartalmazza a kinyert karakterláncot. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Mi történik a háttérben?** Az Aspose egy neurális hálózaton alapuló osztályozót futtat, amelyet milliók cirill glifjeire képeztek ki. A könyvtár elrejti ezt a komplexitást, így csak tiszta Unicode‑ot kapsz. + +## 4. lépés – Az eredmény kiírása (vagy továbbküldése máshová) + +Demó céljából a szöveget a konzolra írjuk ki, de könnyen elmentheted fájlba, adatbázisba, vagy átadhatod egy keresőindexnek. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Várt kimenet** (feltételezve, hogy a `cyrillic_sample.png` a „Привет мир” kifejezést tartalmazza): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Ha a kimenet összezavartnak tűnik, ellenőrizd, hogy a kép tiszta-e, és hogy beállítottad-e a `Language.Cyrillic` értéket. A motor alapértelmezés szerint angolt használ, ami a cirill karaktereket ismeretlen szimbólumként kezeli. + +## 5. lépés – Teljes, futtatható példa + +Összevonva, itt egy önálló program, amelyet beilleszthetsz egy új konzolprojektbe. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Mentsd a fájlt `Program.cs` néven, futtasd a `dotnet run` parancsot, és a konzolon meg kell jelennie a cirill szövegnek. + +## Gyakori kérdések és hibaelhárítás + +| Kérdés | Válasz | +|----------|--------| +| **Mi van, ha a nyelvi csomag nem töltődik le?** | Győződj meg róla, hogy a gépnek van internetkapcsolata. A csomag a `%USERPROFILE%\.Aspose\OCR\Languages` mappában van gyorsítótárazva. Ennek a mappának a törlése friss letöltést kényszerít. | +| **Olvashatok más nyelveket is a cirill mellett?** | Természetesen – cseréld le a `Language.Cyrillic`-et `Language.English`, `Language.Arabic` stb. értékre. Ugyanaz az automatikus letöltési logika érvényes. | +| **A PNG-m zajos – az eredmények rosszak. Mit tehetek?** | Előfeldolgozhatod a képet: növeld a kontrasztot, konvertáld szürkeárnyalatosra, vagy alkalmazz medián szűrőt. Az Aspose OCR továbbá `Settings.ImagePreprocess` beállításokat kínál. | +| **Van mód arra, hogy minden szóhoz kapjunk körülhatároló dobozt?** | Igen, a `Recognize()` után ellenőrizheted az `ocrEngine.Regions`-t, amely minden felismert szóhoz egy téglalapot ad vissza. | +| **Szükségem van licencre a termelési környezetben?** | Az ingyenes értékelés legfeljebb 100 oldalra működik. Kereskedelmi projektekhez vásárolj licencet – ez eltávolítja az értékelési vízjelet és feloldja a nagysebességű kötegelt feldolgozást. | + +## Következő lépések – a megoldás bővítése + +* **Kötegelt feldolgozás:** Egy PNG‑mappán végig iterálva gyűjtsd össze a szövegeket egy CSV fájlba. +* **Integráció az Azure Cognitive Search‑szel:** Indexeld a kinyert cirill karakterláncokat a gyors kereséshez. +* **Kombinálás PDF konverzióval:** Használd az Aspose.PDF‑et a beolvasott PDF‑ek PNG‑vé alakításához, majd futtasd ugyanazt az OCR folyamatot. + +Mindezek a forgatókönyvek az általunk most bemutatott alapmintát használják: **kép betöltése OCR‑hez → nyelv beállítása → felismerés → a szöveg felhasználása**. + +## Következtetés + +Most már tudod, hogyan **olvass szöveget png‑ből**, **nyerj ki cirill szöveget**, és **alakítsd át a képet szöveggé** az Aspose OCR‑rel C#‑ban. A kulcsfontosságú lépések a motor létrehozása, a kép betöltése, a megfelelő nyelv kiválasztása (ami automatikusan **letölti a cirill nyelvi csomagot**), és végül a `Recognize()` meghívása. + +Próbáld ki különböző képekkel, kísérletezz a `Settings` beállításokkal, és figyeld, ahogy alkalmazásaid kereshetővé, többnyelvűvé és sokkal intelligensebbé válnak. + +Boldog kódolást, és nyugodtan hagyj megjegyzést, ha bármilyen problémába ütközöl! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/ocr-optimization/_index.md b/ocr/hungarian/net/ocr-optimization/_index.md index 89201a564..812522de3 100644 --- a/ocr/hungarian/net/ocr-optimization/_index.md +++ b/ocr/hungarian/net/ocr-optimization/_index.md @@ -69,11 +69,20 @@ Fedezze fel az Aspose.OCR for .NET lehetőségeit átfogó útmutatónkkal. Tanu Fedezze fel az Aspose.OCR for .NET-et. Növelje az OCR pontosságát előfeldolgozó szűrőkkel. Töltse le most a zökkenőmentes integrációért. ### [Eredménykorrekció helyesírás-ellenőrzéssel OCR kép felismerésben](./result-correction-with-spell-checking/) -Növelje az OCR pontosságát az Aspose.OCR for .NET segítségével. Javítsa a helyesírást, testreszabja a szótárakat, és könnyedén érjen el hibamentes szövegfelismerést. +Növelje az OCR pontosságát az Aspose.OCR for .NET segítségével. Javítsa a helyesírást, testreszabja a szótárakat, és könnyen érjen el hibamentes szövegfelismerést. ### [Többoldalas eredmény mentése dokumentumként OCR kép felismerésben](./save-multipage-result-as-document/) Fedezze fel az Aspose.OCR for .NET lehetőségeit. Könnyedén mentse a többoldalas OCR eredményeket dokumentumokként ezzel az átfogó lépésről‑lépésre útmutatóval. +### [Hogyan kiegyenesítsen képet és futtassa az OCR‑t C#‑ban – Teljes útmutató](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Ismerje meg, hogyan lehet a képet kiegyenesíteni és OCR‑t végrehajtani C#‑ban az Aspose.OCR segítségével, lépésről‑lépésre. + +### [Aspose OCR példa – helyesírás-ellenőrzés engedélyezése és hibák javítása C#‑ban](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Ismerje meg, hogyan engedélyezheti a helyesírás-ellenőrzést és javíthatja a felismerési hibákat C#‑ban az Aspose.OCR segítségével. + +### [Hogyan hajtson végre OCR-t kínai képeken – Teljes C# útmutató](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Fedezze fel, hogyan ismerje fel a kínai nyelvű szöveget képeken C#‑ban az Aspose.OCR segítségével, lépésről‑lépésre. + ## Gyakran Ismételt Kérdések **Q: Can I extract text from image files that contain multiple languages?** diff --git a/ocr/hungarian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/hungarian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..c3def53cb --- /dev/null +++ b/ocr/hungarian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR példa, amely bemutatja, hogyan lehet engedélyezni a helyesírás-ellenőrzést, + egyéni szótárat hozzáadni, képet betölteni OCR-rel, és gyorsan javítani az OCR hibákat. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: hu +og_description: Aspose OCR példa, amely végigvezet a helyesírás-ellenőrzés engedélyezésén, + egy egyéni szótár hozzáadásán, egy kép betöltésén OCR-hez, és a gyakori OCR hibák + javításán. +og_title: Aspose OCR példa – Helyesírás-ellenőrzés engedélyezése és hibák javítása +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR példa – Helyesírás-ellenőrzés engedélyezése és hibák javítása C#‑ban +url: /hu/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR példa – Helyesírás-ellenőrzés engedélyezése és hibák javítása C#‑ban + +Valaha is szükséged volt egy **Aspose OCR példára**, amely nem csak képről olvas szöveget, hanem megtisztítja azokat a makacs helyesírási hibákat is? Nem vagy egyedül. Sok valós projektben a nyers OCR kimenet tele van elírásokkal, különösen ha a forráskép alacsony kontrasztú betűket vagy kézírásos jegyzeteket tartalmaz. + +A jó hír? Az Aspose.OCR‑rel **engedélyezheted a helyesírás-ellenőrzést**, saját szótárat csatlakoztathatsz, és néhány kódsorral egy tiszta karakterláncot kapsz. Az alábbiakban pontosan **megmutatjuk, hogyan engedélyezd a helyesírás-ellenőrzést**, **hogyan adj hozzá egy szótárat**, és **hogyan töltsd be a kép OCR‑jét**, hogy végre **javíthasd az OCR hibákat** anélkül, hogy a hajadra fogynál. + +Ebben az útmutatóban mindent lefedünk – a NuGet telepítéstől egy teljes, futtatható programig, amely kiírja a javított szöveget. A végére egy stabil **Aspose OCR példát** kapsz, amelyet bármely .NET projektbe beilleszthetsz. + +## Prerequisites + +- .NET 6.0 SDK vagy újabb (a kód működik .NET Core‑dal és .NET Framework‑kel is) +- Visual Studio 2022 vagy bármely C#‑kompatibilis IDE +- Egy képfájl (`typed_text.png`), amely tiszta, gépelt angol szöveget tartalmaz +- Internetkapcsolat az Aspose.OCR NuGet csomag letöltéséhez + +Nem szükséges más harmadik féltől származó könyvtár. + +--- + +## Step 1 – Install the Aspose.OCR NuGet Package (Load Image OCR) + +Mielőtt kódot írnánk, szükségünk van arra a könyvtárra, amely az OCR motor hajtóerejét biztosítja. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Ha Visual Studio‑t használsz, jobb‑kattints a projektre → *Manage NuGet Packages* → keresd meg a **Aspose.OCR**‑t és kattints az *Install* gombra. + +A csomag telepítése hozzáférést biztosít az `OcrEngine`, `ImageStream` és a beépített helyesírás-ellenőrző segédprogramokhoz, amelyeket később használni fogunk. Miután a csomag a helyén van, készen állsz a **load image OCR**‑ra. + +## Step 2 – Create the OCR Engine Instance + +Az motor létrehozása az első konkrét lépés minden **Aspose OCR példában**. Tekintsd a `OcrEngine`‑t az agynak, amely elemzi a bitmapet és szöveget ad vissza. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Az `OcrEngine` konstruktor nem igényel paramétereket, ami gyors prototípusokhoz nagyon kényelmes. + +## Step 3 – How to Enable Spellcheck (and Why It Matters) + +A nyers OCR kimenet gyakran tartalmaz félreolvasott szavakat, például a „teh” helyett a „the”. A beépített helyesírás-ellenőrző engedélyezése automatikusan kicseréli ezeket a hibákat a legvalószínűbb helyes írásmódra. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Miért engedélyezzük a helyesírás-ellenőrzést?** +> - **Pontosság:** Egy utófeldolgozó helyesírás-ellenőrzés 10‑15 %-kal növelheti a szöveg pontosságát nyomtatott dokumentumok esetén. +> - **Felhasználói élmény:** A tiszta szöveg kevesebb utófeldolgozást igényel, amikor az eredményt keresőindexekbe vagy analitikai csővezetékekbe táplálod. + +## Step 4 – How to Add a Dictionary (Custom Words) + +Néha az alapértelmezett szótár nem ismeri a márkaneveidet, termékkódjaidat vagy a szakterületed speciális zsargonját. Itt jön képbe a **how to add dictionary**. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Egy tömböt, listát vagy akár egy fájlt is beolvashatsz, ha nagy egyedi szókincsed van. A helyesírás-ellenőrző most ezeket a bejegyzéseket érvényesnek tekinti, megakadályozva a téves javításokat. + +## Step 5 – Load the Image for OCR (Load Image OCR) + +Miután az engine konfigurálva van, meg kell mutatnunk neki, melyik képet szeretnénk beolvasni. Az `ImageStream.FromFile` segédfüggvény elrejti a fájl‑olvasási részleteket. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** Ha a képed a projekt egy almappájában van, állítsd be a *Copy to Output Directory* tulajdonságot *Copy always*‑ra, hogy a futásidőben a megfelelő útvonal legyen. + +## Step 6 – Perform Recognition and Fix OCR Errors + +Minden beállítva, egyetlen `Recognize()` hívás lefuttatja az OCR csővezetéket, alkalmazza a helyesírás-ellenőrzést, és a megtisztított eredményt a `ocrEngine.Text`‑ben tárolja. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Expected Output + +Tegyük fel, hogy a `typed_text.png` a következő mondatot tartalmazza: `The quick brown fox jumps over teh lazy dog`, a konzol a következőt fogja kiírni: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Figyeld meg, hogy a „teh” automatikusan „the”‑re javult. Ha a saját szótáradba felvetted az „OCRify” szót, és a kép tartalmazza, a motor érintetlenül hagyja. + +--- + +## Full Working Example (Copy‑Paste Ready) + +Az alábbi teljes programot beillesztheted egy új konzolprojektbe. Tartalmazza az összes fenti lépést, plusz néhány megjegyzést a tisztaság kedvéért. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Mentsd el `Program.cs`‑ként, futtasd a `dotnet run` parancsot, és a konzolon a javított mondatot kell látnod. + +--- + +## Frequently Asked Questions & Edge Cases + +| Question | Answer | +|----------|--------| +| **Mi van, ha a kép egy többoldalas PDF?** | Az Aspose.OCR képként tudja kezelni a PDF oldalakat. Használd a `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);`‑t, és iterálj az oldalakon. | +| **Válthatok más nyelvre, mint az angol?** | Természetesen. Állítsd be a `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;`‑t (vagy bármely támogatott nyelvet). | +| **A saját szótáram hatalmas – ez befolyásolja a teljesítményt?** | Több ezer szó hozzáadása csak kis induló költséggel jár, a keresés O(1) a háttérben lévő hash‑setnek köszönhetően. Nagy szókincsek esetén érdemes egyszer betölteni az alkalmazás indításakor. | +| **Mi történik, ha az OCR motor kivételt dob egy sérült képen?** | Tekerd a `Recognize()`‑t try‑catch blokkba, és ellenőrizd a `ocrEngine.LastError`‑t. Előzetesen ellenőrizheted a kép méreteit a `ocrEngine.Image.Width` és `Height` segítségével is. | +| **Szükségem van licencre a termelésben?** | Az ingyenes értékelő verzió tesztelésre alkalmas, de egy kereskedelmi licenc eltávolítja a vízjelet és feloldja a teljes teljesítményt. | + +--- + +## Conclusion + +Most már rendelkezel egy **teljes Aspose OCR példával**, amely bemutatja, **hogyan engedélyezd a helyesírás-ellenőrzést**, **hogyan adj hozzá egy szótárat**, **hogyan töltsd be a kép OCR‑jét**, és **hogyan javítsd az OCR hibákat** egy tiszta, termelés‑kész módon. A helyesírás-ellenőrző konfigurálásával és egy egyedi szószedet betáplálásával drámaian javíthatod a kinyert szöveg minőségét anélkül, hogy saját utófeldolgozó logikát írnál. + +Készen állsz a következő lépésre? Próbáld ki a nyelvet spanyolra állítani, dolgozz többoldalas PDF‑vel, vagy integráld a kimenetet egy kereshető Azure Cognitive Search indexbe. Ugyanaz a minta – csak állítsd be a nyelvi flag‑et, és esetleg bővítsd a saját szótárat. + +Ha hasznosnak találtad ezt az útmutatót, adj egy csillagot a GitHub‑on, oszd meg a csapattagokkal, vagy hagyj egy megjegyzést alább. Boldog kódolást, és legyenek az OCR eredményeid mindig hibamentesek! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/hungarian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..41eee471c --- /dev/null +++ b/ocr/hungarian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-03-07 +description: Tudja meg, hogyan lehet kiegyenesíteni a képet, növelni a kontrasztot, + és szöveget kinyerni a beolvasott anyagból az Aspose OCR segítségével. Végezzen + OCR-t a képen egy teljes C# példával, és könnyedén töltse be a képet az OCR-hez. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: hu +og_description: Ismerje meg, hogyan lehet kiegyenesíteni a képet, növelni a kontrasztot, + és szöveget kinyerni a beolvasott anyagból az Aspose OCR C#-ban. Végezzen OCR-t + a képen lépésről‑lépésre bemutatott kóddal. +og_title: Hogyan kiegyenesítsük a képet és futtassuk az OCR-t C#-ban – Teljes útmutató +tags: +- C# +- OCR +- Image Processing +title: Hogyan korrigáljuk a kép ferdeségét és futtassuk az OCR-t C#‑ban – Teljes útmutató +url: /hu/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan korrigáljuk a kép ferdeségét és futtassuk az OCR-t C#‑ban – Teljes útmutató + +Ha valaha is elgondolkodtál azon, **hogyan korrigáljuk a képet** az OCR futtatása előtt, jó helyen vagy. Ebben az útmutatóban végigvezetünk a kontraszt növelésén, a kép betöltésén OCR‑hez, és végül a **szkennelésből szöveg kinyerése** az Aspose OCR‑rel. + +Akár régi nyugtákat digitalizálsz, beolvasott szerződéseket tisztítasz meg, vagy egyszerűen csak egy megbízható módra van szükséged a ferde fényképről a szöveg olvasásához, az alábbi lépések mindent lefednek, amire szükséged van. Felesleges szócska nélkül – csak egy működő példát, amelyet be tudsz másolni a Visual Studio‑ba. + +## Mit fogsz elérni + +* Javítsd ki a ferdeséget legfeljebb 30°-ra (ez a **hogyan korrigáljuk a képet** rész). +* Növeld a kép kontrasztját a karakterek élesebb kontúrjaiért (**hogyan növeljük a kontrasztot**). +* Töltsd be a képedet az OCR motorba (**kép betöltése OCR‑hez**). +* Futtasd a felismerési folyamatot, és **szkennelésből szöveg kinyerése**. + +Mindez a legújabb Aspose.OCR .NET NuGet csomaggal működik (v23.11 a írás időpontjában). + +--- + +![Példa a kép ferdeségének korrigálására](/images/deskew-example.png "hogyan korrigáljuk a képet") + +*A fenti kép egy beolvasott dokumentumot mutat a korrigálás előtti és utáni állapotban.* + +## Előkövetelmények + +* .NET 6.0 vagy újabb (a kód .NET Framework 4.7+‑on is fut). +* Visual Studio 2022 (vagy bármely kedvenc C# IDE). +* Aspose.OCR NuGet csomag – telepítés: `dotnet add package Aspose.OCR`. + +Ennyi. Nincs külső szolgáltatás, nincs API kulcs. + +--- + +## Hogyan korrigáljuk a kép ferdeségét az Aspose OCR-rel + +Az első lépés, hogy létrehozzunk egy **ImageProcessingPipeline**‑t, és hozzáadjuk a `DeskewFilter`‑t. A szűrő automatikusan felismeri a domináns szövegsor szögét, és a képet visszaforgatja vízszintes állapotba. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Miért fontos ez:** +A ferde beolvasás összezavarja az OCR motort, mivel a karakterek már nem illeszkednek az alapvonalhoz. A `DeskewFilter` elemzi a kép hisztogramját, meghatározza a szöget, és elforgatja azt, ezzel drámaian javítva a felismerési pontosságot. + +> **Pro tipp:** Ha tudod, hogy a dokumentumaid soha nem haladják meg a 15°‑os ferdeséget, állítsd be a `MaxAngle = 15`‑öt a feldolgozás felgyorsításához. + +--- + +## Hogyan növeljük a kontrasztot a jobb felismerésért + +A ferdeség korrigálása után a következő lépés, hogy a szöveget kiemeljük. A `ContrastBoostFilter` kiterjeszti a pixel intenzitás tartományt, ami különösen hasznos a kifakult nyomatoknál. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Miért segít:** +Az alacsony kontrasztú beolvasások szürkees karaktereket eredményeznek, amelyeket a binarizáló háttérnek vehet. A kontraszt növelése sötétebbé teszi a sötét pixeleket, világosabbá a világos pixeleket, így a következő `BinarizationFilter` tisztább vászonra kap. + +--- + +## OCR végrehajtása képen – A fájl betöltése + +Miután a kép előfeldolgozáson átesett, szükség van a **kép betöltésére OCR‑hez**. Az Aspose egy kényelmes `ImageStream.FromFile` segédfüggvényt kínál. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Ha a képed egy stream‑ben van (pl. egy web API‑val feltöltve), használhatod a `ImageStream.FromStream(yourStream)`‑t helyette. A motor támogatja a BMP, JPEG, PNG, TIFF és számos egyéb formátumot. + +--- + +## A felismerési folyamat futtatása és a szkennelésből szöveg kinyerése + +Miután minden összekapcsolódott, a `Recognize()` meghívása elvégzi a nehéz munkát. A hívás után a felismert szöveg a `ocrEngine.Text`‑en keresztül érhető el. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Várható kimenet** (példa egy egyszerű számlára): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Ha a kimenet összezavartnak tűnik, ellenőrizd a pipeline sorrendjét – először a ferdeség korrigálása, majd a zajcsökkentés, a kontraszt növelése, végül a binarizálás. A sorrend megcserélése ronthatja az eredményeket. + +--- + +## Gyakori buktatók és szélsőséges esetek + +| Probléma | Miért fordul elő | Javítás | +|----------|------------------|--------| +| **Üres eredmény** | A kép túl sötét vagy túl világos az alapértelmezett binarizálási módszerhez. | Növeld a `ContrastBoostFilter.Strength` értékét, vagy válts a `BinarizationMethod.Otsu`‑ra. | +| **Részleges szöveg hiányzik** | A zaj a zajcsökkentés után is megmarad. | Használd a `DenoiseLevel.Medium`‑et enyhébb képekhez, vagy adj hozzá egy második `DenoiseFilter`‑t. | +| **Helytelen forgatási irány** | A dokumentumnak vegyes tájolása van (pl. egy elfordított oldal fényképe). | Manuálisan állítsd alacsonyabbra a `DeskewFilter.MaxAngle`‑t, és előre forgasd a képet az `ImageProcessor.Rotate`‑vel. | +| **Teljesítménycsökkenés** | Nagy mennyiségű nagy felbontású kép. | Kicsinyítsd le a képeket (`ImageProcessor.Resize`) a pipeline előtt, vagy dolgozz párhuzamosan (`Parallel.ForEach`). | + +--- + +## Teljes működő példa (másolás-beillesztés kész) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Mentsd el `Program.cs`‑ként, futtasd a `dotnet run` parancsot, és figyeld, ahogy a konzol kiírja a **szkennelésből szöveg kinyerése** eredményt. + +--- + +## Következő lépések és kapcsolódó témák + +* **Batch processing** – Csomagold a fenti logikát egy ciklusba, hogy tucatnyi fájlt kezelj. +* **Custom language packs** – Ha nem latin írásrendszereket kell olvasnod, tölts be egy nyelvi modellt a `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;` segítségével. +* **PDF output** – Kombináld az Aspose.PDF‑et az OCR‑rel, hogy kereshető szöveget ágyazz be közvetlenül egy PDF fájlba. +* **Performance tuning** – Kísérletezz az `ImageProcessingPipeline` sorrendjével; néha a zajcsökkentés a ferdeség korrigálása előtt gyorsabb eredményeket ad zajos fényképeken. + +Mindegyik ezek a fő koncepciókra épül, amelyeket bemutattunk: **hogyan korrigáljuk a képet**, **hogyan növeljük a kontrasztot**, **kép betöltése OCR‑hez**, **OCR végrehajtása képen**, és végül **szkennelésből szöveg kinyerése**. + +--- + +## Összegzés + +Most bemutattuk a teljes, termelésre kész módszert a **hogyan korrigáljuk a képet** és az OCR futtatására C#‑ban. Egy ferdeség‑korrigáló szűrő, egy zajcsökkentő lépés, egy kontraszt‑növelő és egy binarizáló láncolásával tiszta bemenetet kapsz, amely lehetővé teszi, hogy az Aspose OCR megbízhatóan **szkennelésből szöveg kinyerése**. + +Próbáld ki a kódot, finomítsd a szűrő paramétereit a saját dokumentumaidhoz, és meglátod, milyen gyorsan javul a felismerési pontosság. Van kérdésed? Írj egy megjegyzést, és jó kódolást! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/hungarian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..48b36040c --- /dev/null +++ b/ocr/hungarian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-03-07 +description: Hogyan végezzünk OCR-t kínai képeken az Aspose OCR használatával. Tanulja + meg, hogyan lehet kinyerni a kínai szöveget, képet ePub formátumba konvertálni, + és javítani az OCR pontosságát egyetlen oktatóanyagon. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: hu +og_description: Hogyan végezzünk OCR-t kínai képeken az Aspose OCR-rel. Szerezzen + lépésről‑lépésre kódot a kínai szöveg kinyeréséhez, az OCR javításához és ePub‑ba + exportáláshoz. +og_title: Hogyan végezzünk OCR-t kínai képeken – Teljes C# útmutató +tags: +- OCR +- C# +- Aspose +title: Hogyan végezzünk OCR-t kínai képeken – Teljes C# útmutató +url: /hu/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan végezzünk OCR-t kínai képeken – Teljes C# útmutató + +Gondolkodtál már azon, **hogyan végezzünk OCR-t** egy olyan képen, amely kínai karaktereket tartalmaz? Nem vagy egyedül. Sok alkalmazásban – számlák beolvasása, tankönyvek digitalizálása vagy többnyelvű keresőmotor építése – a tiszta szöveg kinyerése a képből döntő funkció lehet. + +Ebben a bemutatóban egy valós megoldáson keresztül mutatjuk be, hogyan **nyerhetünk ki kínai szöveget**, hogyan menthetjük az eredményt egy egyszerű szövegfájlba, és még **átalakíthatjuk a képet ePub‑ba** e‑olvasók számára. Útközben megvitatjuk, **hogyan javítható az OCR pontossága**, miért érdemes GPU módot engedélyezni, és mit kell tennünk a **simplified Chinese** (egyszerűsített kínai) helyes felismeréséhez. + +A útmutató végére egy teljesen futtatható C# programot, néhány gyakorlati tippet és egy világos képet kapsz a következő lépésekről (például nyelvfelismerés vagy kötegelt feldolgozás hozzáadása). Nincs szükség külső dokumentációra – minden, amire szükséged van, itt van. + +## Amire szükséged lesz + +- .NET 6+ (vagy .NET Core 3.1 Aspose OCR for .NET‑tel) +- Érvényes Aspose OCR for .NET licenc (az ingyenes próba verzió elegendő a kísérletezéshez) +- Egy olyan képfájl, amely egyszerűsített kínai karaktereket tartalmaz (pl. `chinese_sample.jpg`) +- Visual Studio 2022 vagy bármelyik kedvenc C# szerkesztő + +Ha valamelyik hiányzik, szerezd be a NuGet csomagot most: + +```bash +dotnet add package Aspose.OCR +``` + +Ennyi – nincs extra natív könyvtár, nincs COM interop, csak egyetlen .NET csomag. + +## Hogyan végezzünk OCR‑t – Az Aspose OCR motor beállítása + +Az első lépés a OCR motor létrehozása és konfigurálása. Ez a lépés kulcsfontosságú, mert a motor beállításai határozzák meg, **mennyire jól működik az OCR** a kínai karaktereken, és milyen gyorsan fut. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Miért fontos:** +- **Language = ChineseSimplified** azt mondja az Aspose‑nak, hogy töltse be az egyszerűsített kínai karakterkészletet, ami drasztikusan csökkenti a hibás felismeréseket. +- **EngineMode.Gpu** a modern GPU‑kon a feldolgozási időt felére csökkentheti, de ha nincs GPU, automatikusan CPU‑ra vált. +- **DeskewFilter** eltávolítja a dőlést, amely gyakran előfordul, ha a felhasználó telefonról készít fényképet. +- **Sauvola binarizáció** magas kontrasztú fekete‑fehér képet hoz létre, ami klasszikus trükk a sűrű írásrendszerek, például a kínai, OCR pontosságának növelésére. + +> **Pro tipp:** Ha gyenge fényviszonyú fotókkal dolgozol, adj hozzá egy `ContrastFilter`‑t a binarizáció előtt. A mintánkhoz nem kötelező, de gyakran megkímél néhány fejfájást. + +![Hogyan működik az OCR folyamatábra](ocr-pipeline.png "Hogyan működik az OCR folyamatábra") + +> *Alt szöveg:* Hogyan működik az OCR folyamatábra + +## Kínai szöveg kinyerése egy képből + +Most, hogy a motor készen áll, betöltjük a képet, és hagyjuk, hogy a motor elvégezze a varázslatot. Ez a **kínai szöveg kinyerése** magja. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Ami látnod kell:** +Ha a `chinese_sample.jpg` a „中华人民共和国” kifejezést tartalmazza, az `out.txt` fájl pontosan ezeket a karaktereket fogja tartalmazni – semmi extra szóköz, semmi torz latin betű nem jelenik meg. + +### Gyakori buktatók + +| Probléma | Miért fordul elő | Megoldás | +|----------|------------------|----------| +| Hiányzó karakterek | A kép túl zajos | Adj hozzá egy `MedianFilter`‑t a binarizáció előtt | +| Rossz nyelv detektálva | `Language` `English`‑re állítva | Győződj meg róla, hogy `Language = Language.ChineseSimplified` | +| Lassú feldolgozás | GPU nincs engedélyezve | Ellenőrizd, hogy a géped rendelkezik kompatibilis CUDA driverrel | + +## Kép konvertálása ePub‑ba + +Sok fejlesztő azt kérdezi: *„Átalakíthatom a beolvasott oldalt olvasható e‑könyvvé?”* Természetesen – az Aspose OCR tartalmaz ePub exportert. Ezzel teljesül a **convert image to epub** követelmény. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +A generált `out.epub` a kinyert kínai szöveget tartalmazza, helyesen UTF‑8 kódolással, és megnyitható Kindle‑ben, Apple Books‑ban vagy bármelyik ePub olvasóban. + +**Miért érdemes ePub‑ot használni?** +- Újrafolyatható, így az olvasók a betűméretet anélkül állíthatják, hogy a layout összetörne. +- A formátum kereshető szöveget tartalmaz, ami későbbi indexeléshez hasznos. + +## Hogyan javítsuk az OCR‑t – Gyakorlati finomhangolások + +Még egy jól felépített pipeline esetén is előfordulhatnak időnként hibás felismerések. Íme egy gyors ellenőrzőlista a **hogyan javítsuk az OCR‑t** kínai dokumentumokon: + +1. **Előfeldolgozás** – Használd a `GaussianBlurFilter`‑t a szemcsék kisimításához, majd a `ContrastFilter`‑t a szélek élesítéséhez. +2. **Magasabb DPI beállítása** – Ha te irányítod a szkennelést, célozz 300 dpi vagy magasabb felbontást; az alacsony felbontású képek elveszítik a vonal részleteit. +3. **Nyelvfelismerés engedélyezése** – Az Aspose képes automatikus nyelvdetektálásra; kombináld egy visszaeséssel egyszerűsített kínaira, ha a detektálás sikertelen. +4. **Binarizáció finomhangolása** – Cseréld le a `Sauvola`‑t `Otsu`‑ra, ha a háttér egységesen világos. +5. **Kötegelt feldolgozás** – Több oldalt párhuzamosan dolgozz fel a `Parallel.ForEach`‑el, hogy kiaknázd a többmagos CPU‑kat. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Egyszerűsített kínai felismerése – Szélsőséges esetek + +A **recognize simplified Chinese** kifejezés gyakran zavarja az újoncokat, mert ugyanaz a OCR motor kezelni tudja a hagyományos kínait, japánt vagy koreait is. A determinisztikus működés érdekében: + +- **Állítsd be kifejezetten a nyelvet** (ahogy az 1. lépésben tettük). +- **Kerüld a vegyes nyelvű oldalakat**; ha egy oldal egyszerűsített kínai és angol szöveget is tartalmaz, fontold meg két átfutás végrehajtását: egy `Language.ChineseSimplified`, egy `Language.English` beállítással. +- **Ellenőrizd a kimenetet** – Felismerés után futtass egy egyszerű regex‑et, hogy minden karakter a `\u4E00‑\u9FFF` Unicode tartományba essen. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Ha az ellenőrzés sikertelen, naplózd az oldalt manuális átvizsgálás céljából. + +## Teljes működő példa + +Mindent egy helyen, itt egy egyetlen fájl, amelyet beilleszthetsz egy új konzolos projektbe (`Program.cs`). Tartalmazza az összes lépést, opcionális finomhangolásokat és egy végső állapotjelző sort. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Várható konzolkimenet (példa):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Futtasd a programot, nyisd meg az `out.txt`‑t vagy az `out.epub`‑t, és tiszta, kereshető kínai karaktereket látsz, készen a további feldolgozásra. + +## Összegzés + +Most már megtanultad, **hogyan végezzünk OCR‑t** kínai képeken a kezdetektől a befejezésig, megmutattuk, hogyan **nyerhetünk ki kínai szöveget**, **konvertálhatjuk az eredményt ePub‑ba**, és bemutattunk néhány praktikus trükköt is. + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/text-recognition/_index.md b/ocr/hungarian/net/text-recognition/_index.md index 61ddd9f74..ce2db7293 100644 --- a/ocr/hungarian/net/text-recognition/_index.md +++ b/ocr/hungarian/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Bővítse .NET-alkalmazásait az Aspose.OCR segítségével a hatékony képszö Az Aspose.OCR segítségével tárja fel az OCR-ben rejlő lehetőségeket a .NET-ben. Könnyedén bontsa ki a szöveget a PDF-ekből. Töltse le most a zökkenőmentes integrációs élményért. ### [Táblázat felismerése az OCR képfelismerésben](./recognize-table/) A .NET-hez készült Aspose.OCR-ben rejlő lehetőségeket az OCR-képfelismerés tábláinak felismeréséről szóló átfogó útmutatónkkal tárja fel. +### [Hindi szöveg felismerése C#-ban – Teljes Aspose OCR útmutató](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Fedezze fel, hogyan ismerheti fel a Hindi nyelvű szöveget C#-ban az Aspose.OCR segítségével, lépésről-lépésre útmutatóval. +### [Képről szöveg felismerése C#-ban – Teljes Aspose OCR útmutató](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Fedezze fel, hogyan ismerheti fel a képeken lévő szöveget C#-ban az Aspose.OCR segítségével, részletes útmutatóval. +### [ePub létrehozása képekből C#-ban – Lépésről-lépésre útmutató](./how-to-create-epb-from-images-in-c-step-by-step-guide/) +Ismerje meg, hogyan alakíthatja a képeket ePub formátummá C# segítségével, részletes lépésekkel. +### [Szöveg kinyerése PNG-ből C#-ban – Teljes OCR útmutató](./extract-text-from-png-in-c-full-ocr-guide/) +Fedezze fel, hogyan nyerhet ki szöveget PNG képekből C#-ban az Aspose.OCR segítségével, részletes, lépésről-lépésre útmutatóval. +### [OCR használata C#-ban – Szöveg kinyerése képekből offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Ismerje meg, hogyan használhatja az Aspose.OCR-t C#-ban offline módon a képek szövegének hatékony kinyeréséhez. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/hungarian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..8c613c2f2 --- /dev/null +++ b/ocr/hungarian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: Szöveg kinyerése PNG fájlokból C#-vel. Tanulja meg, hogyan konvertáljon + képet szöveggé C#-ban, és olvassa el gyorsan a beolvasott képek szövegét. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: hu +og_description: Szöveg kinyerése PNG fájlokból C#-al. Ez az útmutató bemutatja, hogyan + konvertáljunk képet szöveggé C#-ban, és hogyan olvassuk ki a szkennelt képek szövegét + az Aspose OCR-rel. +og_title: Szöveg kinyerése PNG-ből C#-ban – Teljes OCR útmutató +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Szöveg kinyerése PNG-ből C#-ban – Teljes OCR útmutató +url: /hu/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Szöveg kinyerése PNG-ből C#‑ban – Teljes OCR útmutató + +Valaha is szükséged volt **extract text from PNG** fájlok kinyerésére, de nem tudtad, hol kezdjed? Nem vagy egyedül – a legtöbb fejlesztő ugyanitt ütközik, amikor szkennelt grafikákkal vagy képernyőképekkel találkozik, amelyeket kereshető szöveggé kell alakítani. A jó hír? Néhány C#‑os sor és az Aspose OCR segítségével bármely PNG‑t pillanatok alatt szerkeszthető karakterláncokká alakíthatsz. + +Ebben a tutorialban végigvezetünk a teljes folyamaton: a PNG‑k lemezről való megtalálásától, a párhuzamos OCR feladatok indításáig, egészen a tiszta előnézet megjelenítéséig. A végére már tudni fogod, hogyan **convert image to text C#** módon alakítsd át a képet szöveggé, hatékonyan **read text from scanned images**, és megismered a legjobb módját annak, hogyan **run OCR on images** anélkül, hogy a UI szálad leállna. + +## Amit szükséged lesz + +- .NET 6.0 vagy újabb (a kód .NET Core‑on és .NET Framework‑ön is működik) +- Aspose.OCR NuGet csomag (`Install-Package Aspose.OCR`) +- Egy mappa, amely tele van *.png* fájlokkal, amelyeket feldolgozni szeretnél +- Bármely kedvenc IDE (Visual Studio, VS Code, Rider…) + +Külön konfigurációra nincs szükség; a könyvtár mindent tartalmaz, ami a PNG‑k, JPEG‑ek, TIFF‑ek stb. dekódolásához kell. + +## 1. lépés: Az összes PNG fájl megtalálása – „Extract Text from PNG” kezdődik + +Először meg kell találnunk minden PNG‑t, amelyen OCR‑t szeretnénk futtatni. A `Directory.GetFiles` gyors és megbízható. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Miért fontos:* A könyvtár egyszeri beolvasása egyszerűvé teszi a további pipeline‑t, és a korai ellenőrzés megakadályoz egy csendes „nincs kimenet” helyzetet, amely később nehezen debugolható. + +## 2. lépés: Párhuzamos OCR feladatok indítása – Hatékony **run OCR on images** + +Az OCR szekvenciális futtatása rendben van néhány fájl esetén, de a valós projektek gyakran több tucat vagy akár több száz fájlt kezelnek. Egy `Task` indításával képenként a CPU folyamatosan dolgozik, míg a könyvtár a nehéz részt végzi. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Pro tipp:* A `Task.Run` a munkát a szálkészletre adja, ami azt jelenti, hogy a UI (ha van) reagálóképes marad. Ha szerveren futtatod, ez a minta szép módon skálázódik a magok között. + +## 3. lépés: Az összes feladat várakoztatása – Az eredmények összegyűjtése + +Most megvárjuk, hogy minden OCR művelet befejeződjön. A `Task.WhenAll` egy tömböt ad vissza, amely az eredeti fájl sorrenddel egyezik, így könnyen párosítható a találat a fájlnévvel. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Edge case megjegyzés:* Ha egyetlen kép hibát dob (sérült fájl, nem támogatott formátum), a teljes `WhenAll` továbbadja a kivételt. A belső `Task.Run`‑t try/catch‑ben is becsomagolhatod, és visszaadhatsz egy üres stringet vagy diagnosztikai üzenetet, ha hibamentes működésre van szükség. + +## 4. lépés: Előnézet megjelenítése – Ellenőrizd a **convert image to text C#** kimenetet + +Egy gyors előnézet segít megerősíteni, hogy az OCR működött, mielőtt a adatot máshová mentenéd. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +A tipikus konzolkimenet például: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Ha az előnézet értelmetlen karaktereket mutat, ellenőrizd a kép minőségét vagy gondolj előfeldolgozásra (pl. binarizálás) – de a legtöbb tiszta PNG‑nél az Aspose OCR már az első próbálkozásra helyesen működik. + +## Opcionális: Eredmények mentése CSV‑be – Valós használati eset + +A legtöbb projektnek strukturált formátumban kell a kinyert szöveg. Az alábbi kis segédfüggvény a fájlnevet és a teljes OCR szöveget egy CSV fájlba írja. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Most már importálhatod a CSV‑t Excel‑be, Power BI‑be vagy bármely downstream rendszerbe, amely **read text from scanned images**‑t vár. + +## Gyakran Ismételt Kérdések + +**Mi van, ha a PNG‑k hatalmasak (5 MB felett)?** +Az Aspose OCR automatikusan lecsökkenti a nagy képeket, hogy a memóriahasználat ésszerű maradjon, de kézzel is átméretezheted a `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` paranccsal, hogy a szélességet 2000 px‑re korlátozd, miközben megőrzöd az arányt. + +**Futtatható ez Linuxon?** +Igen. Az Aspose OCR platformfüggetlen; csak győződj meg róla, hogy a natív függőségek (`libgdiplus` néhány disztribúción) telepítve vannak. + +**Az OCR nyelv alapértelmezés szerint angol?** +Igen. Ha más nyelvre van szükséged, állítsd be `engine.Language = OcrLanguage.French;`‑t (vagy bármely támogatott enumot) a `Recognize()` hívása előtt. + +**Hogyan kezelem a jelszóval védett PDF‑eket, amelyek PNG‑ket tartalmaznak?** +Először konvertáld a PDF oldalakat képekké (Aspose PDF vagy más könyvtár segítségével), majd add ezeket a PNG‑ket ugyanabba a pipeline‑ba. A **how to run OCR on images** elv változatlan marad. + +## Teljes működő példa (Async Main) + +Az alábbi önálló programot egyszerűen másold be egy konzolprojektbe. Tartalmazza a fent bemutatott összes részt, valamint egy kis segédfüggvényt a bemeneti mappa validálásához. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Várható kimenet** (példa két PNG‑re): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Összegzés + +Most már mindent tudsz, hogyan **extract text from PNG** fájlokból C#‑ban. A fájlok megtalálásától, a párhuzamos OCR feladatok indításán, a karakterláncok előnézetén át a CSV‑be mentésig – ez az útmutató egy production‑ready mintát ad a **convert image to text C#** szcenáriókhoz. + +Ha készen állsz a következő lépésre, próbáld ki ugyanazt a pipeline‑t JPEG vagy TIFF fájlokkal, kísérletezz különböző OCR nyelvekkel, vagy kapcsolódj a találatokhoz egy keresőindexhez, hogy **read text from scanned images** azonnal elérhető legyen. + +Van kérdésed a szélsőséges esetekkel, teljesítményhangolással vagy licenceléssel kapcsolatban? Írj kommentet vagy jelezd az Aspose közösségben – jó kódolást! + +![Extract text from PNG example](extract-text-png.png "Extract text from PNG using Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/hungarian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..820b52808 --- /dev/null +++ b/ocr/hungarian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Hogyan készítsünk ePub-ot beolvasott képekből az Aspose OCR használatával + – tanulja meg, hogyan konvertáljon képet ePub formátumba, hogyan nyerjen ki szöveget + a képből, hogyan adjon szerzőt az ePub-hoz, és hogyan töltsön be képet OCR-hez. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: hu +og_description: Hogyan készítsünk ePub-ot beolvasott képekből C#-ban. Ez az útmutató + megmutatja, hogyan konvertáljunk képet ePub formátumba, hogyan nyerjünk ki szöveget + a képből, hogyan adjunk szerzőt az ePub-hoz, és hogyan töltsünk be képet OCR-hez. +og_title: Hogyan készítsünk ePub-ot képekből C#-ban – Teljes útmutató +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Hogyan készítsünk ePub-ot képekből C#-ban – Lépésről lépésre útmutató +url: /hu/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan készítsünk ePub-ot képekből C#‑ban – Teljes útmutató + +Gondoltad már, **hogyan készítsünk ePub‑ot** egy szkennelésből származó oldalak gyűjteményéből? Talán van néhány PNG‑ed egy klasszikus regényből, és szeretnéd őket egy rendezett ePub‑ba átalakítani, amit bármilyen eszközön olvashatsz. A jó hír, hogy az Aspose OCR‑rel **betöltheted a képet OCR‑hez**, kinyerheted a szöveget, majd **konvertálhatod a képet ePub‑ra** néhány C#‑sorral. + +Ebben a tutorialban végigvezetünk a teljes folyamaton: a kép betöltése, a szöveg kinyerése, egy kis metaadat hozzáadása (igen, **hozzáadunk szerzőt az epub‑hoz**), és végül egy szabványos ePub‑fájl írása. A végére egy publikálásra kész ePub‑ot kapsz, és alaposan megérted a lépéseket, így könnyen testreszabhatod a kódot többoldalas könyvekhez, egyedi betűkészletekhez vagy akár DRM‑mentes terjesztéshez is. + +## Amire szükséged lesz + +- **.NET 6** vagy újabb (az API .NET Standard 2.0+‑val is működik) +- **Aspose.OCR for .NET** – a próbaverzió letölthető az Aspose weboldaláról. +- Egy szkennelt kép, például `book_page.png`, valahol a lemezen. +- Kedvenc IDE‑d (Visual Studio, Rider vagy VS Code – a képernyőképeken Visual Studio‑t használok). + +További NuGet csomagra nincs szükség; az Aspose.OCR mindent tartalmaz, ami az ePub exporthoz kell. + +--- + +![Hogyan készítsünk ePub‑ot szkennelt képből](/images/how-to-create-epub.png "Hogyan készítsünk ePub‑ot szkennelt képből az Aspose OCR segítségével") + +## 1. lépés – Projekt létrehozása és az Aspose.OCR telepítése + +Először is hozzunk létre egy új konzolos alkalmazást: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Telepítsük az Aspose.OCR csomagot: + +```bash +dotnet add package Aspose.OCR +``` + +Ennyi – a könyvtár tartalmazza mind az OCR, mind az ePub export funkciókat, így nincs szükség további függőségekre. + +## 2. lépés – Kép betöltése OCR‑hez + +Mielőtt **kivonnánk a szöveget a képből**, meg kell adnunk az OCR motornak, mit olvasson. Az `ImageStream.FromFile` segítőmetódus ezt egyszerűvé teszi: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro tipp:** Ha a képed beágyazott erőforrásként van, használd a `ImageStream.FromResource`‑t a `FromFile` helyett. + +## 3. lépés – Szöveg kinyerése a képből + +Most a motor ténylegesen beolvassa a pixeleket, és Unicode karakterláncokká alakítja őket. A `Recognize` metódus végzi a nehéz munkát. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Miért hívjuk külön a `Recognize`‑t? Így megtekintheted a nyers OCR kimenetet, finomhangolhatod a nyelvi beállításokat, vagy akár helyesírás-ellenőrzést is futtathatsz, mielőtt az ePub készítéshez tovább lépnél. + +## 4. lépés – ePub export beállításainak előkészítése (Szerző hozzáadása az ePub‑hoz) + +Egy kifinomult ePub nem csak szöveg dump; megfelelő metaadatokra is szükség van. Az `EpubExportOptions` osztály tiszta módot biztosít a **szerző hozzáadásához az epub‑hoz**, a cím beállításához és ahhoz, hogy beágyazzuk-e az eredeti képeket. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Ha több oldalad van, a `ocrEngine.Image = …` és `ocrEngine.Recognize()` hívásokat egy ciklusban ismételheted; minden hívás hozzáfűzi az új oldal tartalmát ugyanahhoz az ePub dokumentumhoz. + +## 5. lépés – Kép konvertálása ePub‑ra és exportálás + +Miután a szöveget kinyertük és a metaadatokat beállítottuk, az utolsó lépés egy egyetlen sor, ami a fájlt a lemezre írja: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +A keletkezett `book.epub` megnyitható a Calibre‑ben, Apple Books‑ban vagy bármely EPUB‑kompatibilis olvasóban. Mivel `IncludeImages = true`‑t állítottunk, az eredeti PNG képként jelenik meg, megőrizve a szkennelés kinézetét. + +## Teljes működő példa + +Összevonva, itt a teljes, azonnal futtatható program: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Várt kimenet + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Nyisd meg a `book.epub`‑ot a kedvenc olvasódban, és láthatod a címlapot, a szerző sort (még ha “Ismeretlen” is áll), valamint a szkennelt képet a kiválasztható szöveggel együtt. + +## Gyakori kérdések és speciális esetek + +### Mi van, ha az OCR nyelve nem angol? + +Az Aspose.OCR több mint 70 nyelvet támogat. Csak állítsd be a `Language` tulajdonságot a `Recognize` hívása előtt: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Hogyan kezeljem a többoldalas könyveket? + +A betöltési/recognition logikát helyezd egy `foreach` ciklusba: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Minden iteráció hozzáfűzi az újonnan felismert szöveget ugyanahhoz az ePub‑hoz, megőrizve az oldalak sorrendjét. + +### Kihagyhatom az eredeti képeket? + +Természetesen – állítsd `IncludeImages = false`‑ra az `EpubExportOptions`‑ban. Az így kapott ePub tisztán újrafolyó szöveget tartalmaz, ami jelentősen csökkenti a fájlméretet. + +### Egyedi betűkészletek vagy stílusok? + +Az Aspose.OCR ePub exportere lehetővé teszi egy CSS stíluslap megadását az `EpubExportOptions` `Css` tulajdonságán keresztül. Így meghatározhatod a betűcsaládot, sortávolságot vagy margókat. + +## Összegzés + +Most már tudod, **hogyan készítsünk ePub‑ot** egy szkennelt képből az Aspose OCR segítségével C#‑ban. A tutorial lefedte a **kép betöltését OCR‑hez**, a **szöveg kinyerését a képből**, a **szerző hozzáadását az epub‑hoz**, és végül a **kép konvertálását ePub‑ra** egyetlen exporthívással. A teljes kódmintával a kezedben könnyedén bővítheted a megoldást kötegelt feldolgozáshoz, egyedi borítóképek beillesztéséhez, vagy akár egy web‑API‑ba való integráláshoz. + +Készen állsz a következő kihívásra? Próbáld meg a PDF‑t ePub‑ra konvertálni, vagy kísérletezz az OCR‑bizonyossági küszöbök módosításával a zajos szkennelések pontosságának javítása érdekében. A lehetőségek határtalanok, ha erőteljes OCR‑t kombinálsz rugalmas ePub‑generálással. + +Boldog kódolást, és élvezd az újonnan elkészített ePub‑od olvasását! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/hungarian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..6c047fcbc --- /dev/null +++ b/ocr/hungarian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-07 +description: Tanulja meg, hogyan használhatja az OCR-t C#-ban a képfájlokból szöveg + kinyeréséhez. Ez az útmutató bemutatja az offline OCR-t, a kép szöveggé konvertálását, + és a kép betöltését OCR-hez. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: hu +og_description: Hogyan használjunk OCR-t C#-ban, hogy offline szöveget nyerjünk ki + képekből. Lépésről‑lépésre kód, tippek és teljes magyarázat a kép szöveggé alakításához. +og_title: Hogyan használjunk OCR-t C#-ban – Teljes offline útmutató +tags: +- OCR +- C# +- Aspose +title: Hogyan használjunk OCR-t C#‑ban – Szöveg kinyerése képekből offline +url: /hu/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hogyan használjunk OCR-t C#‑ban – Szöveg kinyerése képekből offline + +Gondoltad már valaha, **hogyan használjunk OCR-t** egy .NET projektben anélkül, hogy adatokat küldenénk a felhőbe? Nem vagy egyedül. Sok fejlesztőnek szüksége van *szöveg kinyerésére képfájlokból* egy biztonságos munkaállomáson, és attól tartanak, hogy a hálózati forgalom érzékeny információkat fedhet fel. + +A jó hír? Az Aspose.OCR‑rel teljesen offline is felismerheted a szöveget PNG, JPEG vagy PDF fájlokból. Ebben az útmutatóban végigvezetünk egy kép betöltésén OCR‑hez, a motor offline módra való konfigurálásán, és végül **kép konvertálása szöveggé** csak néhány C# sorral. + +A végére a következőket fogod tudni: + +* Telepíteni az Aspose.OCR NuGet csomagot. +* Beállítani az OCR motort offline feldolgozásra. +* Betölteni egy képet OCR‑hez és kinyerni a szöveges tartalmát. + +Nincs külső szolgáltatás, nincs API kulcs – csak tiszta C# kód, ami bármely Windows vagy Linux gépen fut. + +--- + +## Előfeltételek + +Mielőtt belemerülnénk, győződj meg róla, hogy rendelkezel: + +* .NET 6.0 SDK vagy újabb (a kód .NET Framework 4.7+‑vel is működik). +* Visual Studio 2022, VS Code vagy bármely C#‑ot támogató szerkesztő. +* Egy **Aspose.OCR** könyvtár példánnyal – letöltheted a NuGet‑ből (`Aspose.OCR`). +* Egy OCR erőforrások mappával (`Resources`), ami a könyvtár része (nyelvi adatfájlok). +* Egy mintaképpel (pl. `offline_test.png`) egy ismert könyvtárban. + +> **Pro tipp:** Tedd az erőforrások mappáját a futtatható fájl mellé; ez leegyszerűsíti a `ResourcesPath` beállítást. + +--- + +## 1. lépés: Az Aspose.OCR NuGet csomag telepítése + +Először add hozzá a könyvtárat a projekthez. Nyiss egy terminált a projekt mappájában és futtasd: + +```bash +dotnet add package Aspose.OCR +``` + +Vagy ha inkább a Visual Studio felhasználói felületét használod, jobb‑kattints a **Dependencies → Manage NuGet Packages**‑re, keresd meg a *Aspose.OCR*-t, és kattints a **Install**‑re. + +> A csomag telepítése magával hozza az összes szükséges binárist, így nem lesz szükséged további DLL‑ekre. + +--- + +## 2. lépés: OCR motor létrehozása és konfigurálása (Hogyan használjunk OCR‑t – Offline mód) + +Most példányosítjuk az OCR motort és azt mondjuk neki, hogy **offline** módban dolgozzon. Ez biztosítja, hogy a felismerés során ne legyen hálózati forgalom. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Miért offline?** +Amikor az `EngineMode` értéke `Online`, a motor az Aspose felhőjét érinti el, hogy valós időben letöltsön nyelvi csomagokat. Szabályozott környezetekben (pénzügy, egészségügy) ez a forgalom gyakran tiltott. Az offline mód kényszerítésével garantálod, hogy minden a helyi gépen marad. + +--- + +## 3. lépés: A motor mutatása az OCR erőforrások mappájára + +Az OCR motorhoz nyelvi adatok (tréningelt modellek) szükségesek a karakterek felismeréséhez. Mondd meg, hol találhatók ezek a fájlok: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Ha nem vagy biztos a mappa helyében, keresd a NuGet csomag könyvtárában (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Másold az egész mappát a projektedbe a könnyebb telepítés érdekében. + +--- + +## 4. lépés: Kép betöltése OCR‑hez (Load Image for OCR) + +Bármilyen támogatott bitmapet átadhatsz a motornak. Itt egy lemezre mentett PNG‑t töltünk be: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tipp:** Ha stream‑ből kell képeket feldolgoznod (pl. egy API‑n keresztül feltöltve), használd az `ImageStream.FromStream(yourStream)`‑t helyette. + +--- + +## 5. lépés: A felismerési folyamat futtatása és a kép konvertálása szöveggé + +Minden előkészítve, indítsd el az OCR‑t. A `Recognize()` metódus végzi a nehéz munkát, a kinyert szöveg a `Text` tulajdonságon keresztül érhető el. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## 6. lépés: A kinyert szöveg kiírása + +Végül jelenítsd meg az eredményt. Konzolos alkalmazásban egyszerűen írd ki a konzolra, web API‑ban pedig JSON‑ként térj vissza a stringgel. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +A program futtatása ki kell, hogy nyomtassa a `offline_test.png` szöveges tartalmát. Például, ha a kép a *„Hello, World!”* kifejezést tartalmazza, a következőt fogod látni: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Teljes működő példa + +Az alábbiakban a komplett, azonnal futtatható program látható. Másold be egy új konzolos projektbe (`dotnet new console`) és igazítsd a útvonalakat a saját környezetedhez. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Várható kimenet:** A konzol pontosan kiírja a PNG fájlban lévő szöveget. Ha a kép homályos, előfordulhatnak hibás karakterek – lásd a hibaelhárítási részt lentebb. + +--- + +## Gyakori hibák és tippek (Szöveg felismerése PNG‑ből hatékonyan) + +| Probléma | Miért fordul elő | Hogyan javítsuk | +|----------|------------------|-----------------| +| **Üres kimenet** | A `ResourcesPath` rossz mappára mutat vagy hiányoznak a nyelvi fájlok. | Ellenőrizd, hogy a mappában van `eng.traineddata` (vagy más nyelvi fájl) és ellenőrizd a útvonal karakterláncot. | +| **Hibás karakterek** | A kép felbontása túl alacsony vagy a kép nincs binarizálva. | Előfeldolgozd a képet (növeld a DPI‑t, alkalmazz `ImageProcessor`‑t a élesítéshez). | +| **Teljesítmény késleltetés** | Nagy képeket teljes felbontásban dolgoz fel. | Méretezd át a képet legfeljebb 2000 px szélességre, mielőtt OCR‑nek adnád. | +| **Nem támogatott formátum** | BMP használata szokatlan pixel formátummal. | Konvertáld a képet először PNG vagy JPEG formátumba (`System.Drawing.Image.Save`). | + +**Pro tipp:** Ha több nyelvet szeretnél felismerni, állítsd be a `ocrEngine.Settings.Language = Language.English | Language.French;`‑t a `Recognize()` hívása előtt. + +--- + +## Gyakran Ismételt Kérdések + +**K: Használhatom ezt a kódot Linuxon?** +Igen. Az Aspose.OCR platformfüggetlen; csak győződj meg róla, hogy a natív könyvtárak jelen vannak (a NuGet csomag tartalmazza őket). + +**K: Mi van, ha nincs Resources mappám?** +Letöltheted a ingyenes nyelvi csomagokat az Aspose weboldaláról, vagy kibontthatod őket a NuGet csomagból (`.../aspose.ocr//resources`). + +**K: Van mód a megbízhatósági pontszámok lekérésére?** +Igen. A `Recognize()` után nézd meg az `ocrEngine.RecognizedWords`‑t – minden szó tartalmaz egy `Confidence` tulajdonságot. + +--- + +## Következtetés + +Áttekintettük, **hogyan használjunk OCR‑t** C#‑ban *szöveg kinyerésére képfájlokból* teljesen offline módon. Az Aspose.OCR telepítésével, az `EngineMode.Offline` beállításával, az erőforrások megadásával, kép betöltésével és a `Recognize()` meghívásával megbízhatóan **konvertálhatod a képet szöveggé** anélkül, hogy az internethez csatlakoznál. + +Vedd a fenti kódot, cseréld ki a saját képad útvonalait, és kezdj el olyan funkciókat építeni, mint kereshető PDF‑ek, adatbevitel automatizálása vagy akadálymentesítési eszközök. Legközelebb érdemes lehet **szöveg felismerése PNG‑ből** tömegesen kipróbálni, vagy az OCR motort egy ASP.NET Core API‑ba integrálni, hogy OCR eredményeket szolgáltass a front‑end alkalmazásoknak. + +Boldog kódolást, és nyugodtan kísérletezz – az OCR meglepően toleráns, ha a motor megfelelően van beállítva! + +--- + +![Diagram az offline OCR munkafolyamatról – hogyan használjunk OCR‑t biztonságos környezetben](https://example.com/ocr-workflow.png "hogyan használjunk OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/hungarian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..d7e677c17 --- /dev/null +++ b/ocr/hungarian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-03-07 +description: Tanulja meg, hogyan ismerje fel a hindi szöveget, és hogyan töltsön be + képet OCR-hez az Aspose.OCR C#-ban való használatával. Lépésről‑lépésre beállítás, + kód és tippek. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: hu +og_description: Ismerje meg, hogyan ismerhet fel hindi szöveget az Aspose OCR segítségével + C#-ban. Tartalmazza a kép betöltését OCR-hez, a nyelvi csomag beállítását és a legjobb + gyakorlatokra vonatkozó tippeket. +og_title: Hindi szöveg felismerése – Teljes Aspose OCR útmutató +tags: +- C# +- OCR +- Aspose +- Hindi +title: Hindi szöveg felismerése C#‑ban – Teljes Aspose OCR útmutató +url: /hu/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hindi szöveg felismerése – Teljes Aspose OCR útmutató + +Valaha szükséged volt **Hindi szöveg felismerésére** egy beolvasott nyugtáról, de nem tudtad, hol kezdj? Nem vagy egyedül. Sok indiai‑célú alkalmazásban a Hindi karakterek megbízható kinyerése olyan, mintha egy mozgó célpontot próbálnál elkapni. Szerencsére az Aspose.OCR egyszerűvé teszi – ha már ismered a helyes lépéseket a **load image for OCR**-hez, és a motorra mutatsz a Hindi nyelvi erőforrásokra. + +Ebben az útmutatóban végigvezetünk mindenen, ami egy működő OCR csővezetékhez szükséges C#‑ban. A végére egy futtatható programod lesz, amely letölti a Hindi nyelvi csomagot, betölti a képet, végrehajtja a felismerést, és kiírja a kapott szöveget a konzolra. Nincsenek homályos „lásd a dokumentációt” hivatkozások – csak egy önálló megoldás, amelyet bármely .NET projektbe beilleszthetsz. + +## Amire szükséged lesz + +- **.NET 6+** (vagy .NET Framework 4.7.2+). Az API ugyanaz minden verzióban, de az újabb futtatókörnyezet jobb teljesítményt nyújt. +- **Aspose.OCR for .NET** NuGet csomag. Telepítsd a `dotnet add package Aspose.OCR` paranccsal. +- Egy **Hindi language pack** – az Aspose letölthető erőforrásként biztosítja, alapértelmezésben nincs benne. +- Egy képfájl, amely Hindi szöveget tartalmaz (pl. `hindi_receipt.jpg`). Bármely gyakori formátum (JPG, PNG, BMP) működik. +- Egy megfelelő IDE (Visual Studio, Rider vagy VS Code). + +Ennyi – nincs külső OCR motor, nincs felhőkulcs, csak egy helyi könyvtár. + +## Step 1: Download the Hindi Language Pack – Set Up Resources + +Mielőtt az OCR motor megértené a Devanagari karaktereket, le kell töltened a Hindi nyelvi erőforrásokat. Ez egy egyszeri művelet, amelyet általában az alkalmazás telepítése vagy CI/CD során hajtanak végre. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Why this matters:** Az OCR motor nyelvspecifikus modellekre támaszkodik, hogy a pixelmintákat Unicode karakterekké alakítsa. Hindi csomag nélkül csak torz latin kimenetet vagy semmit sem kapsz. + +> **Pro tip:** Tedd a csomagot egy olyan mappába, amely írási jogosultsággal rendelkezik a célgépen. Ha Azure App Service‑re telepítesz, használd a `D:\home\site\wwwroot\Resources` mappát. + +## Step 2: Configure the OCR Engine – Point to Resources + +Most, hogy az erőforrások a helyükön vannak, hozd létre az `OcrEngine` példányt, és mondd meg, hol keresse a nyelvi fájlokat. Itt állítjuk be a **primary language**‑t a felismeréshez. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Why we do this:** A `ResourcesPath` a híd a motor és a letöltött fájlok között. Ha kihagyod ezt a lépést, a motor a beépített (csak angol) modelljeire támaszkodik, és nem tudja **recognize Hindi text**‑et helyesen. + +## Step 3: Load Image for OCR – Feed the Engine the Right Input + +A motor készen áll, a következő lépés a **load image for OCR**. Az Aspose egy kényelmes `ImageStream.FromFile` segédfüggvényt biztosít, amely a legtöbb gyakori képformátumot támogatja. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Large images** lassíthatják a feldolgozást. Ha nagy felbontású beolvasásokat kezelsz, először gondolj a lecsökkentésre (`ImageProcessor.Resize`). +- **Incorrect orientation** (elforgatott beolvasások) rossz eredményeket ad. Használd a `ocrEngine.Image.Rotate(90)`‑et, ha szükséges. + +## Step 4: Run the Recognition – Extract the Text + +Most ténylegesen megkérjük a motort, hogy olvassa a pixeleket és alakítsa Unicode karakterláncokká. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**What to expect:** Ha a kép tiszta, a Hindi karakterek pontosan úgy fognak megjelenni, ahogy a nyugta mutatja. Például egy minta nyugta ilyen kimenetet adhat: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Ha csak érthetetlen szöveget kapsz, ellenőrizd, hogy a nyelvi csomag helyesen letöltődött-e, és hogy az `ocrEngine.Settings.Language` `Language.Hindi`‑ra van-e állítva. + +## Step 5: Wrap It All Up – Complete, Runnable Program + +Az alábbiakban a teljes forrásfájl látható, amelyet egyszerűen beilleszthetsz egy konzolos projektbe. Tartalmazza az összes fenti lépést, valamint minimális hibakezelést. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Mentsd el `Program.cs`‑ként, futtasd a `dotnet run` parancsot, és a konzolon meg kell jelennie a Hindi szövegnek. + +## Frequently Asked Questions (FAQ) + +### Can I recognize multiple languages in one run? + +Igen. Állítsd be az `ocrEngine.Settings.Language`‑t egy tömbre, pl. `new[] { Language.Hindi, Language.English }`. A motor megpróbálja mindkét írásrendszer karaktereit felismerni. + +### What if my image is blurry? + +Gondolj előfeldolgozásra az `ImageProcessor`‑rel – alkalmazz élesítést vagy kontrasztjavítást, mielőtt az `ocrEngine.Image`‑hez rendelnéd. + +### Does this work on Linux/macOS? + +Természetesen. Az Aspose.OCR platformfüggetlen; csak győződj meg róla, hogy a natív függőségek jelen vannak (általában a NuGet csomaggal együtt kerülnek). + +### How do I improve accuracy for low‑resolution receipts? + +Növeld a DPI‑t (pont per hüvelyk) a beolvasás során, vagy programozottan mintavételezd újra a képet legalább 300 DPI‑ra OCR előtt. + +## Conclusion + +Mindezt lefedtük, ami a **recognize Hindi text** használatához szükséges az Aspose.OCR‑rel – a Hindi nyelvi csomag letöltésétől, a motor konfigurálásán, a **load image for OCR** helyes elvégzésén, a szöveg kinyeréséig és kiírásáig. A fenti teljes kódrészlet készen áll bármely C# konzolos alkalmazásba, és a kiegészítő tippek segítenek a gyakori problémák, például a homályos beolvasások vagy a többnyelvű dokumentumok kezelésében. + +Készen állsz a következő lépésre? Próbáld meg az OCR kimenetet egy fordítási API‑ba küldeni, vagy tárold az extrahált adatokat egy adatbázisban elemzés céljából. Kísérletezhetsz más indiai nyelvekkel is – az Aspose támogatja a Tamil, a Bengali és még sok más nyelvet – egyszerűen cseréld le a `Language.Hindi`‑t a kívánt enum értékre. + +Boldog kódolást, és legyenek mindig élesek az OCR eredményeid! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/hungarian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/hungarian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..13fe07ebd --- /dev/null +++ b/ocr/hungarian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Ismerje fel gyorsan a szöveget a képről az Aspose OCR-rel. Tanulja meg, + hogyan konvertáljon djvu-t szöveggé, hogyan nyerjen ki szöveget a képből, és hogyan + töltsön be képet OCR-hez egy lépésről‑lépésre C# oktatóanyagon. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: hu +og_description: szöveg felismerése képről C#-ban az Aspose OCR használatával. Ez az + útmutató bemutatja, hogyan konvertáljunk djvu-t szöveggé, hogyan nyerjünk ki szöveget + képből, és hogyan töltsünk be képet OCR-hez gyakorlati tippekkel. +og_title: Szöveg felismerése képről – Teljes C# Aspose OCR útmutató +tags: +- C# +- Aspose OCR +- Document Processing +title: Képről szöveg felismerése C#‑ban – Teljes Aspose OCR útmutató +url: /hu/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Szöveg felismerése képről – Teljes C# Aspose OCR útmutató + +Valaha is szükséged volt **szöveg felismerése képről**, de nem tudtad, melyik könyvtár ad megbízható eredményt? Nem vagy egyedül. Legyen szó beolvasott számlákról, történelmi DJVU fájlokról vagy egy egyszerű PNG képernyőképről, a pontos karakterek kinyerése úgy érezhető, mintha egy ősi írást kellene megfejteni. + +A lényeg: az Aspose OCR-val az egész folyamat egy könnyű feladat. Ebben az útmutatóban végigvezetünk, hogyan **konvertáljuk a djvu-t szöveggé**, **kivonjuk a szöveget képről**, és **betöltjük a képet OCR-hez** egy tömör C# program segítségével. A végére egy futtatható konzolalkalmazást kapsz, amely kiírja a felismert sztringet a konzolra, és megérted a „miért” mögött álló okokat is. + +## Mit tanulhatsz meg + +- Hogyan állítsd be az Aspose OCR motorját egy .NET projektben. +- A pontos kód, amely **betölti a képet OCR-hez** egy DJVU fájlból. +- Miért kell a `Recognize()` metódust meghívni a `Text` olvasása előtt. +- Gyakori buktatók (többoldalas DJVU, nem támogatott formátumok) és azok elkerülése. +- Gyors módszerek a **djvu konvertálására szöveggé** kötegelt feldolgozáshoz. + +Minden, amire szükséged van, egy friss .NET SDK (≥ 6.0) és egy Aspose OCR licenc (a ingyenes próba verzió teszteléshez elegendő). Nincs külső szolgáltatás, nincs REST hívás – csak tiszta C#. + +## Előkövetelmények + +| Követelmény | Ok | +|-------------|----| +| .NET 6 SDK vagy újabb | Modern nyelvi funkciók és jobb teljesítmény. | +| Aspose.OCR NuGet csomag (`Install-Package Aspose.OCR`) | Biztosítja a `OcrEngine` osztályt, amelyet használni fogunk. | +| Egy DJVU fájl (pl. `sample.djvu`) | Bemutatja a **djvu konvertálását szöveggé**. | +| Alapvető ismeretek C# konzolalkalmazásokról | Segít a lépések természetes folyamatában. | + +Ha valamelyik hiányzik, állj meg és telepítsd most; különben a kód nem fog lefordulni. + +## 1. lépés – Aspose.OCR telepítése és a projekt létrehozása + +Először hozz létre egy új konzolprojektet, és húzd be az OCR könyvtárat. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro tipp:* Használd a `--framework net6.0` kapcsolót, ha explicit módon szeretnéd rögzíteni a célkeretrendszert. + +## 2. lépés – Az OCR motor inicializálása és a DJVU kép betöltése + +A motornak szüksége van egy képforrásra. Az Aspose.OCR sok formátumot képes olvasni, köztük a DJVU-t, így egyszerűen a fájl útvonalára mutatunk. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Miért fontos:** +- Az `OcrEngine` a belépési pont; egyszeri létrehozása és újrahasználata csökkenti a memóriahasználatot. +- Az `ImageStream.FromFile` elrejti a fájlformátum részleteit, így később a DJVU fájlt PNG‑re vagy TIFF‑re cserélheted anélkül, hogy más kódrészt módosítanál – tökéletes a **szöveg kivonása képről** különböző helyzetekben. + +## 3. lépés – A felismerési folyamat indítása + +A `Recognize()` meghívása elindítja a nehéz munkát. A háttérben az Aspose egy neurális hálózaton alapuló osztályozót használ, amely nyomtatott és kézírásos szövegen egyaránt működik. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Speciális eset megjegyzés:* Ha a DJVU több oldalt tartalmaz, az `ImageStream.FromFile` csak az első oldalt tölti be. Az összes oldal feldolgozásához a `ImageStream.FromFile(...).Pages` ciklusát kell használnod. A legtöbb gyors ellenőrzéshez az első oldal elegendő. + +## 4. lépés – A felismert szöveg lekérése és megjelenítése + +A felismerés után a motor a `Text` tulajdonságot egy egyszerű szöveges stringgel tölti fel. Most már kiírhatod a konzolra, fájlba mentheted, vagy továbbadhatod egy másik rendszernek. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +A tipikus kimenet például: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Ha a kimenet torz, ellenőrizd, hogy a forráskép nem alacsony felbontású; az Aspose 300 dpi vagy annál nagyobb felbontást ajánl a legjobb pontosságért. + +## Teljes működő példa + +Összegezve, itt egy egyetlen fájl (`Program.cs`), amelyet beilleszthetsz a korábban létrehozott projektbe. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Futtasd a következővel: + +```bash +dotnet run +``` + +A terminálon meg kell jelennie a kinyert sztringnek. Ez a legegyszerűbb módja a **szöveg felismerése képről** az Aspose OCR használatával. + +## 5. lépés – Haladó: Több DJVU oldal konvertálása szövegfájlokká + +Ha nagy mennyiségben kell **djvu konvertálni szöveggé**, bővítsd a korábbi kódot egy ciklussal: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Miért működik:* A `GetPage(i)` visszaad egy `Image` objektumot a kért oldalra, így ugyanazt az `OcrEngine` példányt újrahasználhatod. Minden oldal szövege saját `.txt` fájlba kerül, így tiszta **djvu konvertálás szöveggé** folyamatot kapsz. + +## Gyakori kérdések és buktatók + +- **Kivonhatok szöveget JPEG‑ből a DJVU helyett?** + Természetesen. Csak cseréld ki a fájlkiterjesztést a `FromFile`‑ban. Ugyanaz a kód **szöveg kivonása képről** alkalmazható, mivel az Aspose elrejti a formátumot. + +- **Mi van, ha az OCR eredmény extra sortöréseket tartalmaz?** + Használd a `String.Replace("\r\n", " ")` vagy egy reguláris kifejezést a szóközök normalizálásához. + +- **Szükség van licencre a termelésben?** + Az ingyenes próba legfeljebb 100 oldalra működik. Korlátlan használathoz vásárolj licencet, és hívd meg a `License license = new License(); license.SetLicense("Aspose.OCR.lic");` sort a motor létrehozása előtt. + +- **A motor szálbiztos?** + Nem. Hozz létre külön `OcrEngine` példányt szálanként, vagy védj egy lock‑kal. + +## Tippek a pontosság növeléséhez + +1. **Növeld a DPI‑t** – Ha a forráskonverziót te irányítod, állítsd 300 dpi vagy magasabb értékre. +2. **Előfeldolgozás** – Egyszerű binarizálás (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) javíthat a zajos beolvasásokon. +3. **Nyelv megadása** – `ocrEngine.Language = Language.English;` szűkíti a karakterkészletet és felgyorsítja a felismerést. + +## Összegzés + +Most már van egy komplett, készen álló példa, amely **szöveg felismerése képről** az Aspose OCR segítségével, és láttad, hogyan **konvertáljuk a djvu-t szöveggé**, **hogyan vonjuk ki a szöveget képről**, valamint a helyes módját a **kép betöltésének OCR‑hez**. A kód önálló, bármely .NET 6+ környezetben fut, és könnyen bővíthető tömeges, többoldalas DJVU dokumentumok feldolgozására. + +A következő lépések, amiket érdemes felfedezni: + +- **Nyelvfelismerés** hozzáadása többnyelvű DJVU fájlokhoz. +- Az OCR kimenet integrálása egy keresőindexbe (pl. Elasticsearch). +- Aspose PDF konverzió használata a kinyert szöveg kereshető PDF‑vé alakításához. + +Próbáld ki, állítsd be a DPI‑t, kísérletezz különböző képformátumokkal, és hagyd, hogy az OCR motor végezze a nehéz munkát. Jó kódolást! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/ocr-configuration/_index.md b/ocr/indonesian/net/ocr-configuration/_index.md index 6dff131fd..780123b4b 100644 --- a/ocr/indonesian/net/ocr-configuration/_index.md +++ b/ocr/indonesian/net/ocr-configuration/_index.md @@ -62,6 +62,7 @@ Buka kekuatan pengenalan gambar OCR di .NET dengan Aspose.OCR. Ekstrak teks deng Buka kemampuan OCR yang kuat dengan Aspose.OCR untuk .NET. Ekstrak teks dari gambar secara mulus. ### [OCROperation dengan Daftar dalam Pengenalan Gambar OCR](./ocr-operation-with-list/) Buka potensi Aspose.OCR untuk .NET. Lakukan pengenalan gambar OCR dengan daftar secara mudah. Tingkatkan produktivitas dan ekstraksi data dalam aplikasi Anda. +### [Baca teks dari PNG – ekstrak teks Sirilik dengan Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) ### Kasus Penggunaan Umum - **Ekstrak gambar teks** dari faktur yang dipindai untuk akuntansi otomatis. @@ -98,4 +99,4 @@ A: Ya, objek `OcrResult` menyediakan nilai kepercayaan yang dapat Anda periksa 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/indonesian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/indonesian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..bd21fa0fc --- /dev/null +++ b/ocr/indonesian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-03-07 +description: Pelajari cara membaca teks dari PNG dan mengekstrak teks Cyrillic menggunakan + Aspose OCR, mengonversi gambar menjadi teks, serta mengunduh paket bahasa Cyrillic. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: id +og_description: Pelajari cara membaca teks dari PNG, mengekstrak teks Cyrillic, dan + mengonversi gambar menjadi teks menggunakan Aspose OCR dalam C#. +og_title: baca teks dari png – ekstrak teks Cyrillic dengan Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: baca teks dari png – ekstrak teks Cyrillic dengan Aspose OCR +url: /id/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# membaca teks dari png – mengekstrak teks Cyrillic dengan Aspose OCR + +Perlu **membaca teks dari file png** dan mengambil karakter Cyrillic? Pada panduan ini kami akan menunjukkan cara membaca teks dari png menggunakan Aspose OCR, mengekstrak teks Cyrillic, dan **mengonversi gambar menjadi teks** hanya dalam beberapa baris C#. + +Jika Anda pernah melihat screenshot faktur Rusia dan bertanya‑tanya bagaimana cara mengubah kata‑kata itu menjadi string yang dapat dicari, Anda berada di tempat yang tepat. Kami juga akan membahas cara **mengunduh paket bahasa Cyrillic** secara otomatis, sehingga Anda tidak perlu mencari file tambahan. + +## Apa yang akan Anda capai + +Pada akhir tutorial ini Anda akan dapat: + +* **Memuat gambar untuk OCR** langsung dari disk atau aliran. +* Mengatur mesin ke **bahasa Cyrillic** tanpa mengunduh secara manual. +* Menjalankan pengenalan dan **mengekstrak teks Cyrillic** dari file PNG. +* Melihat teks yang dikenali dicetak ke konsol – hasil teks polos yang bersih yang dapat Anda masukkan ke basis data, indeks pencarian, atau alur kerja lainnya. + +Tanpa layanan eksternal, tanpa kunci cloud, hanya paket NuGet Aspose OCR dan beberapa baris C#. + +## Prasyarat + +* .NET 6.0 atau lebih baru (kode ini bekerja pada .NET Core, .NET Framework, dan .NET 5+). +* Visual Studio 2022 atau editor apa pun yang Anda suka. +* Paket NuGet Aspose.OCR (`dotnet add package Aspose.OCR`). +* Gambar PNG yang berisi karakter Cyrillic – misalnya `cyrillic_sample.png` yang ditempatkan dalam folder bernama `YOUR_DIRECTORY`. + +> **Tips pro:** Jika Anda menggunakan Visual Studio, klik kanan proyek → **Manage NuGet Packages** → cari “Aspose.OCR” dan instal versi stabil terbaru. + +--- + +## Langkah 1 – Instal Aspose OCR dan buat mesin + +Pertama kita memerlukan instance mesin OCR. Kelas `OcrEngine` adalah titik masuk untuk semua operasi. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Mengapa ini penting:** Mesin mengenkapsulasi paket bahasa, data gambar, dan opsi pengenalan. Membuatnya satu kali dan menggunakannya kembali pada banyak gambar dapat meningkatkan kinerja. + +--- + +## Langkah 2 – **memuat gambar untuk ocr** dan mengatur bahasa + +Sekarang kita memberi tahu mesin gambar mana yang akan diproses dan bahasa apa yang dicari. Menetapkan `Language.Cyrillic` secara otomatis mengunduh paket bahasa yang diperlukan pada kali pertama dijalankan. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Kasus khusus:** Jika PNG Anda sangat besar (lebih dari 5 MB) Anda mungkin ingin mengubah ukurannya terlebih dahulu untuk mempercepat pengenalan. Properti `Image` juga menerima `Stream`, sehingga Anda dapat memuat dari memori, permintaan web, atau Azure Blob tanpa menyentuh sistem file. + +--- + +## Langkah 3 – **mengonversi gambar menjadi teks** dengan satu panggilan + +Pengenalan semudah memanggil `Recognize()`. Setelah panggilan ini properti `Text` berisi string yang diekstrak. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Apa yang terjadi di balik layar?** Aspose menjalankan classifier berbasis jaringan saraf yang dilatih dengan jutaan glif Cyrillic. Perpustakaan menyederhanakan semua kompleksitas itu, sehingga Anda mendapatkan Unicode yang bersih. + +--- + +## Langkah 4 – Keluarkan hasil (atau alirkan ke tempat lain) + +Untuk tujuan demo kami akan mencetak teks ke konsol, tetapi Anda dapat dengan mudah menuliskannya ke file, basis data, atau mengirimkannya ke indeks pencarian. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Output yang diharapkan** (asumsi `cyrillic_sample.png` berisi frasa “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Jika output terlihat berantakan, periksa kembali bahwa gambar jelas dan Anda telah mengatur `Language.Cyrillic`. Mesin secara default menggunakan bahasa Inggris, yang akan memperlakukan karakter Cyrillic sebagai simbol tidak dikenal. + +--- + +## Langkah 5 – Contoh lengkap yang dapat dijalankan + +Menggabungkan semuanya, berikut program mandiri yang dapat Anda salin‑tempel ke proyek konsol baru. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Simpan file sebagai `Program.cs`, jalankan `dotnet run`, dan Anda akan melihat teks Cyrillic tercetak. + +--- + +## Pertanyaan umum & pemecahan masalah + +| Pertanyaan | Jawaban | +|------------|---------| +| **Bagaimana jika paket bahasa tidak terunduh?** | Pastikan mesin memiliki akses internet. Paket disimpan dalam `%USERPROFILE%\.Aspose\OCR\Languages`. Menghapus folder tersebut memaksa unduhan ulang. | +| **Bisakah saya membaca bahasa lain selain Cyrillic?** | Tentu – ganti `Language.Cyrillic` dengan `Language.English`, `Language.Arabic`, dll. Logika unduhan otomatis tetap berlaku. | +| **PNG saya berisik – hasilnya buruk. Apa yang dapat saya lakukan?** | Praproses gambar: tingkatkan kontras, ubah ke skala abu‑abu, atau terapkan filter median. Aspose OCR juga menyediakan opsi `Settings.ImagePreprocess`. | +| **Apakah ada cara mendapatkan kotak pembatas untuk setiap kata?** | Ya, setelah `Recognize()` Anda dapat memeriksa `ocrEngine.Regions` yang mengembalikan persegi panjang untuk setiap kata yang terdeteksi. | +| **Apakah saya memerlukan lisensi untuk penggunaan produksi?** | Evaluasi gratis berlaku hingga 100 halaman. Untuk proyek komersial beli lisensi – menghilangkan watermark evaluasi dan membuka pemrosesan batch berkecepatan tinggi. | + +--- + +## Langkah selanjutnya – memperluas solusi + +* **Pemrosesan batch:** Loop melalui folder PNG, kumpulkan semua teks ke file CSV. +* **Integrasi dengan Azure Cognitive Search:** Indeks string Cyrillic yang diekstrak untuk pencarian cepat. +* **Menggabungkan dengan konversi PDF:** Gunakan Aspose.PDF untuk mengonversi PDF yang dipindai menjadi PNG terlebih dahulu, lalu jalankan alur OCR yang sama. + +Semua skenario tersebut menggunakan pola inti yang baru saja kami bahas: **memuat gambar untuk OCR → mengatur bahasa → mengenali → menggunakan teks**. + +--- + +## Kesimpulan + +Anda kini tahu cara **membaca teks dari png**, **mengekstrak teks Cyrillic**, dan **mengonversi gambar menjadi teks** dengan Aspose OCR di C#. Langkah‑langkah kuncinya adalah membuat mesin, memuat gambar, memilih bahasa yang tepat (yang secara otomatis **mengunduh paket bahasa Cyrillic**), dan akhirnya memanggil `Recognize()`. + +Cobalah dengan gambar yang berbeda, bereksperimen dengan opsi `Settings`, dan saksikan aplikasi Anda menjadi dapat dicari, multibahasa, dan jauh lebih cerdas. + +Selamat coding, dan jangan ragu meninggalkan komentar jika Anda mengalami kendala! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/ocr-optimization/_index.md b/ocr/indonesian/net/ocr-optimization/_index.md index 74145b54e..590e67efe 100644 --- a/ocr/indonesian/net/ocr-optimization/_index.md +++ b/ocr/indonesian/net/ocr-optimization/_index.md @@ -74,6 +74,12 @@ Jelajahi Aspose.OCR untuk .NET. Tingkatkan akurasi OCR dengan filter preprocessi Tingkatkan akurasi OCR dengan Aspose.OCR untuk .NET. Perbaiki ejaan, sesuaikan kamus, dan capai pengenalan teks bebas kesalahan dengan mudah. ### [Simpan Hasil Multipage sebagai Dokumen dalam OCR Image Recognition](./save-multipage-result-as-document/) Buka potensi Aspose.OCR untuk .NET. Simpan hasil OCR multipage sebagai dokumen dengan mudah menggunakan panduan langkah demi langkah yang komprehensif ini. +### [Cara Membetulkan Kemiringan Gambar dan Menjalankan OCR di C# – Panduan Lengkap](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Pelajari cara mengoreksi kemiringan gambar dan melakukan OCR dengan Aspose.OCR di C# secara menyeluruh. +### [Contoh Aspose OCR – Aktifkan Pemeriksaan Ejaan dan Perbaiki Kesalahan di C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Pelajari cara mengaktifkan pemeriksaan ejaan dan memperbaiki kesalahan OCR dalam C# menggunakan Aspose.OCR. +### [Cara Melakukan OCR pada Gambar Cina – Panduan Lengkap C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Pelajari cara mengoptimalkan OCR untuk gambar berbahasa Cina menggunakan Aspose.OCR di C#, termasuk penyiapan bahasa dan peningkatan akurasi. ## Pertanyaan yang Sering Diajukan diff --git a/ocr/indonesian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/indonesian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..b0d9902dc --- /dev/null +++ b/ocr/indonesian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Contoh Aspose OCR yang menunjukkan cara mengaktifkan pemeriksaan ejaan, + menambahkan kamus khusus, memuat OCR gambar, dan memperbaiki kesalahan OCR dengan + cepat. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: id +og_description: Contoh OCR Aspose yang memandu Anda melalui mengaktifkan pemeriksaan + ejaan, menambahkan kamus khusus, memuat gambar untuk OCR, dan memperbaiki kesalahan + OCR umum. +og_title: Contoh OCR Aspose – Aktifkan Pemeriksaan Ejaan & Perbaiki Kesalahan +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Contoh Aspose OCR – Aktifkan Pemeriksaan Ejaan dan Perbaiki Kesalahan di C# +url: /id/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Contoh Aspose OCR – Aktifkan Pemeriksaan Ejaan dan Perbaiki Kesalahan dalam C# + +Pernah membutuhkan **contoh Aspose OCR** yang tidak hanya membaca teks dari gambar tetapi juga membersihkan kesalahan ejaan yang mengganggu? Anda bukan satu‑satunya. Dalam banyak proyek dunia nyata output OCR mentah dipenuhi typo, terutama ketika gambar sumber berisi font kontras rendah atau catatan tulisan tangan. + +Kabar baik? Dengan Aspose.OCR Anda dapat **mengaktifkan pemeriksaan ejaan**, menambahkan kamus Anda sendiri, dan mendapatkan string yang rapi hanya dalam beberapa baris kode. Di bawah ini Anda akan melihat **cara mengaktifkan pemeriksaan ejaan**, **cara menambahkan kamus**, dan **cara memuat OCR gambar** sehingga Anda akhirnya dapat **memperbaiki kesalahan OCR** tanpa menggaruk kepala. + +Dalam tutorial ini kami akan membahas semua yang Anda perlukan—dari instalasi NuGet hingga program lengkap yang dapat dijalankan dan mencetak teks yang telah dikoreksi. Pada akhir tutorial Anda akan memiliki **contoh Aspose OCR** yang solid dan siap disisipkan ke proyek .NET mana pun. + +## Prasyarat + +- .NET 6.0 SDK atau yang lebih baru (kode ini juga bekerja dengan .NET Core dan .NET Framework) +- Visual Studio 2022 atau IDE kompatibel C# lainnya +- File gambar (`typed_text.png`) yang berisi teks bahasa Inggris yang jelas dan diketik +- Akses internet untuk mengunduh paket NuGet Aspose.OCR + +Tidak ada pustaka pihak ketiga lain yang diperlukan. + +--- + +## Langkah 1 – Instal Paket NuGet Aspose.OCR (Load Image OCR) + +Sebelum kita menulis kode apa pun, kita memerlukan pustaka yang menggerakkan mesin OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Jika Anda menggunakan Visual Studio, klik kanan proyek → *Manage NuGet Packages* → cari **Aspose.OCR** dan tekan *Install*. + +Menginstal paket memberi Anda akses ke `OcrEngine`, `ImageStream`, dan utilitas pemeriksaan ejaan bawaan yang akan kita gunakan nanti. Setelah paket terpasang, Anda siap untuk **memuat OCR gambar**. + +## Langkah 2 – Buat Instance OCR Engine + +Membuat engine adalah langkah konkret pertama dalam setiap **contoh Aspose OCR**. Anggap `OcrEngine` sebagai otak yang akan menganalisis bitmap dan menghasilkan teks. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Konstruktor `OcrEngine` tidak memerlukan parameter apa pun, sehingga mudah dan bersih untuk prototipe cepat. + +## Langkah 3 – Cara Mengaktifkan Pemeriksaan Ejaan (dan Mengapa Penting) + +Output OCR mentah sering berisi kata yang salah dikenali seperti “teh” alih‑alih “the”. Mengaktifkan pemeriksa ejaan bawaan memungkinkan Aspose secara otomatis mengganti kesalahan tersebut dengan ejaan yang paling mungkin benar. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Mengapa mengaktifkan pemeriksaan ejaan?** +> - **Akurasi:** Pemeriksaan ejaan pasca‑proses dapat meningkatkan akurasi teks keseluruhan sebesar 10‑15 % untuk dokumen tercetak. +> - **Pengalaman pengguna:** Teks bersih berarti lebih sedikit pembersihan lanjutan ketika Anda memasukkan hasil ke indeks pencarian atau pipeline analitik. + +## Langkah 4 – Cara Menambahkan Kamus (Kata‑Kata Khusus) + +Kadang‑kadang kamus default tidak mengenal nama merek, kode produk, atau jargon khusus domain Anda. Di sinilah **cara menambahkan kamus** berperan. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Anda dapat memberi array, list, atau bahkan membaca dari file jika memiliki kosakata khusus yang besar. Pemeriksa ejaan kini akan memperlakukan entri tersebut sebagai sah, mencegah koreksi yang keliru. + +## Langkah 5 – Muat Gambar untuk OCR (Load Image OCR) + +Setelah engine dikonfigurasi, kita perlu menunjuk ke gambar yang ingin dibaca. Helper `ImageStream.FromFile` menyederhanakan detail pembacaan file. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** Jika gambar Anda berada di sub‑folder proyek, atur properti *Copy to Output Directory* menjadi *Copy always* sehingga jalur dapat diselesaikan pada runtime. + +## Langkah 6 – Lakukan Pengakuan dan Perbaiki Kesalahan OCR + +Dengan semua pengaturan selesai, satu panggilan ke `Recognize()` menjalankan pipeline OCR, menerapkan pemeriksaan ejaan, dan menyimpan hasil yang telah dibersihkan di `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Output yang Diharapkan + +Misalkan `typed_text.png` berisi kalimat `The quick brown fox jumps over teh lazy dog`, konsol akan menampilkan: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Perhatikan bagaimana “teh” secara otomatis dikoreksi menjadi “the”. Jika Anda menambahkan “OCRify” ke kamus khusus dan gambar berisi kata tersebut, engine akan membiarkannya tidak berubah. + +--- + +## Contoh Lengkap yang Siap Pakai (Copy‑Paste Ready) + +Berikut adalah program lengkap yang dapat Anda tempel ke proyek konsol baru. Program ini mencakup semua langkah di atas, plus beberapa komentar untuk kejelasan. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Simpan sebagai `Program.cs`, jalankan `dotnet run`, dan Anda akan melihat kalimat yang telah dikoreksi tercetak di konsol. + +--- + +## Pertanyaan yang Sering Diajukan & Kasus Edge + +| Pertanyaan | Jawaban | +|------------|---------| +| **Bagaimana jika gambar berupa PDF multi‑halaman?** | Aspose.OCR dapat menangani halaman PDF sebagai gambar. Gunakan `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` dan lakukan loop untuk setiap halaman. | +| **Bisakah saya mengubah bahasa selain Inggris?** | Tentu saja. Atur `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (atau bahasa lain yang didukung). | +| **Kamus khusus saya sangat besar—apakah akan memengaruhi performa?** | Menambahkan ribuan kata menimbulkan biaya awal yang kecil, tetapi pencarian bersifat O(1) berkat hash‑set di baliknya. Untuk kosakata yang sangat besar, pertimbangkan memuatnya sekali saat aplikasi mulai. | +| **Bagaimana jika engine OCR melempar pengecualian karena gambar rusak?** | Bungkus `Recognize()` dalam blok try‑catch dan periksa `ocrEngine.LastError`. Anda juga dapat memvalidasi dimensi gambar terlebih dahulu dengan `ocrEngine.Image.Width` dan `Height`. | +| **Apakah saya memerlukan lisensi untuk penggunaan produksi?** | Evaluasi gratis cukup untuk pengujian, tetapi lisensi komersial menghilangkan watermark evaluasi dan membuka kinerja penuh. | + +--- + +## Kesimpulan + +Anda kini memiliki **contoh lengkap Aspose OCR** yang memperlihatkan **cara mengaktifkan pemeriksaan ejaan**, **cara menambahkan kamus**, **memuat OCR gambar**, dan **cara memperbaiki kesalahan OCR** dengan cara yang bersih dan siap produksi. Dengan mengonfigurasi pemeriksa ejaan dan memberi daftar kata khusus, Anda secara dramatis meningkatkan kualitas teks yang diekstrak tanpa menulis logika pasca‑proses sendiri. + +Siap untuk langkah selanjutnya? Coba ganti bahasa ke Spanyol, gunakan PDF multi‑halaman, atau integrasikan output ke indeks Azure Cognitive Search yang dapat dicari. Pola yang sama tetap berlaku—cukup ubah flag bahasa dan mungkin perluas kamus khusus. + +Jika panduan ini membantu Anda, beri bintang di GitHub, bagikan kepada rekan tim, atau tinggalkan komentar di bawah. Selamat coding, dan semoga hasil OCR Anda selalu bebas kesalahan! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/indonesian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..88bde15b3 --- /dev/null +++ b/ocr/indonesian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Pelajari cara meluruskan gambar, meningkatkan kontras, dan mengekstrak + teks dari pemindaian menggunakan Aspose OCR. Lakukan OCR pada gambar dengan contoh + lengkap C# dan muat gambar untuk OCR dengan mudah. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: id +og_description: Pelajari cara meluruskan gambar, meningkatkan kontras, dan mengekstrak + teks dari pemindaian menggunakan Aspose OCR dalam C#. Lakukan OCR pada gambar dengan + kode langkah demi langkah. +og_title: Cara Mengoreksi Kemiringan Gambar dan Menjalankan OCR di C# – Panduan Lengkap +tags: +- C# +- OCR +- Image Processing +title: Cara Mengoreksi Kemiringan Gambar dan Menjalankan OCR di C# – Panduan Lengkap +url: /id/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Mengoreksi Kemiringan Gambar dan Menjalankan OCR di C# – Panduan Lengkap + +Jika Anda pernah bertanya-tanya **cara mengoreksi kemiringan gambar** sebelum menjalankan OCR, Anda berada di tempat yang tepat. Pada tutorial ini kami akan memandu Anda meningkatkan kontras, memuat gambar untuk OCR, dan akhirnya **mengekstrak teks dari hasil pemindaian** dengan Aspose OCR. + +Apakah Anda sedang mendigitalisasi kwitansi lama, membersihkan kontrak yang dipindai, atau hanya membutuhkan cara andal untuk membaca teks dari foto yang miring, langkah‑langkah di bawah ini mencakup semua yang Anda perlukan. Tanpa basa‑basi—hanya contoh yang dapat langsung Anda salin‑tempel ke Visual Studio. + +## Apa yang Akan Anda Capai + +Pada akhir panduan ini Anda akan dapat: + +* Mengoreksi kemiringan hingga 30° (itulah bagian **cara mengoreksi kemiringan gambar**). +* Meningkatkan kontras gambar untuk tepi karakter yang lebih tajam (**cara meningkatkan kontras**). +* Memuat foto Anda ke dalam mesin OCR (**memuat gambar untuk OCR**). +* Menjalankan proses pengenalan dan **mengekstrak teks dari hasil pemindaian**. + +Semua ini bekerja dengan paket NuGet Aspose.OCR .NET terbaru (v23.11 pada saat penulisan). + +--- + +![Contoh cara mengoreksi kemiringan gambar](/images/deskew-example.png "cara mengoreksi kemiringan gambar") + +*Gambar di atas menunjukkan dokumen yang dipindai sebelum dan sesudah koreksi kemiringan.* + +## Prasyarat + +* .NET 6.0 atau yang lebih baru (kode ini juga dapat dijalankan pada .NET Framework 4.7+). +* Visual Studio 2022 (atau IDE C# apa pun yang Anda suka). +* Paket NuGet Aspose.OCR – instal melalui `dotnet add package Aspose.OCR`. + +Itu saja. Tanpa layanan eksternal, tanpa kunci API. + +--- + +## Cara Mengoreksi Kemiringan Gambar dengan Aspose OCR + +Hal pertama yang kami lakukan adalah membuat **ImageProcessingPipeline** dan menambahkan `DeskewFilter`. Filter ini secara otomatis mendeteksi sudut garis teks dominan dan memutar gambar kembali ke posisi horizontal. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Mengapa ini penting:** +Pemindaian yang miring membingungkan mesin OCR karena karakter tidak lagi sejajar dengan garis dasar. `DeskewFilter` menganalisis histogram gambar, menemukan sudutnya, dan memutarnya, sehingga akurasi pengenalan meningkat secara dramatis. + +> **Tips profesional:** Jika Anda tahu dokumen Anda tidak pernah melebihi kemiringan 15°, atur `MaxAngle = 15` untuk mempercepat proses. + +--- + +## Cara Meningkatkan Kontras untuk Pengakuan yang Lebih Baik + +Setelah koreksi kemiringan, langkah selanjutnya adalah membuat teks lebih menonjol. `ContrastBoostFilter` memperluas rentang intensitas piksel, yang sangat membantu untuk cetakan yang pudar. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Mengapa ini membantu:** +Pemindaian dengan kontras rendah menghasilkan karakter berwarna abu‑abu yang dapat diinterpretasikan binarisator sebagai latar belakang. Meningkatkan kontras membuat piksel gelap menjadi lebih gelap dan piksel terang menjadi lebih terang, memberikan `BinarizationFilter` kanvas yang lebih bersih. + +--- + +## Lakukan OCR pada Gambar – Memuat File + +Setelah gambar dipra‑proses, kita perlu **memuat gambar untuk OCR**. Aspose menyediakan helper `ImageStream.FromFile` yang praktis. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Jika gambar Anda berada dalam stream (misalnya, diunggah melalui API web), Anda dapat menggunakan `ImageStream.FromStream(yourStream)` sebagai gantinya. Mesin ini menerima BMP, JPEG, PNG, TIFF, dan banyak format lainnya. + +--- + +## Jalankan Proses Pengenalan dan Ekstrak Teks dari Hasil Pemindaian + +Setelah semuanya terhubung, memanggil `Recognize()` melakukan pekerjaan berat. Setelah pemanggilan, teks yang dikenali tersedia melalui `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Output yang diharapkan** (contoh untuk faktur sederhana): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Jika output terlihat berantakan, periksa kembali urutan pipeline—pertama koreksi kemiringan, kemudian denoise, peningkatan kontras, dan terakhir binarisasi. Menukar urutan dapat menurunkan hasil. + +--- + +## Kesalahan Umum dan Kasus Tepi + +| Masalah | Mengapa Terjadi | Solusi | +|---------|----------------|--------| +| **Hasil kosong** | Gambar terlalu gelap atau terlalu terang untuk metode binarisasi default. | Tingkatkan `ContrastBoostFilter.Strength` atau beralih ke `BinarizationMethod.Otsu`. | +| **Teks sebagian hilang** | Noise masih tersisa setelah denoising. | Gunakan `DenoiseLevel.Medium` untuk gambar yang lebih ringan, atau tambahkan `DenoiseFilter` kedua. | +| **Arah rotasi salah** | Dokumen memiliki orientasi campuran (misalnya, foto halaman yang diputar). | Atur `DeskewFilter.MaxAngle` lebih rendah dan pra‑putar gambar dengan `ImageProcessor.Rotate`. | +| **Perlambatan kinerja** | Batch besar gambar beresolusi tinggi. | Turunkan resolusi gambar (`ImageProcessor.Resize`) sebelum pipeline, atau proses secara paralel (`Parallel.ForEach`). | + +--- + +## Contoh Lengkap yang Siap Pakai (Copy‑Paste) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Simpan sebagai `Program.cs`, jalankan `dotnet run`, dan saksikan konsol menampilkan hasil **ekstrak teks dari hasil pemindaian**. + +--- + +## Langkah Selanjutnya & Topik Terkait + +* **Pemrosesan batch** – Bungkus logika di atas dalam loop untuk menangani puluhan file. +* **Paket bahasa khusus** – Jika Anda perlu membaca skrip non‑Latin, muat model bahasa melalui `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **Output PDF** – Gabungkan Aspose.PDF dengan OCR untuk menyematkan teks yang dapat dicari langsung ke dalam file PDF. +* **Optimasi kinerja** – Bereksperimen dengan urutan `ImageProcessingPipeline`; kadang‑kadang denoising sebelum koreksi kemiringan menghasilkan proses lebih cepat pada foto yang berisik. + +Semua ini dibangun di atas konsep inti yang telah kami bahas: **cara mengoreksi kemiringan gambar**, **cara meningkatkan kontras**, **memuat gambar untuk OCR**, **melakukan OCR pada gambar**, dan akhirnya **mengekstrak teks dari hasil pemindaian**. + +--- + +## Penutup + +Kami baru saja mendemonstrasikan cara lengkap dan siap produksi untuk **cara mengoreksi kemiringan gambar** dan menjalankan OCR di C#. Dengan menambahkan filter deskew, langkah denoise, peningkatan kontras, dan binarisasi, Anda mendapatkan input bersih yang memungkinkan Aspose OCR secara andal **mengekstrak teks dari hasil pemindaian**. + +Cobalah kode tersebut, sesuaikan parameter filter untuk dokumen Anda sendiri, dan Anda akan melihat seberapa cepat akurasi pengenalan meningkat. Ada pertanyaan? Tinggalkan komentar, dan selamat coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/indonesian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..874e8ba95 --- /dev/null +++ b/ocr/indonesian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-03-07 +description: Cara melakukan OCR pada gambar berbahasa Cina menggunakan Aspose OCR. + Pelajari cara mengekstrak teks Cina, mengonversi gambar menjadi ePub, dan meningkatkan + akurasi OCR dalam satu tutorial. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: id +og_description: Cara melakukan OCR pada gambar berbahasa Cina dengan Aspose OCR. Dapatkan + kode langkah demi langkah untuk mengekstrak teks Cina, meningkatkan OCR, dan mengekspor + ke ePub. +og_title: Cara Melakukan OCR pada Gambar Cina – Panduan Lengkap C# +tags: +- OCR +- C# +- Aspose +title: Cara Melakukan OCR pada Gambar Bahasa Cina – Panduan Lengkap C# +url: /id/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Melakukan OCR pada Gambar Bahasa Cina – Panduan Lengkap C# + +Pernah bertanya-tanya **bagaimana melakukan OCR** pada gambar yang berisi karakter Cina? Anda tidak sendirian. Dalam banyak aplikasi—memindai struk, mendigitalisasi buku teks, atau membangun mesin pencari multibahasa—mendapatkan teks bersih dari gambar adalah fitur yang menentukan keberhasilan. + +Dalam tutorial ini kami akan membahas solusi dunia nyata yang **mengekstrak teks Cina**, menuliskan hasilnya ke file teks biasa, dan bahkan **mengonversi gambar ke ePub** untuk e‑reader. Sepanjang jalan kami akan membahas **cara meningkatkan akurasi OCR**, mengapa Anda harus mengaktifkan mode GPU, dan apa yang perlu Anda lakukan untuk **mengenali bahasa Cina sederhana** dengan benar. + +Pada akhir panduan Anda akan memiliki program C# yang dapat dijalankan sepenuhnya, beberapa tips praktis, dan gambaran jelas tentang langkah selanjutnya yang dapat Anda ambil (seperti menambahkan deteksi bahasa atau pemrosesan batch). Tidak diperlukan dokumen eksternal—semua yang Anda butuhkan ada di sini. + +## Apa yang Anda Butuhkan + +- .NET 6+ (atau .NET Core 3.1 dengan Aspose OCR for .NET) +- Lisensi Aspose OCR for .NET yang valid (versi percobaan gratis cukup untuk percobaan) +- File gambar yang berisi karakter Cina Sederhana (misalnya `chinese_sample.jpg`) +- Visual Studio 2022 atau editor C# apa pun yang Anda sukai + +Jika Anda belum memiliki salah satu dari ini, dapatkan paket NuGet sekarang: + +```bash +dotnet add package Aspose.OCR +``` + +Itu saja—tidak ada pustaka native tambahan, tidak ada interop COM, hanya satu paket .NET. + +## Cara Melakukan OCR – Menyiapkan Mesin Aspose OCR + +Hal pertama yang harus Anda lakukan adalah membuat dan mengonfigurasi mesin OCR. Langkah ini penting karena pengaturan mesin menentukan **seberapa baik OCR bekerja** pada karakter Cina dan seberapa cepat prosesnya. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Mengapa ini penting:** +- **Language = ChineseSimplified** memberi tahu Aspose untuk memuat set karakter untuk Cina Sederhana, yang secara dramatis mengurangi kesalahan pengenalan. +- **EngineMode.Gpu** dapat memotong waktu pemrosesan setengahnya pada GPU modern, tetapi secara otomatis beralih ke CPU jika tidak ada GPU. +- **DeskewFilter** menghilangkan kemiringan yang sering muncul ketika pengguna mengambil foto dengan ponsel. +- **Binarisasi Sauvola** menghasilkan gambar hitam‑putih kontras tinggi, trik klasik untuk meningkatkan akurasi OCR pada skrip padat seperti Cina. + +> **Pro tip:** Jika Anda menangani foto dengan pencahayaan rendah, tambahkan `ContrastFilter` sebelum binarisasi. Ini tidak wajib untuk contoh kami, tetapi sering menyelamatkan Anda dari beberapa masalah. + +![Diagram alur OCR](ocr-pipeline.png "Diagram alur OCR") + +> *Teks alt:* Diagram alur OCR + +## Ekstrak Teks Cina dari Gambar + +Sekarang mesin sudah siap, kami memuat gambar dan membiarkan mesin melakukan keajaibannya. Inilah inti dari **ekstrak teks Cina**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Apa yang harus Anda lihat:** +Jika `chinese_sample.jpg` berisi frasa “中华人民共和国”, file `out.txt` akan berisi tepat karakter‑karakter tersebut—tanpa spasi tambahan, tanpa huruf Latin yang kacau. + +### Kesalahan Umum + +| Masalah | Mengapa Terjadi | Perbaikan | +|-------|----------------|-----| +| Karakter hilang | Gambar terlalu berisik | Tambahkan `MedianFilter` sebelum binarisasi | +| Bahasa salah terdeteksi | `Language` diatur ke `English` | Pastikan `Language = Language.ChineseSimplified` | +| Pemrosesan lambat | GPU tidak diaktifkan | Verifikasi mesin Anda memiliki driver CUDA yang kompatibel | + +## Konversi Gambar ke ePub + +Banyak pengembang bertanya, *“Bisakah saya mengubah halaman yang dipindai menjadi e‑book yang dapat dibaca?”* Tentu—Aspose OCR dilengkapi dengan pengekspor ePub. Ini memenuhi kebutuhan **konversi gambar ke epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +File `out.epub` yang dihasilkan akan berisi teks Cina yang diekstrak, terkode dengan benar dalam UTF‑8, dan dapat dibuka di Kindle, Apple Books, atau pembaca ePub apa pun. + +**Mengapa menggunakan ePub?** +- Bersifat reflowable, sehingga pembaca dapat menyesuaikan ukuran font tanpa merusak tata letak. +- Format ini menjaga teks tetap dapat dicari, yang berguna untuk pengindeksan di kemudian hari. + +## Cara Meningkatkan OCR – Penyesuaian Praktis + +Bahkan dengan alur yang solid, Anda mungkin masih melihat kesalahan pengenalan sesekali. Berikut daftar periksa cepat untuk **cara meningkatkan OCR** pada dokumen Cina: + +1. **Pra‑proses gambar** – Gunakan `GaussianBlurFilter` untuk menghaluskan bintik‑bintik, lalu `ContrastFilter` untuk menajamkan tepi. +2. **Atur DPI lebih tinggi** – Jika Anda mengontrol proses pemindaian, targetkan 300 dpi atau lebih; gambar beresolusi rendah kehilangan detail goresan. +3. **Aktifkan deteksi bahasa** – Aspose dapat mendeteksi bahasa secara otomatis; gabungkan dengan fallback ke Cina Sederhana jika deteksi gagal. +4. **Sesuaikan binarisasi** – Ganti `Sauvola` dengan `Otsu` jika latar belakang seragam terang. +5. **Pemrosesan batch** – Proses beberapa halaman secara paralel menggunakan `Parallel.ForEach` untuk memanfaatkan CPU multi‑core. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Mengenali Bahasa Cina Sederhana – Kasus Tepi + +Frasa **mengenali bahasa Cina sederhana** sering membuat pemula kebingungan karena mesin OCR yang sama juga dapat menangani Cina Tradisional, Jepang, atau Korea. Agar hasilnya deterministik: + +- **Setel bahasa secara eksplisit** (seperti yang kami lakukan pada Langkah 1). +- **Hindari halaman campuran bahasa**; jika satu halaman mencampur Cina Sederhana dengan Inggris, pertimbangkan menjalankan dua kali: satu dengan `Language.ChineseSimplified`, satu lagi dengan `Language.English`. +- **Validasi output** – Setelah pengenalan, jalankan regex sederhana untuk memastikan semua karakter berada dalam rentang Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Jika pemeriksaan gagal, Anda dapat mencatat halaman tersebut untuk peninjauan manual. + +## Contoh Lengkap yang Berfungsi + +Menggabungkan semua langkah, berikut satu file yang dapat Anda salin‑tempel ke proyek konsol baru (`Program.cs`). File ini mencakup semua langkah, penyesuaian opsional, dan baris status akhir. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Output konsol yang diharapkan (contoh):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Jalankan program, buka `out.txt` atau `out.epub`, dan Anda akan melihat karakter Cina yang bersih dan dapat dicari, siap untuk diproses lebih lanjut. + +## Kesimpulan + +Kami baru saja membahas **cara melakukan OCR** pada gambar Cina dari awal hingga akhir, menunjukkan cara **mengekstrak teks Cina**, **mengonversi hasil ke ePub**, dan menerapkan beberapa + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/text-recognition/_index.md b/ocr/indonesian/net/text-recognition/_index.md index 7aee7bb85..f1f93da3c 100644 --- a/ocr/indonesian/net/text-recognition/_index.md +++ b/ocr/indonesian/net/text-recognition/_index.md @@ -48,16 +48,27 @@ Tingkatkan aplikasi .NET Anda dengan Aspose.OCR untuk pengenalan karakter yang a ### [Dapatkan Hasil Pengakuan dalam Pengenalan Gambar OCR](./get-recognition-result/) Jelajahi Aspose.OCR untuk .NET, solusi OCR canggih untuk pengenalan teks tanpa hambatan dalam gambar. ### [Dapatkan Hasil sebagai JSON dalam Pengenalan Gambar OCR](./get-result-as-json/) -Bebaskan kekuatan Aspose.OCR untuk .NET. Pelajari cara mendapatkan hasil OCR dalam format JSON dengan mudah. Tingkatkan pengenalan gambar Anda dengan panduan langkah demi langkah ini. +Bebaskan kekuatan Aspose.OCR untuk .NET. Pelajari cara mendapatkan hasil OCR dalam format JSON dengan mudah. Tingkatkan pengenalan gambar Anda dengan panduan langkah demi langkah. ### [Mode Deteksi Area OCR dalam Pengenalan Gambar OCR](./ocr-detect-areas-mode/) Tingkatkan aplikasi .NET Anda dengan Aspose.OCR untuk pengenalan teks gambar yang efisien. Jelajahi Mode Deteksi Area OCR untuk hasil yang presisi. ### [Kenali PDF dalam Pengenalan Gambar OCR](./recognize-pdf/) Buka potensi OCR di .NET dengan Aspose.OCR. Ekstrak teks dari PDF dengan mudah. Unduh sekarang untuk pengalaman integrasi yang lancar. ### [Kenali Tabel dalam Pengenalan Gambar OCR](./recognize-table/) Buka potensi Aspose.OCR untuk .NET dengan panduan komprehensif kami tentang mengenali tabel dalam pengenalan gambar OCR. +### [Mengenali Teks Hindi dalam C# – Panduan Lengkap Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Pelajari cara mengenali teks Hindi dalam aplikasi C# menggunakan Aspose OCR dengan panduan lengkap langkah demi langkah. +### [Cara Membuat ePub dari Gambar di C# – Panduan Langkah demi Langkah](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Pelajari cara mengonversi gambar menjadi file ePub menggunakan C# dengan panduan langkah demi langkah yang mudah diikuti. +### [Mengenali Teks dari Gambar di C# – Panduan Lengkap Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Pelajari cara mengenali teks dari gambar menggunakan Aspose OCR di C# dengan panduan lengkap langkah demi langkah. +### [Ekstrak Teks dari PNG di C# – Panduan OCR Lengkap](./extract-text-from-png-in-c-full-ocr-guide/) +Pelajari cara mengekstrak teks dari file PNG menggunakan Aspose.OCR di C# dengan panduan lengkap langkah demi langkah. +### [Cara Menggunakan OCR di C# – Ekstrak Teks dari Gambar Secara Offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Pelajari cara menggunakan OCR di C# untuk mengekstrak teks dari gambar secara offline dengan panduan langkah demi langkah. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/indonesian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..420b57e0a --- /dev/null +++ b/ocr/indonesian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: Ekstrak teks dari file PNG menggunakan C#. Pelajari cara mengonversi + gambar menjadi teks dengan C# dan baca teks dari gambar yang dipindai dengan cepat. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: id +og_description: Ekstrak teks dari file PNG menggunakan C#. Panduan ini menunjukkan + cara mengonversi gambar menjadi teks C# dan membaca teks dari gambar yang dipindai + dengan Aspose OCR. +og_title: Ekstrak Teks dari PNG di C# – Panduan OCR Lengkap +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Ekstrak Teks dari PNG di C# – Panduan OCR Lengkap +url: /id/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ekstrak Teks dari PNG di C# – Panduan OCR Lengkap + +Pernah perlu **mengekstrak teks dari file PNG** tetapi tidak tahu harus mulai dari mana? Anda tidak sendirian—banyak pengembang mengalami hal ini saat pertama kali menghadapi grafik yang dipindai atau screenshot yang harus menjadi teks yang dapat dicari. Kabar baik? Dengan beberapa baris C# dan Aspose OCR Anda dapat mengubah PNG apa pun menjadi string yang dapat diedit dalam sekejap. + +Dalam tutorial ini kami akan membahas seluruh proses: mulai dari menemukan PNG di disk, meluncurkan tugas OCR secara paralel, hingga menampilkan pratinjau rapi setiap hasil. Pada akhir tutorial Anda akan tahu cara **convert image to text C#**, dapat **read text from scanned images** secara efisien, dan juga melihat cara terbaik untuk **run OCR on images** tanpa membebani thread UI Anda. + +## Apa yang Anda Butuhkan + +- .NET 6.0 atau lebih baru (kode ini juga bekerja di .NET Core dan .NET Framework) +- Paket NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- Sebuah folder berisi file *.png* yang ingin Anda proses +- IDE apa saja yang Anda suka (Visual Studio, VS Code, Rider…) + +Tidak ada konfigurasi tambahan yang diperlukan; pustaka ini sudah menyertakan semua yang dibutuhkan untuk mendekode PNG, JPEG, TIFF, apa saja. + +## Langkah 1: Temukan Semua File PNG – “Extract Text from PNG” Dimulai + +Pertama kita harus menemukan setiap PNG yang akan diproses OCR. Menggunakan `Directory.GetFiles` cepat dan dapat diandalkan. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Mengapa ini penting:* Memindai direktori sekali saja membuat sisa alur kerja tetap sederhana, dan pemeriksaan awal mencegah situasi “tidak ada output” yang diam-diam dan sulit dideteksi nanti. + +## Langkah 2: Jalankan Tugas OCR Paralel – Secara Efisien **run OCR on images** + +Menjalankan OCR secara berurutan baik untuk beberapa file, tetapi proyek dunia nyata sering berurusan dengan puluhan atau ratusan file. Dengan meluncurkan `Task` per gambar, CPU tetap sibuk sementara pustaka melakukan pekerjaan beratnya. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Tip pro:* `Task.Run` memindahkan pekerjaan ke thread pool, yang berarti UI Anda (jika ada) tetap responsif. Jika Anda berada di server, pola yang sama dapat diskalakan dengan baik di seluruh core. + +## Langkah 3: Tunggu Semua Tugas – Kumpulkan Hasilnya + +Sekarang kita menunggu setiap operasi OCR selesai. `Task.WhenAll` mengembalikan array yang berurutan sesuai dengan urutan file asli, sehingga mudah memadukan hasil dengan nama file. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Catatan kasus tepi:* Jika satu gambar saja melempar pengecualian (file rusak, format tidak didukung) seluruh `WhenAll` akan mengangkat pengecualian tersebut. Anda dapat membungkus `Task.Run` internal dalam try/catch dan mengembalikan string kosong atau pesan diagnostik jika memerlukan toleransi kesalahan. + +## Langkah 4: Tampilkan Pratinjau – Verifikasi output **convert image to text C#** + +Pratinjau cepat membantu Anda memastikan OCR berhasil sebelum menyimpan data ke tempat lain. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Output konsol tipikal terlihat seperti: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Jika pratinjau menampilkan karakter acak, periksa kembali kualitas gambar atau pertimbangkan pra‑pemrosesan (misalnya, binarisasi) – tetapi untuk kebanyakan PNG bersih Aspose OCR akan menghasilkan hasil yang tepat pada percobaan pertama. + +## Opsional: Simpan Hasil ke CSV – Kasus Penggunaan Dunia Nyata + +Sebagian besar proyek memerlukan teks yang diekstrak dalam format terstruktur. Di bawah ini ada helper kecil yang menulis nama file dan teks OCR lengkap ke file CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Sekarang Anda dapat mengimpor CSV ke Excel, Power BI, atau sistem downstream apa pun yang mengharapkan **read text from scanned images**. + +## Pertanyaan yang Sering Diajukan + +**Bagaimana jika PNG saya sangat besar (lebih dari 5 MB)?** +Aspose OCR secara otomatis menurunkan resolusi gambar besar untuk menjaga penggunaan memori tetap wajar, tetapi Anda dapat mengubah ukuran secara manual dengan `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` untuk membatasi lebar menjadi 2000 px sambil mempertahankan rasio aspek. + +**Apakah saya dapat menjalankannya di Linux?** +Ya. Aspose OCR bersifat lintas‑platform; pastikan dependensi native (`libgdiplus` pada beberapa distro) sudah terpasang. + +**Apakah bahasa OCR defaultnya Inggris?** +Benar. Jika Anda membutuhkan bahasa lain, setel `engine.Language = OcrLanguage.French;` (atau enum lain yang didukung) sebelum memanggil `Recognize()`. + +**Bagaimana menangani PDF yang dilindungi password dan berisi PNG?** +Konversi halaman PDF ke gambar terlebih dahulu (menggunakan Aspose PDF atau pustaka lain), lalu masukkan PNG tersebut ke dalam pipeline yang sama. Prinsip **how to run OCR on images** tetap tidak berubah. + +## Contoh Lengkap yang Berfungsi (Async Main) + +Berikut adalah program mandiri yang dapat Anda salin‑tempel ke proyek konsol. Program ini mencakup semua bagian di atas, plus helper kecil untuk memvalidasi folder input. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Output yang diharapkan** (contoh untuk dua PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Penutup + +Kami baru saja membahas semua yang Anda perlukan untuk **extract text from PNG** menggunakan C#. Dari menemukan file, meluncurkan pekerjaan OCR paralel, meninjau string, hingga menyimpannya ke CSV—panduan ini memberikan pola siap produksi untuk skenario **convert image to text C#**. + +Jika Anda siap ke langkah berikutnya, coba jalankan pipeline yang sama untuk file JPEG atau TIFF, bereksperimen dengan bahasa OCR yang berbeda, atau hubungkan hasilnya ke indeks pencarian sehingga Anda dapat **read text from scanned images** secara instan. + +Punya pertanyaan tentang kasus tepi, penyetelan performa, atau lisensi? Tinggalkan komentar atau hubungi komunitas Aspose—selamat coding! + +![Ekstrak teks dari contoh PNG](extract-text-png.png "Ekstrak teks dari PNG menggunakan Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/indonesian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..cc9abc412 --- /dev/null +++ b/ocr/indonesian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Cara membuat ePub dari gambar yang dipindai menggunakan Aspose OCR – + pelajari cara mengonversi gambar ke ePub, mengekstrak teks dari gambar, menambahkan + penulis ke ePub, dan memuat gambar untuk OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: id +og_description: Cara membuat ePub dari gambar yang dipindai di C#. Tutorial ini menunjukkan + cara mengonversi gambar menjadi ePub, mengekstrak teks dari gambar, menambahkan + penulis ke ePub, dan memuat gambar untuk OCR. +og_title: Cara Membuat ePub dari Gambar di C# – Panduan Lengkap +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Cara Membuat ePub dari Gambar di C# – Panduan Langkah demi Langkah +url: /id/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Membuat ePub dari Gambar di C# – Panduan Lengkap + +Pernah bertanya‑tanya **bagaimana cara membuat ePub** dari sekumpulan halaman yang dipindai? Mungkin Anda memiliki beberapa PNG dari sebuah novel klasik dan ingin mengubahnya menjadi ePub rapi yang dapat dibaca di perangkat apa pun. Kabar baiknya, dengan Aspose OCR Anda dapat **memuat gambar untuk OCR**, mengambil teksnya, dan kemudian **mengonversi gambar ke ePub** hanya dalam beberapa baris C#. + +Dalam tutorial ini kami akan membahas seluruh alur kerja: memuat gambar, mengekstrak teks, menambahkan beberapa metadata (ya, kami akan **menambahkan penulis ke epub**), dan akhirnya menulis file ePub yang sesuai standar. Pada akhir tutorial Anda akan memiliki ePub siap terbit dan pemahaman yang kuat tentang setiap langkah, sehingga Anda dapat menyesuaikan kode untuk buku multi‑halaman, font khusus, atau bahkan distribusi bebas DRM. + +## Apa yang Anda Butuhkan + +- **.NET 6** atau yang lebih baru (API juga bekerja dengan .NET Standard 2.0+) +- **Aspose.OCR untuk .NET** – Anda dapat mengunduh versi percobaan gratis dari situs Aspose. +- Gambar yang dipindai seperti `book_page.png` yang disimpan di suatu tempat di disk. +- IDE favorit (Visual Studio, Rider, atau VS Code – saya akan menggunakan Visual Studio dalam tangkapan layar). + +Tidak ada paket NuGet tambahan yang diperlukan; Aspose.OCR sudah menyertakan semua yang Anda perlukan untuk ekspor ePub. + +--- + +![Cara membuat ePub dari gambar yang dipindai](/images/how-to-create-epub.png "Cara membuat ePub dari gambar yang dipindai menggunakan Aspose OCR") + +## Langkah 1 – Siapkan Proyek dan Instal Aspose.OCR + +Langkah pertama. Buat aplikasi konsol baru: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Tambahkan paket Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +Itu saja – perpustakaan ini sudah menyertakan kemampuan OCR dan ekspor ePub, jadi Anda tidak memerlukan dependensi tambahan. + +## Langkah 2 – Muat Gambar untuk OCR + +Sebelum kita dapat **mengekstrak teks dari gambar**, kita harus memberi mesin OCR sesuatu untuk dibaca. Helper `ImageStream.FromFile` membuat ini sangat mudah: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Tip profesional:** Jika gambar Anda berada dalam sumber daya yang disematkan, gunakan `ImageStream.FromResource` alih‑alih `FromFile`. + +## Langkah 3 – Ekstrak Teks dari Gambar + +Sekarang mesin benar‑benar membaca piksel dan mengubahnya menjadi string Unicode. Metode `Recognize` melakukan pekerjaan berat tersebut. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Mengapa memanggil `Recognize` secara terpisah? Karena hal itu memungkinkan Anda memeriksa output OCR mentah, menyesuaikan pengaturan bahasa, atau bahkan menjalankan pemeriksaan ejaan sebelum melanjutkan ke pembuatan ePub. + +## Langkah 4 – Siapkan Opsi Ekspor ePub (Tambah Penulis ke ePub) + +Membuat ePub yang rapi tidak hanya sekadar menumpahkan teks; Anda juga memerlukan metadata yang tepat. Kelas `EpubExportOptions` memberi Anda cara bersih untuk **menambahkan penulis ke ePub**, mengatur judul, dan memutuskan apakah akan menyematkan gambar asli. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Jika Anda memiliki banyak halaman, Anda dapat terus memanggil `ocrEngine.Image = …` dan `ocrEngine.Recognize()` di dalam sebuah loop; setiap panggilan menambahkan konten halaman baru ke dokumen ePub yang sama. + +## Langkah 5 – Konversi Gambar ke ePub dan Ekspor + +Dengan teks yang sudah diekstrak dan metadata yang sudah diatur, langkah terakhir adalah satu baris kode yang menulis file ePub ke disk: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +File `book.epub` yang dihasilkan dapat dibuka di Calibre, Apple Books, atau pembaca EPUB apa pun. Karena kami mengatur `IncludeImages = true`, PNG asli akan muncul sebagai halaman gambar, mempertahankan tampilan sumber yang dipindai. + +## Contoh Lengkap yang Berfungsi + +Menggabungkan semuanya, berikut program lengkap yang siap dijalankan: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Output yang Diharapkan + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Buka `book.epub` di pembaca favorit Anda dan Anda akan melihat halaman judul, baris penulis (meskipun tertulis “Unknown”), serta gambar yang dipindai ditampilkan bersamaan dengan teks yang dapat dipilih. + +## Pertanyaan Umum & Kasus Khusus + +### Bagaimana jika bahasa OCR bukan bahasa Inggris? + +Aspose.OCR mendukung lebih dari 70 bahasa. Cukup atur properti `Language` sebelum memanggil `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Bagaimana cara menangani buku multi‑halaman? + +Bungkus logika pemuatan/pengenalan dalam loop `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Setiap iterasi menambahkan teks yang baru dikenali ke ePub yang sama, menjaga urutan halaman. + +### Bisakah saya mengecualikan gambar asli? + +Tentu – atur `IncludeImages = false` pada `EpubExportOptions`. ePub yang dihasilkan akan berupa teks yang dapat mengalir, yang secara signifikan mengurangi ukuran file. + +### Bagaimana dengan font khusus atau styling? + +Ekspor ePub Aspose.OCR memungkinkan Anda menyediakan stylesheet CSS melalui properti `Css` pada `EpubExportOptions`. Dengan cara ini Anda dapat menegakkan keluarga font tertentu, tinggi baris, atau margin. + +## Kesimpulan + +Sekarang Anda tahu **bagaimana cara membuat ePub** dari gambar yang dipindai menggunakan Aspose OCR di C#. Tutorial ini mencakup semuanya mulai dari **memuat gambar untuk OCR**, melalui **mengekstrak teks dari gambar**, hingga **menambahkan penulis ke epub**, dan akhirnya **mengonversi gambar ke epub** dengan satu panggilan ekspor. Dengan contoh kode lengkap di tangan, Anda dapat memperluas solusi untuk memproses batch seluruh perpustakaan, menyisipkan sampul khusus, atau bahkan mengintegrasikan alur kerja ke dalam API web. + +Siap untuk tantangan berikutnya? Cobalah mengonversi PDF ke ePub, atau bereksperimen dengan ambang batas kepercayaan OCR untuk meningkatkan akurasi pada pemindaian yang berisik. Langit adalah batasnya ketika Anda menggabungkan OCR yang kuat dengan pembuatan ePub yang fleksibel. + +Selamat coding, dan selamat menikmati ePub baru Anda! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/indonesian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..23ee0bb07 --- /dev/null +++ b/ocr/indonesian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-07 +description: Pelajari cara menggunakan OCR di C# untuk mengekstrak teks dari file + gambar. Panduan ini menunjukkan OCR offline, mengonversi gambar menjadi teks, dan + memuat gambar untuk OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: id +og_description: Cara menggunakan OCR di C# untuk mengekstrak teks dari gambar secara + offline. Kode langkah demi langkah, tips, dan penjelasan lengkap untuk mengubah + gambar menjadi teks. +og_title: Cara Menggunakan OCR di C# – Panduan Offline Lengkap +tags: +- OCR +- C# +- Aspose +title: Cara Menggunakan OCR di C# – Ekstrak Teks dari Gambar Secara Offline +url: /id/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cara Menggunakan OCR di C# – Ekstrak Teks dari Gambar Secara Offline + +Pernah bertanya-tanya **bagaimana cara menggunakan OCR** dalam proyek .NET tanpa mengirim data ke cloud? Anda tidak sendirian. Banyak pengembang perlu *mengekstrak teks dari gambar* pada workstation yang aman, dan mereka khawatir lalu lintas jaringan dapat mengungkap informasi sensitif. + +Kabar baiknya? Dengan Aspose.OCR Anda dapat mengenali teks dari PNG, JPEG, atau PDF sepenuhnya secara offline. Dalam tutorial ini kami akan menuntun Anda memuat gambar untuk OCR, mengonfigurasi mesin untuk mode offline, dan akhirnya **mengonversi gambar menjadi teks** dengan hanya beberapa baris C#. + +Pada akhir panduan ini Anda akan dapat: + +* Menginstal paket NuGet Aspose.OCR. +* Menyiapkan mesin OCR untuk pemrosesan offline. +* Memuat gambar untuk OCR dan mengekstrak konten teksnya. + +Tanpa layanan eksternal, tanpa kunci API—hanya kode C# murni yang berjalan di mesin Windows atau Linux mana pun. + +--- + +## Prasyarat + +Sebelum kita mulai, pastikan Anda memiliki: + +* .NET 6.0 SDK atau yang lebih baru (kode ini juga bekerja dengan .NET Framework 4.7+). +* Visual Studio 2022, VS Code, atau editor apa pun yang mendukung C#. +* Salinan pustaka **Aspose.OCR** – Anda dapat mengambilnya dari NuGet (`Aspose.OCR`). +* Folder sumber daya OCR (`Resources`) yang disertakan bersama pustaka (berisi file data bahasa). +* Contoh gambar (misalnya `offline_test.png`) yang ditempatkan di direktori yang diketahui. + +> **Pro tip:** Simpan folder resources di samping executable Anda; ini mempermudah konfigurasi `ResourcesPath`. + +--- + +## Langkah 1: Instal Paket NuGet Aspose.OCR + +Pertama, tambahkan pustaka ke proyek Anda. Buka terminal di folder proyek dan jalankan: + +```bash +dotnet add package Aspose.OCR +``` + +Atau, jika Anda lebih suka UI Visual Studio, klik kanan **Dependencies → Manage NuGet Packages**, cari *Aspose.OCR*, dan klik **Install**. + +> Menginstal paket akan menarik semua binary yang diperlukan, sehingga Anda tidak memerlukan DLL tambahan. + +--- + +## Langkah 2: Buat dan Konfigurasikan Mesin OCR (Cara Menggunakan OCR – Mode Offline) + +Sekarang kita akan menginstansiasi mesin OCR dan memberitahunya untuk bekerja **offline**. Ini memastikan tidak ada lalu lintas jaringan selama proses pengenalan. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Mengapa offline?** +Ketika `EngineMode` diatur ke `Online`, mesin akan menghubungi cloud Aspose untuk mengunduh paket bahasa secara dinamis. Di lingkungan yang diatur (keuangan, kesehatan) lalu lintas tersebut sering dilarang. Dengan memaksa mode offline Anda menjamin semua proses tetap berada di mesin lokal. + +--- + +## Langkah 3: Arahkan Mesin ke Folder Sumber Daya OCR + +Mesin OCR membutuhkan data bahasa (model terlatih) untuk mengenali karakter. Beritahu mesin di mana file‑file tersebut berada: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Jika Anda tidak yakin di mana foldernya, temukan di direktori paket NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Salin seluruh folder ke dalam proyek Anda untuk memudahkan penyebaran. + +--- + +## Langkah 4: Muat Gambar untuk OCR (Load Image for OCR) + +Anda dapat memberi mesin bitmap apa pun yang didukung. Di sini kami akan memuat PNG yang disimpan di disk: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tip:** Jika Anda perlu memproses gambar dari stream (misalnya diunggah melalui API), gunakan `ImageStream.FromStream(yourStream)` sebagai gantinya. + +--- + +## Langkah 5: Jalankan Proses Pengenalan dan Konversi Gambar ke Teks + +Dengan semua hal sudah siap, aktifkan OCR. Metode `Recognize()` melakukan pekerjaan berat, dan teks yang diekstrak tersedia melalui properti `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Langkah 6: Tampilkan Teks yang Diekstrak + +Akhirnya, tampilkan hasilnya. Pada aplikasi console Anda cukup menulis ke console, tetapi pada web API Anda dapat mengembalikan string sebagai JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Menjalankan program seharusnya mencetak konten teks dari `offline_test.png`. Misalnya, jika gambar berisi frasa *“Hello, World!”*, Anda akan melihat: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Contoh Lengkap yang Siap Dijalan + +Berikut adalah program lengkap yang siap dijalankan. Salin‑tempel ke proyek console baru (`dotnet new console`) dan sesuaikan jalur agar cocok dengan lingkungan Anda. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Output yang diharapkan:** Console mencetak teks persis yang terdapat dalam file PNG. Jika gambar buram, hasilnya mungkin mengandung karakter yang salah dikenali—lihat bagian pemecahan masalah di bawah. + +--- + +## Kesulitan Umum & Tips (Mengenali Teks dari PNG Secara Efisien) + +| Masalah | Mengapa Terjadi | Cara Memperbaiki | +|---------|-----------------|------------------| +| **Output kosong** | `ResourcesPath` mengarah ke folder yang salah atau file bahasa tidak ada. | Pastikan folder berisi `eng.traineddata` (atau file bahasa lain) dan periksa kembali string path. | +| **Karakter sampah** | Resolusi gambar terlalu rendah atau gambar belum dibinarisasi. | Pralakukan pemrosesan gambar (tingkatkan DPI, terapkan `ImageProcessor` untuk menajamkan). | +| **Lag kinerja** | Gambar besar diproses dengan resolusi penuh. | Ubah ukuran gambar menjadi maksimal lebar 2000 px sebelum diberikan ke OCR. | +| **Format tidak didukung** | Menggunakan BMP dengan format piksel yang tidak biasa. | Konversi gambar ke PNG atau JPEG terlebih dahulu (`System.Drawing.Image.Save`). | + +**Pro tip:** Jika Anda perlu mengenali beberapa bahasa, atur `ocrEngine.Settings.Language = Language.English | Language.French;` sebelum memanggil `Recognize()`. + +--- + +## Pertanyaan yang Sering Diajukan + +**T: Bisakah saya menggunakan kode ini di Linux?** +Tentu saja. Aspose.OCR bersifat lintas‑platform; cukup pastikan pustaka native tersedia (sudah disertakan dalam paket NuGet). + +**T: Bagaimana jika saya tidak memiliki folder Resources?** +Anda dapat mengunduh paket bahasa gratis dari situs Aspose atau mengekstraknya dari paket NuGet (`.../aspose.ocr//resources`). + +**T: Apakah ada cara mendapatkan skor kepercayaan?** +Ya. Setelah `Recognize()`, periksa `ocrEngine.RecognizedWords` – setiap kata memiliki properti `Confidence`. + +--- + +## Kesimpulan + +Kami telah membahas **cara menggunakan OCR** di C# untuk *mengekstrak teks dari gambar* secara sepenuhnya offline. Dengan menginstal Aspose.OCR, mengonfigurasi `EngineMode.Offline`, menunjuk ke resources, memuat gambar, dan memanggil `Recognize()`, Anda dapat dengan andal **mengonversi gambar menjadi teks** tanpa pernah menyentuh internet. + +Ambil kode di atas, ganti jalur gambar Anda, dan mulailah membangun fitur seperti PDF yang dapat dicari, otomatisasi entri data, atau alat aksesibilitas. Selanjutnya, Anda bisa menjelajahi **pengenalan teks dari PNG** secara massal, atau mengintegrasikan mesin ke API ASP.NET Core untuk menyajikan hasil OCR ke aplikasi front‑end. + +Selamat coding, dan jangan ragu bereksperimen—OCR ternyata cukup toleran setelah mesin disiapkan dengan benar! + +--- + +![Diagram yang menunjukkan alur kerja OCR offline – cara menggunakan OCR di lingkungan yang aman](https://example.com/ocr-workflow.png "diagram cara menggunakan OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/indonesian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..0c98cf1af --- /dev/null +++ b/ocr/indonesian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-03-07 +description: Pelajari cara mengenali teks Hindi dan memuat gambar untuk OCR menggunakan + Aspose.OCR di C#. Penyiapan langkah demi langkah, kode, dan tips. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: id +og_description: Temukan cara mengenali teks Hindi dengan Aspose OCR di C#. Termasuk + memuat gambar untuk OCR, pengaturan paket bahasa, dan tips praktik terbaik. +og_title: Mengenali teks Hindi – Tutorial Lengkap Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: Mengenali teks Hindi dalam C# – Panduan Lengkap Aspose OCR +url: /id/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# mengenali teks Hindi – Tutorial Lengkap Aspose OCR + +Pernah membutuhkan untuk **recognize Hindi text** dari kwitansi yang dipindai tetapi tidak yakin harus mulai dari mana? Anda tidak sendirian. Dalam banyak aplikasi yang berfokus pada India, mengekstrak karakter Hindi secara andal dapat terasa seperti mengejar target yang bergerak. Untungnya, Aspose.OCR membuatnya sangat mudah—setelah Anda mengetahui langkah yang tepat untuk **load image for OCR** dan mengarahkan mesin ke sumber daya bahasa Hindi. + +Dalam panduan ini kami akan menjelaskan semua yang Anda butuhkan untuk mendapatkan pipeline OCR yang berfungsi di C#. Pada akhir Anda akan memiliki program yang dapat dijalankan yang mengunduh paket bahasa Hindi, memuat gambar, menjalankan pengenalan, dan mencetak teks hasil ke konsol. Tidak ada tautan “lihat dokumentasi” yang samar—hanya solusi mandiri yang dapat Anda masukkan ke proyek .NET mana pun. + +## Apa yang Anda Butuhkan + +- **.NET 6+** (atau .NET Framework 4.7.2+). API-nya sama di semua versi, tetapi runtime yang lebih baru memberikan kinerja yang lebih baik. +- **Aspose.OCR for .NET** paket NuGet. Instal dengan `dotnet add package Aspose.OCR`. +- Sebuah **Hindi language pack** – Aspose menyediakan ini sebagai sumber yang dapat diunduh, tidak termasuk secara default. +- File gambar yang berisi teks Hindi (misalnya `hindi_receipt.jpg`). Semua format umum (JPG, PNG, BMP) dapat digunakan. +- IDE yang memadai (Visual Studio, Rider, atau VS Code). + +Itu saja—tidak ada mesin OCR eksternal, tidak ada kunci cloud, hanya pustaka lokal. + +## Langkah 1: Unduh Hindi Language Pack – Siapkan Sumber Daya + +Sebelum mesin OCR dapat memahami karakter Devanagari, Anda harus mengambil sumber daya bahasa Hindi. Ini adalah operasi satu kali, biasanya dilakukan selama instalasi aplikasi atau CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Mengapa ini penting:** Mesin OCR bergantung pada model khusus bahasa untuk memetakan pola piksel ke karakter Unicode. Tanpa paket Hindi, Anda akan mendapatkan output Latin yang kacau atau tidak ada apa‑apa. + +> **Pro tip:** Simpan paket di folder yang dapat ditulisi pada mesin target. Jika Anda men-deploy ke Azure App Service, gunakan folder `D:\home\site\wwwroot\Resources`. + +## Langkah 2: Konfigurasikan OCR Engine – Arahkan ke Sumber Daya + +Sekarang sumber daya sudah tersedia, buat instance `OcrEngine` dan beri tahu di mana mencari file bahasa. Di sinilah kita juga mengatur **primary language** untuk pengenalan. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Mengapa kami melakukannya:** `ResourcesPath` adalah jembatan antara mesin dan file yang diunduh. Jika Anda melewatkan langkah ini, mesin akan kembali ke model bawaan (hanya Bahasa Inggris), dan Anda tidak akan dapat **recognize Hindi text** dengan benar. + +## Langkah 3: Load Image for OCR – Beri Input yang Tepat ke Mesin + +Dengan mesin siap, langkah berikutnya adalah **load image for OCR**. Aspose menyediakan helper `ImageStream.FromFile` yang nyaman dan mendukung sebagian besar format gambar umum. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Jebakan umum:** +- **Gambar besar** dapat memperlambat proses. Jika Anda menangani pemindaian resolusi tinggi, pertimbangkan untuk menurunkan sampel terlebih dahulu (`ImageProcessor.Resize`). +- **Orientasi tidak tepat** (pemindaian yang diputar) akan menghasilkan hasil yang buruk. Gunakan `ocrEngine.Image.Rotate(90)` jika diperlukan. + +## Langkah 4: Jalankan Pengenalan – Ekstrak Teks + +Sekarang kita benar‑benar meminta mesin membaca piksel dan mengubahnya menjadi string Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Apa yang diharapkan:** Jika gambar jelas, Anda akan melihat karakter Hindi dicetak persis seperti yang muncul pada kwitansi. Misalnya, kwitansi contoh dapat menghasilkan: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Jika Anda mendapatkan output yang tidak dapat dibaca, periksa kembali bahwa paket bahasa telah diunduh dengan benar dan bahwa `ocrEngine.Settings.Language` diatur ke `Language.Hindi`. + +## Langkah 5: Gabungkan Semua – Program Lengkap yang Dapat Dijalankan + +Berikut adalah file sumber lengkap yang dapat Anda salin‑tempel ke proyek konsol. Ini mencakup semua langkah di atas, plus penanganan error minimal. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Simpan ini sebagai `Program.cs`, jalankan `dotnet run`, dan Anda akan melihat teks Hindi dicetak ke konsol. + +## Pertanyaan yang Sering Diajukan (FAQ) + +### Bisakah saya mengenali beberapa bahasa dalam satu kali jalankan? + +Ya. Atur `ocrEngine.Settings.Language` ke sebuah array, misalnya `new[] { Language.Hindi, Language.English }`. Mesin akan berusaha mendeteksi karakter dari kedua skrip. + +### Bagaimana jika gambar saya buram? + +Pertimbangkan pra‑pemrosesan dengan `ImageProcessor`—terapkan penajaman atau peningkatan kontras sebelum menetapkannya ke `ocrEngine.Image`. + +### Apakah ini bekerja di Linux/macOS? + +Tentu saja. Aspose.OCR bersifat lintas‑platform; pastikan dependensi native tersedia (biasanya sudah disertakan dalam paket NuGet). + +### Bagaimana cara meningkatkan akurasi untuk kwitansi beresolusi rendah? + +Tingkatkan DPI (dots per inch) saat pemindaian, atau secara program mengubah sampel gambar menjadi setidaknya 300 DPI sebelum OCR. + +## Kesimpulan + +Kami telah membahas semua yang Anda butuhkan untuk **recognize Hindi text** menggunakan Aspose.OCR—dari mengunduh paket bahasa Hindi, mengkonfigurasi mesin, dengan benar **load image for OCR**, hingga mengekstrak dan mencetak hasilnya. Potongan kode lengkap di atas siap dimasukkan ke aplikasi konsol C# mana pun, dan tip opsional membantu Anda menangani kasus tepi umum seperti pemindaian buram atau dokumen multi‑bahasa. + +Siap untuk langkah selanjutnya? Cobalah mengirim output OCR ke API terjemahan, atau menyimpan data yang diekstrak ke basis data untuk analitik. Anda juga dapat bereksperimen dengan bahasa India lainnya—Aspose mendukung Tamil, Bengali, dan lainnya—dengan mengganti `Language.Hindi` dengan nilai enum yang diinginkan. + +Selamat coding, dan semoga hasil OCR Anda selalu tajam! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/indonesian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/indonesian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..54f80940b --- /dev/null +++ b/ocr/indonesian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Kenali teks dari gambar dengan cepat menggunakan Aspose OCR. Pelajari + cara mengonversi djvu ke teks, mengekstrak teks dari gambar, dan memuat gambar untuk + OCR dalam tutorial C# langkah demi langkah. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: id +og_description: Mengenali teks dari gambar di C# menggunakan Aspose OCR. Panduan ini + menunjukkan cara mengonversi DJVU ke teks, mengekstrak teks dari gambar, dan memuat + gambar untuk OCR dengan tips praktis. +og_title: Mengenali teks dari gambar – Tutorial Lengkap OCR Aspose C# +tags: +- C# +- Aspose OCR +- Document Processing +title: Mengenali Teks dari Gambar di C# – Panduan Lengkap Aspose OCR +url: /id/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# mengenali teks dari gambar – Tutorial Lengkap C# Aspose OCR + +Pernah membutuhkan untuk **recognize text from image** tetapi tidak yakin perpustakaan mana yang memberikan hasil yang dapat diandalkan? Anda tidak sendirian. Baik Anda menangani faktur yang dipindai, file DJVU bersejarah, atau screenshot PNG sederhana, mengekstrak karakter yang tepat dapat terasa seperti memecahkan skrip kuno. + +Begini—Aspose OCR membuat seluruh proses menjadi sangat mudah. Dalam panduan ini kami akan menjelaskan cara **convert djvu to text**, **extract text from image**, dan **load image for OCR** menggunakan program C# yang ringkas. Pada akhir tutorial Anda akan memiliki aplikasi console yang dapat dijalankan yang mencetak string yang dikenali ke konsol, dan Anda akan memahami “mengapa” di balik setiap baris. + +## Apa yang Akan Anda Pelajari + +- Cara menyiapkan mesin Aspose OCR dalam proyek .NET. +- Kode tepat yang diperlukan untuk **load image for OCR** dari file DJVU. +- Mengapa Anda harus memanggil `Recognize()` sebelum membaca `Text`. +- Jebakan umum (DJVU multi‑halaman, format tidak didukung) dan cara menghindarinya. +- Cara cepat untuk **convert djvu to text** untuk pemrosesan batch. + +Yang Anda perlukan hanyalah .NET SDK terbaru (≥ 6.0) dan lisensi Aspose OCR (versi percobaan gratis cukup untuk pengujian). Tanpa layanan eksternal, tanpa panggilan REST—hanya C# murni. + +## Prasyarat + +| Persyaratan | Alasan | +|-------------|--------| +| .NET 6 SDK atau lebih baru | Fitur bahasa modern dan kinerja yang lebih baik. | +| Paket NuGet Aspose.OCR (`Install-Package Aspose.OCR`) | Menyediakan kelas `OcrEngine` yang akan kami gunakan. | +| File DJVU (mis., `sample.djvu`) | Menunjukkan **convert djvu to text**. | +| Pemahaman dasar tentang aplikasi console C# | Membuat langkah‑langkah mengalir secara alami. | + +Jika ada yang belum ada, berhentilah sejenak dan instal sekarang; jika tidak, kode tidak akan dapat dikompilasi. + +## Langkah 1 – Instal Aspose.OCR dan Buat Proyek + +Pertama, buat proyek console baru dan tambahkan pustaka OCR. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Tip profesional:* Gunakan flag `--framework net6.0` jika Anda ingin mengunci target framework secara eksplisit. + +## Langkah 2 – Inisialisasi Mesin OCR dan Muat Gambar DJVU + +Mesin membutuhkan sumber gambar. Aspose.OCR dapat membaca banyak format, termasuk DJVU, jadi kami cukup menunjuk ke jalur file. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Mengapa ini penting:** +- `OcrEngine` adalah titik masuk; membuatnya sekali dan menggunakannya kembali mengurangi beban memori. +- `ImageStream.FromFile` mengabstraksi format file, sehingga Anda dapat mengganti file DJVU dengan PNG atau TIFF nanti tanpa mengubah kode lain—sempurna untuk “how to extract text from image” dalam berbagai skenario. + +## Langkah 3 – Jalankan Proses Pengenalan + +Memanggil `Recognize()` memicu proses berat. Di balik layar Aspose menjalankan classifier berbasis jaringan saraf yang bekerja pada teks cetak maupun tulisan tangan. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Catatan kasus tepi:* Jika DJVU Anda berisi beberapa halaman, `ImageStream.FromFile` tetap hanya memuat halaman pertama. Untuk memproses semua halaman Anda harus melakukan loop pada `ImageStream.FromFile(...).Pages`. Untuk kebanyakan tugas cepat, halaman pertama sudah cukup. + +## Langkah 4 – Ambil dan Tampilkan Teks yang Dikenali + +Setelah pengenalan, mesin mengisi properti `Text` dengan string teks biasa. Anda kini dapat menuliskannya ke konsol, file, atau mengirimnya ke sistem lain. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Output tipikal terlihat seperti: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Jika output terlihat berantakan, periksa kembali bahwa gambar sumber tidak beresolusi rendah; Aspose merekomendasikan 300 dpi atau lebih tinggi untuk akurasi terbaik. + +## Contoh Lengkap yang Berfungsi + +Menggabungkan semuanya, berikut satu file (`Program.cs`) yang dapat Anda tempel ke dalam proyek yang dibuat sebelumnya. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Jalankan dengan: + +```bash +dotnet run +``` + +Anda akan melihat string yang diekstrak tercetak di terminal. Ini adalah cara paling sederhana untuk **recognize text from image** menggunakan Aspose OCR. + +## Langkah 5 – Lanjutan: Mengonversi Beberapa Halaman DJVU ke File Teks + +Jika Anda perlu **convert djvu to text** secara massal, perpanjang kode sebelumnya dengan loop: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Mengapa ini berhasil:* `GetPage(i)` mengembalikan objek `Image` untuk halaman yang diminta, memungkinkan Anda menggunakan kembali instance `OcrEngine` yang sama. Teks setiap halaman disimpan dalam file `.txt` masing‑masing, memberikan pipeline **convert djvu to text** yang bersih. + +## Pertanyaan Umum & Hal-hal yang Perlu Diwaspadai + +- **Bisakah saya mengekstrak teks dari JPEG alih-alih DJVU?** + Tentu saja. Cukup ubah ekstensi file di `FromFile`. Kode yang sama **how to extract text from image** berlaku karena Aspose mengabstraksi formatnya. + +- **Bagaimana jika hasil OCR mengandung baris baru berlebih?** + Gunakan `String.Replace("\r\n", " ")` atau ekspresi reguler untuk menormalkan spasi putih. + +- **Apakah saya memerlukan lisensi untuk penggunaan produksi?** + Versi percobaan gratis berlaku hingga 100 halaman. Untuk penggunaan tak terbatas, beli lisensi dan panggil `License license = new License(); license.SetLicense("Aspose.OCR.lic");` sebelum membuat engine. + +- **Apakah engine ini thread‑safe?** + Tidak. Buat `OcrEngine` terpisah per thread atau lindungi akses dengan kunci (lock). + +## Tips untuk Akurasi Lebih Baik + +1. **Tingkatkan DPI** – Jika Anda mengontrol konversi sumber, keluarkan gambar pada 300 dpi atau lebih tinggi. +2. **Pra‑proses gambar** – Binarisasi sederhana (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) dapat meningkatkan hasil pada pemindaian yang berisik. +3. **Tentukan bahasa** – `ocrEngine.Language = Language.English;` mempersempit set karakter dan mempercepat pengenalan. + +## Kesimpulan + +Anda kini memiliki contoh lengkap yang siap dijalankan untuk **recognize text from image** menggunakan Aspose OCR, dan Anda telah melihat cara **convert djvu to text**, **how to extract text from image**, serta cara yang tepat untuk **load image for OCR**. Kode ini mandiri, berfungsi pada runtime .NET 6+ apa pun, dan dapat diperluas untuk memproses batch dokumen DJVU multi‑halaman. + +Selanjutnya, Anda mungkin ingin menjelajahi: + +- Menambahkan **language detection** untuk file DJVU multibahasa. +- Mengintegrasikan output OCR dengan indeks pencarian (mis., Elasticsearch). +- Menggunakan konversi PDF Aspose untuk mengubah teks yang diekstrak menjadi PDF yang dapat dicari. + +Cobalah, sesuaikan DPI, bereksperimen dengan format gambar yang berbeda, dan biarkan mesin OCR melakukan pekerjaan berat untuk Anda. Selamat coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/ocr-configuration/_index.md b/ocr/italian/net/ocr-configuration/_index.md index 446a1b5b8..6e1812e41 100644 --- a/ocr/italian/net/ocr-configuration/_index.md +++ b/ocr/italian/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ Sblocca la potenza del riconoscimento OCR delle immagini in .NET con Aspose.OCR. Sblocca potenti capacità OCR con Aspose.OCR per .NET. Estrai testo da immagini in modo fluido. ### [OCROperation con Lista nel Riconoscimento OCR delle Immagini](./ocr-operation-with-list/) Sblocca il potenziale di Aspose.OCR per .NET. Esegui senza sforzo il riconoscimento OCR delle immagini con le liste. Aumenta la produttività e l'estrazione dei dati nelle tue applicazioni. +### [Leggi testo da PNG – estrai testo cirillico con Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Sblocca il potenziale di Aspose OCR per estrarre testo cirillico da immagini PNG. ### Casi d'uso comuni - **Estrarre testo da immagini** di fatture scannerizzate per la contabilità automatizzata. @@ -100,4 +102,4 @@ R: Sì, l'oggetto `OcrResult` fornisce valori di confidenza che puoi ispezionare {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/italian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..36e7cf5d1 --- /dev/null +++ b/ocr/italian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,203 @@ +--- +category: general +date: 2026-03-07 +description: Scopri come leggere il testo da un PNG ed estrarre il testo cirillico + utilizzando Aspose OCR, convertire l'immagine in testo e scaricare il pacchetto + linguistico cirillico. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: it +og_description: Impara a leggere il testo da PNG, estrarre il testo cirillico e convertire + l'immagine in testo usando Aspose OCR in C#. +og_title: leggi il testo da png – estrai testo cirillico con Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Leggi il testo da PNG – estrai testo cirillico con Aspose OCR +url: /it/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# leggi testo da png – estrai testo cirillico con Aspose OCR + +Hai bisogno di **leggere testo da png** e estrarre caratteri cirillici? In questa guida ti mostreremo come leggere testo da png usando Aspose OCR, estrarre testo cirillico e **convertire l'immagine in testo** in poche righe di C#. + +Se ti sei mai trovato davanti a uno screenshot di una fattura russa e ti sei chiesto come trasformare le parole in una stringa ricercabile, sei nel posto giusto. Tratteremo anche come **scaricare automaticamente il pacchetto linguistico cirillico**, così non dovrai cercare file aggiuntivi. + +## Cosa otterrai + +Al termine di questo tutorial sarai in grado di: + +* **Caricare un'immagine per OCR** direttamente da disco o da uno stream. +* Impostare il motore su **lingua cirillica** senza download manuali. +* Eseguire il riconoscimento e **estrarre testo cirillico** da un file PNG. +* Visualizzare il testo riconosciuto stampato sulla console – un risultato pulito, in plain‑text, che potrai inserire in database, indici di ricerca o qualsiasi altro flusso di lavoro. + +Nessun servizio esterno, nessuna chiave cloud, solo il pacchetto NuGet Aspose OCR e qualche riga di C#. + +## Prerequisiti + +* .NET 6.0 o successivo (il codice funziona su .NET Core, .NET Framework e .NET 5+). +* Visual Studio 2022 o qualsiasi editor tu preferisca. +* Il pacchetto NuGet Aspose.OCR (`dotnet add package Aspose.OCR`). +* Un'immagine PNG che contenga caratteri cirillici – per esempio `cyrillic_sample.png` collocata in una cartella chiamata `YOUR_DIRECTORY`. + +> **Suggerimento:** Se usi Visual Studio, fai clic destro sul progetto → **Manage NuGet Packages** → cerca “Aspose.OCR” e installa l'ultima versione stabile. + +--- + +## Passo 1 – Installa Aspose OCR e crea il motore + +Per prima cosa ci serve l'istanza del motore OCR. La classe `OcrEngine` è il punto di ingresso per tutte le operazioni. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Perché è importante:** Il motore incapsula i pacchetti linguistici, i dati dell'immagine e le opzioni di riconoscimento. Istanziare una sola volta e riutilizzarlo su più immagini può migliorare le prestazioni. + +--- + +## Passo 2 – **carica immagine per ocr** e imposta la lingua + +Ora diciamo al motore quale immagine elaborare e quale lingua cercare. Impostare `Language.Cyrillic` scarica automaticamente il pacchetto linguistico necessario al primo avvio. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Caso limite:** Se il tuo PNG è molto grande (oltre 5 MB) potresti volerlo ridimensionare prima per velocizzare il riconoscimento. La proprietà `Image` accetta anche uno `Stream`, così puoi caricare da memoria, da una richiesta web o da un Azure Blob senza toccare il file system. + +--- + +## Passo 3 – **converti immagine in testo** con una singola chiamata + +Il riconoscimento è semplice come invocare `Recognize()`. Dopo questa chiamata la proprietà `Text` contiene la stringa estratta. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Cosa succede dietro le quinte?** Aspose utilizza un classificatore basato su rete neurale addestrato su milioni di glifi cirillici. La libreria astrae tutta quella complessità, così ottieni direttamente Unicode pulito. + +--- + +## Passo 4 – Stampa il risultato (o indirizzalo altrove) + +Per scopi dimostrativi stamperemo il testo sulla console, ma potresti facilmente scriverlo su un file, su un database o passarlo a un indice di ricerca. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Output previsto** (supponendo che `cyrillic_sample.png` contenga la frase “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Se l'output appare illeggibile, verifica che l'immagine sia chiara e che tu abbia impostato `Language.Cyrillic`. Il motore di default è l'inglese, che tratterebbe i caratteri cirillici come simboli sconosciuti. + +--- + +## Passo 5 – Esempio completo, eseguibile + +Mettendo tutto insieme, ecco un programma autonomo che puoi copiare‑incollare in un nuovo progetto console. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Salva il file come `Program.cs`, esegui `dotnet run` e dovresti vedere il testo cirillico stampato. + +--- + +## Domande frequenti e risoluzione dei problemi + +| Domanda | Risposta | +|----------|--------| +| **E se il pacchetto linguistico non si scarica?** | Verifica che la macchina abbia accesso a Internet. Il pacchetto viene memorizzato nella cartella `%USERPROFILE%\.Aspose\OCR\Languages`. Eliminare quella cartella forzerà un nuovo download. | +| **Posso leggere altre lingue oltre al cirillico?** | Certamente – sostituisci `Language.Cyrillic` con `Language.English`, `Language.Arabic`, ecc. La stessa logica di auto‑download si applica. | +| **Il mio PNG è rumoroso – i risultati sono scarsi. Cosa posso fare?** | Pre‑elabora l'immagine: aumenta il contrasto, converti in scala di grigi o applica un filtro mediano. Aspose OCR offre anche le opzioni `Settings.ImagePreprocess`. | +| **È possibile ottenere le bounding box per ogni parola?** | Sì, dopo `Recognize()` puoi ispezionare `ocrEngine.Regions` che restituisce i rettangoli per ogni parola rilevata. | +| **È necessaria una licenza per l'uso in produzione?** | La valutazione gratuita funziona fino a 100 pagine. Per progetti commerciali acquista una licenza – rimuove il watermark di valutazione e sblocca l'elaborazione batch ad alta velocità. | + +--- + +## Prossimi passi – estendere la soluzione + +* **Elaborazione batch:** cicla su una cartella di PNG, raccogli tutti i testi in un file CSV. +* **Integrazione con Azure Cognitive Search:** indicizza le stringhe cirilliche estratte per una ricerca rapida. +* **Combinare con la conversione PDF:** usa Aspose.PDF per convertire PDF scansionati in PNG prima, poi esegui lo stesso flusso OCR. + +Tutti questi scenari riutilizzano il modello di base appena mostrato: **carica immagine per OCR → imposta lingua → riconosci → usa il testo**. + +--- + +## Conclusione + +Ora sai come **leggere testo da png**, **estrarre testo cirillico** e **convertire immagine in testo** con Aspose OCR in C#. I passaggi chiave sono creare il motore, caricare l'immagine, selezionare la lingua corretta (che scarica automaticamente il **pacchetto linguistico cirillico**) e infine chiamare `Recognize()`. + +Provalo con immagini diverse, sperimenta le opzioni di `Settings` e guarda le tue applicazioni diventare ricercabili, multilingue e molto più intelligenti. + +Buon coding, e sentiti libero di lasciare un commento se incontri difficoltà! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/ocr-optimization/_index.md b/ocr/italian/net/ocr-optimization/_index.md index 483493b48..e7a4f18aa 100644 --- a/ocr/italian/net/ocr-optimization/_index.md +++ b/ocr/italian/net/ocr-optimization/_index.md @@ -51,7 +51,7 @@ Sei pronto a liberare tutto il potenziale di Aspose.OCR per .NET? La nostra guid Migliora la precisione dell'OCR con Aspose.OCR per .NET esplorando i [filtri di pre‑elaborazione](./preprocessing-filters-for-image/). Scarica ora e scopri come perfezionare le tue immagini prima del riconoscimento. Questo tutorial garantisce un'integrazione fluida, aumentando precisione ed efficienza. ## Correzione dei Risultati con Controllo Ortografico in Riconoscimento Immagine OCR -Raggiungi una precisione OCR senza pari con [Aspose.OCR per .NET](./result-correction-with-spell-checking/). Il nostro tutorial sulla correzione dei risultati con il controllo ortografico ti consente di personalizzare i dizionari, correggere gli errori di ortografia e garantire un riconoscimento del testo privo di errori senza sforzo. Immergiti in un mondo di precisione con Aspose.OCR. +Raggiungi una precisione OCR senza pari con [Aspose.OCR per .NET](./result-correction-with-spell-checking/). Il nostro tutorial sulla correzione dei risultati con il controllo ortografico ti consente di personalizzare i dizionari, correggere gli errori di ortografia e garantire un riconoscimento del testo privo di errori senza sforzo. Immergiti in un mondo di precisione con Aspose.OCR per .NET. ## Salva Risultato Multipagina come Documento in Riconoscimento Immagine OCR Salva senza sforzo i risultati OCR multipagina come documenti con Aspose.OCR per .NET. La nostra [guida passo‑passo](./save-multipage-result-as-document/) sblocca il pieno potenziale della creazione di documenti. Integra perfettamente Aspose.OCR e trasforma i tuoi risultati OCR in documenti multipagina con facilità. @@ -69,6 +69,12 @@ Esplora Aspose.OCR per .NET. Migliora la precisione dell'OCR con i filtri di pre Migliora la precisione dell'OCR con Aspose.OCR per .NET. Correggi le ortografie, personalizza i dizionari e ottieni un riconoscimento del testo privo di errori senza sforzo. ### [Salva Risultato Multipagina come Documento in Riconoscimento Immagine OCR](./save-multipage-result-as-document/) Sblocca il potenziale di Aspose.OCR per .NET. Salva senza sforzo i risultati OCR multipagina come documenti con questa guida completa passo‑passo. +### [Come raddrizzare l'immagine ed eseguire OCR in C# – Guida completa](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Scopri come rimuovere l'inclinazione dalle immagini e applicare l'OCR con Aspose.OCR in C# passo‑passo. +### [Esempio Aspose OCR – Abilita il controllo ortografico e correggi gli errori in C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Scopri come attivare il controllo ortografico in Aspose OCR e correggere automaticamente gli errori di riconoscimento in C#. +### [Come eseguire OCR su immagini cinesi – Guida completa C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Scopri come riconoscere testo cinese da immagini usando Aspose.OCR in C#, con esempi passo‑passo e consigli di ottimizzazione. ## Domande Frequenti diff --git a/ocr/italian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/italian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..9d9963920 --- /dev/null +++ b/ocr/italian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Esempio di Aspose OCR che mostra come abilitare il controllo ortografico, + aggiungere un dizionario personalizzato, caricare l'OCR di un'immagine e correggere + rapidamente gli errori OCR. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: it +og_description: Esempio di Aspose OCR che ti guida nell'abilitare il controllo ortografico, + aggiungere un dizionario personalizzato, caricare un'immagine per l'OCR e correggere + gli errori OCR comuni. +og_title: Esempio di OCR Aspose – Abilita il controllo ortografico e correggi gli + errori +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Esempio di OCR Aspose – Abilita il controllo ortografico e correggi gli errori + in C# +url: /it/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Esempio Aspose OCR – Abilita il Controllo Ortografico e Correggi gli Errori in C# + +Hai mai avuto bisogno di un **esempio Aspose OCR** che non solo legga il testo da un'immagine ma pulisca anche quegli fastidiosi errori ortografici? Non sei l'unico. In molti progetti reali l'output grezzo dell'OCR è pieno di refusi, soprattutto quando l'immagine di origine contiene caratteri a basso contrasto o note scritte a mano. + +La buona notizia? Con Aspose.OCR puoi **abilitare il controllo ortografico**, inserire il tuo dizionario e ottenere una stringa pulita in poche righe di codice. Di seguito vedrai esattamente **come abilitare il controllo ortografico**, **come aggiungere un dizionario** e **come caricare l'OCR dell'immagine** così potrai finalmente **correggere gli errori OCR** senza impazzire. + +In questo tutorial copriremo tutto ciò di cui hai bisogno—dall'installazione di NuGet a un programma completo e eseguibile che stampa il testo corretto. Alla fine avrai un solido **esempio Aspose OCR** che potrai inserire direttamente in qualsiasi progetto .NET. + +## Prerequisiti + +- .NET 6.0 SDK o versioni successive (il codice funziona anche con .NET Core e .NET Framework) +- Visual Studio 2022 o qualsiasi IDE compatibile con C# +- Un file immagine (`typed_text.png`) che contiene testo inglese chiaro e digitato +- Accesso a Internet per scaricare il pacchetto NuGet Aspose.OCR + +Non sono richieste altre librerie di terze parti. + +--- + +## Passo 1 – Installa il Pacchetto NuGet Aspose.OCR (Carica OCR dell'Immagine) + +Prima di poter scrivere qualsiasi codice, abbiamo bisogno della libreria che alimenta il motore OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Consiglio:** Se stai usando Visual Studio, fai clic destro sul progetto → *Gestisci Pacchetti NuGet* → cerca **Aspose.OCR** e premi *Installa*. + +L'installazione del pacchetto ti dà accesso a `OcrEngine`, `ImageStream` e alle utility di correzione ortografica integrate che utilizzeremo più avanti. Una volta che il pacchetto è presente, sei pronto per **caricare l'OCR dell'immagine**. + +## Passo 2 – Crea l'Istanza del Motore OCR + +Creare il motore è il primo passo concreto in qualsiasi **esempio Aspose OCR**. Pensa a `OcrEngine` come al cervello che analizzerà il bitmap e produrrà il testo. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Il costruttore `OcrEngine` non richiede parametri, il che lo rende semplice e ordinato per prototipi rapidi. + +## Passo 3 – Come Abilitare il Controllo Ortografico (e Perché È Importante) + +L'output grezzo dell'OCR contiene spesso parole riconosciute erroneamente come “teh” invece di “the”. Abilitare il correttore ortografico integrato permette ad Aspose di sostituire automaticamente quegli errori con l'ortografia più probabile. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Perché abilitare il controllo ortografico?** +> - **Precisione:** Un controllo ortografico post‑processo può aumentare la precisione complessiva del testo del 10‑15 % per documenti stampati. +> - **Esperienza utente:** Un testo pulito significa meno pulizia a valle quando inserisci il risultato in indici di ricerca o pipeline di analisi. + +## Passo 4 – Come Aggiungere un Dizionario (Parole Personalizzate) + +A volte il dizionario predefinito non conosce i nomi dei tuoi brand, i codici prodotto o il gergo specifico del dominio. È qui che entra in gioco **come aggiungere un dizionario**. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Puoi fornire un array, una lista o anche leggere da un file se hai un ampio vocabolario personalizzato. Il correttore ortografico tratterà ora quelle voci come valide, evitando correzioni errate. + +## Passo 5 – Carica l'Immagine per l'OCR (Carica OCR dell'Immagine) + +Ora che il motore è configurato, dobbiamo indicargli l'immagine da leggere. L'helper `ImageStream.FromFile` astrae i dettagli di lettura del file. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Suggerimento:** Se la tua immagine si trova in una sottocartella del progetto, imposta la sua proprietà *Copy to Output Directory* su *Copy always* così il percorso verrà risolto a runtime. + +## Passo 6 – Esegui il Riconoscimento e Correggi gli Errori OCR + +Con tutto impostato, una singola chiamata a `Recognize()` esegue la pipeline OCR, applica il controllo ortografico e memorizza il risultato pulito in `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Output Atteso + +Supponendo che `typed_text.png` contenga la frase `The quick brown fox jumps over teh lazy dog`, la console mostrerà: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Nota come “teh” sia stato corretto automaticamente in “the”. Se avessi aggiunto “OCRify” al dizionario personalizzato e l'immagine contenesse quella parola, il motore l'avrebbe lasciata intatta. + +--- + +## Esempio Completo Funzionante (Pronto per Copia‑Incolla) + +Di seguito trovi il programma completo che puoi inserire in un nuovo progetto console. Include tutti i passaggi sopra, più alcuni commenti per chiarezza. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Salva questo come `Program.cs`, esegui `dotnet run` e dovresti vedere la frase corretta stampata nella console. + +--- + +## Domande Frequenti & Casi Limite + +| Question | Answer | +|----------|--------| +| **E se l'immagine è un PDF multi‑pagina?** | Aspose.OCR può gestire le pagine PDF come immagini. Usa `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` e itera sulle pagine. | +| **Posso cambiare la lingua in qualcosa di diverso dall'inglese?** | Assolutamente. Imposta `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (o qualsiasi lingua supportata). | +| **Il mio dizionario personalizzato è enorme—influirà sulle prestazioni?** | Aggiungere migliaia di parole comporta un piccolo costo iniziale, ma la ricerca è O(1) grazie a un hash‑set sotto il cofano. Per vocabolari molto grandi, considera di caricarli una sola volta all'avvio dell'applicazione. | +| **E se il motore OCR lancia un'eccezione su un'immagine corrotta?** | Avvolgi `Recognize()` in un blocco try‑catch e controlla `ocrEngine.LastError`. Puoi anche pre‑validare le dimensioni dell'immagine con `ocrEngine.Image.Width` e `Height`. | +| **Ho bisogno di una licenza per l'uso in produzione?** | La valutazione gratuita funziona per i test, ma una licenza commerciale rimuove il watermark di valutazione e sblocca le prestazioni complete. | + +## Conclusione + +Ora hai un **esempio completo Aspose OCR** che dimostra **come abilitare il controllo ortografico**, **come aggiungere un dizionario**, **caricare l'OCR dell'immagine** e **come correggere gli errori OCR** in modo pulito e pronto per la produzione. Configurando il correttore ortografico e fornendo un elenco di parole personalizzate, migliori drasticamente la qualità del testo estratto senza dover scrivere alcuna logica di post‑processing. + +Pronto per il passo successivo? Prova a cambiare la lingua in spagnolo, carica un PDF multi‑pagina o integra l'output in un indice ricercabile di Azure Cognitive Search. Lo stesso schema si applica—basta regolare il flag della lingua e magari ampliare il dizionario personalizzato. + +Se hai trovato utile questa guida, metti una stella su GitHub, condividila con i colleghi o lascia un commento qui sotto. Buona programmazione, e che i tuoi risultati OCR siano sempre privi di errori! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/italian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..8ac96a291 --- /dev/null +++ b/ocr/italian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Impara come correggere l'inclinazione dell'immagine, aumentare il contrasto + ed estrarre il testo da una scansione usando Aspose OCR. Esegui l'OCR sull'immagine + con un esempio completo in C# e carica facilmente l'immagine per l'OCR. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: it +og_description: Scopri come raddrizzare l'immagine, aumentare il contrasto ed estrarre + il testo dalla scansione usando Aspose OCR in C#. Esegui l'OCR sull'immagine con + codice passo‑passo. +og_title: Come correggere l'inclinazione di un'immagine ed eseguire OCR in C# – Guida + completa +tags: +- C# +- OCR +- Image Processing +title: Come correggere l'inclinazione di un'immagine ed eseguire OCR in C# – Guida + completa +url: /it/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come correggere l'inclinazione di un'immagine ed eseguire OCR in C# – Guida completa + +Se ti sei mai chiesto **come correggere l'inclinazione di un'immagine** prima di eseguire l'OCR, sei nel posto giusto. In questo tutorial ti guideremo attraverso l'aumento del contrasto, il caricamento di un'immagine per l'OCR e infine **estrarre il testo dalla scansione** con Aspose OCR. + +Che tu stia digitalizzando vecchie ricevute, pulendo contratti scansionati, o abbia semplicemente bisogno di un modo affidabile per leggere il testo da una foto inclinata, i passaggi seguenti coprono tutto ciò di cui hai bisogno. Niente fronzoli—solo un esempio funzionante che puoi copiare‑incollare in Visual Studio. + +## Cosa otterrai + +* Correggere l'inclinazione fino a 30° (questa è la parte **come correggere l'inclinazione di un'immagine**). +* Aumentare il contrasto dell'immagine per bordi dei caratteri più nitidi (**come aumentare il contrasto**). +* Caricare la tua immagine nel motore OCR (**caricare immagine per OCR**). +* Eseguire il processo di riconoscimento e **estrarre il testo dalla scansione**. + +Tutto ciò funziona con l'ultima versione del pacchetto NuGet Aspose.OCR .NET (v23.11 al momento della stesura). + +--- + +![Esempio di correzione dell'inclinazione dell'immagine](/images/deskew-example.png "come correggere l'inclinazione dell'immagine") + +*L'immagine sopra mostra un documento scansionato prima e dopo la correzione dell'inclinazione.* + +## Prerequisiti + +* .NET 6.0 o versioni successive (il codice funziona anche su .NET Framework 4.7+). +* Visual Studio 2022 (o qualsiasi IDE C# tu preferisca). +* Pacchetto NuGet Aspose.OCR – installa tramite `dotnet add package Aspose.OCR`. + +Tutto qui. Nessun servizio esterno, nessuna chiave API. + +--- + +## Come correggere l'inclinazione dell'immagine con Aspose OCR + +La prima cosa che facciamo è creare un **ImageProcessingPipeline** e aggiungere un `DeskewFilter`. Il filtro rileva automaticamente l'angolo dominante della linea di testo e ruota l'immagine nuovamente in orizzontale. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Perché è importante:** +Una scansione inclinata confonde il motore OCR perché i caratteri non sono più allineati alla linea di base. Il `DeskewFilter` analizza l'istogramma dell'immagine, trova l'angolo e la ruota, migliorando drasticamente l'accuratezza del riconoscimento. + +> **Consiglio professionale:** Se sai che i tuoi documenti non superano un'inclinazione di 15°, imposta `MaxAngle = 15` per velocizzare l'elaborazione. + +--- + +## Come aumentare il contrasto per un riconoscimento migliore + +Dopo la correzione dell'inclinazione, il passo successivo è far risaltare il testo. Il `ContrastBoostFilter` estende l'intervallo di intensità dei pixel, il che è particolarmente utile per stampe sbiadite. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Perché aiuta:** +Le scansioni a basso contrasto producono caratteri grigi che il binarizzatore può interpretare come sfondo. Aumentare il contrasto rende i pixel scuri più scuri e quelli chiari più chiari, fornendo al successivo `BinarizationFilter` una tela più pulita. + +--- + +## Eseguire OCR sull'immagine – Caricamento del file + +Ora che l'immagine è pre‑elaborata, dobbiamo **caricare l'immagine per OCR**. Aspose offre un comodo helper `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Se la tua immagine è in uno stream (ad esempio, caricata tramite una web API), puoi usare `ImageStream.FromStream(yourStream)` al suo posto. Il motore accetta BMP, JPEG, PNG, TIFF e molti altri. + +--- + +## Eseguire il processo di riconoscimento ed estrarre il testo dalla scansione + +Con tutto collegato, chiamare `Recognize()` fa il lavoro pesante. Dopo la chiamata, il testo riconosciuto è disponibile tramite `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Output previsto** (esempio per una semplice fattura): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Se l'output appare confuso, ricontrolla l'ordine della pipeline—prima la correzione dell'inclinazione, poi la riduzione del rumore, l'aumento del contrasto e infine la binarizzazione. Scambiarli può degradare i risultati. + +--- + +## Problemi comuni e casi particolari + +| Problema | Perché accade | Soluzione | +|----------|----------------|-----------| +| **Risultato vuoto** | L'immagine è troppo scura o troppo chiara per il metodo di binarizzazione predefinito. | Aumentare `ContrastBoostFilter.Strength` o passare a `BinarizationMethod.Otsu`. | +| **Testo parziale mancante** | Il rumore rimane dopo la riduzione del rumore. | Usare `DenoiseLevel.Medium` per immagini più delicate, o aggiungere un secondo `DenoiseFilter`. | +| **Direzione di rotazione errata** | Il documento ha orientamento misto (ad esempio, una foto di una pagina ruotata). | Impostare manualmente `DeskewFilter.MaxAngle` più basso e pre‑ruotare l'immagine con `ImageProcessor.Rotate`. | +| **Rallentamento delle prestazioni** | Grande batch di immagini ad alta risoluzione. | Ridimensionare le immagini (`ImageProcessor.Resize`) prima della pipeline, o elaborare in parallelo (`Parallel.ForEach`). | + +--- + +## Esempio completo funzionante (pronto per copia‑incolla) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Salva questo come `Program.cs`, esegui `dotnet run` e osserva la console stampare il risultato di **estrarre il testo dalla scansione**. + +--- + +## Prossimi passi e argomenti correlati + +* **Elaborazione batch** – Avvolgi la logica sopra in un ciclo per gestire decine di file. +* **Pacchetti linguistici personalizzati** – Se devi leggere script non latini, carica un modello linguistico tramite `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **Output PDF** – Combina Aspose.PDF con OCR per incorporare testo ricercabile direttamente in un file PDF. +* **Ottimizzazione delle prestazioni** – Sperimenta l'ordine di `ImageProcessingPipeline`; a volte la riduzione del rumore prima della correzione dell'inclinazione produce risultati più rapidi su foto rumorose. + +Tutti questi si basano sui concetti fondamentali trattati: **come correggere l'inclinazione dell'immagine**, **come aumentare il contrasto**, **caricare l'immagine per OCR**, **eseguire OCR sull'immagine**, e infine **estrarre il testo dalla scansione**. + +--- + +## Conclusione + +Abbiamo appena dimostrato un modo completo e pronto per la produzione per **correggere l'inclinazione dell'immagine** ed eseguire OCR in C#. Concatenando un filtro di correzione dell'inclinazione, un passo di riduzione del rumore, un aumento del contrasto e un binarizzatore, ottieni un input pulito che permette ad Aspose OCR di **estrarre il testo dalla scansione** in modo affidabile. + +Prova il codice, regola i parametri dei filtri per i tuoi documenti e vedrai quanto rapidamente migliora l'accuratezza del riconoscimento. Hai domande? Lascia un commento e buona programmazione! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/italian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..81e97b60f --- /dev/null +++ b/ocr/italian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-03-07 +description: Come eseguire l'OCR su immagini cinesi usando Aspose OCR. Impara a estrarre + il testo cinese, convertire l'immagine in ePub e migliorare la precisione dell'OCR + in un unico tutorial. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: it +og_description: Come eseguire l'OCR su immagini cinesi con Aspose OCR. Ottieni codice + passo‑passo per estrarre il testo cinese, migliorare l'OCR e esportare in ePub. +og_title: Come eseguire l'OCR su immagini cinesi – Guida completa C# +tags: +- OCR +- C# +- Aspose +title: Come eseguire l'OCR su immagini cinesi – Guida completa in C# +url: /it/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come eseguire OCR su immagini cinesi – Guida completa in C# + +Ti sei mai chiesto **come eseguire OCR** su un'immagine che contiene caratteri cinesi? Non sei l'unico. In molte app—scansione di ricevute, digitalizzazione di libri di testo o creazione di un motore di ricerca multilingue—ottenere testo pulito da un'immagine è una funzionalità decisiva. + +In questo tutorial percorreremo una soluzione reale che **estrae testo cinese**, salva il risultato in un file di testo semplice e persino **converte l'immagine in un ePub** per lettori digitali. Lungo il percorso parleremo di **come migliorare la precisione dell'OCR**, perché dovresti abilitare la modalità GPU e cosa è necessario fare per **riconoscere correttamente il cinese semplificato**. + +Al termine della guida avrai un programma C# completamente eseguibile, una serie di consigli pratici e un'idea chiara dei prossimi passi da compiere (come aggiungere il rilevamento della lingua o l'elaborazione batch). Nessuna documentazione esterna necessaria—tutto ciò che ti serve è qui. + +## Cosa ti servirà + +- .NET 6+ (o .NET Core 3.1 con Aspose OCR for .NET) +- Una licenza valida di Aspose OCR for .NET (la versione di prova gratuita è sufficiente per sperimentare) +- Un file immagine che contenga caratteri cinesi semplificati (ad es., `chinese_sample.jpg`) +- Visual Studio 2022 o qualsiasi editor C# tu preferisca + +Se ti manca qualcosa, scarica subito il pacchetto NuGet: + +```bash +dotnet add package Aspose.OCR +``` + +Tutto qui—nessuna libreria nativa aggiuntiva, nessun interop COM, solo un singolo pacchetto .NET. + +## Come eseguire OCR – Configurare il motore Aspose OCR + +La prima cosa da fare è creare e configurare il motore OCR. Questo passaggio è cruciale perché le impostazioni del motore determinano **quanto bene l'OCR funziona** sui caratteri cinesi e quanto velocemente viene eseguito. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Perché è importante:** +- **Language = ChineseSimplified** indica ad Aspose di caricare il set di caratteri per il cinese semplificato, riducendo drasticamente i falsi riconoscimenti. +- **EngineMode.Gpu** può dimezzare i tempi di elaborazione su una GPU moderna, ma ricade elegantemente sulla CPU se non è presente alcuna GPU. +- **DeskewFilter** rimuove l'inclinazione che spesso appare quando gli utenti scattano una foto con il telefono. +- **Sauvola binarization** crea un'immagine in bianco‑nero ad alto contrasto, un trucco classico per aumentare la precisione dell'OCR su script densi come il cinese. + +> **Consiglio professionale:** se lavori con foto scattate in condizioni di scarsa illuminazione, aggiungi un `ContrastFilter` prima della binarizzazione. Non è obbligatorio per il nostro esempio, ma spesso evita diversi problemi. + +![Diagramma del flusso OCR](ocr-pipeline.png "Diagramma del flusso OCR") + +> *Testo alternativo:* Diagramma del flusso OCR + +## Estrarre testo cinese da un'immagine + +Ora che il motore è pronto, carichiamo l'immagine e lasciamo che faccia la sua magia. Questo è il cuore di **estrarre testo cinese**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Cosa dovresti vedere:** +Se `chinese_sample.jpg` contiene la frase “中华人民共和国”, il file `out.txt` conterrà esattamente quei caratteri—senza spazi aggiuntivi, senza lettere latine corrotte. + +### Problemi comuni + +| Problema | Perché accade | Soluzione | +|----------|---------------|-----------| +| Caratteri mancanti | L'immagine è troppo rumorosa | Aggiungi un `MedianFilter` prima della binarizzazione | +| Lingua errata rilevata | `Language` impostato su `English` | Assicurati che `Language = Language.ChineseSimplified` | +| Elaborazione lenta | GPU non abilitata | Verifica che la macchina abbia un driver CUDA compatibile | + +## Convertire l'immagine in ePub + +Molti sviluppatori chiedono: *“Posso trasformare la pagina scansionata in un e‑book leggibile?”* Assolutamente sì—Aspose OCR include un esportatore ePub. Questo soddisfa il requisito **convertire immagine in epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +L'`out.epub` generato conterrà il testo cinese estratto, correttamente codificato in UTF‑8, e potrà essere aperto su Kindle, Apple Books o qualsiasi lettore ePub. + +**Perché usare ePub?** +- È riformattabile, quindi i lettori possono regolare la dimensione del carattere senza rompere il layout. +- Il formato mantiene il testo ricercabile, utile per indicizzazioni future. + +## Come migliorare l'OCR – Suggerimenti pratici + +Anche con una pipeline solida, potresti ancora incontrare occasionali errori di riconoscimento. Ecco una rapida checklist per **migliorare l'OCR** su documenti cinesi: + +1. **Pre‑elaborare l'immagine** – Usa `GaussianBlurFilter` per smussare i granelli, poi `ContrastFilter` per accentuare i bordi. +2. **Impostare una DPI più alta** – Se controlli il processo di scansione, punta a 300 dpi o più; le immagini a bassa risoluzione perdono dettagli dei tratti. +3. **Abilitare il rilevamento della lingua** – Aspose può auto‑rilevare la lingua; combinalo con un fallback al cinese semplificato se il rilevamento fallisce. +4. **Regolare la binarizzazione** – Sostituisci `Sauvola` con `Otsu` se lo sfondo è uniformemente chiaro. +5. **Elaborazione batch** – Processa più pagine in parallelo usando `Parallel.ForEach` per sfruttare le CPU multi‑core. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Riconoscere il cinese semplificato – Casi limite + +L'espressione **riconoscere cinese semplificato** spesso crea difficoltà ai principianti perché lo stesso motore OCR può gestire anche cinese tradizionale, giapponese o coreano. Per mantenere le cose deterministiche: + +- **Imposta esplicitamente la lingua** (come fatto al Passo 1). +- **Evita pagine multilingue**; se una pagina mescola cinese semplificato con inglese, considera due passaggi: uno con `Language.ChineseSimplified`, un altro con `Language.English`. +- **Convalida l'output** – Dopo il riconoscimento, esegui una semplice regex per assicurarti che tutti i caratteri rientrino nell'intervallo Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Se il controllo fallisce, puoi registrare la pagina per una revisione manuale. + +## Esempio completo funzionante + +Riunendo tutto, ecco un unico file che puoi copiare‑incollare in un nuovo progetto console (`Program.cs`). Include tutti i passaggi, le ottimizzazioni opzionali e una riga finale di stato. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Output console previsto (esempio):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Esegui il programma, apri `out.txt` o `out.epub` e vedrai caratteri cinesi puliti e ricercabili pronti per l'elaborazione successiva. + +## Conclusione + +Abbiamo appena coperto **come eseguire OCR** su immagini cinesi dall'inizio alla fine, mostrandoti come **estrarre testo cinese**, **convertire il risultato in un ePub** e applicare una serie di + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/text-recognition/_index.md b/ocr/italian/net/text-recognition/_index.md index 346402ba4..643ae7cd6 100644 --- a/ocr/italian/net/text-recognition/_index.md +++ b/ocr/italian/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Migliora le tue applicazioni .NET con Aspose.OCR per un efficiente riconosciment Sblocca il potenziale dell'OCR in .NET con Aspose.OCR. Estrai testo dai PDF senza sforzo. Scaricalo ora per un'esperienza di integrazione perfetta. ### [Riconosci tabella nel riconoscimento immagini OCR](./recognize-table/) Sblocca il potenziale di Aspose.OCR per .NET con la nostra guida completa sul riconoscimento delle tabelle nel riconoscimento delle immagini OCR. +### [Riconosci testo Hindi in C# – Guida completa Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Scopri come riconoscere testo Hindi in C# usando Aspose.OCR, con esempi passo passo per integrare l'OCR Hindi nelle tue applicazioni. +### [Come creare ePub da immagini in C# – Guida passo passo](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Impara a generare file ePub a partire da immagini usando C#, con esempi dettagliati passo passo. +### [Riconosci testo da immagine in C# – Guida completa Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Scopri come riconoscere testo da immagini in C# con Aspose.OCR, seguendo una guida completa passo passo per integrare l'OCR nelle tue applicazioni. +### [Estrai testo da PNG in C# – Guida completa OCR](./extract-text-from-png-in-c-full-ocr-guide/) +Scopri come estrarre testo da file PNG in C# usando Aspose.OCR con una guida passo passo completa. +### [Come usare OCR in C# – Estrarre testo da immagini offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Scopri come estrarre testo da immagini offline in C# usando Aspose.OCR, con esempi passo passo per integrare l'OCR senza connessione. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/italian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..31d93a6f0 --- /dev/null +++ b/ocr/italian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: Estrai il testo da file PNG usando C#. Scopri come convertire un'immagine + in testo con C# e leggi rapidamente il testo dalle immagini scannerizzate. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: it +og_description: Estrai testo da file PNG usando C#. Questa guida mostra come convertire + un'immagine in testo con C# e leggere il testo da immagini scannerizzate con Aspose + OCR. +og_title: Estrai testo da PNG in C# – Guida completa OCR +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Estrai testo da PNG in C# – Guida completa all'OCR +url: /it/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Estrai testo da PNG in C# – Guida completa OCR + +Hai mai dovuto **estrarre testo da PNG** ma non sapevi da dove cominciare? Non sei solo—la maggior parte degli sviluppatori si imbatte in questo ostacolo quando si trovano per la prima volta di fronte a grafiche scansionate o screenshot che devono diventare testo ricercabile. La buona notizia? Con poche righe di C# e Aspose OCR puoi trasformare qualsiasi PNG in stringhe modificabili in un attimo. + +In questo tutorial percorreremo l'intero processo: dalla ricerca dei PNG sul disco, all'avvio di attività OCR in parallelo, fino alla visualizzazione di un'anteprima ordinata di ogni risultato. Alla fine saprai come **convert image to text C#**, sarai in grado di **read text from scanned images** in modo efficiente, e vedrai anche il modo migliore per **run OCR on images** senza sovraccaricare il thread UI. + +## Cosa ti serve + +- .NET 6.0 o successivo (il codice funziona anche su .NET Core e .NET Framework) +- Pacchetto NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- Una cartella piena di file *.png* che desideri elaborare +- Qualsiasi IDE ti piaccia (Visual Studio, VS Code, Rider…) + +Non è necessaria alcuna configurazione aggiuntiva; la libreria include tutto il necessario per decodificare PNG, JPEG, TIFF, quello che vuoi. + +## Passo 1: Individua tutti i file PNG – Inizia “Extract Text from PNG” + +Per prima cosa dobbiamo trovare tutti i PNG su cui eseguire l'OCR. Usare `Directory.GetFiles` è veloce e affidabile. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Perché è importante:* Scansionare la directory una sola volta mantiene il resto della pipeline semplice, e il controllo iniziale evita una situazione silenziosa di “nessun output” difficile da debug in seguito. + +## Passo 2: Avvia attività OCR in parallelo – Esegui efficientemente **run OCR on images** + +Eseguire l'OCR in modo sequenziale va bene per una manciata di file, ma i progetti reali spesso gestiscono decine o centinaia. Avviando un `Task` per immagine manteniamo la CPU occupata mentre la libreria svolge il lavoro pesante. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Consiglio:* `Task.Run` delega il lavoro al thread pool, il che significa che la tua UI (se ne hai una) rimane reattiva. Se sei su un server, lo stesso schema scala bene tra i core. + +## Passo 3: Attendi tutte le attività – Raccogli i risultati + +Ora attendiamo che ogni operazione OCR termini. `Task.WhenAll` restituisce un array che corrisponde all'ordine originale dei file, facilitando l'abbinamento dei risultati con i nomi dei file. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Nota caso limite:* Se un'immagine genera un'eccezione (file corrotto, formato non supportato) l'intero `WhenAll` propagherà l'eccezione. Puoi avvolgere il `Task.Run` interno in un try/catch e restituire una stringa vuota o un messaggio diagnostico se ti serve tolleranza agli errori. + +## Passo 4: Mostra un'anteprima – Verifica l'output di **convert image to text C#** + +Un'anteprima rapida ti aiuta a confermare che l'OCR abbia funzionato prima di iniziare a salvare i dati altrove. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Un tipico output della console appare così: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Se l'anteprima mostra spazzatura, ricontrolla la qualità dell'immagine o considera un pre‑processing (ad es., binarizzazione) – ma per la maggior parte dei PNG puliti Aspose OCR lo fa correttamente al primo tentativo. + +## Opzionale: Salva i risultati in CSV – Un caso d'uso reale + +La maggior parte dei progetti necessita del testo estratto in un formato strutturato. Di seguito trovi un piccolo helper che scrive il nome file e il testo OCR completo in un file CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Ora puoi importare il CSV in Excel, Power BI, o qualsiasi sistema a valle che si aspetta **read text from scanned images**. + +## Domande frequenti + +**Cosa succede se i miei PNG sono enormi (oltre 5 MB)?** +Aspose OCR ridimensiona automaticamente le immagini grandi per mantenere un uso della memoria ragionevole, ma puoi ridimensionare manualmente con `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` per limitare la larghezza a 2000 px mantenendo le proporzioni. + +**Posso eseguirlo su Linux?** +Sì. Aspose OCR è cross‑platform; assicurati solo che le dipendenze native (`libgdiplus` su alcune distribuzioni) siano installate. + +**La lingua OCR è impostata su inglese per impostazione predefinita?** +Corretto. Se ti serve un'altra lingua, imposta `engine.Language = OcrLanguage.French;` (o qualsiasi enum supportato) prima di chiamare `Recognize()`. + +**Come gestisco PDF protetti da password che contengono PNG?** +Converti prima le pagine PDF in immagini (usando Aspose PDF o un'altra libreria), poi inserisci quei PNG nella stessa pipeline. Il principio di **how to run OCR on images** rimane invariato. + +## Esempio completo funzionante (Async Main) + +Di seguito trovi un programma autonomo che puoi copiare‑incollare in un progetto console. Include tutti i componenti sopra, più un piccolo helper per convalidare la cartella di input. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Output previsto** (esempio per due PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Conclusioni + +Abbiamo appena coperto tutto ciò di cui hai bisogno per **extract text from PNG** usando C#. Dalla localizzazione dei file, all'avvio di lavori OCR in parallelo, all'anteprima delle stringhe, fino al salvataggio in CSV—questa guida ti fornisce un modello pronto per la produzione per scenari **convert image to text C#**. + +Se sei pronto per il passo successivo, prova a far passare JPEG o TIFF nella stessa pipeline, sperimenta con diverse lingue OCR, o collega i risultati a un indice di ricerca così potrai **read text from scanned images** istantaneamente. + +Hai domande su casi limite, ottimizzazione delle prestazioni o licenze? Lascia un commento o contatta la community di Aspose—buon coding! + +![Extract text from PNG example](extract-text-png.png "Extract text from PNG using Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/italian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..73aecef9f --- /dev/null +++ b/ocr/italian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Come creare ePub da immagini scannerizzate usando Aspose OCR – impara + a convertire l'immagine in ePub, estrarre il testo dall'immagine, aggiungere l'autore + all'ePub e caricare l'immagine per l'OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: it +og_description: Come creare ePub da immagini scannerizzate in C#. Questo tutorial + ti mostra come convertire un'immagine in ePub, estrarre il testo dall'immagine, + aggiungere l'autore all'ePub e caricare l'immagine per l'OCR. +og_title: Come creare ePub da immagini in C# – Guida completa +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Come creare ePub da immagini in C# – Guida passo passo +url: /it/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come creare ePub da immagini in C# – Guida completa + +Ti sei mai chiesto **how to create ePub** da una collezione di pagine scansionate? Forse hai una manciata di PNG di un romanzo classico e vorresti trasformarli in un ePub ordinato che puoi leggere su qualsiasi dispositivo. La buona notizia è che con Aspose OCR puoi **load image for OCR**, estrarre il testo e poi **convert image to ePub** in poche righe di C#. + +In questo tutorial percorreremo l'intera pipeline: caricare l'immagine, estrarre il testo, aggiungere qualche metadato (sì, **add author to epub**), e infine scrivere un file ePub conforme agli standard. Alla fine avrai un ePub pronto per la pubblicazione e una solida comprensione di ogni passaggio, così potrai adattare il codice per libri multi‑pagina, font personalizzati o anche distribuzione DRM‑free. + +## Cosa ti servirà + +- **.NET 6** o versioni successive (l'API funziona anche con .NET Standard 2.0+) +- **Aspose.OCR for .NET** – puoi scaricare una prova gratuita dal sito web di Aspose. +- Un'immagine scansionata come `book_page.png` posizionata da qualche parte sul disco. +- Un IDE preferito (Visual Studio, Rider o VS Code – userò Visual Studio negli screenshot). + +Non sono richiesti pacchetti NuGet aggiuntivi; Aspose.OCR include tutto il necessario per l'esportazione ePub. + +--- + +![Come creare ePub da immagine scansionata](/images/how-to-create-epub.png "Come creare ePub da un'immagine scansionata usando Aspose OCR") + +## Passo 1 – Configura il progetto e installa Aspose.OCR + +Prima di tutto. Crea una nuova applicazione console: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Aggiungi il pacchetto Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +Tutto qui – la libreria include sia le funzionalità OCR che l'esportazione ePub, quindi non avrai bisogno di dipendenze aggiuntive. + +## Passo 2 – Carica l'immagine per OCR + +Prima di poter **extract text from image**, dobbiamo fornire al motore OCR qualcosa da leggere. L'helper `ImageStream.FromFile` rende questo banale: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Consiglio professionale:** Se la tua immagine è incorporata come risorsa, usa `ImageStream.FromResource` invece di `FromFile`. + +## Passo 3 – Estrai il testo dall'immagine + +Ora il motore legge effettivamente i pixel e li converte in stringhe Unicode. Il metodo `Recognize` fa il lavoro pesante. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Perché chiamare `Recognize` separatamente? Ti permette di ispezionare l'output OCR grezzo, modificare le impostazioni della lingua o anche eseguire un controllo ortografico prima di passare alla creazione dell'ePub. + +## Passo 4 – Prepara le opzioni di esportazione ePub (Add Author to ePub) + +Creare un ePub curato non è solo una questione di scaricare il testo; vuoi anche metadati corretti. La classe `EpubExportOptions` ti offre un modo semplice per **add author to ePub**, impostare un titolo e decidere se incorporare le immagini originali. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Se hai più pagine, puoi continuare a chiamare `ocrEngine.Image = …` e `ocrEngine.Recognize()` all'interno di un ciclo; ogni chiamata aggiunge il contenuto della nuova pagina allo stesso documento ePub. + +## Passo 5 – Converti l'immagine in ePub ed esporta + +Con il testo estratto e i metadati impostati, l'ultimo passo è una singola riga che scrive il file ePub su disco: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Il risultato `book.epub` può essere aperto in Calibre, Apple Books o qualsiasi lettore compatibile con EPUB. Poiché abbiamo impostato `IncludeImages = true`, il PNG originale apparirà come una pagina immagine, preservando l'aspetto della fonte scansionata. + +## Esempio completo funzionante + +Mettendo tutto insieme, ecco il programma completo, pronto per l'esecuzione: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Output previsto + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Apri `book.epub` nel tuo lettore preferito e vedrai una pagina del titolo, la riga dell'autore (anche se dice “Unknown”), e l'immagine scansionata visualizzata accanto al testo selezionabile. + +## Domande comuni e casi particolari + +### E se la lingua OCR non è l'inglese? + +Aspose.OCR supporta più di 70 lingue. Basta impostare la proprietà `Language` prima di chiamare `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Come gestire libri multi‑pagina? + +Avvolgi la logica di caricamento/riconoscimento in un ciclo `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Ogni iterazione aggiunge il testo appena riconosciuto allo stesso ePub, preservando l'ordine delle pagine. + +### Posso escludere le immagini originali? + +Certo – imposta `IncludeImages = false` in `EpubExportOptions`. L'ePub risultante sarà solo testo riformattabile, riducendo drasticamente le dimensioni del file. + +### E per i font o lo styling personalizzati? + +L'esportatore ePub di Aspose.OCR ti permette di fornire un foglio di stile CSS tramite la proprietà `Css` su `EpubExportOptions`. In questo modo puoi imporre una famiglia di font specifica, altezza di linea o margine. + +## Conclusione + +Ora sai **how to create ePub** da un'immagine scansionata usando Aspose OCR in C#. Il tutorial ha coperto tutto, da **load image for OCR**, passando per **extract text from image**, fino a **add author to epub**, e infine **convert image to epub** con una singola chiamata di esportazione. Con il codice completo a disposizione, puoi estendere la soluzione per elaborare in batch intere librerie, inserire copertine personalizzate o persino integrare il flusso di lavoro in una API web. + +Pronto per la prossima sfida? Prova a convertire un PDF in ePub, o sperimenta con le soglie di confidenza OCR per migliorare l'accuratezza su scansioni rumorose. Il cielo è il limite quando combini un OCR potente con una generazione ePub flessibile. + +Buona programmazione e buona lettura del tuo ePub appena creato! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/italian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..8192b8804 --- /dev/null +++ b/ocr/italian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-07 +description: Impara come usare l'OCR in C# per estrarre testo da file immagine. Questa + guida mostra l'OCR offline, la conversione dell'immagine in testo e il caricamento + dell'immagine per l'OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: it +og_description: Come utilizzare OCR in C# per estrarre testo dalle immagini offline. + Codice passo‑passo, consigli e spiegazione completa per convertire l’immagine in + testo. +og_title: Come utilizzare OCR in C# – Guida completa offline +tags: +- OCR +- C# +- Aspose +title: Come utilizzare l'OCR in C# – Estrarre testo dalle immagini offline +url: /it/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Come utilizzare OCR in C# – Estrarre testo da immagini offline + +Ti sei mai chiesto **come utilizzare OCR** in un progetto .NET senza inviare dati al cloud? Non sei l'unico. Molti sviluppatori hanno bisogno di *estrarre testo da file immagine* su una postazione sicura e temono che il traffico di rete possa esporre informazioni sensibili. + +La buona notizia? Con Aspose.OCR puoi riconoscere testo da PNG, JPEG o PDF interamente offline. In questo tutorial vedremo come caricare un'immagine per OCR, configurare il motore in modalità offline e infine **convertire immagine in testo** con poche righe di C#. + +Al termine di questa guida sarai in grado di: + +* Installare il pacchetto NuGet Aspose.OCR. +* Configurare il motore OCR per l'elaborazione offline. +* Caricare un'immagine per OCR ed estrarne il contenuto testuale. + +Nessun servizio esterno, nessuna chiave API—solo puro codice C# che gira su qualsiasi macchina Windows o Linux. + +--- + +## Prerequisiti + +Prima di immergerci, assicurati di avere: + +* .NET 6.0 SDK o successivo (il codice funziona anche con .NET Framework 4.7+). +* Visual Studio 2022, VS Code o qualsiasi editor che supporti C#. +* Una copia della libreria **Aspose.OCR** – puoi ottenerla da NuGet (`Aspose.OCR`). +* Una cartella delle risorse OCR (`Resources`) fornita con la libreria (contiene i file dei dati linguistici). +* Un'immagine di esempio (ad es., `offline_test.png`) posizionata in una directory nota. + +> **Consiglio:** Mantieni la cartella delle risorse accanto al tuo eseguibile; semplifica la configurazione di `ResourcesPath`. + +--- + +## Passo 1: Installa il pacchetto NuGet Aspose.OCR + +Per prima cosa, aggiungi la libreria al tuo progetto. Apri un terminale nella cartella del progetto ed esegui: + +```bash +dotnet add package Aspose.OCR +``` + +Oppure, se preferisci l'interfaccia di Visual Studio, fai clic destro su **Dependencies → Manage NuGet Packages**, cerca *Aspose.OCR* e fai clic su **Install**. + +> L'installazione del pacchetto scarica tutti i binari necessari, quindi non avrai bisogno di DLL aggiuntive. + +--- + +## Passo 2: Crea e configura il motore OCR (Come utilizzare OCR – Modalità offline) + +Ora istanzieremo il motore OCR e gli diremo di operare **offline**. Questo garantisce che non avvenga traffico di rete durante il riconoscimento. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Perché offline?** +Quando `EngineMode` è impostato su `Online`, il motore contatta il cloud di Aspose per scaricare i pacchetti linguistici al volo. In ambienti regolamentati (finanza, sanità) quel traffico è spesso proibito. Forzando la modalità offline garantisci che tutto rimanga sulla macchina locale. + +--- + +## Passo 3: Indica al motore la cartella delle risorse OCR + +Il motore OCR necessita dei dati linguistici (modelli addestrati) per riconoscere i caratteri. Indica dove si trovano questi file: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Se non sei sicuro di dove si trovi la cartella, cercala nella directory del pacchetto NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Copia l'intera cartella nel tuo progetto per una distribuzione più semplice. + +--- + +## Passo 4: Carica l'immagine per OCR (Load Image for OCR) + +Puoi fornire al motore qualsiasi bitmap supportata. Qui caricheremo un PNG memorizzato su disco: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Suggerimento:** Se hai bisogno di elaborare immagini da uno stream (ad es., caricate tramite un'API), usa `ImageStream.FromStream(yourStream)`. + +--- + +## Passo 5: Esegui il processo di riconoscimento e converti l'immagine in testo + +Con tutto pronto, avvia l'OCR. Il metodo `Recognize()` fa il lavoro pesante, e il testo estratto è disponibile tramite la proprietà `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Passo 6: Visualizza il testo estratto + +Infine, visualizza il risultato. In un'app console puoi semplicemente scrivere sulla console, ma in un'API web restituiresti la stringa come JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Eseguendo il programma dovrebbe stampare il contenuto testuale di `offline_test.png`. Ad esempio, se l'immagine contiene la frase *“Hello, World!”*, vedrai: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Esempio completo funzionante + +Di seguito trovi il programma completo, pronto per l'esecuzione. Copialo e incollalo in un nuovo progetto console (`dotnet new console`) e adatta i percorsi al tuo ambiente. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Output previsto:** La console stampa il testo esatto contenuto nel file PNG. Se l'immagine è sfocata, il risultato può includere caratteri riconosciuti in modo errato—vedi la sezione di risoluzione dei problemi qui sotto. + +--- + +## Problemi comuni e consigli (Riconoscere testo da PNG in modo efficiente) + +| Problema | Perché succede | Come risolvere | +|----------|----------------|----------------| +| **Output vuoto** | `ResourcesPath` punta alla cartella sbagliata o mancano i file linguistici. | Verifica che la cartella contenga `eng.traineddata` (o altri file di lingua) e ricontrolla la stringa del percorso. | +| **Caratteri spazzatura** | La risoluzione dell'immagine è troppo bassa o l'immagine non è binarizzata. | Pre‑elabora l'immagine (aumenta DPI, applica `ImageProcessor` per affinare). | +| **Ritardo di prestazioni** | Le immagini grandi vengono elaborate a piena risoluzione. | Ridimensiona l'immagine a una larghezza massima di 2000 px prima di passarla a OCR. | +| **Formato non supportato** | Uso di un BMP con un formato pixel insolito. | Converti l'immagine in PNG o JPEG prima (`System.Drawing.Image.Save`). | + +**Consiglio:** Se devi riconoscere più lingue, imposta `ocrEngine.Settings.Language = Language.English | Language.French;` prima di chiamare `Recognize()`. + +--- + +## Domande frequenti + +**D: Posso usare questo codice su Linux?** +Assolutamente. Aspose.OCR è cross‑platform; basta assicurarsi che le librerie native siano presenti (sono incluse nel pacchetto NuGet). + +**D: E se non ho una cartella Resources?** +Puoi scaricare i pacchetti linguistici gratuiti dal sito di Aspose o estrarli dal pacchetto NuGet (`.../aspose.ocr//resources`). + +**D: È possibile ottenere i punteggi di confidenza?** +Sì. Dopo `Recognize()`, ispeziona `ocrEngine.RecognizedWords` – ogni parola include una proprietà `Confidence`. + +--- + +## Conclusione + +Abbiamo coperto **come utilizzare OCR** in C# per *estrarre testo da file immagine* completamente offline. Installando Aspose.OCR, configurando `EngineMode.Offline`, indicando le risorse, caricando un'immagine e chiamando `Recognize()`, puoi affidabilmente **convertire immagine in testo** senza mai toccare Internet. + +Prendi il codice sopra, sostituisci i percorsi delle tue immagini e inizia a costruire funzionalità come PDF ricercabili, automazione dell'inserimento dati o strumenti di accessibilità. Successivamente, potresti esplorare **riconoscere testo da PNG** in blocco, o integrare il motore in un'API ASP.NET Core per fornire risultati OCR alle applicazioni front‑end. + +Buona programmazione, e sentiti libero di sperimentare—OCR è sorprendentemente indulgente una volta che il motore è configurato correttamente! + +--- + +![Diagramma che mostra il flusso di lavoro OCR offline – come utilizzare OCR in un ambiente sicuro](https://example.com/ocr-workflow.png "diagramma di come utilizzare OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/italian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..23a3f0998 --- /dev/null +++ b/ocr/italian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-03-07 +description: Scopri come riconoscere il testo in hindi e caricare l'immagine per l'OCR + usando Aspose.OCR in C#. Configurazione passo‑passo, codice e consigli. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: it +og_description: Scopri come riconoscere il testo hindi con Aspose OCR in C#. Include + il caricamento dell'immagine per l'OCR, la configurazione del pacchetto lingua e + consigli sulle migliori pratiche. +og_title: Riconoscere il testo Hindi – Tutorial completo di Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: Riconoscere il testo Hindi in C# – Guida completa all'OCR di Aspose +url: /it/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# riconoscere testo Hindi – Tutorial completo Aspose OCR + +Ti è mai capitato di dover **riconoscere testo Hindi** da una ricevuta scansionata ma non sapevi da dove cominciare? Non sei l’unico. In molte app orientate al mercato indiano, estrarre caratteri Hindi in modo affidabile può sembrare inseguire un bersaglio in movimento. Fortunatamente, Aspose.OCR lo rende un gioco da ragazzi—una volta che conosci i passaggi giusti per **load image for OCR** e indirizzi il motore verso le risorse linguistiche Hindi. + +In questa guida percorreremo passo passo tutto ciò che ti serve per ottenere una pipeline OCR funzionante in C#. Alla fine avrai un programma eseguibile che scarica il language pack Hindi, carica un’immagine, esegue il riconoscimento e stampa il testo risultante sulla console. Niente link vaghi “vedi la documentazione”—solo una soluzione autonoma che puoi inserire in qualsiasi progetto .NET. + +## What You’ll Need + +- **.NET 6+** (o .NET Framework 4.7.2+). L’API è la stessa su tutte le versioni, ma il runtime più recente offre prestazioni migliori. +- **Aspose.OCR for .NET** pacchetto NuGet. Installalo con `dotnet add package Aspose.OCR`. +- Un **Hindi language pack** – Aspose lo fornisce come risorsa scaricabile, non è incluso di default. +- Un file immagine che contenga testo Hindi (ad es. `hindi_receipt.jpg`). Qualsiasi formato comune (JPG, PNG, BMP) va bene. +- Un IDE decente (Visual Studio, Rider o VS Code). + +Questo è tutto—nessun motore OCR esterno, nessuna chiave cloud, solo una libreria locale. + +## Step 1: Download the Hindi Language Pack – Set Up Resources + +Prima che il motore OCR possa comprendere i caratteri Devanagari, devi recuperare le risorse linguistiche Hindi. Si tratta di un’operazione una tantum, solitamente eseguita durante l’installazione dell’applicazione o nel CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Why this matters:** Il motore OCR si basa su modelli specifici per lingua per mappare i pattern dei pixel ai caratteri Unicode. Senza il pack Hindi otterrai output latino incomprensibile o nulla. + +> **Pro tip:** Cache il pack in una cartella scrivibile sulla macchina di destinazione. Se distribuisci su Azure App Service, usa la cartella `D:\home\site\wwwroot\Resources`. + +## Step 2: Configure the OCR Engine – Point to Resources + +Ora che le risorse sono al loro posto, crea un’istanza `OcrEngine` e indica dove cercare i file di lingua. Qui impostiamo anche la **primary language** per il riconoscimento. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Why we do this:** `ResourcesPath` è il ponte tra il motore e i file scaricati. Se salti questo passaggio, il motore ricadrà sui suoi modelli integrati (solo inglese) e non potrai **recognize Hindi text** correttamente. + +## Step 3: Load Image for OCR – Feed the Engine the Right Input + +Con il motore pronto, il passo successivo è **load image for OCR**. Aspose fornisce il comodo helper `ImageStream.FromFile` che supporta la maggior parte dei formati immagine comuni. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Large images** possono rallentare l’elaborazione. Se gestisci scansioni ad alta risoluzione, considera il down‑sampling prima (`ImageProcessor.Resize`). +- **Incorrect orientation** (scansioni ruotate) causerà risultati scadenti. Usa `ocrEngine.Image.Rotate(90)` se necessario. + +## Step 4: Run the Recognition – Extract the Text + +Ora chiediamo al motore di leggere i pixel e trasformarli in stringhe Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**What to expect:** Se l’immagine è chiara, dovresti vedere i caratteri Hindi stampati esattamente come appaiono sulla ricevuta. Per esempio, una ricevuta di esempio potrebbe produrre: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Se ottieni spazzatura, ricontrolla che il language pack sia stato scaricato correttamente e che `ocrEngine.Settings.Language` sia impostato su `Language.Hindi`. + +## Step 5: Wrap It All Up – Complete, Runnable Program + +Di seguito trovi il file sorgente completo che puoi copiare‑incollare in un progetto console. Include tutti i passaggi sopra, più una gestione minima degli errori. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Salva questo file come `Program.cs`, esegui `dotnet run` e dovresti vedere il testo Hindi stampato sulla console. + +## Frequently Asked Questions (FAQ) + +### Can I recognize multiple languages in one run? +Sì. Imposta `ocrEngine.Settings.Language` a un array, ad esempio `new[] { Language.Hindi, Language.English }`. Il motore proverà a rilevare caratteri da entrambe le scritture. + +### What if my image is blurry? +Considera un pre‑processing con `ImageProcessor`—applica sharpening o miglioramento del contrasto prima di assegnarla a `ocrEngine.Image`. + +### Does this work on Linux/macOS? +Assolutamente. Aspose.OCR è cross‑platform; assicurati solo che le dipendenze native siano presenti (di solito incluse nel pacchetto NuGet). + +### How do I improve accuracy for low‑resolution receipts? +Aumenta i DPI (dots per inch) durante la scansione, o risamplea programmaticamente l’immagine a almeno 300 DPI prima dell’OCR. + +## Conclusion + +Abbiamo coperto tutto ciò che ti serve per **recognize Hindi text** usando Aspose.OCR—dal download del Hindi language pack, alla configurazione del motore, al corretto **load image for OCR**, fino all’estrazione e stampa del risultato. Lo snippet di codice completo sopra è pronto per essere inserito in qualsiasi app console C#, e i consigli opzionali ti aiutano a gestire casi comuni come scansioni sfocate o documenti multilingua. + +Pronto per il passo successivo? Prova a inviare l’output OCR a un’API di traduzione, o a memorizzare i dati estratti in un database per analisi. Puoi anche sperimentare con altre lingue indiane—Aspose supporta Tamil, Bengali e altre—bastando sostituire `Language.Hindi` con il valore enum desiderato. + +Happy coding, and may your OCR results always be crisp! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/italian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/italian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..80504d074 --- /dev/null +++ b/ocr/italian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Riconosci rapidamente il testo da un'immagine con Aspose OCR. Scopri + come convertire djvu in testo, estrarre il testo da un'immagine e caricare l'immagine + per l'OCR in un tutorial passo‑passo in C#. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: it +og_description: Riconosci il testo da un'immagine in C# usando Aspose OCR. Questa + guida mostra come convertire djvu in testo, estrarre il testo da un'immagine e caricare + l'immagine per l'OCR con consigli pratici. +og_title: Riconoscere il testo da immagine – Tutorial completo C# Aspose OCR +tags: +- C# +- Aspose OCR +- Document Processing +title: Riconoscere il testo da un'immagine in C# – Guida completa all'OCR di Aspose +url: /it/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# riconoscere testo da immagine – Tutorial completo C# Aspose OCR + +Hai mai avuto bisogno di **recognize text from image** ma non eri sicuro quale libreria ti avrebbe fornito risultati affidabili? Non sei solo. Che tu stia gestendo fatture scannerizzate, file DJVU storici o uno screenshot PNG semplice, estrarre i caratteri esatti può sembrare decifrare una scrittura antica. + +Ecco la questione—Aspose OCR rende l'intero processo un gioco da ragazzi. In questa guida vedremo come **convert djvu to text**, **extract text from image**, e **load image for OCR** usando un conciso programma C#. Alla fine avrai un'app console eseguibile che stampa la stringa riconosciuta nella console, e comprenderai il “perché” dietro ogni riga. + +## Cosa Imparerai + +- Come configurare il motore Aspose OCR in un progetto .NET. +- Il codice esatto necessario per **load image for OCR** da un file DJVU. +- Perché dovresti chiamare `Recognize()` prima di leggere `Text`. +- Problemi comuni (DJVU multi‑pagina, formati non supportati) e come evitarli. +- Metodi rapidi per **convert djvu to text** per l'elaborazione batch. + +Tutto ciò di cui hai bisogno è un .NET SDK recente (≥ 6.0) e una licenza Aspose OCR (la prova gratuita funziona per i test). Nessun servizio esterno, nessuna chiamata REST—solo puro C#. + +## Prerequisiti + +| Requisito | Motivo | +|-------------|--------| +| .NET 6 SDK o versioni successive | Funzionalità linguistiche moderne e migliori prestazioni. | +| Pacchetto NuGet Aspose.OCR (`Install-Package Aspose.OCR`) | Fornisce la classe `OcrEngine` che utilizzeremo. | +| Un file DJVU (es., `sample.djvu`) | Dimostra **convert djvu to text**. | +| Familiarità di base con le app console C# | Rende i passaggi più fluidi. | + +Se qualcuno di questi manca, fermati e installalo ora; altrimenti il codice non si compilerà. + +## Passo 1 – Installa Aspose.OCR e Crea il Progetto + +Per prima cosa, crea un nuovo progetto console e aggiungi la libreria OCR. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Suggerimento:* Usa il flag `--framework net6.0` se vuoi fissare esplicitamente il framework di destinazione. + +## Passo 2 – Inizializza il Motore OCR e Carica l'Immagine DJVU + +Il motore necessita di una sorgente immagine. Aspose.OCR può leggere molti formati, incluso DJVU, quindi lo puntiamo semplicemente al percorso del file. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Perché è importante:** +- `OcrEngine` è il punto di ingresso; crearla una volta e riutilizzarla riduce il consumo di memoria. +- `ImageStream.FromFile` astrae il formato del file, così puoi in seguito sostituire il file DJVU con un PNG o TIFF senza modificare altro codice—perfetto per “how to extract text from image” in diversi scenari. + +## Passo 3 – Esegui il Processo di Riconoscimento + +Chiamare `Recognize()` avvia l'elaborazione pesante. Dietro le quinte Aspose esegue un classificatore basato su rete neurale che funziona sia su testo stampato che su scritto a mano. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Nota caso limite:* Se il tuo DJVU contiene più pagine, `ImageStream.FromFile` carica comunque solo la prima pagina. Per elaborare tutte le pagine dovresti iterare su `ImageStream.FromFile(...).Pages`. Per la maggior parte dei compiti di rapida visualizzazione, la prima pagina è sufficiente. + +## Passo 4 – Recupera e Visualizza il Testo Riconosciuto + +Dopo il riconoscimento, il motore popola la proprietà `Text` con una stringa di testo semplice. Ora puoi scriverla sulla console, su un file, o inviarla a un altro sistema. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +L'output tipico appare così: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Se l'output è illeggibile, verifica che l'immagine di origine non sia a bassa risoluzione; Aspose raccomanda 300 dpi o più per la massima precisione. + +## Esempio Completo Funzionante + +Mettendo tutto insieme, ecco un unico file (`Program.cs`) che puoi incollare nel progetto creato in precedenza. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Eseguilo con: + +```bash +dotnet run +``` + +Dovresti vedere la stringa estratta stampata nel terminale. Questo è il modo più semplice per **recognize text from image** usando Aspose OCR. + +## Passo 5 – Avanzato: Convertire più Pagine DJVU in File di Testo + +Se hai bisogno di **convert djvu to text** in massa, estendi il codice precedente con un ciclo: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Perché funziona:* `GetPage(i)` restituisce un oggetto `Image` per la pagina richiesta, permettendoti di riutilizzare la stessa istanza di `OcrEngine`. Il testo di ogni pagina viene salvato in un proprio file `.txt`, fornendoti una pipeline pulita per **convert djvu to text**. + +## Domande Frequenti & Problemi Comuni + +- **Posso estrarre testo da un JPEG invece di DJVU?** + Assolutamente. Basta cambiare l'estensione del file in `FromFile`. Lo stesso codice **how to extract text from image** si applica perché Aspose astrae il formato. + +- **Cosa fare se il risultato OCR contiene interruzioni di riga extra?** + Usa `String.Replace("\r\n", " ")` o un'espressione regolare per normalizzare gli spazi. + +- **Ho bisogno di una licenza per l'uso in produzione?** + La prova gratuita funziona fino a 100 pagine. Per utilizzo illimitato, acquista una licenza e chiama `License license = new License(); license.SetLicense("Aspose.OCR.lic");` prima di creare il motore. + +- **Il motore è thread‑safe?** + No. Crea un `OcrEngine` separato per ogni thread o proteggi l'accesso con un lock. + +## Consigli per una Maggiore Precisione + +1. **Aumenta DPI** – Se controlli la conversione della sorgente, genera le immagini a 300 dpi o più. +2. **Pre‑processa l'immagine** – Una semplice binarizzazione (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) può migliorare i risultati su scansioni rumorose. +3. **Specifica la lingua** – `ocrEngine.Language = Language.English;` restringe il set di caratteri e velocizza il riconoscimento. + +## Conclusione + +Ora hai un esempio completo, pronto‑all'uso, che **recognize text from image** usando Aspose OCR, e hai visto come **convert djvu to text**, **how to extract text from image**, e il modo corretto per **load image for OCR**. Il codice è autonomo, funziona su qualsiasi runtime .NET 6+, e può essere ampliato per elaborare in batch documenti DJVU multi‑pagina. + +Successivamente, potresti esplorare: + +- Aggiungere **language detection** per file DJVU multilingue. +- Integrare l'output OCR con un indice di ricerca (es., Elasticsearch). +- Usare la conversione PDF di Aspose per trasformare il testo estratto in PDF ricercabili. + +Provalo, regola il DPI, sperimenta con diversi formati immagine, e lascia che il motore OCR faccia il lavoro pesante per te. Buon coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/ocr-configuration/_index.md b/ocr/japanese/net/ocr-configuration/_index.md index 841afa3c0..1fe407dad 100644 --- a/ocr/japanese/net/ocr-configuration/_index.md +++ b/ocr/japanese/net/ocr-configuration/_index.md @@ -61,6 +61,8 @@ Aspose.OCR で .NET の OCR 画像認識を活用し、フォルダー内の画 Aspose.OCR for .NET の強力な OCR 機能を活用し、画像からシームレスにテキストを抽出する方法を学びます。 ### [OCROperation with List in OCR Image Recognition](./ocr-operation-with-list/) Aspose.OCR for .NET の可能性を引き出し、リストを使用した OCR 画像認識を手軽に実行し、アプリケーションの生産性とデータ抽出を向上させます。 +### [png からテキストを読み取る – Aspose OCR でキリル文字テキストを抽出](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Aspose OCR を使用して PNG 画像からキリル文字テキストを抽出し、.NET アプリで利用する方法を解説します。 ### 一般的なユースケース - **Extract text images** スキャンした請求書からテキストを抽出し、会計業務を自動化。 @@ -104,4 +106,4 @@ A: はい、`OcrResult` オブジェクトが各単語の信頼度スコアを {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/japanese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..5f8deccaf --- /dev/null +++ b/ocr/japanese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,200 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR を使用して PNG からテキストを読み取り、キリル文字テキストを抽出し、画像をテキストに変換し、キリル文字言語パックをダウンロードする方法を学びましょう。 +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: ja +og_description: pngからテキストを読み取り、キリル文字テキストを抽出し、Aspose OCRを使用してC#で画像をテキストに変換する方法を学びましょう。 +og_title: PNGからテキストを読み取る – Aspose OCRでキリル文字テキストを抽出 +tags: +- Aspose OCR +- C# +- Image Processing +title: PNGからテキストを読み取る – Aspose OCRでキリル文字テキストを抽出 +url: /ja/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNGからテキストを読み取る – Aspose OCRでキリル文字を抽出 + +Need to **read text from png** files and pull out Cyrillic characters? In this guide we’ll show you how to read text from png using Aspose OCR, extract Cyrillic text, and **convert image to text** in just a few lines of C#. + +If you’ve ever stared at a screenshot of a Russian invoice and wondered how to get the words into a searchable string, you’re in the right place. We’ll also cover how to **download the Cyrillic language pack** automatically, so you don’t have to hunt for extra files. + +## What you’ll achieve + +By the end of this tutorial you will be able to: + +* **Load an image for OCR** directly from disk or a stream. +* Set the engine to **Cyrillic language** without manual downloads. +* Run recognition and **extract Cyrillic text** from a PNG file. +* See the recognized text printed to the console – a clean, plain‑text result you can feed into databases, search indexes, or any other workflow. + +No external services, no cloud keys, just the Aspose OCR NuGet package and a few lines of C#. + +## Prerequisites + +* .NET 6.0 or later (the code works on .NET Core, .NET Framework, and .NET 5+). +* Visual Studio 2022 or any editor you like. +* The Aspose.OCR NuGet package (`dotnet add package Aspose.OCR`). +* A PNG image that contains Cyrillic characters – for example `cyrillic_sample.png` placed in a folder called `YOUR_DIRECTORY`. + +> **Pro tip:** If you’re using Visual Studio, right‑click the project → **Manage NuGet Packages** → search “Aspose.OCR” and install the latest stable version. + +--- + +## Step 1 – Install Aspose OCR and create the engine + +First we need the OCR engine instance. The `OcrEngine` class is the entry point for all operations. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Why this matters:** The engine encapsulates language packs, image data, and recognition options. Instantiating it once and re‑using it across multiple images can improve performance. + +--- + +## Step 2 – **load image for ocr** and set the language + +Now we tell the engine which image to process and which language to look for. Setting `Language.Cyrillic` automatically downloads the required language pack the first time it runs. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Edge case:** If your PNG is huge (over 5 MB) you might want to resize it first to speed up recognition. The `Image` property also accepts a `Stream`, so you can load from memory, a web request, or an Azure Blob without touching the file system. + +--- + +## Step 3 – **convert image to text** with a single call + +Recognition is as simple as invoking `Recognize()`. After this call the `Text` property holds the extracted string. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **What happens under the hood?** Aspose runs a neural‑network‑based classifier trained on millions of Cyrillic glyphs. The library abstracts all that complexity, so you just get clean Unicode. + +--- + +## Step 4 – Output the result (or pipe it elsewhere) + +For demo purposes we’ll print the text to the console, but you could easily write it to a file, a database, or pass it to a search index. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Expected output** (assuming `cyrillic_sample.png` contains the phrase “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +If the output looks garbled, double‑check that the image is clear and that you set `Language.Cyrillic`. The engine defaults to English, which would treat Cyrillic characters as unknown symbols. + +--- + +## Step 5 – Full, runnable example + +Putting it all together, here’s a self‑contained program you can copy‑paste into a new console project. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Save the file as `Program.cs`, run `dotnet run`, and you should see the Cyrillic text printed out. + +--- + +## Common questions & troubleshooting + +| Question | Answer | +|----------|--------| +| **What if the language pack doesn’t download?** | Ensure the machine has internet access. The pack is cached in `%USERPROFILE%\.Aspose\OCR\Languages`. Deleting that folder forces a fresh download. | +| **Can I read other languages besides Cyrillic?** | Absolutely – replace `Language.Cyrillic` with `Language.English`, `Language.Arabic`, etc. The same auto‑download logic applies. | +| **My PNG is noisy – results are poor. What can I do?** | Pre‑process the image: increase contrast, convert to grayscale, or apply a median filter. Aspose OCR also offers `Settings.ImagePreprocess` options. | +| **Is there a way to get bounding boxes for each word?** | Yes, after `Recognize()` you can inspect `ocrEngine.Regions` which returns rectangles for each detected word. | +| **Do I need a license for production use?** | The free evaluation works for up to 100 pages. For commercial projects purchase a license – it removes the evaluation watermark and unlocks high‑speed batch processing. | + +--- + +## Next steps – extending the solution + +* **Batch processing:** Loop over a folder of PNGs, collect all texts into a CSV file. +* **Integration with Azure Cognitive Search:** Index the extracted Cyrillic strings for fast lookup. +* **Combine with PDF conversion:** Use Aspose.PDF to convert scanned PDFs to PNGs first, then run the same OCR flow. + +All of those scenarios reuse the core pattern we just covered: **load image for OCR → set language → recognize → use the text**. + +--- + +## Conclusion + +You now know how to **read text from png**, **extract Cyrillic text**, and **convert image to text** with Aspose OCR in C#. The key steps are creating the engine, loading the image, selecting the proper language (which automatically **downloads the Cyrillic language pack**), and finally calling `Recognize()`. + +Give it a try with different images, experiment with the `Settings` options, and watch your applications become searchable, multilingual, and far more intelligent. + +Happy coding, and feel free to drop a comment if you hit any snags! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/ocr-optimization/_index.md b/ocr/japanese/net/ocr-optimization/_index.md index 37e939040..affe9b33f 100644 --- a/ocr/japanese/net/ocr-optimization/_index.md +++ b/ocr/japanese/net/ocr-optimization/_index.md @@ -72,6 +72,12 @@ Aspose.OCR for .NET を探索し、前処理フィルタで OCR 精度を向上 Aspose.OCR for .NET で OCR 精度を強化します。スペルを修正し、辞書をカスタマイズし、エラーのないテキスト認識を簡単に実現します。 ### [マルチページ結果を文書として保存](./save-multipage-result-as-document/) Aspose.OCR for .NET の可能性を解き放ちます。この包括的なステップバイステップガイドで、マルチページ OCR 結果を文書として簡単に保存できます。 +### [C# で画像をデスキューし OCR を実行する方法 – 完全ガイド](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +画像の傾きを補正し、Aspose.OCR を使用して正確にテキストを抽出する手順をステップバイステップで解説します。 +### [Aspose OCR の例 – C# でスペルチェックを有効にしエラーを修正する](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Aspose.OCR を使用して C# でスペルチェックを有効にし、認識エラーを自動修正する手順を解説します。 +### [C# で中国語画像の OCR を実行する完全ガイド](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +C# を使用して中国語の画像からテキストを抽出する手順をステップバイステップで解説します。 ## よくある質問 diff --git a/ocr/japanese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/japanese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..34a9287de --- /dev/null +++ b/ocr/japanese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR の例で、スペルチェックを有効にし、カスタム辞書を追加し、画像 OCR をロードして OCR エラーを迅速に修正する方法を示しています。 +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: ja +og_description: スペルチェックの有効化、カスタム辞書の追加、OCR用画像の読み込み、一般的なOCRエラーの修正方法を案内するAspose OCRのサンプルです。 +og_title: Aspose OCR の例 – スペルチェックを有効にしてエラーを修正 +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR の例 – C# でスペルチェックを有効にし、エラーを修正する +url: /ja/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR の例 – スペルチェックを有効にして C# でエラーを修正する + +画像からテキストを読み取るだけでなく、厄介なスペルミスまでクリーンアップする **Aspose OCR example** が必要だったことはありませんか? あなただけではありません。実際のプロジェクトでは、元の OCR 出力が誤字だらけになることが多く、特にソース画像に低コントラストのフォントや手書きのメモが含まれている場合に顕著です。 + +良いニュースです。Aspose.OCR を使えば、**spellcheck を有効に**し、独自の辞書を組み込んで、数行のコードだけで洗練された文字列を取得できます。以下では、**spellcheck の有効化方法**、**辞書の追加方法**、そして **画像 OCR のロード方法** を具体的に示すので、もう髪を引っ張ることなく **OCR エラーを修正** できるようになります。 + +このチュートリアルでは、NuGet のインストールから、修正されたテキストを出力する完全な実行可能プログラムまで、必要なすべてをカバーします。最後まで読むと、任意の .NET プロジェクトにすぐに組み込める堅実な **Aspose OCR example** が手に入ります。 + +## 前提条件 + +- .NET 6.0 SDK またはそれ以降(コードは .NET Core および .NET Framework でも動作します) +- Visual Studio 2022 または任意の C# 対応 IDE +- 明瞭な英語のタイプテキストが含まれる画像ファイル(`typed_text.png`) +- Aspose.OCR NuGet パッケージを取得するためのインターネット接続 + +他のサードパーティライブラリは必要ありません。 + +--- + +## ステップ 1 – Aspose.OCR NuGet パッケージのインストール (Load Image OCR) + +コードを書く前に、OCR エンジンを動かすライブラリが必要です。 + +```bash +dotnet add package Aspose.OCR +``` + +> **プロのコツ:** Visual Studio を使用している場合、プロジェクトを右クリック → *Manage NuGet Packages* → **Aspose.OCR** を検索して *Install* をクリックしてください。 + +パッケージをインストールすると、`OcrEngine`、`ImageStream`、および後で使用する組み込みのスペルチェックユーティリティにアクセスできるようになります。パッケージが配置されたら、**load image OCR** の準備が整います。 + +## ステップ 2 – OCR エンジン インスタンスの作成 + +エンジンの作成は、任意の **Aspose OCR example** における最初の具体的なステップです。`OcrEngine` をビットマップを解析しテキストを出力する脳と考えてください。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +`OcrEngine` のコンストラクタはパラメータを必要としないため、クイックプロトタイプに最適です。 + +## ステップ 3 – Spellcheck の有効化方法(その重要性) + +生の OCR 出力には、しばしば “the” の代わりに “teh” のように誤認識された単語が含まれます。組み込みのスペルチェッカーを有効にすると、Aspose が自動的に最も可能性の高い正しい綴りに置き換えてくれます。 + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **なぜ spellcheck を有効にするのか?** +> - **精度:** 後処理のスペルチェックにより、印刷文書の全体的なテキスト精度が 10‑15 % 向上します。 +> - **ユーザー体験:** クリーンなテキストは、結果を検索インデックスや分析パイプラインに投入する際の下流のクレンジング作業を減らします。 + +## ステップ 4 – 辞書の追加方法(カスタム単語) + +デフォルトの辞書がブランド名、製品コード、またはドメイン固有の用語を認識しないことがあります。そこで **辞書の追加方法** が重要になります。 + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +配列、リスト、または大規模なカスタム語彙がある場合はファイルから読み込むこともできます。スペルチェッカーはこれらのエントリを有効とみなし、誤った修正を防ぎます。 + +## ステップ 5 – OCR 用画像のロード (Load Image OCR) + +エンジンの設定が完了したので、読み取り対象の画像を指定する必要があります。`ImageStream.FromFile` ヘルパーはファイル読み取りの詳細を抽象化します。 + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **ヒント:** 画像がプロジェクトのサブフォルダーにある場合、*Copy to Output Directory* プロパティを *Copy always* に設定して、実行時にパスが解決されるようにしてください。 + +## ステップ 6 – 認識を実行し OCR エラーを修正する + +すべての設定が完了したら、`Recognize()` を一度呼び出すだけで OCR パイプラインが実行され、スペルチェックが適用され、クリーンな結果が `ocrEngine.Text` に格納されます。 + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### 期待される出力 + +`typed_text.png` に文 `The quick brown fox jumps over teh lazy dog` が含まれていると仮定すると、コンソールに次のように表示されます: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +“teh” が自動的に “the” に修正されたことに注目してください。カスタム辞書に “OCRify” を追加していて、画像にその単語が含まれていた場合、エンジンはそれをそのまま保持します。 + +--- + +## 完全な動作例(コピー&ペースト可能) + +以下は新しいコンソールプロジェクトに貼り付けて使用できる完全なプログラムです。上記のすべての手順に加えて、分かりやすくするためのコメントもいくつか含まれています。 + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +`Program.cs` として保存し、`dotnet run` を実行すると、修正された文がコンソールに表示されます。 + +--- + +## よくある質問とエッジケース + +| Question | Answer | +|----------|--------| +| **画像がマルチページ PDF の場合はどうしますか?** | Aspose.OCR は PDF ページを画像として処理できます。`ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` を使用し、ページをループしてください。 | +| **英語以外の言語に変更できますか?** | もちろんです。`ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` のように設定してください(サポートされている言語であればどれでも構いません)。 | +| **カスタム辞書が非常に大きい場合、パフォーマンスに影響しますか?** | 数千語の追加には多少の初期コストがかかりますが、内部でハッシュセットを使用しているため検索は O(1) です。膨大な語彙の場合は、アプリケーション起動時に一度だけロードすることを検討してください。 | +| **破損した画像で OCR エンジンが例外をスローした場合はどうしますか?** | `Recognize()` を try‑catch ブロックで囲み、`ocrEngine.LastError` を確認してください。また、`ocrEngine.Image.Width` と `Height` で画像サイズを事前に検証することもできます。 | +| **本番環境で使用するにはライセンスが必要ですか?** | 無料評価版はテストに使用できますが、商用ライセンスを取得すると評価用の透かしが除去され、フルパフォーマンスが利用可能になります。 | + +--- + +## 結論 + +これで、**spellcheck の有効化方法**、**辞書の追加方法**、**画像 OCR のロード**、そして **OCR エラーの修正方法** をクリーンで本番環境向けに示す **完全な Aspose OCR example** が手に入りました。スペルチェッカーを設定しカスタム単語リストを提供するだけで、後処理ロジックを書かずに抽出テキストの品質を大幅に向上させることができます。 + +次のステップに進む準備はできましたか? 言語をスペイン語に変更したり、マルチページ PDF を処理したり、出力を検索可能な Azure Cognitive Search インデックスに統合したりしてみてください。同じパターンが適用できます—言語フラグを調整し、必要に応じてカスタム辞書を拡張するだけです。 + +このガイドが役に立ったと思ったら、GitHub でスターを付けたり、チームメンバーと共有したり、下にコメントを残したりしてください。コーディングを楽しんで、OCR の結果が常にエラーなしであることを願っています! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/japanese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..a5d5565a4 --- /dev/null +++ b/ocr/japanese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Learn how to deskew image, boost contrast, and extract text from scan + using Aspose OCR. Perform OCR on image with a full C# example and load image for + OCR easily. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: ja +og_description: Aspose OCR を使用して C# で画像の傾き補正、コントラスト強化、スキャンからのテキスト抽出方法を学びましょう。ステップバイステップのコードで画像に + OCR を実行します。 +og_title: C#で画像の傾き補正とOCRを実行する方法 – 完全ガイド +tags: +- C# +- OCR +- Image Processing +title: C#で画像の傾き補正とOCRを行う方法 – 完全ガイド +url: /ja/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#で画像の傾きを補正しOCRを実行する方法 – 完全ガイド + +OCRを実行する前に **画像の傾きを補正する方法** が気になったことがあるなら、ここが最適です。このチュートリアルでは、コントラストの向上、OCR用の画像読み込み、そして最終的に **スキャンからテキストを抽出する** 方法を Aspose OCR を使って解説します。 + +古い領収書をデジタル化したり、スキャンした契約書をきれいにしたり、傾いた写真からテキストを確実に読み取る必要がある場合でも、以下の手順ですべてカバーできます。余計な説明は省き、Visual Studio にそのまま貼り付けて動かせる実用的なサンプルをご提供します。 + +## 本ガイドで達成できること + +このガイドを最後まで実施すれば、以下が可能になります: + +* 最大 30° の傾きを補正(**画像の傾きを補正する方法**)。 +* 文字のエッジを鮮明にするためのコントラスト向上(**コントラストを上げる方法**)。 +* 画像を OCR エンジンに読み込む(**OCR 用に画像をロード**)。 +* 認識プロセスを実行し、**スキャンからテキストを抽出**。 + +すべて、執筆時点での最新 Aspose.OCR .NET NuGet パッケージ(v23.11)で動作します。 + +--- + +![画像の傾きを補正する例](/images/deskew-example.png "画像の傾きを補正する方法") + +*上の画像は、傾き補正前後のスキャンドキュメントを示しています。* + +## 前提条件 + +* .NET 6.0 以上(コードは .NET Framework 4.7+ でも動作します)。 +* Visual Studio 2022(またはお好みの C# IDE)。 +* Aspose.OCR NuGet パッケージ – `dotnet add package Aspose.OCR` でインストール。 + +以上です。外部サービスや API キーは不要です。 + +--- + +## Aspose OCR で画像の傾きを補正する方法 + +まず最初に **ImageProcessingPipeline** を作成し、`DeskewFilter` を追加します。このフィルタは支配的な文字行の角度を自動検出し、画像を水平に戻します。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**重要ポイント:** +傾いたスキャンは文字がベースラインと合わなくなるため OCR エンジンが混乱します。`DeskewFilter` は画像ヒストグラムを解析して角度を算出し、回転させることで認識精度を大幅に向上させます。 + +> **プロのコツ:** 文書の傾きが 15° を超えないことが分かっている場合は、`MaxAngle = 15` と設定すると処理が高速化します。 + +--- + +## 認識精度向上のためのコントラスト強化方法 + +傾き補正の後は、文字を際立たせることが次のステップです。`ContrastBoostFilter` はピクセルの輝度範囲を拡張し、特に薄く印刷された文字に有効です。 + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**効果の理由:** +コントラストが低いスキャンは文字が灰色っぽくなり、二値化処理で背景と誤認されやすくなります。コントラストを上げることで暗いピクセルはさらに暗く、明るいピクセルはさらに明るくなり、続く `BinarizationFilter` がクリーンなキャンバスを得られます。 + +--- + +## 画像で OCR を実行 – ファイルの読み込み + +画像の前処理が完了したら、**OCR 用に画像をロード** する必要があります。Aspose では便利な `ImageStream.FromFile` ヘルパーが用意されています。 + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +画像がストリーム(例:Web API でアップロードされたもの)にある場合は、`ImageStream.FromStream(yourStream)` を使用できます。エンジンは BMP、JPEG、PNG、TIFF など多数の形式をサポートしています。 + +--- + +## 認識プロセスを実行し、スキャンからテキストを抽出する + +すべての設定が完了したら、`Recognize()` を呼び出すだけで本格的な処理が開始されます。呼び出し後、認識されたテキストは `ocrEngine.Text` から取得できます。 + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**期待される出力例**(シンプルな請求書の場合): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +出力が文字化けしている場合は、パイプラインの順序を再確認してください。まず傾き補正、次にノイズ除去、コントラスト強化、最後に二値化の順に実行する必要があります。順序を入れ替えると結果が劣化します。 + +--- + +## よくある落とし穴と対処法 + +| 問題 | 発生理由 | 対策 | +|------|----------|------| +| **結果が空** | デフォルトの二値化手法では画像が暗すぎる/明るすぎる。 | `ContrastBoostFilter.Strength` を上げるか、`BinarizationMethod.Otsu` に切り替える。 | +| **一部の文字が抜ける** | ノイズ除去が不十分。 | 画像が軽度の場合は `DenoiseLevel.Medium` を使用するか、2 つ目の `DenoiseFilter` を追加。 | +| **回転方向が逆** | 文書に混在した向き(例:回転したページの写真)がある。 | `DeskewFilter.MaxAngle` を低めに設定し、`ImageProcessor.Rotate` で手動回転させる。 | +| **処理が遅い** | 高解像度画像の大量バッチ処理。 | パイプライン前に `ImageProcessor.Resize` で縮小するか、`Parallel.ForEach` で並列処理する。 | + +--- + +## 完全動作サンプル(コピー&ペースト可) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +このコードを `Program.cs` として保存し、`dotnet run` を実行すると、コンソールに **スキャンからテキストを抽出** した結果が表示されます。 + +--- + +## 次のステップと関連トピック + +* **バッチ処理** – 上記ロジックをループで包み、数十ファイルを一括処理。 +* **カスタム言語パック** – ラテン文字以外を読む必要がある場合は、`ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;` のように言語モデルをロード。 +* **PDF 出力** – Aspose.PDF と OCR を組み合わせ、検索可能なテキストを直接 PDF に埋め込む。 +* **パフォーマンスチューニング** – `ImageProcessingPipeline` の順序を実験。ノイズ除去を先に行うと、ノイズが多い写真で高速になることがあります。 + +これらはすべて、**画像の傾きを補正する方法**、**コントラストを上げる方法**、**OCR 用に画像をロード**、**画像で OCR を実行**、そして最終的に **スキャンからテキストを抽出** というコア概念に基づいています。 + +--- + +## まとめ + +本稿では、C# で **画像の傾きを補正し** OCR を実行するための、実践的かつ本番環境でも使える手順を示しました。傾き補正フィルタ、ノイズ除去、コントラスト強化、二値化を順に組み合わせることで、Aspose OCR が安定して **スキャンからテキストを抽出** できるクリーンな入力が得られます。 + +コードを試し、フィルタパラメータを自分の文書に合わせて調整すれば、認識精度がどれだけ向上するかすぐに実感できるはずです。質問があればコメントで教えてください。 happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/japanese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..500ff1a0d --- /dev/null +++ b/ocr/japanese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,323 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR を使用して中国語画像で OCR を実行する方法。中国語テキストの抽出、画像を ePub に変換、OCR 精度の向上を1つのチュートリアルで学びましょう。 +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: ja +og_description: Aspose OCR を使用して中国語画像の OCR を実行する方法。中国語テキストを抽出し、OCR を改善し、ePub にエクスポートするためのステップバイステップのコードを入手できます。 +og_title: 中国語画像でOCRを実行する方法 – 完全C#ガイド +tags: +- OCR +- C# +- Aspose +title: 中国語画像でOCRを実行する方法 – 完全C#ガイド +url: /ja/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 中国語画像でOCRを実行する方法 – 完全なC#ガイド + +Ever wondered **how to perform OCR** on a picture that contains Chinese characters? You're not the only one. In many apps—scanning receipts, digitizing textbooks, or building a multilingual search engine—getting clean text out of an image is a make‑or‑break feature. + +中国語の文字が含まれる画像で **OCR を実行する方法** を考えたことがありますか? あなただけではありません。レシートのスキャン、教科書のデジタル化、あるいは多言語検索エンジンの構築など、多くのアプリで画像からきれいなテキストを取得することは、成功か失敗かを分ける機能です。 + +In this tutorial we’ll walk through a real‑world solution that **extracts Chinese text**, drops the result into a plain‑text file, and even **converts the image to an ePub** for e‑readers. Along the way we’ll discuss **how to improve OCR** accuracy, why you should enable GPU mode, and what you need to do to **recognize simplified Chinese** correctly. + +このチュートリアルでは、**中国語テキストを抽出**し、結果をプレーンテキストファイルに保存し、さらに **画像を ePub に変換**して e‑リーダーで閲覧できる実践的なソリューションを順を追って説明します。その過程で **OCR の精度向上** の方法、GPU モードを有効にすべき理由、そして **簡体字中国語を正しく認識**するために必要な手順についても解説します。 + +By the end of the guide you’ll have a fully runnable C# program, a handful of practical tips, and a clear idea of the next steps you can take (like adding language detection or batch processing). No external docs required—everything you need is right here. + +ガイドの最後までに、完全に実行可能な C# プログラムと実用的なヒントが手に入り、次に取るべきステップ(言語検出やバッチ処理の追加など)も明確になるでしょう。外部ドキュメントは不要です—必要なものはすべてここにあります。 + +## 必要なもの + +- .NET 6+ (or .NET Core 3.1 with Aspose OCR for .NET) +- A valid Aspose OCR for .NET license (the free trial works for experimentation) +- An image file that contains Simplified Chinese characters (e.g., `chinese_sample.jpg`) +- Visual Studio 2022 or any C# editor you prefer + +If you’re missing any of these, grab the NuGet package now: + +```bash +dotnet add package Aspose.OCR +``` + +それだけです—追加のネイティブライブラリや COM インタープ、単一の .NET パッケージだけで完結します。 + +## OCR の実行 – Aspose OCR エンジンの設定 + +The first thing you must do is create and configure the OCR engine. This step is crucial because the engine’s settings dictate **how well the OCR works** on Chinese characters and how fast it runs. + +最初に行うべきことは OCR エンジンを作成し、設定することです。このステップは重要で、エンジンの設定が **中国語文字に対する OCR の精度** と処理速度を左右します。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Why this matters:** +- **Language = ChineseSimplified** tells Aspose to load the character set for Simplified Chinese, which dramatically reduces mis‑recognitions. +- **EngineMode.Gpu** can cut processing time in half on a modern GPU, but it gracefully falls back to CPU if no GPU is present. +- **DeskewFilter** removes any tilt that commonly appears when users snap a photo with a phone. +- **Sauvola binarization** creates a high‑contrast black‑and‑white image, a classic trick for boosting OCR accuracy on dense scripts like Chinese. + +**Why this matters:** +- **Language = ChineseSimplified** は Aspose に簡体字中国語の文字セットをロードさせ、誤認識を大幅に減らします。 +- **EngineMode.Gpu** は最新の GPU で処理時間を半分に短縮できますが、GPU が無い場合は CPU に自動でフォールバックします。 +- **DeskewFilter** はスマートフォンで撮影した際に生じやすい傾きを除去します。 +- **Sauvola binarization** は高コントラストの白黒画像を生成し、密集した中国語スクリプトの OCR 精度を向上させる古典的な手法です。 + +> **Pro tip:** If you’re dealing with low‑light photos, add a `ContrastFilter` before binarization. It’s not required for our sample, but it often saves you a few headaches. + +> **Pro tip:** 低照度の写真を扱う場合は、二値化の前に `ContrastFilter` を追加してください。サンプルでは必須ではありませんが、トラブルを防げることが多いです。 + +![OCR パイプラインの実行方法図](ocr-pipeline.png "OCR パイプラインの実行方法図") + +> *Alt text:* OCR パイプラインの実行方法図 + +## 画像から中国語テキストを抽出する + +Now that the engine is ready, we load the image and let the engine do its magic. This is the core of **extract chinese text**. + +エンジンの準備ができたら画像を読み込み、エンジンに処理させます。これが **extract chinese text** の核心です。 + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**What you should see:** +If `chinese_sample.jpg` contains the phrase “中华人民共和国”, the `out.txt` file will contain exactly those characters—no extra spaces, no garbled Latin letters. + +**What you should see:** +`chinese_sample.jpg` に「中华人民共和国」というフレーズが含まれていれば、`out.txt` ファイルには余分なスペースや乱れたラテン文字なしで、正確にその文字列が出力されます。 + +### よくある落とし穴 + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| Missing characters | The image is too noisy | Add a `MedianFilter` before binarization | +| Wrong language detected | `Language` set to `English` | Ensure `Language = Language.ChineseSimplified` | +| Slow processing | GPU not enabled | Verify your machine has a compatible CUDA driver | + +| 問題 | 発生理由 | 対策 | +|------|----------|------| +| Missing characters | The image is too noisy | Add a `MedianFilter` before binarization | +| Wrong language detected | `Language` set to `English` | Ensure `Language = Language.ChineseSimplified` | +| Slow processing | GPU not enabled | Verify your machine has a compatible CUDA driver | + +## 画像を ePub に変換する + +Many developers ask, *“Can I turn the scanned page into a readable e‑book?”* Absolutely—Aspose OCR ships with an ePub exporter. This satisfies the **convert image to epub** requirement. + +多くの開発者が *「スキャンしたページを読める電子書籍に変換できるか?」* と尋ねます。もちろん可能です—Aspose OCR には ePub エクスポーターが同梱されており、**convert image to epub** の要件を満たします。 + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +The generated `out.epub` will contain the extracted Chinese text, correctly encoded in UTF‑8, and can be opened in Kindle, Apple Books, or any ePub reader. + +生成された `out.epub` には抽出された中国語テキストが UTF‑8 で正しくエンコードされており、Kindle、Apple Books、または任意の ePub リーダーで開くことができます。 + +**Why use ePub?** +- It's reflowable, so readers can adjust font size without breaking the layout. +- The format keeps the text searchable, which is handy for later indexing. + +**Why use ePub?** +- 再フロー可能なので、レイアウトを崩さずにフォントサイズを調整できます。 +- テキストが検索可能なまま保存されるため、後のインデックス作成に便利です。 + +## OCR の改善 – 実用的な調整 + +Even with a solid pipeline, you might still see occasional mis‑recognitions. Here’s a quick checklist for **how to improve OCR** on Chinese documents: + +堅実なパイプラインでも、時折誤認識が発生することがあります。以下は **how to improve OCR** のための簡単なチェックリストです。 + +1. **Pre‑process the image** – Use `GaussianBlurFilter` to smooth out speckles, then `ContrastFilter` to sharpen edges. +2. **Set a higher DPI** – If you control the scanning process, aim for 300 dpi or higher; low‑resolution images lose stroke detail. +3. **Enable language detection** – Aspose can auto‑detect language; combine it with a fallback to Simplified Chinese if detection fails. +4. **Fine‑tune binarization** – Swap `Sauvola` for `Otsu` if the background is uniformly light. +5. **Batch processing** – Process multiple pages in parallel using `Parallel.ForEach` to leverage multi‑core CPUs. + +1. **Pre‑process the image** – `GaussianBlurFilter` でノイズを平滑化し、`ContrastFilter` でエッジを強調します。 +2. **Set a higher DPI** – スキャン工程を管理できる場合は 300 dpi 以上を目指してください。低解像度画像は筆画のディテールが失われます。 +3. **Enable language detection** – Aspose は言語を自動検出できます。検出に失敗した場合は簡体字中国語にフォールバックさせます。 +4. **Fine‑tune binarization** – 背景が均一に明るい場合は `Sauvola` を `Otsu` に置き換えます。 +5. **Batch processing** – `Parallel.ForEach` を使って複数ページを並列処理し、マルチコア CPU を活用します。 + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## 簡体字中国語の認識 – エッジケース + +The phrase **recognize simplified Chinese** often trips up newcomers because the same OCR engine can also handle Traditional Chinese, Japanese, or Korean. To keep things deterministic: + +**recognize simplified Chinese** というフレーズは、同じ OCR エンジンが繁体字中国語、日語、韓国語も扱えるため、初心者が混乱しやすいです。決定的に動作させるためのポイントは次の通りです。 + +- **Explicitly set the language** (as we did in Step 1). +- **Avoid mixed‑language pages**; if a page mixes Simplified Chinese with English, consider running two passes: one with `Language.ChineseSimplified`, another with `Language.English`. +- **Validate the output** – After recognition, run a simple regex to ensure all characters fall within the Unicode range `\u4E00‑\u9FFF`. + +- **Explicitly set the language** (as we did in Step 1)。 +- **Avoid mixed‑language pages**; ページに簡体字中国語と英語が混在している場合は、`Language.ChineseSimplified` と `Language.English` の 2 回パスで処理することを検討してください。 +- **Validate the output** – 認識後にシンプルな正規表現を実行し、すべての文字が Unicode 範囲 `\u4E00‑\u9FFF` に収まっているか確認します。 + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +If the check fails, you can log the page for manual review. + +チェックに失敗した場合は、手動レビュー用にページをログに記録してください。 + +## 完全な動作例 + +Putting everything together, here’s a single file you can copy‑paste into a new console project (`Program.cs`). It includes all the steps, optional tweaks, and a final status line. + +すべてを統合した単一ファイルを `Program.cs` として新しいコンソールプロジェクトにコピー&ペーストできます。すべての手順、オプションの調整、最終ステータス行が含まれています。 + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Expected console output (example):** + +**Expected console output (example):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Run the program, open `out.txt` or `out.epub`, and you’ll see clean, searchable Chinese characters ready for downstream processing. + +プログラムを実行し、`out.txt` または `out.epub` を開くと、下流処理にすぐ使えるクリーンで検索可能な中国語文字が表示されます。 + +## 結論 + +We’ve just covered **how to perform OCR** on Chinese images from start to finish, showing you how to **extract Chinese text**, **convert the result to an ePub**, and apply a handful of + +私たちは、最初から最後まで中国語画像で **OCR を実行する方法** をカバーし、**中国語テキストの抽出**、**結果を ePub に変換**、そしていくつかの実用的なヒントを適用する方法を示しました。 + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/text-recognition/_index.md b/ocr/japanese/net/text-recognition/_index.md index 5738b2ecf..1f7f5876b 100644 --- a/ocr/japanese/net/text-recognition/_index.md +++ b/ocr/japanese/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Aspose.OCR を使用して .NET アプリケーションを強化し、画像テ Aspose.OCR を使用して、.NET での OCR の可能性を解き放ちます。 PDF からテキストを簡単に抽出します。今すぐダウンロードして、シームレスな統合エクスペリエンスを体験してください。 ### [OCR画像認識でのテーブルの認識](./recognize-table/) OCR 画像認識におけるテーブルの認識に関する包括的なガイドを使用して、Aspose.OCR for .NET の可能性を解き放ちます。 +### [C# で画像からテキストを認識する – 完全 Aspose OCR ガイド](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Aspose.OCR を使用して .NET アプリケーションで画像からテキストを正確に抽出する手順をステップバイステップで解説します。 +### [C# でヒンディー語テキストを認識する – 完全 Aspose OCR ガイド](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Aspose.OCR を使用して .NET アプリケーションでヒンディー語テキストを正確に認識する方法をステップバイステップで解説します。 +### [C# で画像から ePub を作成する – ステップバイステップ ガイド](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Aspose.OCR を使用して、C# で画像から ePub 電子書籍を作成する手順を詳しく解説します。 +### [C# で PNG からテキストを抽出する – 完全 Aspose OCR ガイド](./extract-text-from-png-in-c-full-ocr-guide/) +Aspose.OCR を使用して .NET アプリケーションで PNG 画像からテキストを正確に抽出する手順をステップバイステップで解説します。 +### [C# で OCR を使用する方法 – オフラインで画像からテキストを抽出](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Aspose.OCR を使用して、C# アプリケーションでインターネット接続なしに画像からテキストを抽出する手順をステップバイステップで解説します。 + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/japanese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..8ab58ab58 --- /dev/null +++ b/ocr/japanese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,252 @@ +--- +category: general +date: 2026-03-07 +description: C# を使用して PNG ファイルからテキストを抽出します。画像をテキストに変換する方法と、スキャンした画像からテキストを素早く読み取る方法を学びましょう。 +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: ja +og_description: C# を使用して PNG ファイルからテキストを抽出します。このガイドでは、画像をテキストに変換する方法と、Aspose OCR を使用してスキャン画像からテキストを読み取る方法を示します。 +og_title: C#でPNGからテキストを抽出する – 完全OCRガイド +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C#でPNGからテキストを抽出する – 完全OCRガイド +url: /ja/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG からテキストを抽出する C# 完全 OCR ガイド + +**PNG** ファイルからテキストを抽出したいけど、どこから始めればいいかわからない…という経験はありませんか? 開発者の多くが、スキャンした画像やスクリーンショットを検索可能なテキストに変換しようとしたときに壁にぶつかります。 良いニュースは、数行の C# と Aspose OCR さえあれば、どんな PNG でもすぐに編集可能な文字列に変換できるということです。 + +このチュートリアルでは、ディスク上の PNG を見つけるところから、並列に OCR タスクを起動し、各結果のプレビューを整然と表示するまでの全工程を解説します。 最後まで読めば、**C# で画像をテキストに変換**する方法が分かり、**スキャン画像からテキストを読む**作業を効率的に行えるようになり、**画像上で OCR を実行**するベストプラクティスも把握できます。 + +## 必要な環境 + +- .NET 6.0 以上(コードは .NET Core や .NET Framework でも動作します) +- Aspose.OCR NuGet パッケージ (`Install-Package Aspose.OCR`) +- 処理したい *.png* ファイルが入ったフォルダー +- お好みの IDE(Visual Studio、VS Code、Rider など) + +追加設定は不要です。ライブラリには PNG、JPEG、TIFF などをデコードするために必要なものがすべて同梱されています。 + +## 手順 1: すべての PNG ファイルを取得 – 「PNG からテキストを抽出」開始 + +まず OCR を実行したい PNG をすべて見つけます。`Directory.GetFiles` を使えば手軽で確実です。 + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*重要ポイント:* ディレクトリを一度だけ走査すれば、以降のパイプラインがシンプルになり、早期に「出力がない」状態を防げます。 + +## 手順 2: 並列 OCR タスクを起動 – 効率的に **画像上で OCR を実行** + +数ファイルなら順次実行でも問題ありませんが、実務では数十〜数百の画像を扱うことが多いです。画像ごとに `Task` を立ち上げることで、CPU を有効活用しつつライブラリの重い処理を並列化できます。 + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*プロ tip:* `Task.Run` は作業をスレッドプールに委譲するため、UI がある場合でもレスポンスが保たれます。サーバー側でも同様にコア数に応じてスケールします。 + +## 手順 3: すべてのタスクを待機 – 結果を集める + +ここで各 OCR 処理の完了を待ちます。`Task.WhenAll` は元のファイル順と同じ配列を返すので、結果とファイル名を簡単に対応付けられます。 + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*エッジケース:* 1 つでも例外(破損ファイルや未対応フォーマット)が発生すると `WhenAll` 全体が例外をスローします。内部の `Task.Run` を try/catch で囲み、空文字列や診断メッセージを返すようにすればフォールトトレラントにできます。 + +## 手順 4: プレビューを表示 – **C# で画像をテキストに変換**した結果を確認 + +簡易プレビューで OCR が正しく動作したかを確認してから、結果を永続化すると安心です。 + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +典型的なコンソール出力例: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +プレビューが文字化けしている場合は、画像品質を再確認するか、前処理(二値化など)を検討してください。ほとんどのクリアな PNG では Aspose OCR が最初の試行で正しく認識します。 + +## 任意: 結果を CSV に保存 – 実務での利用例 + +多くのプロジェクトでは抽出したテキストを構造化データとして扱う必要があります。以下はファイル名と OCR 結果全文を CSV に書き出す小さなヘルパーです。 + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +これで CSV を Excel、Power BI、あるいは **スキャン画像からテキストを読む**ことを前提とした downstream システムにインポートできます。 + +## FAQ + +**PNG が巨大(5 MB 超)だったらどうする?** +Aspose OCR は自動で大きな画像をダウンサンプリングしてメモリ使用量を抑えますが、`engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` のように幅を 2000 px にリサイズすればアスペクト比を保ったままサイズ上限を設定できます。 + +**Linux でも動かせる?** +はい。Aspose OCR はクロスプラットフォーム対応です。ディストリビューションによっては `libgdiplus` などのネイティブ依存関係をインストールしてください。 + +**OCR の言語はデフォルトで英語か?** +その通りです。別の言語が必要な場合は `engine.Language = OcrLanguage.French;`(またはサポートされている enum)を `Recognize()` 呼び出し前に設定します。 + +**パスワード保護された PDF に PNG が埋め込まれている場合は?** +まず PDF ページを画像に変換(Aspose PDF など)し、得られた PNG を同じパイプラインに流し込みます。**画像上で OCR を実行**する基本的な流れは変わりません。 + +## 完全動作サンプル(Async Main) + +以下はコンソールプロジェクトにそのまま貼り付けられる自己完結型プログラムです。先ほどの全パーツに加えて、入力フォルダーを検証する小さなヘルパーも含んでいます。 + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**期待される出力**(2 枚の PNG のサンプル): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## まとめ + +C# を使って **PNG からテキストを抽出**するために必要な手順をすべて網羅しました。ファイルの検索、並列 OCR ジョブの起動、文字列のプレビュー、CSV への永続化まで、このガイドは **C# で画像をテキストに変換**シナリオ向けの実践的パターンを提供します。 + +次のステップとして、同じパイプラインで JPEG や TIFF を処理したり、別言語の OCR を試したり、結果を検索インデックスに連携させて **スキャン画像からテキストを読む**体験をリアルタイム化してみてください。 + +エッジケースやパフォーマンスチューニング、ライセンスに関する質問があればコメントや Aspose コミュニティへどうぞ。Happy coding! + +![Extract text from PNG example](extract-text-png.png "Aspose OCR を使用した PNG からテキスト抽出") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/japanese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..a97a28719 --- /dev/null +++ b/ocr/japanese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,231 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR を使用してスキャン画像から ePub を作成する方法 – 画像を ePub に変換し、画像からテキストを抽出し、ePub + に作者を追加し、OCR 用に画像を読み込む方法を学びます。 +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: ja +og_description: C#でスキャン画像からePubを作成する方法。このチュートリアルでは、画像をePubに変換する手順、画像からテキストを抽出する方法、ePubに著者情報を追加する方法、OCR用に画像を読み込む方法を紹介します。 +og_title: C#で画像からePubを作成する方法 – 完全ガイド +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: C#で画像からePubを作成する方法 – ステップバイステップガイド +url: /ja/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# で画像から ePub を作成する方法 – 完全ガイド + +スキャンしたページのコレクションから **ePub を作成する方法** を考えたことはありませんか? たとえば、古典小説の PNG が数枚あり、どのデバイスでも読めるきれいな ePub に変換したいとします。 良いニュースは、Aspose OCR を使えば **画像を OCR 用に読み込む**、テキストを抽出し、そして **画像を ePub に変換する** ことが C# の数行で可能です。 + +このチュートリアルでは、画像の読み込み、テキスト抽出、メタデータの付与(はい、**author を ePub に追加**します)、そして最終的に標準準拠の ePub ファイルを書き出すまでの全工程を解説します。最後まで読むと、すぐに公開できる ePub と各ステップの確かな理解が得られ、マルチページの書籍やカスタムフォント、さらには DRM フリー配布にもコードを応用できます。 + +## 必要なもの + +- **.NET 6** 以上(API は .NET Standard 2.0+ でも動作します) +- **Aspose.OCR for .NET** – Aspose のウェブサイトから無料トライアルを取得できます。 +- `book_page.png` のようなスキャン画像をディスク上の任意の場所に配置します。 +- お好みの IDE(Visual Studio、Rider、または VS Code – スクリーンショットでは Visual Studio を使用します)。 + +追加の NuGet パッケージは不要です。Aspose.OCR には ePub エクスポートに必要なものがすべて同梱されています。 + +--- + +![スキャン画像から ePub を作成する方法](/images/how-to-create-epub.png "Aspose OCR を使用してスキャン画像から ePub を作成する方法") + +## ステップ 1 – プロジェクトのセットアップと Aspose.OCR のインストール + +まずは基本から。新しいコンソール アプリを作成します: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Aspose.OCR パッケージを追加します: + +```bash +dotnet add package Aspose.OCR +``` + +これで完了です。ライブラリには OCR と ePub エクスポート機能の両方が同梱されているため、追加の依存関係は不要です。 + +## ステップ 2 – OCR 用に画像を読み込む + +**画像からテキストを抽出**する前に、OCR エンジンに読み込む対象を渡す必要があります。`ImageStream.FromFile` ヘルパーを使えばこれが簡単に行えます: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **プロのコツ:** 画像が埋め込みリソースにある場合は、`FromFile` の代わりに `ImageStream.FromResource` を使用してください。 + +## ステップ 3 – 画像からテキストを抽出する + +エンジンは実際にピクセルを読み取り、Unicode 文字列に変換します。`Recognize` メソッドがその主要な処理を行います。 + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +`Recognize` を別途呼び出す理由は何でしょうか? これにより、生の OCR 出力を確認したり、言語設定を調整したり、ePub 作成に進む前にスペルチェックを実行したりできます。 + +## ステップ 4 – ePub エクスポートオプションの準備(author を ePub に追加) + +洗練された ePub を作成するにはテキストを投げ込むだけでなく、適切なメタデータも必要です。`EpubExportOptions` クラスを使うと、**author を ePub に追加**したり、タイトルを設定したり、元画像を埋め込むかどうかを決めたりと、簡潔に設定できます。 + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +複数ページがある場合は、ループ内で `ocrEngine.Image = …` と `ocrEngine.Recognize()` を呼び続けることができます。各呼び出しで新しいページの内容が同じ ePub ドキュメントに追加されます。 + +## ステップ 5 – 画像を ePub に変換してエクスポート + +テキスト抽出とメタデータ設定が完了したら、最後のステップは ePub ファイルをディスクに書き出すワンライナーです: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +生成された `book.epub` は Calibre、Apple Books、または任意の EPUB 対応リーダーで開くことができます。`IncludeImages = true` を設定したため、元の PNG が画像ページとして表示され、スキャン元の外観が保持されます。 + +## 完全動作サンプル + +すべてをまとめた、完全に実行可能なプログラムは以下です: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### 期待される出力 + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +`book.epub` をお好みのリーダーで開くと、タイトルページ、著者行(たとえ「Unknown」と表示されても)、そして選択可能なテキストと共にスキャン画像が表示されます。 + +## よくある質問とエッジケース + +### OCR の言語が英語でない場合は? + +Aspose.OCR は 70 以上の言語に対応しています。`Recognize` を呼び出す前に `Language` プロパティを設定するだけです: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### マルチページの書籍はどう処理する? + +読み込みと認識のロジックを `foreach` ループで囲みます: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +各イテレーションで新たに認識されたテキストが同じ ePub に追加され、ページ順が保たれます。 + +### 元画像を除外できますか? + +もちろんです。`EpubExportOptions` で `IncludeImages = false` を設定してください。これにより、生成される ePub は純粋なリフロー可能テキストのみとなり、ファイルサイズが大幅に削減されます。 + +### カスタムフォントやスタイリングはどうですか? + +Aspose.OCR の ePub エクスポーターでは、`EpubExportOptions` の `Css` プロパティで CSS スタイルシートを指定できます。これにより、特定のフォントファミリー、行間、余白などを強制できます。 + +## 結論 + +これで、C# で Aspose OCR を使用してスキャン画像から **ePub を作成する方法** が分かりました。このチュートリアルでは、**画像を OCR 用に読み込む**、**画像からテキストを抽出する**、**author を ePub に追加する**、そして最終的に **画像を ePub に変換する** までのすべてを単一のエクスポート呼び出しでカバーしました。完全なコードサンプルが手元にあれば、ライブラリ全体をバッチ処理したり、カスタム表紙画像を挿入したり、ワークフローを Web API に統合したりと、ソリューションを拡張できます。 + +次の課題に挑戦する準備はできましたか? PDF を ePub に変換してみたり、ノイズの多いスキャンで精度を上げるために OCR の信頼度閾値を調整してみたりしてください。強力な OCR と柔軟な ePub 生成を組み合わせれば、可能性は無限です。 + +コーディングを楽しみ、作成したばかりの ePub を読んでみてください! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/japanese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..eb54a7dcd --- /dev/null +++ b/ocr/japanese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,243 @@ +--- +category: general +date: 2026-03-07 +description: C#でOCRを使用して画像ファイルからテキストを抽出する方法を学びましょう。このガイドでは、オフラインOCR、画像をテキストに変換する方法、OCR用に画像を読み込む方法を示します。 +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: ja +og_description: C#でOCRを使用して画像からオフラインでテキストを抽出する方法。ステップバイステップのコード、ヒント、画像をテキストに変換するための完全な解説。 +og_title: C#でOCRを使用する方法 – 完全オフラインガイド +tags: +- OCR +- C# +- Aspose +title: C#でOCRを使用する方法 – オフラインで画像からテキストを抽出する +url: /ja/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C# で OCR を使用する方法 – オフラインで画像からテキストを抽出する + +.NET プロジェクトで **OCR を使用する方法** を、データをクラウドに送信せずに実現したいと考えたことはありませんか? 同じ悩みを持つ開発者は多いです。画像ファイルからテキストを抽出したいが、ネットワークトラフィックが機密情報を漏らす可能性を恐れるケースです。 + +良いニュースです。Aspose.OCR を使えば、PNG、JPEG、PDF からテキストを完全にオフラインで認識できます。このチュートリアルでは、OCR 用に画像を読み込む方法、エンジンをオフラインモードに設定する手順、そして **画像をテキストに変換** するまでの C# コードを数行で紹介します。 + +このガイドを終える頃には、以下ができるようになります。 + +* Aspose.OCR NuGet パッケージをインストールする。 +* OCR エンジンをオフライン処理用に設定する。 +* 画像を読み込んでテキストコンテンツを抽出する。 + +外部サービス不要、API キー不要 — どの Windows または Linux マシンでも動作する純粋な C# コードです。 + +--- + +## 前提条件 + +作業を始める前に、以下が揃っていることを確認してください。 + +* .NET 6.0 SDK 以降(コードは .NET Framework 4.7+ でも動作します)。 +* Visual Studio 2022、VS Code、または C# をサポートする任意のエディタ。 +* **Aspose.OCR** ライブラリ — NuGet (`Aspose.OCR`) から取得できます。 +* ライブラリに同梱されている OCR リソースフォルダー(`Resources`、言語データファイルが含まれます)。 +* サンプル画像(例: `offline_test.png`)を既知のディレクトリに配置しておくこと。 + +> **プロのコツ:** 実行ファイルの隣にリソースフォルダーを置くと、`ResourcesPath` の設定がシンプルになります。 + +--- + +## 手順 1: Aspose.OCR NuGet パッケージをインストール + +まず、プロジェクトにライブラリを追加します。プロジェクトフォルダーでターミナルを開き、次のコマンドを実行してください。 + +```bash +dotnet add package Aspose.OCR +``` + +あるいは Visual Studio の UI を使う場合は、**Dependencies → Manage NuGet Packages** を右クリックし、*Aspose.OCR* を検索して **Install** をクリックします。 + +> パッケージをインストールすると必要なバイナリがすべて取得されるため、追加の DLL を用意する必要はありません。 + +--- + +## 手順 2: OCR エンジンを作成し、オフラインモードに設定 (How to Use OCR – Offline Mode) + +次に OCR エンジンのインスタンスを生成し、**オフライン** で動作させるよう指示します。これにより認識中にネットワークトラフィックが発生しません。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**なぜオフラインか?** +`EngineMode` を `Online` にすると、エンジンは Aspose のクラウドに接続して言語パックをその場でダウンロードします。金融や医療など規制の厳しい環境では、このような通信が禁止されることがあります。オフラインモードを強制すれば、すべてローカルマシン内で完結します。 + +--- + +## 手順 3: エンジンに OCR リソースフォルダーの場所を指定 + +OCR エンジンは文字を認識するために言語データ(学習済みモデル)を必要とします。これらのファイルが格納されている場所を設定します。 + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +フォルダーの場所が不明な場合は、NuGet パッケージディレクトリ(`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`)を確認してください。デプロイを簡単にするため、フォルダー全体をプロジェクトにコピーしておくと便利です。 + +--- + +## 手順 4: OCR 用に画像を読み込む (Load Image for OCR) + +エンジンはサポートされている任意のビットマップを受け取れます。ここではディスク上の PNG を読み込みます。 + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**ヒント:** API 経由でストリームから画像を処理したい場合は、`ImageStream.FromStream(yourStream)` を使用してください。 + +--- + +## 手順 5: 認識処理を実行し、画像をテキストに変換 + +すべての準備が整ったら OCR を起動します。`Recognize()` メソッドが本体の処理を行い、抽出されたテキストは `Text` プロパティから取得できます。 + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## 手順 6: 抽出したテキストを出力 + +最後に結果を表示します。コンソールアプリなら `Console.WriteLine`、Web API なら JSON 文字列として返すだけです。 + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +プログラムを実行すると `offline_test.png` のテキスト内容が出力されます。たとえば画像に *“Hello, World!”* と書かれていれば、次のように表示されます。 + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## 完全動作サンプル + +以下はそのまま実行可能な完全版プログラムです。新規コンソールプロジェクト(`dotnet new console`)に貼り付け、パスを環境に合わせて調整してください。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **期待される出力:** コンソールに PNG ファイルに含まれる正確なテキストが表示されます。画像がぼやけている場合は、認識ミスが発生することがあります — 以下のトラブルシューティングセクションをご参照ください。 + +--- + +## よくある落とし穴と対策 (Recognize Text from PNG Efficiently) + +| Issue | Why it Happens | How to Fix | +|-------|----------------|------------| +| **Empty output** | ResourcesPath が誤ったフォルダーを指している、または言語ファイルが欠如している。 | フォルダーに `eng.traineddata`(または他言語のファイル)が存在するか確認し、パス文字列を再チェックしてください。 | +| **Garbage characters** | 画像解像度が低すぎる、または画像が二値化されていない。 | DPI を上げる、`ImageProcessor` でシャープ化するなど前処理を行う。 | +| **Performance lag** | 大きな画像をフル解像度のまま処理している。 | OCR に渡す前に幅最大 2000 px にリサイズする。 | +| **Unsupported format** | ピクセル形式が特殊な BMP を使用している。 | まず `System.Drawing.Image.Save` で PNG または JPEG に変換する。 | + +**プロのコツ:** 複数言語を認識させたい場合は、`ocrEngine.Settings.Language = Language.English | Language.French;` のように `Recognize()` 前に設定してください。 + +--- + +## FAQ + +**Q: このコードは Linux でも動作しますか?** +はい。Aspose.OCR はクロスプラットフォーム対応で、ネイティブライブラリは NuGet パッケージに同梱されています。 + +**Q: Resources フォルダーが手元にありません。** +Aspose の公式サイトから無料の言語パックをダウンロードするか、NuGet パッケージ内(`.../aspose.ocr//resources`)から抽出してください。 + +**Q: 信頼度スコアは取得できますか?** +取得可能です。`Recognize()` 後に `ocrEngine.RecognizedWords` を確認すると、各単語に `Confidence` プロパティが含まれています。 + +--- + +## 結論 + +C# で **OCR を使用する方法** を学び、画像ファイルからテキストを完全オフラインで抽出できるようになりました。Aspose.OCR をインストールし、`EngineMode.Offline` を設定し、リソースを指し示し、画像を読み込んで `Recognize()` を呼び出すだけで、インターネットに一切接続せずに **画像をテキストに変換** できます。 + +上記コードを自分の画像パスに置き換えて、検索可能 PDF、データ入力自動化、アクセシビリティツールなどの機能構築に活用してください。次のステップとして、**PNG から大量にテキストを認識** したり、ASP.NET Core API に組み込んでフロントエンドに OCR 結果を提供したりすると良いでしょう。 + +Happy coding, and feel free to experiment—OCR is surprisingly forgiving once the engine is set up correctly! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/japanese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..2e02e64dc --- /dev/null +++ b/ocr/japanese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Aspose.OCR を使用して C# でヒンディー語テキストを認識し、画像を OCR に読み込む方法を学びます。ステップバイステップのセットアップ、コード、ヒント。 +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: ja +og_description: Aspose OCR を使用して C# でヒンディー語テキストを認識する方法を学びましょう。OCR 用画像の読み込み、言語パックの設定、ベストプラクティスのヒントが含まれています。 +og_title: ヒンディー語テキストの認識 – 完全版 Aspose OCR チュートリアル +tags: +- C# +- OCR +- Aspose +- Hindi +title: C#でヒンディー語テキストを認識する – 完全なAspose OCRガイド +url: /ja/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hindi テキストを認識 – 完全 Aspose OCR チュートリアル + +スキャンしたレシートから **Hindi テキストを認識** したいけど、どこから始めればいいか分からないことはありませんか?インド向けアプリでは、Hindi 文字を確実に抽出するのは移動する標的を追いかけるように感じられます。幸い、Aspose.OCR を使えば、正しい手順さえ分かれば簡単です — **load image for OCR** してエンジンに Hindi 言語リソースを指すだけです。 + +このガイドでは、C# で動作する OCR パイプラインを構築するために必要なすべてを順を追って説明します。最後まで読めば、Hindi 言語パックをダウンロードし、画像を読み込み、認識を実行し、結果のテキストをコンソールに出力するプログラムが完成します。曖昧な「ドキュメント参照」リンクはありません — 任意の .NET プロジェクトにそのまま組み込める自己完結型のソリューションです。 + +## 必要なもの + +- **.NET 6+**(または .NET Framework 4.7.2+)。API はバージョン間で同一ですが、最新ランタイムの方がパフォーマンスが向上します。 +- **Aspose.OCR for .NET** NuGet パッケージ。`dotnet add package Aspose.OCR` でインストールします。 +- **Hindi 言語パック** – Aspose はデフォルトで同梱せず、ダウンロード可能なリソースとして提供しています。 +- Hindi テキストを含む画像ファイル(例: `hindi_receipt.jpg`)。JPG、PNG、BMP など一般的な形式なら何でも構いません。 +- 使いやすい IDE(Visual Studio、Rider、または VS Code)。 + +以上です — 外部 OCR エンジンやクラウドキーは不要、ローカルライブラリだけで完結します。 + +## 手順 1: Hindi 言語パックをダウンロード – リソースの準備 + +OCR エンジンがデーヴァナーガリー文字を理解できるように、まず Hindi 言語リソースを取得します。これはアプリのインストール時や CI/CD パイプラインで一度だけ実行すれば OK です。 + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**重要ポイント:** OCR エンジンは言語固有のモデルを使ってピクセルパターンを Unicode 文字にマッピングします。Hindi パックが無いと、文字化けしたラテン文字が出力されるか、何も得られません。 + +> **プロのコツ:** パックは対象マシンで書き込み可能なフォルダーにキャッシュしておきましょう。Azure App Service にデプロイする場合は `D:\home\site\wwwroot\Resources` フォルダーを使用します。 + +## 手順 2: OCR エンジンを構成 – リソースを指す + +リソースが配置できたら、`OcrEngine` インスタンスを作成し、言語ファイルの場所を指定します。ここで **primary language**(認識対象言語)も設定します。 + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**理由:** `ResourcesPath` はエンジンとダウンロードしたファイルを結びつける橋渡しです。この設定を省くと、エンジンは組み込みの(英語のみ)モデルにフォールバックし、**Hindi テキストを認識**できません。 + +## 手順 3: OCR 用に画像を読み込む – 正しい入力をエンジンに渡す + +エンジンの準備ができたら、次は **load image for OCR** です。Aspose は一般的な画像形式をサポートする便利な `ImageStream.FromFile` ヘルパーを提供しています。 + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**よくある落とし穴:** +- **大きすぎる画像** は処理速度を低下させます。高解像度スキャンを扱う場合は、まず `ImageProcessor.Resize` でダウンサンプリングしましょう。 +- **向きが正しくない**(回転したスキャン)は結果を悪化させます。必要に応じて `ocrEngine.Image.Rotate(90)` を使用してください。 + +## 手順 4: 認識を実行 – テキストを抽出 + +いよいよエンジンにピクセルを読み取らせ、Unicode 文字列に変換させます。 + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**期待される結果:** 画像が鮮明であれば、レシートに表示されている Hindi 文字がそのままコンソールに出力されます。例として、サンプルレシートは次のように表示されます。 + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +文字化けした場合は、言語パックが正しくダウンロードされているか、`ocrEngine.Settings.Language` が `Language.Hindi` に設定されているかを再確認してください。 + +## 手順 5: すべてをまとめる – 完全に実行可能なプログラム + +以下はコンソールプロジェクトにコピペできるフルソースです。上記手順をすべて含み、最低限のエラーハンドリングも実装しています。 + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +`Program.cs` として保存し、`dotnet run` を実行すれば Hindi テキストがコンソールに表示されます。 + +## FAQ(よくある質問) + +### 1つの実行で複数言語を認識できますか? +はい。`ocrEngine.Settings.Language` に配列を渡します。例: `new[] { Language.Hindi, Language.English }`。エンジンは両方のスクリプトから文字を検出しようとします。 + +### 画像がぼやけている場合は? +`ImageProcessor` で前処理を行い、シャープ化やコントラスト強化を適用してから `ocrEngine.Image` に設定してください。 + +### Linux/macOS でも動作しますか? +もちろんです。Aspose.OCR はクロスプラットフォーム対応で、必要なネイティブ依存関係は通常 NuGet パッケージに同梱されています。 + +### 低解像度のレシートで精度を上げるには? +スキャン時に DPI(dots per inch)を上げるか、プログラム上で画像を少なくとも 300 DPI にリサンプリングしてから OCR を実行してください。 + +## 結論 + +Aspose.OCR を使って **Hindi テキストを認識** するために必要な手順—Hindi 言語パックのダウンロード、エンジンの構成、正しい **load image for OCR**、テキスト抽出と出力—をすべて網羅しました。上記のコードスニペットを任意の C# コンソールアプリに貼り付けるだけで動作します。また、ぼやけたスキャンや多言語ドキュメントへの対処法も併せて紹介しました。 + +次のステップは? OCR 結果を翻訳 API に渡す、あるいは抽出データをデータベースに保存して分析に活用する、などが考えられます。さらに、`Language.Hindi` を目的の列挙値に置き換えるだけで、Tamil、Bengali など他のインド言語にも対応できます。 + +コーディングを楽しんで、OCR の結果が常に鮮明でありますように! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/japanese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/japanese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..76aad9e0d --- /dev/null +++ b/ocr/japanese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,224 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR を使用して画像からテキストを迅速に認識します。djvu をテキストに変換する方法、画像からテキストを抽出する方法、OCR + 用に画像をロードする方法を、ステップバイステップの C# チュートリアルで学びましょう。 +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: ja +og_description: C#でAspose OCRを使用して画像からテキストを認識します。このガイドでは、djvuをテキストに変換する方法、画像からテキストを抽出する方法、OCR用に画像を読み込む方法を実用的なヒントとともに紹介します。 +og_title: 画像からテキストを認識する – 完全なC# Aspose OCRチュートリアル +tags: +- C# +- Aspose OCR +- Document Processing +title: C#で画像からテキストを認識する – 完全なAspose OCRガイド +url: /ja/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 画像からテキストを認識 – 完全な C# Aspose OCR チュートリアル + +画像からテキストを認識する必要があったが、どのライブラリが信頼できる結果を出すか分からなかったことはありませんか? あなたは一人ではありません。スキャンした請求書、歴史的な DJVU ファイル、または単純な PNG スクリーンショットを扱う場合でも、正確な文字を抽出することは古代文字を解読するように感じられることがあります。 + +実は、Aspose OCR を使えばプロセス全体がとても簡単です。このガイドでは、簡潔な C# プログラムを使って **convert djvu to text**、**extract text from image**、そして **load image for OCR** の方法を解説します。最後まで読むと、認識された文字列をコンソールに出力する実行可能なコンソールアプリが手に入り、各行の「なぜ」も理解できるようになります。 + +## 学べること + +- .NET プロジェクトで Aspose OCR エンジンをセットアップする方法。 +- DJVU ファイルから **load image for OCR** に必要な正確なコード。 +- `Text` を読む前に `Recognize()` を呼び出すべき理由。 +- 一般的な落とし穴(マルチページ DJVU、サポートされていない形式)と回避方法。 +- バッチ処理向けに **convert djvu to text** を行う迅速な方法。 + +必要なのは最新の .NET SDK(≥ 6.0)と Aspose OCR ライセンス(無料トライアルでテスト可能)だけです。外部サービスや REST 呼び出しは不要で、純粋な C# だけです。 + +## 前提条件 + +| 要件 | 理由 | +|-------------|--------| +| .NET 6 SDK 以上 | モダンな言語機能とパフォーマンス向上。 | +| Aspose.OCR NuGet パッケージ (`Install-Package Aspose.OCR`) | `OcrEngine` クラスを提供します。 | +| DJVU ファイル(例: `sample.djvu`) | **convert djvu to text** をデモします。 | +| C# コンソールアプリの基本的な知識 | 手順が自然に進むようになります。 | + +これらのいずれかが不足している場合は、今すぐインストールしてください。そうしないとコードがコンパイルできません。 + +## ステップ 1 – Aspose.OCR をインストールしてプロジェクトを作成 + +まず、新しいコンソールプロジェクトを作成し、OCR ライブラリを導入します。 + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*プロのコツ:* ターゲットフレームワークを明示的に固定したい場合は `--framework net6.0` フラグを使用してください。 + +## ステップ 2 – OCR エンジンを初期化し DJVU 画像をロード + +エンジンには画像ソースが必要です。Aspose.OCR は DJVU を含む多数のフォーマットを読み取れるため、ファイルパスを指定するだけです。 + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**これが重要な理由:** +- `OcrEngine` はエントリーポイントです。一度作成して再利用することでメモリの消費を抑えます。 +- `ImageStream.FromFile` はファイル形式を抽象化するため、後で DJVU ファイルを PNG や TIFF に置き換えても他のコードを変更する必要がありません—さまざまなシナリオで **how to extract text from image** に最適です。 + +## ステップ 3 – 認識プロセスを実行 + +`Recognize()` を呼び出すと重い処理が開始されます。内部では Aspose がニューラルネットワークベースの分類器を実行し、印刷文字と手書き文字の両方を認識します。 + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*エッジケースの注意:* DJVU に複数ページが含まれている場合でも、`ImageStream.FromFile` は最初のページだけを読み込みます。すべてのページを処理するには `ImageStream.FromFile(...).Pages` をループする必要があります。ほとんどのクイックチェックでは最初のページで十分です。 + +## ステップ 4 – 認識されたテキストを取得して表示 + +認識が完了すると、エンジンは `Text` プロパティにプレーンテキスト文字列を設定します。これをコンソールやファイルに書き出したり、別のシステムに渡したりできます。 + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +典型的な出力例は次のようになります: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +出力が文字化けしている場合は、元画像の解像度が低くないか確認してください。Aspose は最高精度のために 300 dpi 以上を推奨しています。 + +## 完全な動作例 + +すべてをまとめると、以下の単一ファイル(`Program.cs`)を先ほど作成したプロジェクトに貼り付けるだけです。 + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +次のコマンドで実行します: + +```bash +dotnet run +``` + +ターミナルに抽出された文字列が表示されるはずです。これが Aspose OCR を使用して **recognize text from image** を行う最もシンプルな方法です。 + +## ステップ 5 – 上級編: 複数の DJVU ページをテキストファイルに変換 + +大量に **convert djvu to text** が必要な場合は、前のコードにループを追加します: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*これが機能する理由:* `GetPage(i)` は要求されたページの `Image` オブジェクトを返すため、同じ `OcrEngine` インスタンスを再利用できます。各ページのテキストは個別の `.txt` ファイルに保存され、クリーンな **convert djvu to text** パイプラインが構築されます。 + +## よくある質問と落とし穴 + +- **DJVU の代わりに JPEG からテキストを抽出できますか?** + もちろんです。`FromFile` のファイル拡張子を変更するだけです。同じコードは **how to extract text from image** に適用できます。Aspose がフォーマットを抽象化しているためです。 + +- **OCR の結果に余分な改行が含まれている場合はどうすればいいですか?** + `String.Replace("\r\n", " ")` や正規表現を使って空白を正規化してください。 + +- **本番環境で使用するにはライセンスが必要ですか?** + 無料トライアルは最大 100 ページまで利用可能です。無制限に使用する場合はライセンスを購入し、エンジンを作成する前に `License license = new License(); license.SetLicense("Aspose.OCR.lic");` を呼び出してください。 + +- **エンジンはスレッドセーフですか?** + いいえ。スレッドごとに別々の `OcrEngine` を作成するか、ロックでアクセスを保護してください。 + +## 精度向上のヒント + +1. **DPI を上げる** – ソース変換を制御できる場合は、画像を 300 dpi 以上で出力してください。 +2. **画像の前処理** – 簡単な二値化(`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`)はノイズの多いスキャンで結果を改善できます。 +3. **言語を指定** – `ocrEngine.Language = Language.English;` は文字セットを絞り、認識速度を向上させます。 + +## 結論 + +これで、Aspose OCR を使用して **recognize text from image** を行う完全な実行可能サンプルが手に入り、**convert djvu to text**、**how to extract text from image**、そして **load image for OCR** の正しい方法を理解できました。コードは自己完結型で、任意の .NET 6+ ランタイム上で動作し、マルチページ DJVU ドキュメントのバッチ処理にも拡張可能です。 + +次に、以下を検討できます: + +- 多言語 DJVU ファイル向けに **language detection** を追加。 +- OCR 出力を検索インデックス(例: Elasticsearch)に統合。 +- Aspose の PDF 変換機能を使って抽出テキストを検索可能な PDF に変換。 + +ぜひ試してみて、DPI を調整し、さまざまな画像フォーマットで実験し、OCR エンジンに重い処理を任せてください。コーディングを楽しんで! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/ocr-configuration/_index.md b/ocr/korean/net/ocr-configuration/_index.md index 5340ef148..45380f039 100644 --- a/ocr/korean/net/ocr-configuration/_index.md +++ b/ocr/korean/net/ocr-configuration/_index.md @@ -60,7 +60,9 @@ Aspose.OCR을 사용해 .NET에서 폴더에 저장된 이미지에서 텍스트 ### [언어 선택과 함께하는 OCR 이미지 인식 작업](./ocr-operation-with-language-selection/) Aspose.OCR for .NET으로 강력한 OCR 기능을 활용해 이미지에서 텍스트를 원활히 추출하는 방법을 소개합니다. ### [리스트와 함께하는 OCR 이미지 인식 작업](./ocr-operation-with-list/) -Aspose.OCR for .NET을 이용해 리스트 기반 OCR 이미지 인식을 손쉽게 수행하고, 애플리케이션의 생산성과 데이터 추출 효율을 높이는 방법을 제공합니다. +Aspose.OCR for .NET을 이용해 리스트 기반 OCR 이미지 인식을 손쉽게 수행하고, 애플리케이션의 생산성과 데이터 추출 효율을 높이는 방법을 제공합니다. +### [png에서 텍스트 읽기 – Aspose OCR로 키릴 문자 추출](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Aspose OCR를 사용해 PNG 이미지에서 키릴 문자 텍스트를 추출하는 방법을 단계별로 안내합니다. ### 일반적인 사용 사례 - **스캔된 청구서 이미지**에서 텍스트를 추출해 자동 회계 처리. @@ -101,4 +103,4 @@ A: 네, `OcrResult` 객체가 신뢰도 값을 제공하므로 프로그래밍 {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/korean/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..eb4a1a535 --- /dev/null +++ b/ocr/korean/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,200 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR을 사용하여 PNG에서 텍스트를 읽고 키릴 문자 텍스트를 추출하는 방법, 이미지를 텍스트로 변환하는 방법, + 그리고 키릴어 언어 팩을 다운로드하는 방법을 배워보세요. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: ko +og_description: C#에서 Aspose OCR을 사용하여 PNG에서 텍스트를 읽고, 키릴 문자 텍스트를 추출하며, 이미지를 텍스트로 변환하는 + 방법을 배워보세요. +og_title: png에서 텍스트 읽기 – Aspose OCR로 키릴 문자 추출 +tags: +- Aspose OCR +- C# +- Image Processing +title: png에서 텍스트 읽기 – Aspose OCR로 키릴 문자 텍스트 추출 +url: /ko/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# png에서 텍스트 읽기 – Aspose OCR로 키릴 문자 추출 + +png 파일에서 텍스트를 **읽고** 키릴 문자를 추출해야 하나요? 이 가이드에서는 Aspose OCR을 사용하여 png에서 텍스트를 읽고, 키릴 문자를 추출하며, **이미지를 텍스트로 변환**하는 방법을 C# 몇 줄로 보여드립니다. + +러시아어 청구서 스크린샷을 바라보며 그 단어들을 검색 가능한 문자열로 어떻게 가져올지 궁금했던 적이 있다면, 바로 여기가 정답입니다. 또한 **키릴 언어 팩을** 자동으로 **다운로드**하는 방법도 다룰 것이므로 별도의 파일을 찾아다닐 필요가 없습니다. + +## 이 튜토리얼을 통해 얻을 수 있는 것 + +* **OCR용 이미지 로드**를 디스크 또는 스트림에서 직접 수행합니다. +* 엔진을 **Cyrillic 언어**로 설정하고 수동 다운로드 없이 사용합니다. +* 인식을 실행하고 PNG 파일에서 **키릴 텍스트를 추출**합니다. +* 인식된 텍스트가 콘솔에 출력되는 것을 확인하세요 – 데이터베이스, 검색 인덱스 또는 기타 워크플로에 전달할 수 있는 깔끔한 일반 텍스트 결과입니다. + +외부 서비스나 클라우드 키 없이, Aspose OCR NuGet 패키지와 몇 줄의 C# 코드만 있으면 됩니다. + +## 필수 조건 + +* .NET 6.0 이상 (코드는 .NET Core, .NET Framework, .NET 5+에서도 작동합니다). +* Visual Studio 2022 또는 원하는 편집기. +* Aspose.OCR NuGet 패키지 (`dotnet add package Aspose.OCR`). +* 키릴 문자를 포함한 PNG 이미지 – 예를 들어 `YOUR_DIRECTORY` 폴더에 위치한 `cyrillic_sample.png`. + +> **팁:** Visual Studio를 사용 중이라면 프로젝트를 오른쪽 클릭 → **Manage NuGet Packages** → “Aspose.OCR”을 검색하고 최신 안정 버전을 설치하세요. + +--- + +## Step 1 – Aspose OCR 설치 및 엔진 생성 + +먼저 OCR 엔진 인스턴스가 필요합니다. `OcrEngine` 클래스는 모든 작업의 진입점입니다. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **왜 중요한가:** 엔진은 언어 팩, 이미지 데이터 및 인식 옵션을 캡슐화합니다. 한 번 인스턴스화하고 여러 이미지에 재사용하면 성능이 향상될 수 있습니다. + +--- + +## Step 2 – **OCR용 이미지 로드** 및 언어 설정 + +이제 엔진에 처리할 이미지와 찾을 언어를 지정합니다. `Language.Cyrillic`을 설정하면 처음 실행 시 필요한 언어 팩을 자동으로 다운로드합니다. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **예외 상황:** PNG 파일이 크기가 크다면(5 MB 초과) 인식을 빠르게 하기 위해 먼저 크기를 조정하는 것이 좋습니다. `Image` 속성은 `Stream`도 받으므로 파일 시스템을 거치지 않고 메모리, 웹 요청 또는 Azure Blob에서 로드할 수 있습니다. + +--- + +## Step 3 – **이미지를 텍스트로 변환**을 한 번의 호출로 + +인식은 `Recognize()`를 호출하는 것만큼 간단합니다. 이 호출 후 `Text` 속성에 추출된 문자열이 저장됩니다. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **내부 동작:** Aspose는 수백만 개의 키릴 글리프로 학습된 신경망 기반 분류기를 실행합니다. 라이브러리는 모든 복잡성을 추상화하므로 깔끔한 Unicode 텍스트를 바로 얻을 수 있습니다. + +--- + +## Step 4 – 결과 출력 (또는 다른 곳으로 전달) + +데모를 위해 텍스트를 콘솔에 출력하지만, 파일, 데이터베이스에 저장하거나 검색 인덱스로 전달하는 것도 쉽게 할 수 있습니다. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**예상 출력** (`cyrillic_sample.png`에 “Привет мир” 문구가 포함되어 있다고 가정): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +출력이 깨져 보이면 이미지가 선명한지와 `Language.Cyrillic`을 설정했는지 다시 확인하세요. 엔진은 기본적으로 영어를 사용하므로 키릴 문자를 알 수 없는 기호로 처리합니다. + +--- + +## Step 5 – 전체 실행 가능한 예제 + +전체 과정을 합치면, 새 콘솔 프로젝트에 복사‑붙여넣기 할 수 있는 독립 실행형 프로그램이 됩니다. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +`Program.cs` 파일로 저장하고 `dotnet run`을 실행하면 키릴 텍스트가 출력되는 것을 확인할 수 있습니다. + +--- + +## 자주 묻는 질문 및 문제 해결 + +| 질문 | 답변 | +|----------|--------| +| **언어 팩이 다운로드되지 않으면 어떻게 해야 하나요?** | 머신에 인터넷 연결이 되어 있는지 확인하세요. 팩은 `%USERPROFILE%\.Aspose\OCR\Languages`에 캐시됩니다. 해당 폴더를 삭제하면 새로 다운로드됩니다. | +| **키릴어 외에 다른 언어도 읽을 수 있나요?** | 물론입니다 – `Language.Cyrillic`을 `Language.English`, `Language.Arabic` 등으로 교체하면 됩니다. 동일한 자동 다운로드 로직이 적용됩니다. | +| **내 PNG가 노이즈가 많아 결과가 좋지 않아요. 어떻게 해야 하나요?** | 이미지를 전처리하세요: 대비를 높이고, 그레이스케일로 변환하거나, 중간값 필터를 적용합니다. Aspose OCR은 `Settings.ImagePreprocess` 옵션도 제공합니다. | +| **각 단어에 대한 경계 상자를 얻을 수 있나요?** | `Recognize()` 호출 후 `ocrEngine.Regions`를 확인하면 감지된 각 단어에 대한 사각형(경계 상자)을 얻을 수 있습니다. | +| **프로덕션 사용에 라이선스가 필요합니까?** | 무료 평가판은 최대 100페이지까지 사용할 수 있습니다. 상업용 프로젝트에서는 라이선스를 구매해야 하며, 평가 워터마크가 제거되고 고속 배치 처리 기능이 활성화됩니다. | + +--- + +## 다음 단계 – 솔루션 확장 + +* **배치 처리:** PNG 폴더를 순회하며 모든 텍스트를 CSV 파일에 수집합니다. +* **Azure Cognitive Search와 통합:** 추출된 키릴 문자열을 인덱싱하여 빠르게 검색합니다. +* **PDF 변환과 결합:** Aspose.PDF를 사용해 스캔된 PDF를 먼저 PNG로 변환한 뒤 동일한 OCR 흐름을 실행합니다. + +위 시나리오 모두는 방금 다룬 핵심 패턴을 재사용합니다: **OCR용 이미지 로드 → 언어 설정 → 인식 → 텍스트 활용**. + +--- + +## 결론 + +이제 C#에서 Aspose OCR을 사용해 **png에서 텍스트를 읽고**, **키릴 텍스트를 추출하며**, **이미지를 텍스트로 변환**하는 방법을 알게 되었습니다. 핵심 단계는 엔진 생성, 이미지 로드, 적절한 언어 선택(자동으로 **키릴 언어 팩을 다운로드**함), 그리고 마지막으로 `Recognize()` 호출입니다. + +다양한 이미지로 시도해 보고 `Settings` 옵션을 실험해 보세요. 그러면 애플리케이션이 검색 가능하고 다국어를 지원하며 훨씬 더 똑똑해지는 것을 확인할 수 있습니다. + +코딩을 즐기세요, 문제가 발생하면 언제든 댓글을 남겨 주세요! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/ocr-optimization/_index.md b/ocr/korean/net/ocr-optimization/_index.md index 68a12ee39..f0a6539ea 100644 --- a/ocr/korean/net/ocr-optimization/_index.md +++ b/ocr/korean/net/ocr-optimization/_index.md @@ -66,8 +66,13 @@ Aspose.OCR for .NET의 잠재력을 우리의 포괄적인 가이드와 함께 Aspose.OCR for .NET를 탐색하세요. 전처리 필터로 OCR 정확도를 높이고, 지금 다운로드하여 원활한 통합을 경험하세요. ### [Result Correction with Spell Checking in OCR Image Recognition](./result-correction-with-spell-checking/) Aspose.OCR for .NET로 OCR 정확도를 향상시키세요. 철자를 교정하고, 사전을 사용자 정의하며, 오류 없는 텍스트 인식을 손쉽게 달성합니다. +### [Aspose OCR 예제 – C#에서 맞춤법 검사 활성화 및 오류 수정](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +C# 코드에서 Aspose OCR을 사용해 맞춤법 검사를 활성화하고 인식 오류를 자동으로 교정하는 방법을 단계별로 안내합니다. ### [Save Multipage Result as Document in OCR Image Recognition](./save-multipage-result-as-document/) Aspose.OCR for .NET의 잠재력을 활용하세요. 이 포괄적인 단계별 가이드를 통해 다중 페이지 OCR 결과를 문서로 손쉽게 저장합니다. +### [C#에서 이미지 기울기 보정 및 OCR 실행 – 완전 가이드](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +### [중국어 이미지에서 OCR 수행 – 완전 C# 가이드](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Aspose.OCR for .NET를 사용해 중국어 이미지에서 텍스트를 정확히 추출하고, C# 코드로 전체 과정을 구현하는 단계별 가이드입니다. ## 자주 묻는 질문 @@ -75,7 +80,7 @@ Aspose.OCR for .NET의 잠재력을 활용하세요. 이 포괄적인 단계별 A: 예, Aspose.OCR은 다양한 언어를 지원하며 혼합 언어 콘텐츠를 인식하도록 구성할 수 있습니다. **Q: 전처리가 정확도를 어떻게 향상시키나요?** -A: 이진화, 잡음 제거, 기울기 보정과 같은 필터가 이미지를 정화하여 노이즈를 줄이고 텍스트를 정렬함으로써 인식률을 높입니다. +A: 이진화, 잡음 제거, 기울기 보정과 같은 필터가 이미지를 정화하여 노이즈를 줄이고 텍스트를 정렬함으로써 인식률을 높습니다. **Q: 한 번에 처리할 수 있는 페이지 수에 제한이 있나요?** A: 명확한 제한은 없으며, 성능은 시스템 리소스에 따라 달라집니다. 매우 큰 배치의 경우 페이지를 여러 구간으로 나누어 처리하는 것을 고려하세요. diff --git a/ocr/korean/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/korean/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..0b2b9495b --- /dev/null +++ b/ocr/korean/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR 예제는 맞춤법 검사를 활성화하고, 사용자 사전을 추가하며, 이미지 OCR을 로드하고 OCR 오류를 빠르게 + 수정하는 방법을 보여줍니다. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: ko +og_description: Aspose OCR 예제는 맞춤법 검사 활성화, 사용자 사전 추가, OCR용 이미지 로드 및 일반적인 OCR 오류 수정 + 방법을 안내합니다. +og_title: Aspose OCR 예제 – 맞춤법 검사 활성화 및 오류 수정 +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR 예제 – C#에서 맞춤법 검사 활성화 및 오류 수정 +url: /ko/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR 예제 – C#에서 맞춤법 검사 활성화 및 오류 수정 + +이미지에서 텍스트를 읽을 뿐만 아니라 성가신 맞춤법 오류까지 정리해 주는 **Aspose OCR example**이 필요했던 적이 있나요? 당신만 그런 것이 아닙니다. 실제 프로젝트에서는 원시 OCR 출력이 오타로 가득 차 있는데, 특히 원본 이미지에 저대비 글꼴이나 손글씨가 포함된 경우 그렇습니다. + +좋은 소식은? Aspose.OCR을 사용하면 **enable spellcheck**를 활성화하고, 자체 사전을 연결하여 몇 줄의 코드만으로 깔끔한 문자열을 얻을 수 있습니다. 아래에서는 **how to enable spellcheck**, **how to add a dictionary**, **how to load image OCR**을 정확히 보여드리며, 이제 **fix OCR errors**를 머리를 싸매지 않고 해결할 수 있습니다. + +이 튜토리얼에서는 NuGet 설치부터 교정된 텍스트를 출력하는 완전한 실행 프로그램까지 필요한 모든 것을 다룹니다. 끝까지 읽으면 어떤 .NET 프로젝트에도 바로 넣을 수 있는 견고한 **Aspose OCR example**을 얻게 됩니다. + +## 사전 요구 사항 + +- .NET 6.0 SDK 또는 그 이상 (코드는 .NET Core 및 .NET Framework에서도 작동합니다) +- Visual Studio 2022 또는 C# 호환 IDE +- 명확하고 타이핑된 영어 텍스트가 포함된 이미지 파일 (`typed_text.png`) +- Aspose.OCR NuGet 패키지를 가져오기 위한 인터넷 연결 + +다른 서드파티 라이브러리는 필요하지 않습니다. + +--- + +## 1단계 – Aspose.OCR NuGet 패키지 설치 (Load Image OCR) + +코드를 작성하기 전에 OCR 엔진을 구동하는 라이브러리가 필요합니다. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Visual Studio를 사용 중이라면 프로젝트를 마우스 오른쪽 버튼으로 클릭 → *Manage NuGet Packages* → **Aspose.OCR**을 검색하고 *Install*을 클릭하세요. + +패키지를 설치하면 `OcrEngine`, `ImageStream`, 그리고 나중에 사용할 내장 맞춤법 검사 유틸리티에 접근할 수 있습니다. 패키지가 준비되면 **load image OCR**을 수행할 준비가 된 것입니다. + +## 2단계 – OCR 엔진 인스턴스 생성 + +엔진을 생성하는 것은 모든 **Aspose OCR example**에서 첫 번째 구체적인 단계입니다. `OcrEngine`을 비트맵을 분석하고 텍스트를 추출하는 두뇌라고 생각하면 됩니다. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +`OcrEngine` 생성자는 매개변수를 필요로 하지 않아 빠른 프로토타입에 적합합니다. + +## 3단계 – 맞춤법 검사 활성화 방법 (및 중요성) + +원시 OCR 출력은 종종 “teh”와 같이 “the” 대신 잘못 인식된 단어를 포함합니다. 내장 맞춤법 검사를 활성화하면 Aspose가 이러한 오류를 가장 가능성 높은 올바른 철자로 자동 교정합니다. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Why enable spellcheck?** +> - **Accuracy:** 사후 처리 맞춤법 검사는 인쇄된 문서의 전체 텍스트 정확도를 10‑15 % 향상시킬 수 있습니다. +> - **User experience:** 깨끗한 텍스트는 결과를 검색 인덱스나 분석 파이프라인에 전달할 때 후속 정리를 줄여줍니다. + +## 4단계 – 사전 추가 방법 (사용자 정의 단어) + +기본 사전이 브랜드명, 제품 코드, 도메인 특화 용어를 알지 못할 때가 있습니다. 바로 **how to add dictionary**가 필요한 순간입니다. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +배열, 리스트, 혹은 대용량 사용자 사전이 있다면 파일에서 읽어들일 수도 있습니다. 이제 맞춤법 검사는 이러한 항목을 유효한 단어로 인식해 잘못된 교정을 방지합니다. + +## 5단계 – OCR용 이미지 로드 (Load Image OCR) + +엔진 구성이 끝났으니 읽을 사진을 지정해야 합니다. `ImageStream.FromFile` 도우미가 파일 읽기 세부 사항을 추상화합니다. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tip:** 이미지가 프로젝트의 하위 폴더에 있다면 *Copy to Output Directory* 속성을 *Copy always* 로 설정해 런타임에 경로가 올바르게 해석되도록 하세요. + +## 6단계 – 인식 수행 및 OCR 오류 수정 + +모든 준비가 끝났으니 `Recognize()`를 한 번 호출하면 OCR 파이프라인이 실행되고 맞춤법 검사가 적용되어 정제된 결과가 `ocrEngine.Text`에 저장됩니다. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### 예상 출력 + +`typed_text.png`에 `The quick brown fox jumps over teh lazy dog` 문장이 포함되어 있다고 가정하면 콘솔에 다음과 같이 표시됩니다: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +“teh”가 자동으로 “the”로 교정된 것을 확인할 수 있습니다. 만약 사용자 사전에 “OCRify”를 추가했고 이미지에 해당 단어가 있다면 엔진은 이를 그대로 유지합니다. + +--- + +## 전체 작동 예제 (복사‑붙여넣기 가능) + +아래는 새 콘솔 프로젝트에 바로 넣을 수 있는 완전한 프로그램입니다. 위 단계들을 모두 포함하고 있으며, 이해를 돕기 위한 몇 가지 주석도 포함되어 있습니다. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +`Program.cs`로 저장하고 `dotnet run`을 실행하면 교정된 문장이 콘솔에 출력됩니다. + +--- + +## 자주 묻는 질문 및 엣지 케이스 + +| Question | Answer | +|----------|--------| +| **이미지가 다중 페이지 PDF인 경우는 어떻게 하나요?** | Aspose.OCR은 PDF 페이지를 이미지로 처리할 수 있습니다. `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` 를 사용하고 페이지를 반복하면 됩니다. | +| **언어를 영어가 아닌 다른 언어로 변경할 수 있나요?** | 물론 가능합니다. `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` 와 같이 설정하면 됩니다(지원되는 언어라면 어느 것이든 가능합니다). | +| **내 사용자 사전이 방대합니다—성능에 영향을 미칠까요?** | 수천 개의 단어를 추가하면 초기 로드 비용이 약간 발생하지만, 내부적으로 해시‑셋을 사용해 조회가 O(1)입니다. 매우 방대한 어휘의 경우 애플리케이션 시작 시 한 번 로드하는 것을 고려하세요. | +| **손상된 이미지에서 OCR 엔진이 예외를 발생시키면 어떻게 하나요?** | `Recognize()`를 try‑catch 블록으로 감싸고 `ocrEngine.LastError`를 확인하세요. 또한 `ocrEngine.Image.Width`와 `Height`를 사용해 이미지 크기를 사전에 검증할 수 있습니다. | +| **프로덕션 사용을 위해 라이선스가 필요합니까?** | 무료 평가판은 테스트에 사용할 수 있지만, 상용 라이선스를 구매하면 평가용 워터마크가 제거되고 전체 성능을 사용할 수 있습니다. | + +--- + +## 결론 + +이제 **complete Aspose OCR example**을 통해 **how to enable spellcheck**, **how to add a dictionary**, **load image OCR**, 그리고 **how to fix OCR errors**를 깔끔하고 프로덕션 준비된 방식으로 구현할 수 있습니다. 맞춤법 검사를 구성하고 사용자 정의 단어 목록을 제공함으로써 별도의 후처리 로직을 작성하지 않아도 추출된 텍스트 품질을 크게 향상시킬 수 있습니다. + +다음 단계가 준비되셨나요? 언어를 스페인어로 바꾸어 보거나, 다중 페이지 PDF를 입력해 보거나, 결과를 검색 가능한 Azure Cognitive Search 인덱스로 통합해 보세요. 동일한 패턴을 적용하면 되니 언어 플래그만 조정하고 필요에 따라 사용자 사전을 확장하면 됩니다. + +이 가이드가 도움이 되었다면 GitHub에 별을 달아주시고, 팀원과 공유하거나 아래에 댓글을 남겨 주세요. 즐거운 코딩 되시고, OCR 결과가 언제나 오류 없이 나오길 바랍니다! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/korean/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..daf2d9bc7 --- /dev/null +++ b/ocr/korean/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR를 사용하여 이미지의 기울기를 보정하고 대비를 높이며 스캔에서 텍스트를 추출하는 방법을 배웁니다. 전체 C# + 예제로 이미지에 OCR을 수행하고 OCR을 위해 이미지를 쉽게 로드합니다. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: ko +og_description: Aspose OCR을 사용하여 C#에서 이미지의 기울기를 보정하고 대비를 높이며 스캔에서 텍스트를 추출하는 방법을 배워보세요. + 단계별 코드로 이미지에 OCR을 수행합니다. +og_title: C#에서 이미지 기울기 보정 및 OCR 실행 방법 – 완전 가이드 +tags: +- C# +- OCR +- Image Processing +title: C#에서 이미지 왜곡 보정 및 OCR 실행 방법 – 완전 가이드 +url: /ko/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 이미지 기울기 보정 및 C#에서 OCR 실행 방법 – 완전 가이드 + +If you ever wondered **how to deskew image** before running OCR, you’re in the right place. In this tutorial we’ll walk you through boosting contrast, loading an image for OCR, and finally **extracting text from scan** with Aspose OCR. + +Whether you’re digitizing old receipts, cleaning up scanned contracts, or just need a reliable way to read text from a crooked photo, the steps below cover everything you need. No fluff—just a working example you can copy‑paste into Visual Studio. + +## 달성 목표 + +* 30°까지 기울기 보정 (이것이 **how to deskew image** 부분입니다). +* 문자 가장자리를 선명하게 만들기 위해 이미지 대비를 높임 (**how to boost contrast**). +* 이미지를 OCR 엔진에 로드 (**load image for OCR**). +* 인식 프로세스를 실행하고 **extract text from scan**. + +All of this works with the latest Aspose.OCR .NET NuGet package (v23.11 at time of writing). + +--- + +![이미지 기울기 보정 예시](/images/deskew-example.png "이미지 기울기 보정") + +*위 이미지는 기울기 보정 전후의 스캔 문서를 보여줍니다.* + +## 사전 요구 사항 + +* .NET 6.0 이상 (코드는 .NET Framework 4.7+에서도 실행됩니다). +* Visual Studio 2022 (또는 원하는 C# IDE). +* Aspose.OCR NuGet 패키지 – `dotnet add package Aspose.OCR` 명령으로 설치합니다. + +That’s it. No external services, no API keys. + +--- + +## Aspose OCR을 사용한 이미지 기울기 보정 방법 + +The first thing we do is create an **ImageProcessingPipeline** and add a `DeskewFilter`. The filter automatically detects the dominant text line angle and rotates the image back to horizontal. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**왜 중요한가:** +A skewed scan confuses the OCR engine because characters are no longer aligned with the baseline. The `DeskewFilter` analyses the image histogram, finds the angle, and rotates it, dramatically improving recognition accuracy. + +> **팁:** 문서가 15° 이상 기울어지지 않는다는 것을 알고 있다면 `MaxAngle = 15`로 설정해 처리 속도를 높일 수 있습니다. + +--- + +## 더 나은 인식을 위한 대비 강화 방법 + +After deskewing, the next step is to make the text pop. The `ContrastBoostFilter` stretches the pixel intensity range, which is especially helpful for faded prints. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**왜 도움이 되는가:** +Low‑contrast scans produce gray‑ish characters that the binarizer may interpret as background. Boosting contrast pushes dark pixels darker and light pixels lighter, giving the subsequent `BinarizationFilter` a cleaner canvas. + +--- + +## 이미지에서 OCR 수행 – 파일 로드 + +Now that the image is pre‑processed, we need to **load image for OCR**. Aspose offers a convenient `ImageStream.FromFile` helper. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +If your image lives in a stream (e.g., uploaded via a web API), you can use `ImageStream.FromStream(yourStream)` instead. The engine accepts BMP, JPEG, PNG, TIFF, and many others. + +--- + +## 인식 프로세스 실행 및 스캔에서 텍스트 추출 + +With everything wired up, invoking `Recognize()` does the heavy lifting. After the call, the recognized text is available via `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**예상 출력** (간단한 청구서 예시): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +If the output looks garbled, double‑check the pipeline order—deskew first, then denoise, contrast boost, and finally binarization. Swapping them can degrade results. + +--- + +## 일반적인 함정 및 예외 상황 + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| **결과 없음** | 이미지가 기본 이진화 방법에 비해 너무 어둡거나 너무 밝습니다. | `ContrastBoostFilter.Strength`를 증가시키거나 `BinarizationMethod.Otsu`로 전환합니다. | +| **일부 텍스트 누락** | 노이즈 제거 후에도 노이즈가 남아 있습니다. | `DenoiseLevel.Medium`을 사용하거나 두 번째 `DenoiseFilter`를 추가합니다. | +| **잘못된 회전 방향** | 문서에 혼합된 방향이 있습니다(예: 회전된 페이지 사진). | `DeskewFilter.MaxAngle`를 낮게 설정하고 `ImageProcessor.Rotate`로 이미지를 사전 회전합니다. | +| **성능 저하** | 고해상도 이미지 대량 배치. | 파이프라인 전에 이미지(`ImageProcessor.Resize`)를 축소하거나(`Parallel.ForEach`) 병렬 처리합니다. | + +--- + +## 전체 작업 예제 (복사‑붙여넣기 준비 완료) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Save this as `Program.cs`, run `dotnet run`, and watch the console print the **extract text from scan** result. + +--- + +## 다음 단계 및 관련 주제 + +* **배치 처리** – 위 로직을 루프에 감싸 수십 개 파일을 처리합니다. +* **맞춤형 언어 팩** – 라틴어가 아닌 스크립트를 읽어야 하면 `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`와 같이 언어 모델을 로드합니다. +* **PDF 출력** – Aspose.PDF와 OCR을 결합해 검색 가능한 텍스트를 PDF 파일에 직접 삽입합니다. +* **성능 튜닝** – `ImageProcessingPipeline` 순서를 실험해 보세요; 경우에 따라 노이즈 제거를 기울기 보정 전에 수행하면 잡음이 많은 사진에서 더 빠른 결과를 얻을 수 있습니다. + +All of these build on the core concepts we covered: **how to deskew image**, **how to boost contrast**, **load image for OCR**, **perform OCR on image**, and finally **extract text from scan**. + +--- + +## 마무리 + +We’ve just demonstrated a complete, production‑ready way to **how to deskew image** and run OCR in C#. By chaining a deskew filter, a denoise step, a contrast boost, and a binarizer, you get a clean input that lets Aspose OCR reliably **extract text from scan**. + +Give the code a spin, tweak the filter parameters for your own documents, and you’ll see how quickly the recognition accuracy improves. Got questions? Drop a comment, and happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/korean/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..5b7b49934 --- /dev/null +++ b/ocr/korean/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR을 사용하여 중국어 이미지에서 OCR을 수행하는 방법. 하나의 튜토리얼에서 중국어 텍스트를 추출하고, 이미지를 + ePub으로 변환하며, OCR 정확도를 향상시키는 방법을 배워보세요. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: ko +og_description: Aspose OCR을 사용하여 중국어 이미지에서 OCR을 수행하는 방법. 단계별 코드를 통해 중국어 텍스트를 추출하고 + OCR을 개선하며 ePub으로 내보내세요. +og_title: 중국어 이미지에서 OCR 수행하기 – 완전한 C# 가이드 +tags: +- OCR +- C# +- Aspose +title: 중국어 이미지에서 OCR 수행 방법 – 완전 C# 가이드 +url: /ko/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 중국 이미지에 대한 OCR 수행 방법 – 완전한 C# 가이드 + +중국어 문자가 포함된 사진에서 **OCR을 수행하는 방법**이 궁금하셨나요? 여러분만 그런 것이 아닙니다. 영수증 스캔, 교과서 디지털화, 다국어 검색 엔진 구축 등 많은 앱에서 이미지에서 깨끗한 텍스트를 추출하는 것은 성공 여부를 가르는 핵심 기능입니다. + +이 튜토리얼에서는 **중국어 텍스트를 추출하고**, 결과를 일반 텍스트 파일에 저장하며, **이미지를 ePub으로 변환**하는 실제 솔루션을 단계별로 살펴봅니다. 진행하면서 **OCR 정확도를 높이는 방법**, GPU 모드를 활성화해야 하는 이유, **간체 중국어를 올바르게 인식**하기 위해 필요한 설정도 논의합니다. + +가이드를 끝까지 따라오시면 완전 실행 가능한 C# 프로그램, 실용적인 팁 몇 가지, 그리고 다음 단계(예: 언어 감지 추가 또는 배치 처리) 에 대한 명확한 아이디어를 얻으실 수 있습니다. 별도의 외부 문서는 필요 없습니다—필요한 모든 것이 여기 있습니다. + +## 준비물 + +- .NET 6+ (또는 .NET Core 3.1 + Aspose OCR for .NET) +- 유효한 Aspose OCR for .NET 라이선스 (무료 체험판으로 실험 가능) +- 간체 중국어 문자가 포함된 이미지 파일 (예: `chinese_sample.jpg`) +- Visual Studio 2022 또는 선호하는 C# 편집기 + +위 항목 중 하나라도 부족하다면 지금 바로 NuGet 패키지를 받아 주세요: + +```bash +dotnet add package Aspose.OCR +``` + +그뿐입니다—추가 네이티브 라이브러리나 COM 인터옵 없이 단일 .NET 패키지만 있으면 됩니다. + +## OCR 엔진 설정 – Aspose OCR Engine 구성 + +먼저 해야 할 일은 OCR 엔진을 생성하고 설정하는 것입니다. 이 단계는 엔진 설정이 **중국어 문자에 대한 OCR 성능**과 처리 속도를 좌우하기 때문에 매우 중요합니다. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**왜 중요한가:** +- **Language = ChineseSimplified** 은 Aspose에 간체 중국어 문자 집합을 로드하도록 지시하여 오인식을 크게 줄여줍니다. +- **EngineMode.Gpu** 는 최신 GPU에서 처리 시간을 절반으로 단축시킬 수 있지만, GPU가 없을 경우 자동으로 CPU로 전환됩니다. +- **DeskewFilter** 는 휴대폰으로 사진을 찍을 때 흔히 발생하는 기울임을 보정합니다. +- **Sauvola binarization** 은 고대비 흑백 이미지를 만들어, 중국어와 같은 복잡한 스크립트의 OCR 정확도를 높이는 고전적인 트릭입니다. + +> **Pro tip:** 조명이 어두운 사진을 다룰 때는 이진화 전에 `ContrastFilter` 를 추가하세요. 샘플에서는 필수는 아니지만, 종종 몇 번의 골칫거리를 예방해 줍니다. + +![OCR 파이프라인 다이어그램](ocr-pipeline.png "OCR 파이프라인 다이어그램") + +> *Alt text:* OCR 파이프라인 다이어그램 + +## 이미지에서 중국어 텍스트 추출 + +엔진이 준비되었으니 이제 이미지를 로드하고 엔진이 마법을 부리게 합니다. 이것이 **중국어 텍스트 추출**의 핵심 단계입니다. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**예상 결과:** +`chinese_sample.jpg` 에 “中华人民共和国” 라는 문구가 포함되어 있으면, `out.txt` 파일에 정확히 그 문자들이 저장됩니다—여분의 공백이나 깨진 라틴 문자는 없습니다. + +### 흔히 발생하는 문제 + +| Issue | Why it Happens | Fix | +|-------|----------------|-----| +| Missing characters | 이미지가 너무 노이즈가 많음 | 이진화 전에 `MedianFilter` 추가 | +| Wrong language detected | `Language` 가 `English` 로 설정됨 | `Language = Language.ChineseSimplified` 로 설정 확인 | +| Slow processing | GPU 미활성화 | 호환 가능한 CUDA 드라이버가 설치됐는지 확인 | + +## 이미지 → ePub 변환 + +많은 개발자가 “스캔한 페이지를 읽을 수 있는 전자책으로 만들 수 있을까?” 라고 묻습니다. 답은 **예**—Aspose OCR에는 ePub 내보내기 기능이 포함되어 있어 **이미지를 ePub으로 변환** 요구 사항을 충족합니다. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +생성된 `out.epub` 은 추출된 중국어 텍스트를 UTF‑8 로 올바르게 인코딩하며, Kindle, Apple Books 혹은 기타 ePub 리더에서 열 수 있습니다. + +**왜 ePub을 사용할까?** +- 재배치가 가능해 독자가 글꼴 크기를 조절해도 레이아웃이 깨지지 않습니다. +- 텍스트가 검색 가능하므로 이후 색인 작업에 유용합니다. + +## OCR 정확도 향상 – 실용적인 팁 + +탄탄한 파이프라인을 구축했더라도 가끔씩 오인식이 발생할 수 있습니다. 여기 **OCR 정확도 향상**을 위한 체크리스트가 있습니다: + +1. **이미지 전처리** – `GaussianBlurFilter` 로 잡티를 부드럽게 한 뒤 `ContrastFilter` 로 가장자리를 선명하게 만듭니다. +2. **높은 DPI 설정** – 스캔 과정을 제어할 수 있다면 300 dpi 이상을 목표로 하세요; 저해상도 이미지는 획 디테일을 잃습니다. +3. **언어 감지 활성화** – Aspose는 자동 언어 감지를 지원합니다; 감지에 실패하면 간체 중국어로 폴백하도록 조합하세요. +4. **이진화 미세 조정** – 배경이 균일하게 밝을 경우 `Sauvola` 대신 `Otsu` 로 교체합니다. +5. **배치 처리** – `Parallel.ForEach` 를 사용해 여러 페이지를 동시에 처리하면 다코어 CPU를 효율적으로 활용할 수 있습니다. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## 간체 중국어 인식 – 엣지 케이스 + +**간체 중국어 인식** 은 초보자에게 종종 혼란을 줍니다. 같은 OCR 엔진이 전통 중국어, 일본어, 한국어도 처리할 수 있기 때문입니다. 결정론적인 결과를 얻으려면: + +- **언어를 명시적으로 설정** (Step 1에서와 같이). +- **혼합 언어 페이지는 피함**; 페이지에 간체 중국어와 영어가 섞여 있다면 `Language.ChineseSimplified` 로 한 번, `Language.English` 로 또 한 번 두 번 실행하는 것을 고려하세요. +- **출력 검증** – 인식 후 간단한 정규식을 사용해 모든 문자가 Unicode 범위 `\u4E00‑\u9FFF` 안에 있는지 확인합니다. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +검증에 실패하면 해당 페이지를 로그에 남겨 수동 검토하도록 합니다. + +## 전체 작업 예제 + +모든 단계를 하나로 합친 파일을 아래에 제공합니다. 새 콘솔 프로젝트(`Program.cs`)에 복사‑붙여넣기 하면 바로 실행할 수 있습니다. 여기에는 모든 단계, 선택적 튜닝, 최종 상태 출력이 포함됩니다. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**예상 콘솔 출력 (예시):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +프로그램을 실행하고 `out.txt` 혹은 `out.epub` 을 열면, 후속 처리에 바로 사용할 수 있는 깨끗하고 검색 가능한 중국어 문자를 확인할 수 있습니다. + +## 결론 + +시작부터 끝까지 **중국 이미지에 대한 OCR 수행 방법**을 다루었으며, **중국어 텍스트 추출**, **결과를 ePub으로 변환**, 그리고 몇 가지 실용적인 팁을 적용하는 과정을 보여드렸습니다. + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/text-recognition/_index.md b/ocr/korean/net/text-recognition/_index.md index 1a906a77b..be6fdc149 100644 --- a/ocr/korean/net/text-recognition/_index.md +++ b/ocr/korean/net/text-recognition/_index.md @@ -55,9 +55,19 @@ Aspose.OCR을 사용하여 .NET에서 OCR의 잠재력을 활용해 보세요. P Aspose.OCR을 사용하여 .NET에서 OCR의 잠재력을 활용해 보세요. PDF에서 텍스트를 쉽게 추출할 수 있습니다. 원활한 통합 경험을 위해 지금 다운로드하세요. ### [OCR 이미지 인식에서 테이블 인식](./recognize-table/) OCR 이미지 인식의 테이블 인식에 대한 포괄적인 가이드를 통해 .NET용 Aspose.OCR의 잠재력을 활용해 보세요. +### [C#에서 힌디어 텍스트 인식 – 전체 Aspose OCR 가이드](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +C#을 사용해 힌디어 텍스트를 정확히 인식하는 방법을 단계별로 안내합니다. Aspose OCR의 전체 가이드를 확인하세요. +### [C#에서 이미지 텍스트 인식 – 전체 Aspose OCR 가이드](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +C#을 사용해 이미지에서 텍스트를 정확히 인식하는 방법을 단계별로 안내합니다. Aspose OCR의 전체 가이드를 확인하세요. +### [C#에서 OCR 사용 방법 – 오프라인으로 이미지에서 텍스트 추출](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +C#을 이용해 인터넷 연결 없이 이미지에서 텍스트를 추출하는 방법을 단계별로 안내합니다. +### [C#에서 이미지로 ePub 만들기 – 단계별 가이드](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +이미지를 사용해 C#에서 ePub 파일을 만드는 방법을 단계별로 안내합니다. +### [C#에서 PNG 텍스트 추출 – 전체 OCR 가이드](./extract-text-from-png-in-c-full-ocr-guide/) +C#을 사용해 PNG 이미지에서 텍스트를 정확히 추출하는 방법을 단계별로 안내합니다. Aspose OCR의 전체 가이드를 확인하세요. {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/korean/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..65772fc82 --- /dev/null +++ b/ocr/korean/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-03-07 +description: C#를 사용하여 PNG 파일에서 텍스트를 추출합니다. 이미지에서 텍스트로 변환하는 방법을 배우고, 스캔한 이미지에서 텍스트를 + 빠르게 읽어보세요. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: ko +og_description: C#를 사용하여 PNG 파일에서 텍스트를 추출합니다. 이 가이드는 이미지에서 텍스트로 변환하는 방법과 Aspose OCR을 + 사용해 스캔된 이미지에서 텍스트를 읽는 방법을 보여줍니다. +og_title: C#에서 PNG에서 텍스트 추출 – 전체 OCR 가이드 +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C#에서 PNG 텍스트 추출 – 전체 OCR 가이드 +url: /ko/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#에서 PNG 텍스트 추출 – 전체 OCR 가이드 + +PNG 파일에서 **텍스트를 추출**해야 하는데 어디서 시작해야 할지 몰라 고민한 적 있나요? 혼자가 아닙니다—스캔된 그래픽이나 스크린샷을 검색 가능한 텍스트로 변환해야 할 때 대부분의 개발자가 이 장벽에 부딪힙니다. 좋은 소식은? 몇 줄의 C# 코드와 Aspose OCR만 있으면 어떤 PNG든 즉시 편집 가능한 문자열로 바꿀 수 있다는 점입니다. + +이 튜토리얼에서는 전체 과정을 단계별로 살펴봅니다: 디스크에서 PNG 찾기, OCR 작업을 병렬로 실행하기, 각 결과를 깔끔하게 미리보기로 표시하기. 끝까지 따라오면 **convert image to text C#** 방식을 완전히 이해하고, **read text from scanned images**를 효율적으로 수행하는 방법을 알게 되며, UI 스레드를 방해하지 않고 **run OCR on images** 하는 최적의 방법도 확인할 수 있습니다. + +## 준비 사항 + +- .NET 6.0 이상 (코드는 .NET Core와 .NET Framework에서도 동작) +- Aspose.OCR NuGet 패키지 (`Install-Package Aspose.OCR`) +- 처리하려는 *.png* 파일이 들어 있는 폴더 +- 원하는 IDE (Visual Studio, VS Code, Rider…) + +추가 설정은 필요 없습니다; 라이브러리는 PNG, JPEG, TIFF 등 모든 이미지 형식을 디코딩하는 데 필요한 모든 것을 포함하고 있습니다. + +## Step 1: Locate All PNG Files – “Extract Text from PNG” Begins + +먼저 OCR을 수행할 모든 PNG 파일을 찾아야 합니다. `Directory.GetFiles`를 사용하면 빠르고 안정적입니다. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*왜 중요한가:* 디렉터리를 한 번 스캔하면 파이프라인 나머지 부분을 단순하게 유지할 수 있고, 초기 검사로 인해 나중에 디버깅하기 어려운 “출력 없음” 상황을 방지할 수 있습니다. + +## Step 2: Spin Up Parallel OCR Tasks – Efficiently **run OCR on images** + +OCR을 순차적으로 실행해도 몇 개 파일에는 문제가 없지만, 실제 프로젝트에서는 수십 개·수백 개의 파일을 다루는 경우가 많습니다. 이미지당 `Task`를 생성하면 라이브러리가 무거운 작업을 수행하는 동안 CPU를 효율적으로 활용할 수 있습니다. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*팁:* `Task.Run`은 작업을 스레드 풀에 넘겨 UI(있는 경우)가 응답성을 유지하도록 합니다. 서버 환경에서도 동일한 패턴이 코어 수에 따라 자연스럽게 확장됩니다. + +## Step 3: Await All Tasks – Gather the Results + +이제 모든 OCR 작업이 끝날 때까지 기다립니다. `Task.WhenAll`은 원본 파일 순서와 동일한 배열을 반환하므로 결과를 파일명과 쉽게 매핑할 수 있습니다. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*예외 상황:* 단일 이미지에서 오류가 발생하면(손상 파일, 지원되지 않는 형식) 전체 `WhenAll`이 예외를 전파합니다. 내측 `Task.Run`을 try/catch로 감싸고 빈 문자열이나 진단 메시지를 반환하도록 하면 내결함성을 확보할 수 있습니다. + +## Step 4: Show a Preview – Verify the **convert image to text C#** output + +간단한 미리보기를 통해 OCR 결과가 올바른지 확인한 뒤, 데이터를 다른 곳에 저장하면 됩니다. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +일반적인 콘솔 출력 예시: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +미리보기가 깨진 문자로 표시된다면 이미지 품질을 다시 확인하거나 전처리(예: 이진화)를 고려하세요—대부분의 깨끗한 PNG는 Aspose OCR이 첫 시도에서 정확히 인식합니다. + +## Optional: Save Results to a CSV – A Real‑World Use Case + +대부분의 프로젝트에서는 추출된 텍스트를 구조화된 형식으로 저장해야 합니다. 아래는 파일명과 전체 OCR 텍스트를 CSV 파일에 기록하는 작은 헬퍼입니다. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +이제 CSV를 Excel, Power BI 또는 **read text from scanned images**를 기대하는 다른 시스템에 쉽게 가져올 수 있습니다. + +## Frequently Asked Questions + +**PNG 파일이 너무 큰 경우(5 MB 이상) 어떻게 하나요?** +Aspose OCR은 메모리 사용량을 적절히 유지하도록 큰 이미지를 자동으로 다운샘플링하지만, `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);`와 같이 직접 리사이즈하여 가로 길이를 2000 px로 제한하고 종횡비를 유지할 수 있습니다. + +**Linux에서도 실행할 수 있나요?** +네. Aspose OCR은 크로스‑플랫폼을 지원합니다; 다만 일부 배포판에서는 `libgdiplus`와 같은 네이티브 종속성을 설치해야 합니다. + +**OCR 언어가 기본적으로 영어인가요?** +맞습니다. 다른 언어가 필요하면 `engine.Language = OcrLanguage.French;`(또는 지원되는 enum)와 같이 `Recognize()` 호출 전에 설정하면 됩니다. + +**PNG가 포함된 암호화된 PDF를 처리하려면?** +먼저 PDF 페이지를 이미지(PNG 등)로 변환한 뒤(예: Aspose PDF 사용) 동일 파이프라인에 전달하면 됩니다. **how to run OCR on images** 원리는 변하지 않습니다. + +## Full Working Example (Async Main) + +아래는 콘솔 프로젝트에 그대로 복사해 넣을 수 있는 독립 실행형 프로그램 예시입니다. 앞서 소개한 모든 요소와 입력 폴더를 검증하는 작은 헬퍼가 포함되어 있습니다. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**예상 출력** (두 개 PNG에 대한 샘플): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Wrap‑Up + +이제 C#을 사용해 **extract text from PNG** 파일을 추출하는 전체 과정을 마스터했습니다. 파일 찾기, 병렬 OCR 작업 실행, 문자열 미리보기, CSV에 저장까지—이 가이드는 **convert image to text C#** 시나리오에 적합한 프로덕션 수준 패턴을 제공합니다. + +다음 단계로 JPEG이나 TIFF 파일을 동일 파이프라인에 넣어 보거나, 다른 OCR 언어를 실험하거나, 결과를 검색 인덱스에 연결해 **read text from scanned images**를 즉시 활용해 보세요. + +에지 케이스, 성능 튜닝, 라이선스 관련 질문이 있으면 댓글을 남기거나 Aspose 커뮤니티에 문의하세요—행복한 코딩 되세요! + +![PNG 텍스트 추출 예시](extract-text-png.png "Aspose OCR을 사용한 PNG 텍스트 추출") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/korean/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..c6b04e4b5 --- /dev/null +++ b/ocr/korean/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR을 사용하여 스캔한 이미지에서 ePub을 만드는 방법 – 이미지를 ePub으로 변환하고, 이미지에서 텍스트를 + 추출하며, ePub에 저자를 추가하고, OCR을 위해 이미지를 로드하는 방법을 배웁니다. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: ko +og_description: C#에서 스캔한 이미지로 ePub을 만드는 방법. 이 튜토리얼에서는 이미지를 ePub으로 변환하고, 이미지에서 텍스트를 + 추출하며, ePub에 저자를 추가하고, OCR을 위해 이미지를 로드하는 방법을 보여줍니다. +og_title: C#에서 이미지로 ePub 만드는 방법 – 완전 가이드 +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: C#에서 이미지로 ePub 만들기 – 단계별 가이드 +url: /ko/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#에서 이미지로 ePub 만들기 – 완전 가이드 + +스캔한 페이지 모음에서 **ePub을 만드는 방법**을 궁금해 본 적 있나요? 클래식 소설의 PNG 몇 장이 있고, 이를 모든 기기에서 읽을 수 있는 깔끔한 ePub으로 만들고 싶을 수도 있습니다. 좋은 소식은 Aspose OCR을 사용하면 **이미지를 OCR에 로드**하고 텍스트를 추출한 뒤, **이미지를 ePub으로 변환**을 C# 몇 줄만으로 할 수 있다는 것입니다. + +이 튜토리얼에서는 전체 파이프라인을 단계별로 살펴보겠습니다: 사진 로드, 텍스트 추출, 메타데이터 추가(네, **ePub에 저자 추가**도 합니다), 그리고 최종적으로 표준을 준수하는 ePub 파일을 작성합니다. 끝까지 진행하면 바로 배포할 수 있는 ePub과 각 단계에 대한 확실한 이해를 얻을 수 있어, 다중 페이지 책, 사용자 정의 폰트, 혹은 DRM 없는 배포 등으로 코드를 확장할 수 있습니다. + +## 필요 사항 + +- **.NET 6** 이상 (API는 .NET Standard 2.0+에서도 작동합니다) +- **Aspose.OCR for .NET** – Aspose 웹사이트에서 무료 체험판을 받을 수 있습니다. +- `book_page.png` 와 같은 스캔 이미지가 디스크 어딘가에 위치해 있어야 합니다. +- 선호하는 IDE (Visual Studio, Rider, 또는 VS Code – 스크린샷에서는 Visual Studio를 사용합니다). + +추가 NuGet 패키지는 필요하지 않습니다; Aspose.OCR이 ePub 내보내기에 필요한 모든 것을 포함하고 있습니다. + +--- + +![스캔 이미지에서 ePub 만들기](/images/how-to-create-epub.png "Aspose OCR을 사용하여 스캔 이미지에서 ePub 만들기") + +## 1단계 – 프로젝트 설정 및 Aspose.OCR 설치 + +먼저, 새 콘솔 앱을 생성합니다: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Aspose.OCR 패키지를 추가합니다: + +```bash +dotnet add package Aspose.OCR +``` + +이것으로 끝입니다 – 이 라이브러리는 OCR과 ePub 내보내기 기능을 모두 포함하고 있어 추가 종속성이 필요하지 않습니다. + +## 2단계 – OCR을 위한 이미지 로드 + +먼저 **이미지에서 텍스트를 추출**하려면 OCR 엔진에 읽을 대상을 제공해야 합니다. `ImageStream.FromFile` 헬퍼를 사용하면 이것이 매우 간단해집니다: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **팁:** 이미지가 임베디드 리소스에 포함되어 있다면 `FromFile` 대신 `ImageStream.FromResource`를 사용하세요. + +## 3단계 – 이미지에서 텍스트 추출 + +이제 엔진이 실제로 픽셀을 읽어 유니코드 문자열로 변환합니다. `Recognize` 메서드가 핵심 작업을 수행합니다. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +`Recognize`를 별도로 호출하는 이유는 원시 OCR 결과를 확인하고, 언어 설정을 조정하거나, ePub 생성으로 넘어가기 전에 맞춤법 검사를 수행할 수 있기 때문입니다. + +## 4단계 – ePub 내보내기 옵션 준비 (ePub에 저자 추가) + +완성도 높은 ePub을 만들려면 텍스트만 덤프하는 것이 아니라 적절한 메타데이터도 필요합니다. `EpubExportOptions` 클래스를 사용하면 **ePub에 저자 추가**를 포함해 제목을 설정하고 원본 이미지를 포함할지 여부를 결정할 수 있습니다. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +여러 페이지가 있는 경우 루프 안에서 `ocrEngine.Image = …`와 `ocrEngine.Recognize()`를 계속 호출하면 각 호출이 새로운 페이지의 내용을 동일한 ePub 문서에 추가합니다. + +## 5단계 – 이미지에서 ePub으로 변환 및 내보내기 + +텍스트를 추출하고 메타데이터를 설정했으면, 마지막 단계는 한 줄 코드로 ePub 파일을 디스크에 저장하는 것입니다: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +생성된 `book.epub`는 Calibre, Apple Books 또는 EPUB을 지원하는 모든 리더에서 열 수 있습니다. `IncludeImages = true`로 설정했기 때문에 원본 PNG가 그림 페이지로 포함되어 스캔된 원본의 모습을 유지합니다. + +## 전체 작동 예제 + +모든 단계를 합치면, 아래와 같이 완전한 실행 가능한 프로그램이 됩니다: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### 예상 출력 + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +`book.epub`를 선호하는 리더에서 열면 제목 페이지와 저자 라인(“Unknown”이라고 표시되더라도) 그리고 선택 가능한 텍스트와 함께 스캔 이미지가 표시됩니다. + +## 일반적인 질문 및 엣지 케이스 + +### OCR 언어가 영어가 아닌 경우는 어떻게 하나요? + +Aspose.OCR은 70개 이상의 언어를 지원합니다. `Recognize`를 호출하기 전에 `Language` 속성을 설정하면 됩니다: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### 다중 페이지 책을 처리하려면? + +로드 및 인식 로직을 `foreach` 루프로 감싸면 됩니다: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +각 반복은 새로 인식된 텍스트를 동일한 ePub에 추가하여 페이지 순서를 유지합니다. + +### 원본 이미지를 제외할 수 있나요? + +물론입니다 – `EpubExportOptions`에서 `IncludeImages = false`로 설정하면 됩니다. 이렇게 하면 결과 ePub은 순수한 재흐름 텍스트만 포함해 파일 크기가 크게 감소합니다. + +### 사용자 정의 폰트나 스타일은 어떻게 하나요? + +Aspose.OCR의 ePub 내보내기 기능은 `EpubExportOptions`의 `Css` 속성을 통해 CSS 스타일시트를 제공할 수 있게 해줍니다. 이를 통해 특정 폰트 패밀리, 줄 높이, 여백 등을 강제할 수 있습니다. + +## 결론 + +이제 Aspose OCR을 사용해 C#에서 스캔 이미지로 **ePub을 만드는 방법**을 알게 되었습니다. 이 튜토리얼은 **OCR을 위한 이미지 로드**, **이미지에서 텍스트 추출**, **ePub에 저자 추가**까지, 마지막으로 **이미지를 ePub으로 변환**을 단일 내보내기 호출로 수행하는 전체 과정을 다루었습니다. 전체 코드 샘플을 통해 전체 라이브러리를 일괄 처리하거나, 사용자 정의 표지를 삽입하거나, 워크플로를 웹 API에 통합하는 등 솔루션을 확장할 수 있습니다. + +다음 도전에 준비가 되었나요? PDF를 ePub으로 변환해 보거나, 노이즈가 많은 스캔에서 정확도를 높이기 위해 OCR 신뢰도 임계값을 실험해 보세요. 강력한 OCR과 유연한 ePub 생성 기능을 결합하면 가능성은 무한합니다. + +코딩을 즐기시고, 이제 막 만든 ePub을 즐겁게 읽으세요! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/korean/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..783238032 --- /dev/null +++ b/ocr/korean/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-03-07 +description: C#에서 OCR을 사용하여 이미지 파일에서 텍스트를 추출하는 방법을 배웁니다. 이 가이드는 오프라인 OCR, 이미지에서 텍스트 + 변환, 그리고 OCR을 위한 이미지 로드를 보여줍니다. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: ko +og_description: C#에서 OCR을 사용하여 오프라인으로 이미지에서 텍스트를 추출하는 방법. 단계별 코드, 팁 및 이미지에서 텍스트로 변환하는 + 전체 설명. +og_title: C#에서 OCR을 사용하는 방법 – 완전 오프라인 가이드 +tags: +- OCR +- C# +- Aspose +title: C#에서 OCR 사용 방법 – 오프라인으로 이미지에서 텍스트 추출 +url: /ko/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#에서 OCR 사용 방법 – 이미지에서 오프라인으로 텍스트 추출 + +클라우드에 데이터를 전송하지 않고 .NET 프로젝트에서 **OCR을 어떻게 사용하는지** 궁금해 본 적 있나요? 당신만 그런 것이 아닙니다. 많은 개발자들이 보안된 워크스테이션에서 *이미지에서 텍스트를 추출*해야 하며, 네트워크 트래픽이 민감한 정보를 노출할 수 있다고 우려합니다. + +좋은 소식은? Aspose.OCR을 사용하면 PNG, JPEG 또는 PDF에서 텍스트를 완전히 오프라인으로 인식할 수 있습니다. 이 튜토리얼에서는 OCR을 위한 이미지를 로드하고, 엔진을 오프라인 모드로 구성한 뒤, 몇 줄의 C# 코드만으로 **이미지를 텍스트로 변환**하는 과정을 단계별로 안내합니다. + +이 가이드를 끝까지 따라오면 다음을 수행할 수 있습니다: + +* Aspose.OCR NuGet 패키지를 설치합니다. +* OCR 엔진을 오프라인 처리용으로 설정합니다. +* OCR을 위해 이미지를 로드하고 텍스트 내용을 추출합니다. + +외부 서비스나 API 키 없이—어떤 Windows 또는 Linux 머신에서도 실행되는 순수 C# 코드입니다. + +--- + +## 사전 요구 사항 + +시작하기 전에 다음이 준비되어 있는지 확인하세요: + +* .NET 6.0 SDK 이상 (코드는 .NET Framework 4.7+에서도 작동합니다). +* Visual Studio 2022, VS Code 또는 C#을 지원하는 편집기. +* **Aspose.OCR** 라이브러리 복사본 – NuGet(`Aspose.OCR`)에서 가져올 수 있습니다. +* 라이브러리와 함께 제공되는 OCR 리소스 폴더(`Resources`) (언어 데이터 파일 포함). +* 알려진 디렉터리에 배치된 샘플 이미지(예: `offline_test.png`). + +> **팁:** 리소스 폴더를 실행 파일 옆에 두면 `ResourcesPath` 구성이 간단해집니다. + +## 1단계: Aspose.OCR NuGet 패키지 설치 + +먼저, 라이브러리를 프로젝트에 추가합니다. 프로젝트 폴더에서 터미널을 열고 다음을 실행하세요: + +```bash +dotnet add package Aspose.OCR +``` + +또는 Visual Studio UI를 선호한다면 **Dependencies → Manage NuGet Packages**를 마우스 오른쪽 버튼으로 클릭하고, *Aspose.OCR*을 검색한 뒤 **Install**을 클릭합니다. + +> 패키지를 설치하면 필요한 모든 바이너리가 함께 가져와지므로 추가 DLL이 필요하지 않습니다. + +## 2단계: OCR 엔진 생성 및 구성 (OCR 사용 방법 – 오프라인 모드) + +이제 OCR 엔진을 인스턴스화하고 **오프라인**으로 동작하도록 설정합니다. 이렇게 하면 인식 중에 네트워크 트래픽이 발생하지 않습니다. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**왜 오프라인인가?** +`EngineMode`가 `Online`으로 설정되면 엔진이 Aspose 클라우드에 연결해 언어 팩을 실시간으로 다운로드합니다. 규제된 환경(금융, 의료 등)에서는 이러한 트래픽이 금지되는 경우가 많습니다. 오프라인 모드를 강제하면 모든 작업이 로컬 머신에 머무르게 됩니다. + +## 3단계: 엔진에 OCR 리소스 폴더 지정 + +OCR 엔진은 문자 인식을 위해 언어 데이터(학습 모델)가 필요합니다. 해당 파일이 위치한 경로를 지정하세요: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +폴더 위치가 확실하지 않다면 NuGet 패키지 디렉터리(`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`)에서 찾을 수 있습니다. 배포를 쉽게 하려면 전체 폴더를 프로젝트에 복사하세요. + +## 4단계: OCR용 이미지 로드 (Load Image for OCR) + +엔진에 지원되는 비트맵을 전달할 수 있습니다. 여기서는 디스크에 저장된 PNG를 로드합니다: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**팁:** 스트림에서 이미지를 처리해야 할 경우(예: API를 통해 업로드된 경우) `ImageStream.FromStream(yourStream)`를 사용하세요. + +## 5단계: 인식 프로세스 실행 및 이미지 텍스트 변환 + +모든 준비가 끝났으면 OCR을 실행합니다. `Recognize()` 메서드가 핵심 작업을 수행하며, 추출된 텍스트는 `Text` 속성을 통해 확인할 수 있습니다. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +## 6단계: 추출된 텍스트 출력 + +마지막으로 결과를 표시합니다. 콘솔 앱에서는 콘솔에 출력하면 되고, 웹 API에서는 문자열을 JSON으로 반환하면 됩니다. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +프로그램을 실행하면 `offline_test.png`의 텍스트 내용이 출력됩니다. 예를 들어 이미지에 *“Hello, World!”* 라는 문구가 있으면 다음과 같이 표시됩니다: + +``` +=== OCR Result === +Hello, World! +``` + +## 전체 작업 예제 + +아래는 완전한 실행 가능한 프로그램입니다. 새 콘솔 프로젝트(`dotnet new console`)에 복사‑붙여넣기하고 경로를 환경에 맞게 조정하세요. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **예상 출력:** 콘솔에 PNG 파일에 포함된 정확한 텍스트가 출력됩니다. 이미지가 흐릿하면 인식 오류가 발생할 수 있으니 아래 문제 해결 섹션을 참고하세요. + +## 흔히 발생하는 문제 및 팁 (PNG에서 텍스트 효율적으로 인식) + +| Issue | Why it Happens | How to Fix | +|-------|----------------|------------| +| **출력 없음** | ResourcesPath가 잘못된 폴더를 가리키거나 언어 파일이 누락되었습니다. | `eng.traineddata`(또는 다른 언어 파일)가 폴더에 있는지 확인하고 경로 문자열을 다시 확인하세요. | +| **깨진 문자** | 이미지 해상도가 너무 낮거나 이진화되지 않았습니다. | 이미지를 전처리하세요(해상도(DPI) 증가, `ImageProcessor`를 사용해 선명하게). | +| **성능 지연** | 큰 이미지가 전체 해상도로 처리됩니다. | OCR에 전달하기 전에 이미지 너비를 최대 2000 px로 리사이즈하세요. | +| **지원되지 않는 형식** | 특이한 픽셀 형식의 BMP를 사용하고 있습니다. | 먼저 이미지를 PNG 또는 JPEG로 변환하세요(`System.Drawing.Image.Save`). | + +**팁:** 여러 언어를 인식해야 한다면 `Recognize()` 호출 전에 `ocrEngine.Settings.Language = Language.English | Language.French;`와 같이 설정하세요. + +## 자주 묻는 질문 + +**Q: 이 코드를 Linux에서 사용할 수 있나요?** +네. Aspose.OCR은 크로스‑플랫폼이며, 네이티브 라이브러리가 존재하면 됩니다(NuGet 패키지에 포함되어 있습니다). + +**Q: Resources 폴더가 없으면 어떻게 하나요?** +Aspose 웹사이트에서 무료 언어 팩을 다운로드하거나 NuGet 패키지(`.../aspose.ocr//resources`)에서 추출할 수 있습니다. + +**Q: 신뢰도 점수를 얻을 방법이 있나요?** +네. `Recognize()` 후에 `ocrEngine.RecognizedWords`를 확인하면 각 단어에 `Confidence` 속성이 포함되어 있습니다. + +## 결론 + +우리는 C#에서 **OCR을 사용하는 방법**을 다루었으며, *이미지 파일에서 텍스트를 추출*을 완전히 오프라인으로 수행했습니다. Aspose.OCR을 설치하고 `EngineMode.Offline`을 설정하고, 리소스를 지정하고, 이미지를 로드한 뒤 `Recognize()`를 호출하면 인터넷에 접속하지 않고도 안정적으로 **이미지를 텍스트로 변환**할 수 있습니다. + +위 코드를 사용해 이미지 경로를 교체하고 검색 가능한 PDF, 데이터 입력 자동화, 접근성 도구와 같은 기능을 구축해 보세요. 다음 단계로는 **PNG에서 텍스트 대량 인식**을 시도하거나, 엔진을 ASP.NET Core API에 통합해 프론트엔드 애플리케이션에 OCR 결과를 제공할 수 있습니다. + +코딩을 즐기세요, 그리고 자유롭게 실험해 보세요—엔진 설정만 제대로 하면 OCR은 생각보다 관대합니다! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/korean/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..3b2e593b9 --- /dev/null +++ b/ocr/korean/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: C#에서 Aspose.OCR을 사용해 힌디어 텍스트를 인식하고 OCR용 이미지를 로드하는 방법을 배워보세요. 단계별 설정, + 코드 및 팁. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: ko +og_description: Aspose OCR를 사용하여 C#에서 힌디어 텍스트를 인식하는 방법을 알아보세요. OCR용 이미지 로드, 언어 팩 설정 + 및 모범 사례 팁을 포함합니다. +og_title: 힌디어 텍스트 인식 – 전체 Aspose OCR 튜토리얼 +tags: +- C# +- OCR +- Aspose +- Hindi +title: C#에서 힌디어 텍스트 인식 – 전체 Aspose OCR 가이드 +url: /ko/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 힌디어 텍스트 인식 – 전체 Aspose OCR 튜토리얼 + +스캔한 영수증에서 **힌디어 텍스트를 인식**해야 했지만 어디서 시작해야 할지 몰랐던 적이 있나요? 당신만 그런 것이 아닙니다. 인도 시장을 겨냥한 많은 앱에서 힌디어 문자를 안정적으로 추출하는 것은 움직이는 표적을 쫓는 느낌일 수 있습니다. 다행히 Aspose.OCR은 올바른 **load image for OCR** 단계와 엔진에 힌디어 언어 리소스를 지정하기만 하면 식은 죽 먹기입니다. + +이 가이드에서는 C#에서 작동하는 OCR 파이프라인을 구축하는 데 필요한 모든 과정을 단계별로 안내합니다. 최종적으로 힌디어 언어 팩을 다운로드하고, 이미지를 로드하고, 인식을 실행한 뒤 결과 텍스트를 콘솔에 출력하는 실행 가능한 프로그램을 얻게 됩니다. 모호한 “문서 보기” 링크는 없으며, 어떤 .NET 프로젝트에든 바로 넣어 사용할 수 있는 독립형 솔루션입니다. + +## 필요 사항 + +- **.NET 6+** (또는 .NET Framework 4.7.2+). API는 버전 간에 동일하지만, 최신 런타임이 더 나은 성능을 제공합니다. +- **Aspose.OCR for .NET** NuGet 패키지. `dotnet add package Aspose.OCR` 명령으로 설치합니다. +- **Hindi language pack** – Aspose는 기본적으로 포함하지 않고 다운로드 가능한 리소스로 제공합니다. +- 힌디어 텍스트가 포함된 이미지 파일(`hindi_receipt.jpg` 등). JPG, PNG, BMP 등 일반적인 포맷이면 모두 작동합니다. +- 적절한 IDE(Visual Studio, Rider, 또는 VS Code). + +이것만 있으면 됩니다—외부 OCR 엔진도, 클라우드 키도 필요 없으며, 로컬 라이브러리만 있으면 됩니다. + +## 단계 1: Hindi 언어 팩 다운로드 – 리소스 설정 + +OCR 엔진이 데바나가리 문자를 이해하려면 먼저 힌디어 언어 리소스를 가져와야 합니다. 이는 한 번만 수행되는 작업으로, 일반적으로 애플리케이션 설치 시 또는 CI/CD 과정에서 수행됩니다. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Why this matters:** OCR 엔진은 언어별 모델을 사용해 픽셀 패턴을 유니코드 문자로 매핑합니다. 힌디어 팩이 없으면 깨진 라틴 문자 출력이 되거나 전혀 결과가 나오지 않습니다. + +> **Pro tip:** 대상 머신에서 쓰기 가능한 폴더에 팩을 캐시하세요. Azure App Service에 배포하는 경우 `D:\home\site\wwwroot\Resources` 폴더를 사용합니다. + +## 단계 2: OCR 엔진 구성 – 리소스 지정 + +리소스가 준비되었으니 `OcrEngine` 인스턴스를 생성하고 언어 파일을 찾을 위치를 지정합니다. 여기서 **primary language**(주 언어)도 설정합니다. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Why we do this:** `ResourcesPath`는 엔진과 다운로드된 파일을 연결하는 다리 역할을 합니다. 이 단계를 건너뛰면 엔진이 내장된(영어 전용) 모델로 돌아가게 되며, **힌디어 텍스트를 올바르게 인식**할 수 없습니다. + +## 단계 3: OCR용 이미지 로드 – 엔진에 올바른 입력 제공 + +엔진이 준비되었으니 다음 단계는 **load image for OCR**입니다. Aspose는 대부분의 일반 이미지 포맷을 지원하는 편리한 `ImageStream.FromFile` 헬퍼를 제공합니다. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Large images**는 처리 속도를 늦출 수 있습니다. 고해상도 스캔을 다루는 경우 먼저 다운샘플링(`ImageProcessor.Resize`)을 고려하세요. +- **Incorrect orientation**(회전된 스캔)은 결과가 좋지 않게 만듭니다. 필요하면 `ocrEngine.Image.Rotate(90)`을 사용하세요. + +## 단계 4: 인식 실행 – 텍스트 추출 + +이제 엔진에게 픽셀을 읽어 유니코드 문자열로 변환하도록 요청합니다. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**What to expect:** 이미지가 선명하면 영수증에 표시된 힌디어 문자가 그대로 출력됩니다. 예를 들어, 샘플 영수증은 다음과 같이 출력될 수 있습니다: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +깨진 문자가 나오면 언어 팩이 올바르게 다운로드되었는지, 그리고 `ocrEngine.Settings.Language`가 `Language.Hindi`로 설정되었는지 다시 확인하세요. + +## 단계 5: 전체 정리 – 완전한 실행 프로그램 + +아래는 콘솔 프로젝트에 복사‑붙여넣기 할 수 있는 전체 소스 파일입니다. 위의 모든 단계와 최소한의 오류 처리를 포함합니다. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +`Program.cs` 파일로 저장하고 `dotnet run`을 실행하면 콘솔에 힌디어 텍스트가 출력됩니다. + +## 자주 묻는 질문 (FAQ) + +### 한 번에 여러 언어를 인식할 수 있나요? +예. `ocrEngine.Settings.Language`를 배열로 설정하면 됩니다. 예: `new[] { Language.Hindi, Language.English }`. 엔진은 두 스크립트의 문자를 모두 감지하려 시도합니다. + +### 이미지가 흐릿하면 어떻게 해야 하나요? +`ImageProcessor`를 사용해 전처리하는 것을 고려하세요—샤프닝이나 대비 향상을 적용한 뒤 `ocrEngine.Image`에 할당합니다. + +### Linux/macOS에서도 작동하나요? +물론입니다. Aspose.OCR은 크로스‑플랫폼이며, 네이티브 종속성이 존재하는지 확인하면 됩니다(보통 NuGet 패키지에 포함되어 있습니다). + +### 저해상도 영수증의 정확도를 높이려면? +스캔 시 DPI(인치당 점)를 높이거나, OCR 전에 이미지의 해상도를 최소 300 DPI로 프로그램matically 재샘플링하세요. + +## 결론 + +우리는 Aspose.OCR을 사용해 **힌디어 텍스트를 인식**하는 데 필요한 모든 내용을 다루었습니다—힌디어 언어 팩 다운로드, 엔진 구성, 올바른 **load image for OCR**, 결과 추출 및 출력까지. 위의 완전한 코드 스니펫은 어떤 C# 콘솔 앱에도 바로 넣어 사용할 수 있으며, 선택적인 팁은 흐릿한 스캔이나 다중 언어 문서와 같은 일반적인 예외 상황을 처리하는 데 도움이 됩니다. + +다음 단계가 준비되셨나요? OCR 출력 결과를 번역 API에 전달하거나, 추출된 데이터를 데이터베이스에 저장해 분석에 활용해 보세요. 또한 다른 인도 언어도 실험해 볼 수 있습니다—Aspose는 Tamil, Bengali 등도 지원하므로 `Language.Hindi`를 원하는 열거형 값으로 교체하면 됩니다. + +코딩 즐겁게 하시고, OCR 결과가 언제나 선명하기를 바랍니다! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/korean/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/korean/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..98520bdc8 --- /dev/null +++ b/ocr/korean/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR을 사용하여 이미지에서 텍스트를 빠르게 인식하세요. djvu를 텍스트로 변환하고, 이미지에서 텍스트를 추출하며, + OCR을 위해 이미지를 로드하는 방법을 단계별 C# 튜토리얼에서 배워보세요. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: ko +og_description: Aspose OCR을 사용하여 C#에서 이미지의 텍스트를 인식합니다. 이 가이드는 djvu를 텍스트로 변환하고, 이미지에서 + 텍스트를 추출하며, OCR을 위해 이미지를 로드하는 방법을 실용적인 팁과 함께 보여줍니다. +og_title: 이미지에서 텍스트 인식 – 전체 C# Aspose OCR 튜토리얼 +tags: +- C# +- Aspose OCR +- Document Processing +title: C#에서 이미지의 텍스트 인식 – 완전한 Aspose OCR 가이드 +url: /ko/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# 이미지에서 텍스트 인식 – 전체 C# Aspose OCR 튜토리얼 + +이미 **recognize text from image** 해야 하는데 어떤 라이브러리가 신뢰할 수 있는 결과를 줄지 몰라 고민한 적 있나요? 당신만 그런 것이 아닙니다. 스캔한 청구서, 오래된 DJVU 파일, 혹은 단순한 PNG 스크린샷을 다루든, 정확한 문자를 추출하는 일은 마치 고대 문자를 해독하는 듯한 느낌일 수 있습니다. + +바로 여기서 Aspose OCR가 전체 과정을 손쉽게 만들어 줍니다. 이 가이드에서는 **convert djvu to text**, **extract text from image**, **load image for OCR** 를 간결한 C# 프로그램으로 구현하는 방법을 단계별로 살펴봅니다. 마지막에는 인식된 문자열을 콘솔에 출력하는 실행 가능한 콘솔 앱을 만들 수 있고, 각 코드 라인의 “왜”에 대해서도 이해하게 될 것입니다. + +## What You’ll Learn + +- .NET 프로젝트에 Aspose OCR 엔진을 설정하는 방법. +- DJVU 파일에서 **load image for OCR** 하는 데 필요한 정확한 코드. +- `Text` 를 읽기 전에 `Recognize()` 를 호출해야 하는 이유. +- 흔히 마주치는 함정(다중 페이지 DJVU, 지원되지 않는 포맷)과 회피 방법. +- 배치 처리용 **convert djvu to text** 를 빠르게 수행하는 방법. + +필요한 것은 최신 .NET SDK(≥ 6.0)와 Aspose OCR 라이선스(무료 체험판으로 테스트 가능)뿐입니다. 외부 서비스나 REST 호출 없이 순수 C#만 사용합니다. + +## Prerequisites + +| 요구 사항 | 이유 | +|-------------|--------| +| .NET 6 SDK 또는 그 이상 | 최신 언어 기능과 향상된 성능 제공. | +| Aspose.OCR NuGet 패키지 (`Install-Package Aspose.OCR`) | 사용할 `OcrEngine` 클래스를 제공합니다. | +| DJVU 파일 (예: `sample.djvu`) | **convert djvu to text** 를 시연하기 위함. | +| C# 콘솔 앱에 대한 기본 지식 | 단계 진행을 자연스럽게 만들어 줍니다. | + +위 항목 중 하나라도 빠져 있다면, 지금 바로 설치하십시오. 그렇지 않으면 코드를 컴파일할 수 없습니다. + +## Step 1 – Install Aspose.OCR and Create the Project + +먼저 새 콘솔 프로젝트를 만들고 OCR 라이브러리를 추가합니다. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro tip:* 대상 프레임워크를 명시적으로 고정하고 싶다면 `--framework net6.0` 플래그를 사용하세요. + +## Step 2 – Initialize the OCR Engine and Load the DJVU Image + +엔진에는 이미지 소스가 필요합니다. Aspose.OCR는 DJVU를 포함한 다양한 포맷을 읽을 수 있으므로 파일 경로만 지정하면 됩니다. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**왜 중요한가:** +- `OcrEngine` 은 진입점이며, 한 번 생성하고 재사용하면 메모리 사용량을 줄일 수 있습니다. +- `ImageStream.FromFile` 은 파일 포맷을 추상화하므로, 나중에 DJVU 파일을 PNG나 TIFF로 교체해도 다른 코드를 수정할 필요가 없습니다—다양한 상황에서 **extract text from image** 를 수행하기에 최적입니다. + +## Step 3 – Run the Recognition Process + +`Recognize()` 를 호출하면 무거운 작업이 시작됩니다. 내부적으로 Aspose는 인쇄된 텍스트와 손글씨 모두를 처리할 수 있는 신경망 기반 분류기를 사용합니다. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Edge case note:* DJVU에 여러 페이지가 포함돼 있어도 `ImageStream.FromFile` 은 첫 번째 페이지만 로드합니다. 모든 페이지를 처리하려면 `ImageStream.FromFile(...).Pages` 를 순회해야 합니다. 대부분의 빠른 확인 작업에서는 첫 페이지만으로 충분합니다. + +## Step 4 – Retrieve and Display the Recognized Text + +인식이 끝나면 엔진은 `Text` 속성에 순수 텍스트 문자열을 채워 넣습니다. 이제 이를 콘솔에 출력하거나 파일에 저장하거나 다른 시스템에 전달할 수 있습니다. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typical output looks like: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +출력이 깨져 보인다면, 원본 이미지의 해상도가 낮은 것이 원인일 수 있습니다. Aspose는 최상의 정확도를 위해 300 dpi 이상을 권장합니다. + +## Full Working Example + +전체를 하나로 합치면, 앞서 만든 프로젝트에 붙여넣을 수 있는 단일 파일(`Program.cs`)이 됩니다. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +다음 명령으로 실행합니다: + +```bash +dotnet run +``` + +터미널에 추출된 문자열이 출력될 것입니다. 이것이 Aspose OCR을 사용해 **recognize text from image** 하는 가장 간단한 방법입니다. + +## Step 5 – Advanced: Converting Multiple DJVU Pages to Text Files + +대량으로 **convert djvu to text** 해야 한다면, 이전 코드를 루프로 확장합니다: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*왜 동작하는가:* `GetPage(i)` 는 요청한 페이지에 대한 `Image` 객체를 반환하므로 동일한 `OcrEngine` 인스턴스를 재사용할 수 있습니다. 각 페이지의 텍스트는 별도의 `.txt` 파일에 저장되어 깔끔한 **convert djvu to text** 파이프라인을 구성합니다. + +## Common Questions & Gotchas + +- **Can I extract text from a JPEG instead of DJVU?** + 물론 가능합니다. `FromFile` 에서 파일 확장자를 JPEG 로 바꾸기만 하면 됩니다. 동일한 코드가 **how to extract text from image** 에 적용됩니다. + +- **What if the OCR result contains extra line breaks?** + `String.Replace("\r\n", " ")` 혹은 정규식을 사용해 공백을 정규화하세요. + +- **Do I need a license for production use?** + 무료 체험판은 최대 100 페이지까지 지원합니다. 무제한 사용을 원한다면 라이선스를 구매하고 `License license = new License(); license.SetLicense("Aspose.OCR.lic");` 를 엔진 생성 전에 호출하세요. + +- **Is the engine thread‑safe?** + 아닙니다. 스레드당 별도의 `OcrEngine` 을 생성하거나 락으로 접근을 보호해야 합니다. + +## Tips for Better Accuracy + +1. **Increase DPI** – 소스 변환을 제어할 수 있다면 300 dpi 이상으로 이미지를 출력하세요. +2. **Pre‑process the image** – 간단한 이진화(`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) 로 잡음이 많은 스캔의 결과를 개선할 수 있습니다. +3. **Specify language** – `ocrEngine.Language = Language.English;` 로 문자 집합을 제한하면 인식 속도와 정확도가 향상됩니다. + +## Conclusion + +이제 Aspose OCR을 사용해 **recognize text from image** 하는 완전한 실행 예제를 갖추었습니다. 또한 **convert djvu to text**, **how to extract text from image**, **load image for OCR** 방법을 모두 확인했습니다. 코드는 독립적이며 .NET 6+ 런타임 어디서든 동작하고, 다중 페이지 DJVU 문서를 배치 처리하도록 확장할 수 있습니다. + +다음 단계로 고려해볼 수 있는 내용: + +- 다국어 DJVU 파일을 위한 **language detection** 추가. +- OCR 출력물을 검색 인덱스(예: Elasticsearch)와 연동. +- 추출된 텍스트를 검색 가능한 PDF 로 변환하기 위해 Aspose의 PDF 변환 기능 활용. + +DPI를 조정하고 다양한 이미지 포맷을 실험해 보면서 OCR 엔진이 무거운 작업을 대신하도록 해보세요. Happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/ocr-configuration/_index.md b/ocr/polish/net/ocr-configuration/_index.md index 53dfac79c..ebd61718f 100644 --- a/ocr/polish/net/ocr-configuration/_index.md +++ b/ocr/polish/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ Odblokuj moc rozpoznawania obrazu OCR w .NET dzięki Aspose.OCR. Łatwo wyodręb Uzyskaj potężne możliwości OCR z Aspose.OCR dla .NET. Bezproblemowo wyodrębniaj tekst z obrazów w różnych językach. ### [OCROperation with List in OCR Image Recognition](./ocr-operation-with-list/) Wykorzystaj potencjał Aspose.OCR dla .NET. Łatwo wykonuj rozpoznawanie obrazu OCR przy użyciu list. Zwiększ produktywność i wyodrębnianie danych w swoich aplikacjach. +### [Odczytaj tekst z PNG – wyodrębnij tekst cyrylicą przy użyciu Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Dowiedz się, jak wyodrębnić tekst cyrylicą z plików PNG przy użyciu Aspose OCR w .NET. ### Typowe przypadki użycia - **Wyodrębnianie tekstu z obrazów** ze skanowanych faktur w celu automatycznej księgowości. @@ -102,4 +104,4 @@ A: Tak, obiekt `OcrResult` udostępnia wartości pewności, które możesz progr {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/polish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..0ea9811fd --- /dev/null +++ b/ocr/polish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,197 @@ +--- +category: general +date: 2026-03-07 +description: Dowiedz się, jak odczytywać tekst z plików PNG i wyodrębniać tekst w + cyrylicy przy użyciu Aspose OCR, konwertować obraz na tekst oraz pobrać pakiet językowy + cyrylicy. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: pl +og_description: Dowiedz się, jak odczytywać tekst z plików PNG, wyodrębniać tekst + cyrylicą i konwertować obraz na tekst przy użyciu Aspose OCR w C#. +og_title: odczytaj tekst z png – wyodrębnij tekst cyrylicą przy użyciu Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: read text from png – extract Cyrillic text with Aspose OCR +url: /pl/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# odczytaj tekst z png – wyodrębnij tekst cyrylicą przy użyciu Aspose OCR + +Potrzebujesz **odczytać tekst z png** i wyodrębnić znaki cyrylicy? W tym przewodniku pokażemy, jak odczytać tekst z png przy użyciu Aspose OCR, wyodrębnić tekst cyrylicą i **przekształcić obraz w tekst** w zaledwie kilku linijkach C#. + +Jeśli kiedykolwiek patrzyłeś na zrzut ekranu rosyjskiej faktury i zastanawiałeś się, jak przenieść słowa do przeszukiwalnego ciągu znaków, jesteś we właściwym miejscu. Omówimy także, jak **automatycznie pobrać pakiet językowy cyrylicy**, aby nie musieć szukać dodatkowych plików. + +## Co osiągniesz + +* **Załaduj obraz do OCR** bezpośrednio z dysku lub strumienia. +* Ustaw silnik na **język cyrylicy** bez ręcznego pobierania. +* Uruchom rozpoznawanie i **wyodrębnij tekst cyrylicą** z pliku PNG. +* Zobacz rozpoznany tekst wydrukowany w konsoli – czysty, zwykły wynik tekstowy, który możesz wprowadzić do baz danych, indeksów wyszukiwania lub dowolnego innego przepływu pracy. + +Brak zewnętrznych usług, brak kluczy w chmurze, tylko pakiet NuGet Aspose OCR i kilka linijek C#. + +## Wymagania wstępne + +* .NET 6.0 lub nowszy (kod działa na .NET Core, .NET Framework oraz .NET 5+). +* Visual Studio 2022 lub dowolny edytor, który lubisz. +* Pakiet NuGet Aspose.OCR (`dotnet add package Aspose.OCR`). +* Obraz PNG zawierający znaki cyrylicy – na przykład `cyrillic_sample.png` umieszczony w folderze o nazwie `YOUR_DIRECTORY`. + +> **Wskazówka:** Jeśli używasz Visual Studio, kliknij prawym przyciskiem projektu → **Manage NuGet Packages** → wyszukaj „Aspose.OCR” i zainstaluj najnowszą stabilną wersję. + +--- + +## Krok 1 – Zainstaluj Aspose OCR i utwórz silnik + +Najpierw potrzebujemy instancji silnika OCR. Klasa `OcrEngine` jest punktem wejścia dla wszystkich operacji. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Dlaczego to ważne:** Silnik kapsułkuje pakiety językowe, dane obrazu i opcje rozpoznawania. Utworzenie go raz i ponowne użycie w wielu obrazach może poprawić wydajność. + +--- + +## Krok 2 – **załaduj obraz do ocr** i ustaw język + +Teraz informujemy silnik, który obraz ma przetworzyć i jakiego języka szukać. Ustawienie `Language.Cyrillic` automatycznie pobiera wymagany pakiet językowy przy pierwszym uruchomieniu. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Przypadek brzegowy:** Jeśli Twój PNG jest bardzo duży (powyżej 5 MB), możesz najpierw zmienić jego rozmiar, aby przyspieszyć rozpoznawanie. Właściwość `Image` akceptuje również `Stream`, więc możesz wczytać go z pamięci, żądania sieciowego lub Azure Blob bez dotykania systemu plików. + +--- + +## Krok 3 – **przekształć obraz w tekst** jednym wywołaniem + +Rozpoznawanie jest tak proste, jak wywołanie `Recognize()`. Po tym wywołaniu właściwość `Text` zawiera wyodrębniony ciąg. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Co się dzieje pod maską?** Aspose uruchamia klasyfikator oparty na sieci neuronowej, wytrenowany na milionach glifów cyrylicy. Biblioteka abstrahuje całą tę złożoność, więc otrzymujesz czysty Unicode. + +--- + +## Krok 4 – Wyświetl wynik (lub przekieruj go dalej) + +Dla celów demonstracyjnych wydrukujemy tekst w konsoli, ale możesz go łatwo zapisać do pliku, bazy danych lub przekazać do indeksu wyszukiwania. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Oczekiwany wynik** (zakładając, że `cyrillic_sample.png` zawiera frazę „Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Jeśli wynik wygląda na zniekształcony, sprawdź ponownie, czy obraz jest wyraźny i czy ustawiłeś `Language.Cyrillic`. Silnik domyślnie używa angielskiego, co spowodowałoby traktowanie znaków cyrylicy jako nieznane symbole. + +--- + +## Krok 5 – Pełny, gotowy do uruchomienia przykład + +Łącząc wszystko razem, oto samodzielny program, który możesz skopiować i wkleić do nowego projektu konsolowego. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Zapisz plik jako `Program.cs`, uruchom `dotnet run`, a powinieneś zobaczyć wydrukowany tekst cyrylicą. + +--- + +## Częste pytania i rozwiązywanie problemów + +| Pytanie | Odpowiedź | +|----------|--------| +| **Co zrobić, jeśli pakiet językowy nie zostanie pobrany?** | Upewnij się, że masz dostęp do internetu. Pakiet jest buforowany w `%USERPROFILE%\.Aspose\OCR\Languages`. Usunięcie tego folderu wymusi ponowne pobranie. | +| **Czy mogę odczytywać inne języki oprócz cyrylicy?** | Oczywiście – zamień `Language.Cyrillic` na `Language.English`, `Language.Arabic` itp. Ta sama logika automatycznego pobierania ma zastosowanie. | +| **Mój PNG jest zaszumiony – wyniki są słabe. Co mogę zrobić?** | Wstępnie przetwórz obraz: zwiększ kontrast, konwertuj do odcieni szarości lub zastosuj filtr medianowy. Aspose OCR oferuje także opcje `Settings.ImagePreprocess`. | +| **Czy istnieje sposób na uzyskanie prostokątów otaczających każde słowo?** | Tak, po `Recognize()` możesz sprawdzić `ocrEngine.Regions`, które zwraca prostokąty dla każdego wykrytego słowa. | +| **Czy potrzebuję licencji do użytku produkcyjnego?** | Darmowa wersja ewaluacyjna działa do 100 stron. Dla projektów komercyjnych zakup licencję – usuwa znak wodny ewaluacji i odblokowuje szybkie przetwarzanie wsadowe. | + +## Kolejne kroki – rozszerzanie rozwiązania + +* **Przetwarzanie wsadowe:** Przejdź przez folder PNG‑ów, zbierz wszystkie teksty do pliku CSV. +* **Integracja z Azure Cognitive Search:** Zindeksuj wyodrębnione ciągi cyrylicą dla szybkiego wyszukiwania. +* **Połączenie z konwersją PDF:** Użyj Aspose.PDF do konwersji zeskanowanych PDF‑ów na PNG, a następnie uruchom ten sam przepływ OCR. + +Wszystkie te scenariusze wykorzystują podstawowy wzorzec, który właśnie omówiliśmy: **załaduj obraz do OCR → ustaw język → rozpoznaj → użyj tekstu**. + +## Podsumowanie + +Teraz wiesz, jak **odczytać tekst z png**, **wyodrębnić tekst cyrylicą** i **przekształcić obraz w tekst** przy użyciu Aspose OCR w C#. Kluczowe kroki to stworzenie silnika, załadowanie obrazu, wybranie odpowiedniego języka (co automatycznie **pobiera pakiet językowy cyrylicy**), a na końcu wywołanie `Recognize()`. + +Wypróbuj to na różnych obrazach, eksperymentuj z opcjami `Settings` i obserwuj, jak Twoje aplikacje stają się przeszukiwalne, wielojęzyczne i znacznie bardziej inteligentne. + +Miłego kodowania i zachęcamy do zostawienia komentarza, jeśli napotkasz jakiekolwiek problemy! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/ocr-optimization/_index.md b/ocr/polish/net/ocr-optimization/_index.md index 9273072bb..32f3c3601 100644 --- a/ocr/polish/net/ocr-optimization/_index.md +++ b/ocr/polish/net/ocr-optimization/_index.md @@ -59,9 +59,11 @@ Zwiększony moduł OCR przy użyciu Aspose.OCR dla .NET, eksplorując [filtry ws Funkcja dodatkowa OCR dzięki [Aspose.OCR for .NET](./result-correction-with-spell-checking/). Nasz samouczek o korekcji wyników przy użyciu sprawdzania pisowni umożliwia rozszerzenie słowników, poprawianie błędów ortograficznych i zapewnianie wykrywania tekstu bez błędów. Zanurz się w świecie precyzji z Aspose.OCR. -## Zapisz wynik wielostronicowy jako dokument w rozpoznawaniu obrazu OCR +### [Przykład Aspose OCR – Włącz sprawdzanie pisowni i napraw błędy w C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Dowiedz się, jak włączyć sprawdzanie pisowni i automatycznie korygować błędy OCR w aplikacji C# przy użyciu Aspose.OCR. -Bezproblemowo zapisz wielostronne wyniki OCR jako dokumenty przy użyciu Aspose.OCR dla .NET. Nasz [przewodnik krok po kroku](./save-multipage-result-as-document/) odblok posiada pełną moc tworzenia dokumentów. Płynnie zintegrowane Aspose.OCR i rozwiązania OCR w wielostronicowych dokumentach z urządzeniem. +### [Zapisz wielostronicowy wynik jako dokument w rozpoznawaniu obrazu OCR](./save-multipage-result-as-document/) +Odblokuj potencjał Aspose.OCR for .NET. Bezproblemowo zapisz wielostronicowe wyniki OCR jako dokumenty dzięki temu kompleksowemu przewodnikowi krok po kroku. Dodatek z listami samouczków Aspose.OCR Dla .NET można uzyskać dostęp do dodatkowych zasobów i być na bieżąco z najnowszymi wydaniami w aktualizacjach OCR. Zanurz się w świecie precyzji i wydajności dzięki samouczkom Aspose.OCR dla .NET. @@ -81,6 +83,12 @@ Popraw dokładność OCR przy użyciu Aspose.OCR for .NET. Poprawiaj pisownię, ### [Zapisz wielostronicowy wynik jako dokument w rozpoznawaniu obrazu OCR](./save-multipage-result-as-document/) Odblokuj potencjał Aspose.OCR for .NET. Bezproblemowo zapisz wielostronicowe wyniki OCR jako dokumenty dzięki temu kompleksowemu przewodnikowi krok po kroku. +### [Jak wyrównać obraz i uruchomić OCR w C# – Kompletny przewodnik](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Pełny przewodnik, jak prostować obrazy i wykonywać OCR w C# przy użyciu Aspose.OCR. + +### [Jak wykonać OCR na chińskich obrazach – Kompletny przewodnik C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Pełny przewodnik, jak rozpoznać chiński tekst na obrazach przy użyciu Aspose.OCR w C#. + ## Często zadawane pytania **Q: Czy można wyodrębnić teksty z plików graficznych wielu języków?** diff --git a/ocr/polish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/polish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..bf1eabebb --- /dev/null +++ b/ocr/polish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-03-07 +description: Przykład Aspose OCR pokazujący, jak włączyć sprawdzanie pisowni, dodać + własny słownik, wczytać OCR obrazu i szybko naprawić błędy OCR. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: pl +og_description: Przykład Aspose OCR, który krok po kroku pokazuje, jak włączyć sprawdzanie + pisowni, dodać własny słownik, załadować obraz do OCR oraz naprawić typowe błędy + OCR. +og_title: Przykład Aspose OCR – Włącz sprawdzanie pisowni i napraw błędy +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Przykład Aspose OCR – Włącz sprawdzanie pisowni i napraw błędy w C# +url: /pl/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Przykład Aspose OCR – Włącz sprawdzanie pisowni i napraw błędy w C# + +Czy kiedykolwiek potrzebowałeś **przykładu Aspose OCR**, który nie tylko odczytuje tekst z obrazu, ale także usuwa te uciążliwe błędy ortograficzne? Nie jesteś jedyny. W wielu projektach rzeczywistych surowe wyniki OCR są pełne literówek, szczególnie gdy źródłowy obraz zawiera mało kontrastowe czcionki lub odręczne notatki. + +Dobre wieści? Dzięki Aspose.OCR możesz **włączyć sprawdzanie pisowni**, podłączyć własny słownik i uzyskać dopracowany ciąg znaków w zaledwie kilku linijkach kodu. Poniżej zobaczysz dokładnie **jak włączyć sprawdzanie pisowni**, **jak dodać słownik** oraz **jak załadować obraz OCR**, aby w końcu **naprawić błędy OCR** bez wyrywania sobie włosów. + +W tym samouczku omówimy wszystko, czego potrzebujesz — od instalacji NuGet po kompletny, uruchamialny program, który wypisuje poprawiony tekst. Po zakończeniu będziesz mieć solidny **przykład Aspose OCR**, który możesz od razu wstawić do dowolnego projektu .NET. + +## Wymagania wstępne + +- .NET 6.0 SDK lub nowszy (kod działa również z .NET Core i .NET Framework) +- Visual Studio 2022 lub dowolne IDE kompatybilne z C# +- Plik obrazu (`typed_text.png`) zawierający wyraźny, wydrukowany tekst po angielsku +- Dostęp do Internetu w celu pobrania pakietu NuGet Aspose.OCR + +Nie są wymagane żadne inne biblioteki firm trzecich. + +--- + +## Krok 1 – Zainstaluj pakiet NuGet Aspose.OCR (Załaduj obraz OCR) + +Zanim będziemy mogli napisać jakikolwiek kod, potrzebujemy biblioteki napędzającej silnik OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Porada:** Jeśli używasz Visual Studio, kliknij prawym przyciskiem projektu → *Manage NuGet Packages* → wyszukaj **Aspose.OCR** i naciśnij *Install*. + +Zainstalowanie pakietu daje dostęp do `OcrEngine`, `ImageStream` oraz wbudowanych narzędzi sprawdzania pisowni, które wykorzystamy później. Gdy pakiet jest już zainstalowany, możesz **załadować obraz OCR**. + +## Krok 2 – Utwórz instancję silnika OCR + +Utworzenie silnika to pierwszy konkretny krok w każdym **przykładzie Aspose OCR**. Traktuj `OcrEngine` jako mózg, który przeanalizuje bitmapę i zwróci tekst. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Konstruktor `OcrEngine` nie wymaga żadnych parametrów, co czyni go prostym i schludnym do szybkich prototypów. + +## Krok 3 – Jak włączyć sprawdzanie pisowni (i dlaczego ma to znaczenie) + +Surowe wyniki OCR często zawierają błędnie rozpoznane słowa, takie jak „teh” zamiast „the”. Włączenie wbudowanego sprawdzania pisowni pozwala Aspose automatycznie zamienić te błędy na najbardziej prawdopodobną poprawną pisownię. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Dlaczego włączyć sprawdzanie pisowni?** +> - **Dokładność:** Sprawdzanie pisowni w post‑procesie może zwiększyć ogólną dokładność tekstu o 10‑15 % w przypadku dokumentów drukowanych. +> - **Doświadczenie użytkownika:** Czysty tekst oznacza mniej dodatkowego czyszczenia, gdy przekazujesz wynik do indeksów wyszukiwania lub potoków analitycznych. + +## Krok 4 – Jak dodać słownik (niestandardowe słowa) + +Czasami domyślny słownik nie zna nazw Twoich marek, kodów produktów ani żargonu specyficznego dla domeny. Wtedy przydaje się **dodawanie słownika**. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Możesz podać tablicę, listę lub nawet odczytać z pliku, jeśli masz duży niestandardowy zasób słownictwa. Sprawdzanie pisowni będzie teraz traktować te wpisy jako prawidłowe, zapobiegając błędnym korektom. + +## Krok 5 – Załaduj obraz do OCR (Załaduj obraz OCR) + +Teraz, gdy silnik jest skonfigurowany, musimy skierować go na obraz, który chcemy odczytać. Pomocnicza metoda `ImageStream.FromFile` ukrywa szczegóły odczytu pliku. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Wskazówka:** Jeśli Twój obraz znajduje się w podfolderze projektu, ustaw jego właściwość *Copy to Output Directory* na *Copy always*, aby ścieżka była prawidłowo rozwiązywana w czasie wykonywania. + +## Krok 6 – Wykonaj rozpoznawanie i napraw błędy OCR + +Gdy wszystko jest gotowe, pojedyncze wywołanie `Recognize()` uruchamia potok OCR, stosuje sprawdzanie pisowni i zapisuje oczyszczony wynik w `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Oczekiwany wynik + +Zakładając, że `typed_text.png` zawiera zdanie `The quick brown fox jumps over teh lazy dog`, konsola wyświetli: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Zauważ, że „teh” zostało automatycznie poprawione na „the”. Gdybyś dodał „OCRify” do niestandardowego słownika i obraz zawierał to słowo, silnik pozostawiłby je niezmienione. + +--- + +## Pełny działający przykład (gotowy do kopiowania i wklejania) + +Poniżej znajduje się kompletny program, który możesz wkleić do nowego projektu konsolowego. Zawiera wszystkie powyższe kroki oraz kilka komentarzy dla przejrzystości. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Zapisz to jako `Program.cs`, uruchom `dotnet run` i powinieneś zobaczyć poprawione zdanie wypisane w konsoli. + +--- + +## Najczęściej zadawane pytania i przypadki brzegowe + +| Question | Answer | +|----------|--------| +| **Co jeśli obraz jest wielostronicowym PDF?** | Aspose.OCR może obsługiwać strony PDF jako obrazy. Użyj `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` i iteruj po stronach. | +| **Czy mogę zmienić język na inny niż angielski?** | Oczywiście. Ustaw `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (lub dowolny obsługiwany język). | +| **Mój niestandardowy słownik jest ogromny — czy wpłynie to na wydajność?** | Dodanie tysięcy słów powoduje niewielki koszt początkowy, ale wyszukiwanie jest O(1) dzięki zastosowaniu zestawu hash pod maską. W przypadku bardzo dużych słowników rozważ ich wczytanie raz przy uruchomieniu aplikacji. | +| **Co jeśli silnik OCR zgłosi wyjątek przy uszkodzonym obrazie?** | Otocz `Recognize()` blokiem try‑catch i sprawdź `ocrEngine.LastError`. Możesz także wstępnie zweryfikować wymiary obrazu przy użyciu `ocrEngine.Image.Width` i `Height`. | +| **Czy potrzebuję licencji do użytku produkcyjnego?** | Darmowa wersja ewaluacyjna działa do testów, ale licencja komercyjna usuwa znak wodny ewaluacji i odblokowuje pełną wydajność. | + +--- + +## Zakończenie + +Masz teraz **kompletny przykład Aspose OCR**, który pokazuje **jak włączyć sprawdzanie pisowni**, **jak dodać słownik**, **załadować obraz OCR** oraz **jak naprawić błędy OCR** w czysty, gotowy do produkcji sposób. Konfigurując sprawdzanie pisowni i podając własną listę słów, znacząco poprawiasz jakość wyodrębnionego tekstu bez konieczności pisania własnej logiki post‑procesingu. + +Gotowy na kolejny krok? Spróbuj zmienić język na hiszpański, podać wielostronicowy PDF lub zintegrować wynik z przeszukiwalnym indeksem Azure Cognitive Search. Ten sam schemat ma zastosowanie — wystarczy dostosować flagę języka i ewentualnie rozszerzyć niestandardowy słownik. + +Jeśli ten przewodnik okazał się przydatny, wystaw mu gwiazdkę na GitHubie, podziel się nim z zespołem lub zostaw komentarz poniżej. Szczęśliwego kodowania i niech wyniki OCR zawsze będą wolne od błędów! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/polish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..7c271abab --- /dev/null +++ b/ocr/polish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-03-07 +description: Dowiedz się, jak wyprostować obraz, zwiększyć kontrast i wyodrębnić tekst + ze skanu przy użyciu Aspose OCR. Przeprowadź OCR obrazu z pełnym przykładem w C# + i łatwo wczytaj obraz do OCR. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: pl +og_description: Dowiedz się, jak prostować obraz, zwiększyć kontrast i wyodrębnić + tekst ze skanu przy użyciu Aspose OCR w C#. Wykonaj OCR na obrazie krok po kroku + z kodem. +og_title: Jak wyrównać obraz i uruchomić OCR w C# – Kompletny przewodnik +tags: +- C# +- OCR +- Image Processing +title: Jak wyrównać obraz i uruchomić OCR w C# – Kompletny przewodnik +url: /pl/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak prostować obraz i uruchomić OCR w C# – Kompletny przewodnik + +Jeśli kiedykolwiek zastanawiałeś się **jak prostować obraz** przed uruchomieniem OCR, jesteś we właściwym miejscu. W tym samouczku przeprowadzimy Cię przez zwiększanie kontrastu, ładowanie obrazu do OCR oraz w końcu **wyodrębnianie tekstu ze skanu** przy użyciu Aspose OCR. + +Niezależnie od tego, czy digitalizujesz stare paragony, oczyszczasz zeskanowane umowy, czy po prostu potrzebujesz niezawodnego sposobu na odczytanie tekstu z krzywego zdjęcia, poniższe kroki zawierają wszystko, czego potrzebujesz. Bez zbędnych dodatków — po prostu działający przykład, który możesz skopiować i wkleić do Visual Studio. + +## Co osiągniesz + +* Skoryguj pochylenie do 30° (to część **how to deskew image**). +* Zwiększ kontrast obrazu, aby uzyskać ostrzejsze krawędzie znaków (**how to boost contrast**). +* Załaduj swój obraz do silnika OCR (**load image for OCR**). +* Uruchom proces rozpoznawania i **extract text from scan**. + +Wszystko to działa z najnowszym pakietem Aspose.OCR .NET NuGet (v23.11 w momencie pisania). + +--- + +![Przykład prostowania obrazu](/images/deskew-example.png "jak prostować obraz") + +*Powyższy obraz pokazuje zeskanowany dokument przed i po prostowaniu.* + +## Wymagania wstępne + +* .NET 6.0 lub nowszy (kod działa również na .NET Framework 4.7+). +* Visual Studio 2022 (lub dowolne IDE C#, które lubisz). +* Pakiet NuGet Aspose.OCR — zainstaluj za pomocą `dotnet add package Aspose.OCR`. + +To wszystko. Bez zewnętrznych usług, bez kluczy API. + +--- + +## Jak prostować obraz przy użyciu Aspose OCR + +Pierwszą rzeczą, którą robimy, jest stworzenie **ImageProcessingPipeline** i dodanie `DeskewFilter`. Filtr automatycznie wykrywa dominujący kąt linii tekstu i obraca obraz z powrotem do poziomu. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Dlaczego to jest ważne:** +Zniekształcony skan myli silnik OCR, ponieważ znaki nie są już wyrównane do linii bazowej. `DeskewFilter` analizuje histogram obrazu, znajduje kąt i obraca go, co znacząco poprawia dokładność rozpoznawania. + +> **Pro tip:** Jeśli wiesz, że Twoje dokumenty nie przekraczają nachylenia 15°, ustaw `MaxAngle = 15`, aby przyspieszyć przetwarzanie. + +--- + +## Jak zwiększyć kontrast dla lepszego rozpoznawania + +Po prostowaniu kolejnym krokiem jest uwydatnienie tekstu. `ContrastBoostFilter` rozciąga zakres intensywności pikseli, co jest szczególnie pomocne przy wyblakłych wydrukach. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Dlaczego to pomaga:** +Skan o niskim kontraście generuje szare znaki, które binaryzator może interpretować jako tło. Zwiększenie kontrastu sprawia, że ciemne piksele stają się ciemniejsze, a jasne jaśniejsze, co daje kolejnemu `BinarizationFilter` czystsze płótno. + +--- + +## Wykonaj OCR na obrazie – ładowanie pliku + +Teraz, gdy obraz został wstępnie przetworzony, musimy **load image for OCR**. Aspose oferuje wygodny pomocnik `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Jeśli Twój obraz znajduje się w strumieniu (np. przesłany przez API webowe), możesz zamiast tego użyć `ImageStream.FromStream(yourStream)`. Silnik akceptuje BMP, JPEG, PNG, TIFF i wiele innych. + +--- + +## Uruchom proces rozpoznawania i wyodrębnij tekst ze skanu + +Gdy wszystko jest połączone, wywołanie `Recognize()` wykonuje ciężką pracę. Po wywołaniu rozpoznany tekst jest dostępny przez `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Oczekiwany wynik** (przykład dla prostej faktury): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Jeśli wynik wygląda na zniekształcony, sprawdź ponownie kolejność w pipeline — najpierw deskew, potem denoise, zwiększenie kontrastu i na końcu binaryzacja. Zmiana kolejności może pogorszyć wyniki. + +--- + +## Częste pułapki i przypadki brzegowe + +| Problem | Dlaczego się dzieje | Rozwiązanie | +|-------|----------------|-----| +| **Pusty wynik** | Obraz jest zbyt ciemny lub zbyt jasny dla domyślnej metody binaryzacji. | Zwiększ `ContrastBoostFilter.Strength` lub przełącz na `BinarizationMethod.Otsu`. | +| **Częściowy brak tekstu** | Po odszumianiu pozostaje szum. | Użyj `DenoiseLevel.Medium` dla łagodniejszych obrazów lub dodaj drugi `DenoiseFilter`. | +| **Zła kierunek obrotu** | Dokument ma mieszane orientacje (np. zdjęcie obróconej strony). | Ręcznie ustaw niższy `DeskewFilter.MaxAngle` i wstępnie obróć obraz przy pomocy `ImageProcessor.Rotate`. | +| **Spowolnienie wydajności** | Duża partia obrazów wysokiej rozdzielczości. | Zmniejsz rozmiar obrazów (`ImageProcessor.Resize`) przed pipeline lub przetwarzaj równolegle (`Parallel.ForEach`). | + +--- + +## Pełny działający przykład (gotowy do kopiowania‑wklejania) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Zapisz to jako `Program.cs`, uruchom `dotnet run` i obserwuj, jak konsola wyświetla wynik **extract text from scan**. + +--- + +## Kolejne kroki i powiązane tematy + +* **Batch processing** – Opakuj powyższą logikę w pętli, aby obsłużyć dziesiątki plików. +* **Custom language packs** – Jeśli potrzebujesz odczytywać skrypty niełacińskie, załaduj model językowy poprzez `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF output** – Połącz Aspose.PDF z OCR, aby osadzić tekst przeszukiwalny bezpośrednio w pliku PDF. +* **Performance tuning** – Eksperymentuj z kolejnością `ImageProcessingPipeline`; czasami odszumianie przed prostowaniem daje szybsze wyniki na zaszumionych zdjęciach. + +Wszystko to opiera się na podstawowych koncepcjach, które omówiliśmy: **how to deskew image**, **how to boost contrast**, **load image for OCR**, **perform OCR on image**, i w końcu **extract text from scan**. + +--- + +## Podsumowanie + +Właśnie pokazaliśmy kompletny, gotowy do produkcji sposób na **how to deskew image** i uruchomienie OCR w C#. Łącząc filtr prostowania, krok odszumiania, zwiększenie kontrastu i binaryzator, otrzymujesz czyste wejście, które pozwala Aspose OCR niezawodnie **extract text from scan**. + +Wypróbuj kod, dostosuj parametry filtrów do własnych dokumentów i zobacz, jak szybko poprawia się dokładność rozpoznawania. Masz pytania? zostaw komentarz i powodzenia w kodowaniu! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/polish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..1c9d8badb --- /dev/null +++ b/ocr/polish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-03-07 +description: Jak wykonać OCR na chińskich obrazach przy użyciu Aspose OCR. Dowiedz + się, jak wyodrębnić chiński tekst, przekształcić obraz w ePub i poprawić dokładność + OCR w jednym samouczku. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: pl +og_description: Jak wykonać OCR na chińskich obrazach przy użyciu Aspose OCR. Uzyskaj + kod krok po kroku, aby wyodrębnić chiński tekst, poprawić OCR i wyeksportować do + ePub. +og_title: Jak wykonać OCR na chińskich obrazach – kompletny przewodnik C# +tags: +- OCR +- C# +- Aspose +title: Jak przeprowadzić OCR na chińskich obrazach – Kompletny przewodnik C# +url: /pl/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak wykonać OCR na chińskich obrazach – Kompletny przewodnik C# + +Zastanawiałeś się kiedyś **jak wykonać OCR** na zdjęciu zawierającym chińskie znaki? Nie jesteś sam. W wielu aplikacjach — skanowanie paragonów, digitalizacja podręczników czy budowanie wielojęzycznej wyszukiwarki — uzyskanie czystego tekstu z obrazu to funkcja decydująca o sukcesie. + +W tym tutorialu przeprowadzimy Cię przez rozwiązanie w prawdziwym świecie, które **wyodrębnia chiński tekst**, zapisuje wynik w pliku tekstowym i nawet **konwertuje obraz do ePub** dla czytników elektronicznych. Po drodze omówimy **jak poprawić dokładność OCR**, dlaczego warto włączyć tryb GPU oraz co zrobić, aby **rozpoznawać uproszczony chiński** poprawnie. + +Po zakończeniu przewodnika będziesz mieć w pełni działający program w C#, kilka praktycznych wskazówek oraz jasny plan kolejnych kroków (np. dodanie wykrywania języka lub przetwarzania wsadowego). Nie potrzebujesz zewnętrznych dokumentacji — wszystko, czego potrzebujesz, znajduje się tutaj. + +## Co będzie potrzebne + +- .NET 6+ (lub .NET Core 3.1 z Aspose OCR for .NET) +- Ważna licencja Aspose OCR for .NET (bezpłatna wersja próbna wystarczy do eksperymentów) +- Plik obrazu zawierający uproszczone chińskie znaki (np. `chinese_sample.jpg`) +- Visual Studio 2022 lub dowolny edytor C#, którego używasz + +Jeśli czegoś brakuje, pobierz pakiet NuGet już teraz: + +```bash +dotnet add package Aspose.OCR +``` + +To wszystko — żadnych dodatkowych natywnych bibliotek, żadnego COM interopu, tylko jeden pakiet .NET. + +## Jak wykonać OCR – Konfiguracja silnika Aspose OCR + +Pierwszą rzeczą, którą musisz zrobić, jest utworzenie i skonfigurowanie silnika OCR. Ten krok jest kluczowy, ponieważ ustawienia silnika decydują **o tym, jak dobrze OCR działa** na chińskich znakach i jak szybko działa. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Dlaczego to ważne:** +- **Language = ChineseSimplified** informuje Aspose, aby załadował zestaw znaków dla uproszczonego chińskiego, co drastycznie zmniejsza liczbę błędnych rozpoznań. +- **EngineMode.Gpu** może skrócić czas przetwarzania o połowę na nowoczesnym GPU, ale w razie braku GPU łagodnie przełącza się na CPU. +- **DeskewFilter** usuwa pochylenie, które często pojawia się, gdy użytkownicy robią zdjęcie telefonem. +- **Binarizacja Sauvola** tworzy wysokokontrastowy obraz czarno‑biały, klasyczny trik zwiększający dokładność OCR w gęstych skryptach, takich jak chiński. + +> **Pro tip:** Jeśli masz do czynienia ze zdjęciami w słabym oświetleniu, dodaj `ContrastFilter` przed binaryzacją. Nie jest to wymagane w naszym przykładzie, ale często oszczędza kilka problemów. + +![Jak wykonać diagram potoku OCR](ocr-pipeline.png "Jak wykonać diagram potoku OCR") + +> *Tekst alternatywny:* Jak wykonać diagram potoku OCR + +## Wyodrębnij chiński tekst z obrazu + +Teraz, gdy silnik jest gotowy, ładujemy obraz i pozwalamy silnikowi wykonać swoją magię. To jest sedno **wyodrębniania chińskiego tekstu**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Co powinieneś zobaczyć:** +Jeśli `chinese_sample.jpg` zawiera frazę „中华人民共和国”, plik `out.txt` będzie zawierał dokładnie te znaki — bez dodatkowych spacji, bez zniekształconych liter łacińskich. + +### Typowe pułapki + +| Problem | Dlaczego się pojawia | Rozwiązanie | +|---------|----------------------|-------------| +| Brakujące znaki | Obraz jest zbyt zaszumiony | Dodaj `MedianFilter` przed binaryzacją | +| Nieprawidłowo wykryty język | `Language` ustawiony na `English` | Upewnij się, że `Language = Language.ChineseSimplified` | +| Wolne przetwarzanie | GPU nie włączone | Sprawdź, czy masz kompatybilny sterownik CUDA | + +## Konwersja obrazu do ePub + +Wielu programistów pyta: *„Czy mogę zamienić zeskanowaną stronę w czytelną e‑książkę?”* Oczywiście — Aspose OCR dostarcza eksporter ePub. Spełnia to wymaganie **konwersji obrazu do epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Wygenerowany `out.epub` będzie zawierał wyodrębniony chiński tekst, poprawnie zakodowany w UTF‑8, i będzie można go otworzyć w Kindle, Apple Books lub dowolnym czytniku ePub. + +**Dlaczego ePub?** +- Jest reflowable, więc czytelnicy mogą zmieniać rozmiar czcionki bez psucia układu. +- Format utrzymuje tekst przeszukiwalny, co jest przydatne przy późniejszym indeksowaniu. + +## Jak poprawić OCR – Praktyczne wskazówki + +Nawet przy solidnym potoku możesz nadal napotykać sporadyczne błędy rozpoznawania. Oto szybka lista kontrolna **jak poprawić OCR** w chińskich dokumentach: + +1. **Wstępna obróbka obrazu** – Użyj `GaussianBlurFilter`, aby wygładzić plamki, a następnie `ContrastFilter`, aby wyostrzyć krawędzie. +2. **Ustaw wyższą rozdzielczość DPI** – Jeśli kontrolujesz proces skanowania, celuj w 300 dpi lub wyżej; obrazy o niskiej rozdzielczości tracą szczegóły kresek. +3. **Włącz wykrywanie języka** – Aspose może automatycznie wykrywać język; połącz to z fallbackiem do uproszczonego chińskiego, jeśli wykrywanie się nie powiedzie. +4. **Dopasuj binaryzację** – Zamień `Sauvola` na `Otsu`, jeśli tło jest jednolicie jasne. +5. **Przetwarzanie wsadowe** – Przetwarzaj wiele stron równolegle przy użyciu `Parallel.ForEach`, aby wykorzystać wielordzeniowe CPU. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Rozpoznawanie uproszczonego chińskiego – Przypadki brzegowe + +Fraza **rozpoznawanie uproszczonego chińskiego** często sprawia trudności nowicjuszom, ponieważ ten sam silnik OCR może obsługiwać także tradycyjny chiński, japoński czy koreański. Aby zachować deterministyczne zachowanie: + +- **Jawnie ustaw język** (tak jak w Kroku 1). +- **Unikaj stron mieszanych językowo**; jeśli strona łączy uproszczony chiński z angielskim, rozważ dwa przebiegi: jeden z `Language.ChineseSimplified`, drugi z `Language.English`. +- **Zweryfikuj wynik** — po rozpoznaniu uruchom prosty regex, aby upewnić się, że wszystkie znaki mieszczą się w zakresie Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Jeśli weryfikacja nie powiedzie się, możesz zalogować stronę do ręcznej recenzji. + +## Pełny działający przykład + +Łącząc wszystko razem, oto pojedynczy plik, który możesz skopiować‑wkleić do nowego projektu konsolowego (`Program.cs`). Zawiera wszystkie kroki, opcjonalne udoskonalenia i końcowy komunikat statusu. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Przykładowy wynik w konsoli (przykład):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Uruchom program, otwórz `out.txt` lub `out.epub`, a zobaczysz czyste, przeszukiwalne chińskie znaki gotowe do dalszego przetwarzania. + +## Podsumowanie + +Właśnie omówiliśmy **jak wykonać OCR** na chińskich obrazach od początku do końca, pokazując, jak **wyodrębnić chiński tekst**, **przekonwertować wynik do ePub** oraz zastosować szereg praktycznych wskazówek. + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/text-recognition/_index.md b/ocr/polish/net/text-recognition/_index.md index 40c85d634..e7452ad1c 100644 --- a/ocr/polish/net/text-recognition/_index.md +++ b/ocr/polish/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Ulepsz swoje aplikacje .NET za pomocą Aspose.OCR, aby efektywnie rozpoznawać t Odblokuj potencjał OCR w .NET dzięki Aspose.OCR. Wyodrębnij tekst z plików PDF bez wysiłku. Pobierz teraz, aby zapewnić bezproblemową integrację. ### [Rozpoznaj tabelę w rozpoznawaniu obrazu OCR](./recognize-table/) Odblokuj potencjał Aspose.OCR dla .NET dzięki naszemu obszernemu przewodnikowi na temat rozpoznawania tabel w rozpoznawaniu obrazów OCR. +### [Rozpoznaj tekst w języku hindi w C# – Kompletny przewodnik Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Pełny przewodnik, jak rozpoznać tekst w języku hindi w aplikacjach C# przy użyciu Aspose.OCR. +### [Jak utworzyć ePub z obrazów w C# – Przewodnik krok po kroku](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Dowiedz się, jak w C# przekształcić obrazy w plik ePub, korzystając z prostych kroków i efektywnego kodu. +### [Rozpoznaj tekst z obrazu w C# – Kompletny przewodnik Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Pełny przewodnik, jak rozpoznać tekst z obrazu w C# przy użyciu Aspose.OCR, krok po kroku, zwiększając dokładność i wydajność aplikacji. +### [Wyodrębnij tekst z PNG w C# – Pełny przewodnik OCR](./extract-text-from-png-in-c-full-ocr-guide/) +Pełny przewodnik, jak przy użyciu Aspose.OCR w C# wyodrębnić tekst z obrazu PNG, krok po kroku zwiększając dokładność i wydajność aplikacji. +### [Jak używać OCR w C# – wyodrębniać tekst z obrazów offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Dowiedz się, jak w C# wykorzystać OCR do wyodrębniania tekstu z obrazów bez połączenia z internetem, krok po kroku. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/polish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..ae2425839 --- /dev/null +++ b/ocr/polish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: Wyodrębnij tekst z plików PNG przy użyciu C#. Dowiedz się, jak konwertować + obraz na tekst w C# i szybko odczytywać tekst ze skanowanych obrazów. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: pl +og_description: Wyodrębnij tekst z plików PNG przy użyciu C#. Ten przewodnik pokazuje, + jak konwertować obraz na tekst w C# oraz odczytywać tekst ze skanowanych obrazów + za pomocą Aspose OCR. +og_title: Wyodrębnij tekst z PNG w C# – Pełny przewodnik OCR +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Wyodrębnianie tekstu z PNG w C# – Pełny przewodnik OCR +url: /pl/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Wyodrębnianie tekstu z PNG w C# – Kompletny przewodnik OCR + +Kiedykolwiek potrzebowałeś **wyodrębnić tekst z PNG** plików, ale nie wiedziałeś, od czego zacząć? Nie jesteś sam — większość programistów napotyka ten problem, gdy po raz pierwszy ma do czynienia ze zeskanowanymi grafikami lub zrzutami ekranu, które muszą stać się przeszukiwalnym tekstem. Dobra wiadomość? Kilka linijek C# i Aspose OCR pozwoli zamienić dowolny PNG w edytowalne ciągi znaków w mgnieniu oka. + +W tym samouczku przeprowadzimy Cię przez cały proces: od znajdowania plików PNG na dysku, uruchamiania zadań OCR równolegle, po wyświetlenie schludnego podglądu każdego wyniku. Po zakończeniu będziesz wiedział, jak **convert image to text C#** w stylu, będziesz mógł **read text from scanned images** efektywnie, a także zobaczysz najlepszy sposób na **run OCR on images** bez przeciążania wątku UI. + +## Co będziesz potrzebował + +- .NET 6.0 lub nowszy (kod działa również na .NET Core i .NET Framework) +- Pakiet NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- Folder pełen plików *.png*, które chcesz przetworzyć +- Dowolne IDE (Visual Studio, VS Code, Rider…) + +Nie wymagana jest dodatkowa konfiguracja; biblioteka dostarcza wszystko, co potrzebne do dekodowania PNG, JPEG, TIFF, i tak dalej. + +## Krok 1: Znajdź wszystkie pliki PNG – Rozpoczyna się „Extract Text from PNG” + +Najpierw musimy znaleźć każdy PNG, na którym zamierzamy wykonać OCR. Użycie `Directory.GetFiles` jest szybkie i niezawodne. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Dlaczego to ważne:* Jednorazowe przeszukanie katalogu utrzymuje resztę potoku prostą, a wczesna kontrola zapobiega cichej sytuacji „brak wyniku”, którą później trudno debugować. + +## Krok 2: Uruchom równoległe zadania OCR – Efektywne **run OCR on images** + +Wykonywanie OCR sekwencyjnie jest w porządku przy kilku plikach, ale w rzeczywistych projektach często mamy do czynienia z dziesiątkami lub setkami. Uruchamiając `Task` dla każdego obrazu, utrzymujemy procesor zajęty, podczas gdy biblioteka wykonuje ciężką pracę. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Wskazówka:* `Task.Run` przenosi pracę do puli wątków, co oznacza, że Twoje UI (jeśli je masz) pozostaje responsywne. Jeśli działasz na serwerze, ten sam wzorzec ładnie skaluje się na wiele rdzeni. + +## Krok 3: Oczekuj na wszystkie zadania – Zbierz wyniki + +Teraz czekamy, aż każde działanie OCR zakończy się. `Task.WhenAll` zwraca tablicę, która odpowiada pierwotnemu kolejności plików, co ułatwia dopasowanie wyników do nazw plików. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Uwaga o przypadkach brzegowych:* Jeśli którykolwiek pojedynczy obraz zgłosi błąd (uszkodzony plik, nieobsługiwany format), cały `WhenAll` podniesie wyjątek. Możesz owinąć wewnętrzny `Task.Run` w try/catch i zwrócić pusty ciąg lub komunikat diagnostyczny, jeśli potrzebujesz odporności na błędy. + +## Krok 4: Pokaż podgląd – Zweryfikuj wynik **convert image to text C#** + +Szybki podgląd pomaga potwierdzić, że OCR zadziałało, zanim zaczniesz zapisywać dane w innym miejscu. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Typowy output konsoli wygląda tak: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Jeśli podgląd wyświetla bełkot, sprawdź jakość obrazu lub rozważ wstępne przetwarzanie (np. binaryzację) — ale dla większości czystych PNG Aspose OCR radzi sobie poprawnie już przy pierwszej próbie. + +## Opcjonalnie: Zapisz wyniki do CSV — Przykład z życia wzięty + +Większość projektów potrzebuje wyodrębnionego tekstu w ustrukturyzowanym formacie. Poniżej znajduje się mały pomocnik, który zapisuje nazwę pliku i pełny tekst OCR do pliku CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Teraz możesz zaimportować CSV do Excela, Power BI lub dowolnego systemu downstream, który oczekuje **read text from scanned images**. + +## Najczęściej zadawane pytania + +**Co jeśli moje PNG są ogromne (powyżej 5 MB)?** +Aspose OCR automatycznie zmniejsza duże obrazy, aby utrzymać zużycie pamięci w ryzach, ale możesz ręcznie zmienić rozmiar za pomocą `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` aby ograniczyć szerokość do 2000 px przy zachowaniu proporcji. + +**Czy mogę uruchomić to na Linuxie?** +Tak. Aspose OCR jest wieloplatformowy; wystarczy upewnić się, że natywne zależności (`libgdiplus` w niektórych dystrybucjach) są zainstalowane. + +**Czy język OCR jest domyślnie ustawiony na angielski?** +Tak. Jeśli potrzebujesz innego języka, ustaw `engine.Language = OcrLanguage.French;` (lub dowolny obsługiwany enum) przed wywołaniem `Recognize()`. + +**Jak obsłużyć chronione hasłem pliki PDF zawierające PNG?** +Najpierw skonwertuj strony PDF na obrazy (używając Aspose PDF lub innej biblioteki), a następnie podaj te PNG do tego samego potoku. Zasada **how to run OCR on images** pozostaje niezmieniona. + +## Pełny działający przykład (Async Main) + +Poniżej znajduje się samodzielny program, który możesz skopiować i wkleić do projektu konsolowego. Zawiera wszystkie powyższe elementy, plus mały pomocnik do walidacji folderu wejściowego. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Oczekiwany output** (przykład dla dwóch PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Podsumowanie + +Omówiliśmy wszystko, co potrzebujesz, aby **extract text from PNG** przy użyciu C#. Od znajdowania plików, uruchamiania równoległych zadań OCR, podglądu ciągów, po zapisywanie ich w CSV — ten przewodnik dostarcza gotowego do produkcji wzorca dla scenariuszy **convert image to text C#**. + +Jeśli jesteś gotowy na kolejny krok, spróbuj podać do tego samego potoku pliki JPEG lub TIFF, eksperymentuj z różnymi językami OCR lub podłącz wyniki do indeksu wyszukiwania, aby móc **read text from scanned images** od razu. + +Masz pytania o przypadki brzegowe, optymalizację wydajności lub licencjonowanie? Zostaw komentarz lub napisz do społeczności Aspose — powodzenia w kodowaniu! + +![Extract text from PNG example](extract-text-png.png "Extract text from PNG using Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/polish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..cda657257 --- /dev/null +++ b/ocr/polish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Jak utworzyć ePub ze skanowanych obrazów przy użyciu Aspose OCR – dowiedz + się, jak konwertować obraz na ePub, wyodrębniać tekst z obrazu, dodać autora do + ePub oraz wczytać obraz do OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: pl +og_description: Jak stworzyć ePub ze skanowanych obrazów w C#. Ten tutorial pokazuje, + jak przekonwertować obraz na ePub, wyodrębnić tekst z obrazu, dodać autora do ePub + oraz wczytać obraz do OCR. +og_title: Jak stworzyć ePub z obrazów w C# – Kompletny przewodnik +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Jak stworzyć ePub z obrazów w C# – Przewodnik krok po kroku +url: /pl/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak utworzyć ePub z obrazów w C# – Kompletny przewodnik + +Zastanawiałeś się kiedyś, **jak utworzyć ePub** z zestawu zeskanowanych stron? Może masz garść plików PNG klasycznej powieści i chciałbyś zamienić je w schludny ePub, który będzie można czytać na dowolnym urządzeniu. Dobra wiadomość – dzięki Aspose OCR możesz **wczytać obraz do OCR**, wyciągnąć tekst i **przekształcić obraz w ePub** w zaledwie kilku linijkach C#. + +W tym tutorialu przejdziemy przez cały proces: wczytanie obrazu, wyodrębnienie tekstu, dodanie nieco metadanych (tak, **dodamy autora do ePub**), a na końcu zapisanie pliku ePub zgodnego ze standardem. Po zakończeniu będziesz mieć gotowy do publikacji ePub oraz solidne zrozumienie każdego kroku, co pozwoli Ci dostosować kod do książek wielostronicowych, własnych czcionek czy nawet dystrybucji bez DRM. + +## Co będzie potrzebne + +- **.NET 6** lub nowszy (API działa także z .NET Standard 2.0+) +- **Aspose.OCR for .NET** – możesz pobrać darmową wersję próbną ze strony Aspose. +- Zeskanowany obraz, np. `book_page.png`, umieszczony gdzieś na dysku. +- Ulubione IDE (Visual Studio, Rider lub VS Code – w zrzutach ekranowych używam Visual Studio). + +Nie są wymagane dodatkowe pakiety NuGet; Aspose.OCR zawiera wszystko, co potrzebne do eksportu ePub. + +--- + +![Jak utworzyć ePub ze zeskanowanego obrazu](/images/how-to-create-epub.png "Jak utworzyć ePub ze zeskanowanego obrazu przy użyciu Aspose OCR") + +## Krok 1 – Utwórz projekt i zainstaluj Aspose.OCR + +Na początek. Utwórz nową aplikację konsolową: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Dodaj pakiet Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +To wszystko – biblioteka dostarcza zarówno OCR, jak i możliwości eksportu ePub, więc nie potrzebujesz dodatkowych zależności. + +## Krok 2 – Wczytaj obraz do OCR + +Zanim będziemy mogli **wyodrębnić tekst z obrazu**, musimy dać silnikowi OCR coś do odczytania. Pomocnicza metoda `ImageStream.FromFile` upraszcza to zadanie: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Wskazówka:** Jeśli Twój obraz znajduje się w zasobie osadzonym, użyj `ImageStream.FromResource` zamiast `FromFile`. + +## Krok 3 – Wyodrębnij tekst z obrazu + +Teraz silnik faktycznie odczytuje piksele i zamienia je w ciągi Unicode. Metoda `Recognize` wykonuje najcięższą pracę. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Dlaczego wywołujemy `Recognize` osobno? Dzięki temu możesz przejrzeć surowy wynik OCR, dostosować ustawienia języka lub nawet przeprowadzić sprawdzanie pisowni przed przejściem do tworzenia ePub. + +## Krok 4 – Przygotuj opcje eksportu ePub (Dodaj autora do ePub) + +Stworzenie dopracowanego ePub to nie tylko wrzucenie tekstu; potrzebujesz także odpowiednich metadanych. Klasa `EpubExportOptions` umożliwia **dodanie autora do ePub**, ustawienie tytułu i określenie, czy osadzić oryginalne obrazy. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Jeśli masz wiele stron, możesz w pętli wywoływać `ocrEngine.Image = …` i `ocrEngine.Recognize()`; każde wywołanie dopisuje zawartość nowej strony do tego samego dokumentu ePub. + +## Krok 5 – Przekształć obraz w ePub i wyeksportuj + +Po wyodrębnieniu tekstu i ustawieniu metadanych, ostatni krok to jednowierszowy kod zapisujący plik ePub na dysku: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Powstały plik `book.epub` można otworzyć w Calibre, Apple Books lub dowolnym czytniku obsługującym EPUB. Ponieważ ustawiliśmy `IncludeImages = true`, oryginalny PNG pojawi się jako strona‑obraz, zachowując wygląd zeskanowanego źródła. + +## Pełny działający przykład + +Łącząc wszystko razem, oto kompletny, gotowy do uruchomienia program: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Oczekiwany wynik + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Otwórz `book.epub` w ulubionym czytniku, a zobaczysz stronę tytułową, linię autora (nawet jeśli będzie brzmieć „Unknown”) oraz zeskanowany obraz wyświetlony obok tekstu, który można zaznaczyć. + +## Często zadawane pytania i przypadki brzegowe + +### Co zrobić, gdy język OCR nie jest angielski? + +Aspose.OCR obsługuje ponad 70 języków. Wystarczy ustawić właściwość `Language` przed wywołaniem `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Jak obsłużyć książki wielostronicowe? + +Umieść logikę wczytywania/rozpoznawania w pętli `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Każda iteracja dopisuje nowo rozpoznany tekst do tego samego ePub, zachowując kolejność stron. + +### Czy mogę wykluczyć oryginalne obrazy? + +Oczywiście – ustaw `IncludeImages = false` w `EpubExportOptions`. Powstały ePub będzie czystym tekstem przepływowym, co znacząco zmniejszy rozmiar pliku. + +### A co z własnymi czcionkami lub stylami? + +Eksporter ePub w Aspose.OCR pozwala podać arkusz CSS za pomocą właściwości `Css` w `EpubExportOptions`. Dzięki temu możesz wymusić określoną rodzinę czcionek, wysokość linii czy marginesy. + +## Zakończenie + +Teraz wiesz, **jak utworzyć ePub** ze zeskanowanego obrazu przy użyciu Aspose OCR w C#. Tutorial obejmował wszystko – od **wczytania obrazu do OCR**, przez **wyodrębnienie tekstu z obrazu**, po **dodanie autora do ePub**, aż po **przekształcenie obrazu w ePub** jedną linią eksportu. Mając pełny przykład kodu, możesz rozszerzyć rozwiązanie o przetwarzanie wsadowe całych bibliotek, wstawianie własnej okładki lub integrację z API webowym. + +Gotowy na kolejny krok? Spróbuj przekonwertować PDF na ePub lub poeksperymentuj z progami pewności OCR, aby poprawić dokładność przy szumnych skanach. Nie ma granic, gdy połączysz potężny OCR z elastycznym generowaniem ePub. + +Miłego kodowania i przyjemnego czytania nowo powstałego ePuba! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/polish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..dde49da01 --- /dev/null +++ b/ocr/polish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-03-07 +description: Dowiedz się, jak używać OCR w C#, aby wyodrębniać tekst z plików graficznych. + Ten przewodnik pokazuje OCR offline, konwersję obrazu na tekst oraz ładowanie obrazu + do OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: pl +og_description: Jak używać OCR w C#, aby wyodrębniać tekst z obrazów offline. Krok + po kroku kod, wskazówki i pełne wyjaśnienie konwersji obrazu na tekst. +og_title: Jak korzystać z OCR w C# – Kompletny przewodnik offline +tags: +- OCR +- C# +- Aspose +title: Jak używać OCR w C# – wyodrębniaj tekst z obrazów offline +url: /pl/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Jak używać OCR w C# – Wyodrębnianie tekstu z obrazów offline + +Zastanawiałeś się kiedyś **jak używać OCR** w projekcie .NET bez wysyłania danych do chmury? Nie jesteś sam. Wielu programistów musi *wyodrębniać tekst z obrazów* na zabezpieczonym stanowisku pracy i obawia się, że ruch sieciowy może ujawnić wrażliwe informacje. + +Dobre wieści? Dzięki Aspose.OCR możesz rozpoznawać tekst z plików PNG, JPEG lub PDF całkowicie offline. W tym samouczku przeprowadzimy Cię przez ładowanie obrazu do OCR, konfigurację silnika w trybie offline oraz ostatecznie **konwersję obrazu na tekst** przy użyciu kilku linijek C#. + +Po zakończeniu tego przewodnika będziesz w stanie: + +* Zainstalować pakiet NuGet Aspose.OCR. +* Skonfigurować silnik OCR do przetwarzania offline. +* Załadować obraz do OCR i wyodrębnić jego zawartość tekstową. + +Bez zewnętrznych usług, bez kluczy API — po prostu czysty kod C#, który działa na dowolnym komputerze z systemem Windows lub Linux. + +--- + +## Wymagania wstępne + +Zanim zaczniemy, upewnij się, że masz: + +* .NET 6.0 SDK lub nowszy (kod działa także z .NET Framework 4.7+). +* Visual Studio 2022, VS Code lub dowolny edytor obsługujący C#. +* Kopię biblioteki **Aspose.OCR** – możesz ją pobrać z NuGet (`Aspose.OCR`). +* Folder zasobów OCR (`Resources`) dostarczany wraz z biblioteką (zawiera pliki danych językowych). +* Przykładowy obraz (np. `offline_test.png`) umieszczony w znanym katalogu. + +> **Wskazówka:** Trzymaj folder zasobów obok swojego pliku wykonywalnego; upraszcza to konfigurację `ResourcesPath`. + +## Krok 1: Zainstaluj pakiet NuGet Aspose.OCR + +Najpierw dodaj bibliotekę do swojego projektu. Otwórz terminal w folderze projektu i uruchom: + +```bash +dotnet add package Aspose.OCR +``` + +Lub, jeśli wolisz interfejs Visual Studio, kliknij prawym przyciskiem **Dependencies → Manage NuGet Packages**, wyszukaj *Aspose.OCR* i kliknij **Install**. + +> Instalacja pakietu pobiera wszystkie niezbędne pliki binarne, więc nie będziesz potrzebował dodatkowych plików DLL. + +## Krok 2: Utwórz i skonfiguruj silnik OCR (Jak używać OCR – Tryb offline) + +Teraz utworzymy instancję silnika OCR i ustawimy go, aby działał **offline**. Dzięki temu podczas rozpoznawania nie będzie generowany żaden ruch sieciowy. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Dlaczego offline?** +Gdy `EngineMode` jest ustawiony na `Online`, silnik kontaktuje się z chmurą Aspose, aby w czasie rzeczywistym pobrać pakiety językowe. W regulowanych środowiskach (finanse, opieka zdrowotna) taki ruch jest często zabroniony. Wymuszając tryb offline, zapewniasz, że wszystko pozostaje na lokalnym komputerze. + +## Krok 3: Wskaż silnikowi folder zasobów OCR + +Silnik OCR potrzebuje danych językowych (wytrenowanych modeli), aby rozpoznawać znaki. Powiedz mu, gdzie znajdują się te pliki: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Jeśli nie jesteś pewien, gdzie znajduje się folder, znajdź go w katalogu pakietu NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Skopiuj cały folder do swojego projektu, aby ułatwić wdrożenie. + +## Krok 4: Załaduj obraz do OCR (Load Image for OCR) + +Możesz przekazać silnikowi dowolny obsługiwany bitmap. Tutaj załadujemy PNG zapisany na dysku: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Wskazówka:** Jeśli musisz przetwarzać obrazy ze strumienia (np. przesłane przez API), użyj `ImageStream.FromStream(yourStream)`. + +## Krok 5: Uruchom proces rozpoznawania i konwertuj obraz na tekst + +Gdy wszystko jest gotowe, uruchom OCR. Metoda `Recognize()` wykonuje ciężką pracę, a wyodrębniony tekst jest dostępny poprzez właściwość `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +## Krok 6: Wyświetl wyodrębniony tekst + +Na koniec wyświetl wynik. W aplikacji konsolowej możesz po prostu wypisać go na konsolę, ale w API webowym zwrócisz ciąg jako JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Uruchomienie programu powinno wypisać tekstową zawartość `offline_test.png`. Na przykład, jeśli obraz zawiera frazę *„Hello, World!”*, zobaczysz: + +``` +=== OCR Result === +Hello, World! +``` + +## Pełny działający przykład + +Poniżej znajduje się kompletny, gotowy do uruchomienia program. Skopiuj i wklej go do nowego projektu konsolowego (`dotnet new console`) i dostosuj ścieżki do swojego środowiska. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Oczekiwany wynik:** Konsola wypisuje dokładny tekst zawarty w pliku PNG. Jeśli obraz jest rozmyty, wynik może zawierać błędnie rozpoznane znaki — zobacz sekcję rozwiązywania problemów poniżej. + +## Częste pułapki i wskazówki (Rozpoznawanie tekstu z PNG efektywnie) + +| Problem | Dlaczego się pojawia | Jak naprawić | +|-------|----------------|------------| +| **Pusty wynik** | `ResourcesPath` wskazuje na niewłaściwy folder lub brakuje plików językowych. | Sprawdź, czy folder zawiera `eng.traineddata` (lub inne pliki językowe) i podwójnie zweryfikuj ciąg ścieżki. | +| **Zniekształcone znaki** | Rozdzielczość obrazu jest zbyt niska lub obraz nie jest binarny. | Wstępnie przetwórz obraz (zwiększ DPI, zastosuj `ImageProcessor` do wyostrzenia). | +| **Opóźnienie wydajności** | Duże obrazy są przetwarzane w pełnej rozdzielczości. | Zmień rozmiar obrazu do maksymalnej szerokości 2000 px przed przekazaniem go do OCR. | +| **Nieobsługiwany format** | Używanie BMP z nietypowym formatem pikseli. | Najpierw skonwertuj obraz do PNG lub JPEG (`System.Drawing.Image.Save`). | + +**Wskazówka:** Jeśli musisz rozpoznawać wiele języków, ustaw `ocrEngine.Settings.Language = Language.English | Language.French;` przed wywołaniem `Recognize()`. + +## Najczęściej zadawane pytania + +**P:** Czy mogę używać tego kodu na Linuxie? +**O:** Zdecydowanie tak. Aspose.OCR jest wieloplatformowy; wystarczy zapewnić, że natywne biblioteki są dostępne (są dołączone do pakietu NuGet). + +**P:** Co jeśli nie mam folderu Resources? +**O:** Możesz pobrać darmowe pakiety językowe ze strony Aspose lub wyodrębnić je z pakietu NuGet (`.../aspose.ocr//resources`). + +**P:** Czy istnieje sposób na uzyskanie wskaźników pewności? +**O:** Tak. Po wywołaniu `Recognize()` sprawdź `ocrEngine.RecognizedWords` — każde słowo zawiera właściwość `Confidence`. + +## Podsumowanie + +Omówiliśmy **jak używać OCR** w C# do *wyodrębniania tekstu z obrazów* całkowicie offline. Instalując Aspose.OCR, konfigurując `EngineMode.Offline`, wskazując zasoby, ładując obraz i wywołując `Recognize()`, możesz niezawodnie **konwertować obraz na tekst** bez konieczności łączenia się z internetem. + +Weź powyższy kod, zamień własne ścieżki do obrazów i zacznij budować funkcje takie jak przeszukiwalne PDF‑y, automatyzacja wprowadzania danych lub narzędzia dostępnościowe. Następnie możesz zbadać **rozpoznawanie tekstu z PNG** w partiach lub zintegrować silnik z API ASP.NET Core, aby udostępniać wyniki OCR aplikacjom front‑end. + +Szczęśliwego kodowania i zachęcamy do eksperymentów — OCR jest zaskakująco wyrozumiały, gdy silnik jest poprawnie skonfigurowany! + +--- + +![Diagram przedstawiający przepływ pracy OCR offline – jak używać OCR w bezpiecznym środowisku](https://example.com/ocr-workflow.png "diagram jak używać OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/polish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..31e2ffe32 --- /dev/null +++ b/ocr/polish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Dowiedz się, jak rozpoznawać tekst w języku hindi i wczytywać obraz do + OCR przy użyciu Aspose.OCR w C#. Krok po kroku konfiguracja, kod i wskazówki. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: pl +og_description: Odkryj, jak rozpoznawać tekst w języku hindi za pomocą Aspose OCR + w C#. Zawiera ładowanie obrazu do OCR, konfigurację pakietu językowego oraz wskazówki + najlepszych praktyk. +og_title: rozpoznawanie tekstu hindi – Pełny samouczek Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: Rozpoznawanie tekstu hindi w C# – Kompletny przewodnik Aspose OCR +url: /pl/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznawanie tekstu hindi – Pełny poradnik Aspose OCR + +Czy kiedykolwiek potrzebowałeś **rozpoznać tekst hindi** ze zeskanowanego paragonu, ale nie byłeś pewien, od czego zacząć? Nie jesteś sam. W wielu aplikacjach skierowanych do Indii wyodrębnianie znaków hindi w sposób niezawodny może przypominać gonienie ruchomego celu. Na szczęście Aspose.OCR czyni to dziecinnie proste — gdy już znasz właściwe kroki, aby **load image for OCR** i skierować silnik na zasoby języka hindi. + +W tym przewodniku przeprowadzimy Cię przez wszystko, co potrzebne, aby uzyskać działający potok OCR w C#. Na końcu będziesz mieć uruchamialny program, który pobiera pakiet językowy hindi, ładuje obraz, wykonuje rozpoznawanie i wypisuje otrzymany tekst w konsoli. Bez niejasnych odnośników „zobacz dokumentację” — po prostu samodzielne rozwiązanie, które możesz wkleić do dowolnego projektu .NET. + +## Czego będziesz potrzebować + +- **.NET 6+** (lub .NET Framework 4.7.2+). API jest takie samo we wszystkich wersjach, ale nowszy runtime zapewnia lepszą wydajność. +- **Aspose.OCR for .NET** pakiet NuGet. Zainstaluj go poleceniem `dotnet add package Aspose.OCR`. +- **Pakiet językowy Hindi** – Aspose udostępnia go jako pobierany zasób, nie jest domyślnie wbudowany. +- Plik obrazu zawierający tekst w języku hindi (np. `hindi_receipt.jpg`). Działa każdy popularny format (JPG, PNG, BMP). +- Porządne IDE (Visual Studio, Rider lub VS Code). + +To wszystko — bez zewnętrznych silników OCR, bez kluczy do chmury, tylko lokalna biblioteka. + +## Krok 1: Pobierz pakiet językowy Hindi – przygotuj zasoby + +Zanim silnik OCR będzie mógł rozumieć znaki Devanagari, musisz pobrać zasoby językowe Hindi. Jest to jednorazowa operacja, zwykle wykonywana podczas instalacji aplikacji lub w CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Dlaczego to ważne:** Silnik OCR opiera się na modelach specyficznych dla języka, aby mapować wzorce pikseli na znaki Unicode. Bez pakietu Hindi otrzymasz zniekształcony tekst łaciński lub wcale nic. + +> **Wskazówka:** Przechowuj pakiet w folderze, do którego aplikacja ma prawo zapisu na docelowej maszynie. Jeśli wdrażasz do Azure App Service, użyj folderu `D:\home\site\wwwroot\Resources`. + +## Krok 2: Skonfiguruj silnik OCR – wskaż zasoby + +Teraz, gdy zasoby są na miejscu, utwórz instancję `OcrEngine` i wskaż jej, gdzie szukać plików językowych. To także miejsce, w którym ustawiamy **primary language** dla rozpoznawania. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Dlaczego to robimy:** `ResourcesPath` jest mostem między silnikiem a pobranymi plikami. Jeśli pominiesz ten krok, silnik przełączy się na wbudowane modele (tylko angielski) i nie będziesz w stanie **rozpoznać tekstu hindi** poprawnie. + +## Krok 3: Ładuj obraz do OCR – podaj silnikowi właściwe dane wejściowe + +Gdy silnik jest gotowy, następnym krokiem jest **load image for OCR**. Aspose udostępnia wygodny pomocnik `ImageStream.FromFile`, który obsługuje większość popularnych formatów obrazu. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Typowe pułapki:** +- **Duże obrazy** mogą spowolnić przetwarzanie. Jeśli obsługujesz skany wysokiej rozdzielczości, rozważ najpierw zmniejszenie rozmiaru (`ImageProcessor.Resize`). +- **Nieprawidłowa orientacja** (obrócone skany) spowoduje słabe wyniki. W razie potrzeby użyj `ocrEngine.Image.Rotate(90)`. + +## Krok 4: Uruchom rozpoznawanie – wyodrębnij tekst + +Teraz faktycznie prosimy silnik o odczytanie pikseli i przekształcenie ich w ciągi Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Czego się spodziewać:** Jeśli obraz jest wyraźny, powinieneś zobaczyć znaki hindi wydrukowane dokładnie tak, jak pojawiają się na paragonie. Na przykład przykładowy paragon może wyświetlić: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Jeśli otrzymasz bełkot, sprawdź ponownie, czy pakiet językowy został prawidłowo pobrany i czy `ocrEngine.Settings.Language` jest ustawione na `Language.Hindi`. + +## Krok 5: Zbierz wszystko razem – kompletny, uruchamialny program + +Poniżej znajduje się pełny plik źródłowy, który możesz skopiować i wkleić do projektu konsolowego. Zawiera wszystkie powyższe kroki oraz minimalną obsługę błędów. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Zapisz to jako `Program.cs`, uruchom `dotnet run`, a powinieneś zobaczyć tekst hindi wypisany w konsoli. + +## Najczęściej zadawane pytania (FAQ) + +### Czy mogę rozpoznawać wiele języków w jednym uruchomieniu? + +Tak. Ustaw `ocrEngine.Settings.Language` na tablicę, np. `new[] { Language.Hindi, Language.English }`. Silnik spróbuje wykryć znaki z obu skryptów. + +### Co zrobić, jeśli mój obraz jest rozmazany? + +Rozważ wstępne przetwarzanie przy użyciu `ImageProcessor` — zastosuj wyostrzanie lub zwiększenie kontrastu przed przypisaniem go do `ocrEngine.Image`. + +### Czy to działa na Linux/macOS? + +Zdecydowanie tak. Aspose.OCR jest wieloplatformowy; wystarczy zapewnić obecność natywnych zależności (zwykle dołączonych do pakietu NuGet). + +### Jak poprawić dokładność przy niskiej rozdzielczości paragonów? + +Zwiększ DPI (punkty na cal) podczas skanowania lub programowo przeskaluj obraz do co najmniej 300 DPI przed OCR. + +## Podsumowanie + +Omówiliśmy wszystko, co potrzebne, aby **rozpoznać tekst hindi** przy użyciu Aspose.OCR — od pobrania pakietu językowego Hindi, konfiguracji silnika, prawidłowego **load image for OCR**, po wyodrębnienie i wypisanie wyniku. Pełny fragment kodu powyżej jest gotowy do wstawienia w dowolną aplikację konsolową C#, a dodatkowe wskazówki pomogą radzić sobie z typowymi problemami, takimi jak rozmazane skany czy dokumenty wielojęzykowe. + +Gotowy na kolejny krok? Spróbuj przekazać wynik OCR do API tłumaczenia lub zapisać wyodrębnione dane w bazie danych do analiz. Możesz także eksperymentować z innymi językami indyjskimi — Aspose obsługuje Tamil, Bengali i inne — zamieniając `Language.Hindi` na odpowiednią wartość wyliczenia. + +Miłego kodowania i niech wyniki OCR zawsze będą wyraźne! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/polish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/polish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..b2b0d59f1 --- /dev/null +++ b/ocr/polish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Szybko rozpoznawaj tekst z obrazu za pomocą Aspose OCR. Dowiedz się, + jak konwertować pliki DJVU na tekst, wyodrębniać tekst z obrazu i ładować obraz + do OCR w szczegółowym samouczku C#. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: pl +og_description: Rozpoznawaj tekst z obrazu w C# przy użyciu Aspose OCR. Ten przewodnik + pokazuje, jak konwertować pliki djvu na tekst, wyodrębniać tekst z obrazu oraz ładować + obraz do OCR, zawierając praktyczne wskazówki. +og_title: Rozpoznawanie tekstu z obrazu – pełny samouczek OCR w C# Aspose +tags: +- C# +- Aspose OCR +- Document Processing +title: Rozpoznawanie tekstu z obrazu w C# – Kompletny przewodnik po Aspose OCR +url: /pl/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# rozpoznawanie tekstu z obrazu – Pełny samouczek C# Aspose OCR + +Czy kiedykolwiek potrzebowałeś **rozpoznawania tekstu z obrazu**, ale nie byłeś pewien, która biblioteka zapewni wiarygodne wyniki? Nie jesteś sam. Niezależnie od tego, czy masz do czynienia ze skanowanymi fakturami, historycznymi plikami DJVU, czy prostym zrzutem ekranu PNG, wyodrębnienie dokładnych znaków może przypominać odszyfrowywanie starożytnego pisma. + +Oto co—Aspose OCR sprawia, że cały proces jest banalny. W tym przewodniku przejdziemy przez to, jak **convert djvu to text**, **extract text from image**, i **load image for OCR** używając zwięzłego programu w C#. Po zakończeniu będziesz mieć działającą aplikację konsolową, która wypisuje rozpoznany ciąg znaków w konsoli, oraz zrozumiesz „dlaczego” za każdą linią. + +## Czego się nauczysz + +- Jak skonfigurować silnik Aspose OCR w projekcie .NET. +- Dokładny kod potrzebny do **load image for OCR** z pliku DJVU. +- Dlaczego należy wywołać `Recognize()` przed odczytaniem `Text`. +- Typowe pułapki (wielostronicowy DJVU, nieobsługiwane formaty) i jak ich uniknąć. +- Szybkie sposoby na **convert djvu to text** w przetwarzaniu wsadowym. + +Wszystko, czego potrzebujesz, to aktualny .NET SDK (≥ 6.0) oraz licencja Aspose OCR (bezpłatna wersja próbna działa do testów). Bez zewnętrznych usług, bez wywołań REST—tylko czysty C#. + +## Wymagania wstępne + +| Wymaganie | Powód | +|-------------|--------| +| .NET 6 SDK or later | Nowoczesne funkcje językowe i lepsza wydajność. | +| Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) | Dostarcza klasę `OcrEngine`, której użyjemy. | +| A DJVU file (e.g., `sample.djvu`) | Demonstrates **convert djvu to text**. | +| Basic familiarity with C# console apps | Ułatwia naturalny przebieg kroków. | + +Jeśli którekolwiek z nich brakuje, zatrzymaj się i zainstaluj je teraz; w przeciwnym razie kod nie skompiluje się. + +## Krok 1 – Zainstaluj Aspose.OCR i Utwórz Projekt + +Najpierw utwórz nowy projekt konsolowy i pobierz bibliotekę OCR. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Wskazówka:* Użyj flagi `--framework net6.0`, jeśli chcesz jawnie ustawić docelowy framework. + +## Krok 2 – Zainicjalizuj Silnik OCR i Załaduj Obraz DJVU + +Silnik potrzebuje źródła obrazu. Aspose.OCR może odczytywać wiele formatów, w tym DJVU, więc po prostu wskazujemy mu ścieżkę do pliku. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Dlaczego to ważne:** +- `OcrEngine` jest punktem wejścia; utworzenie go raz i ponowne używanie zmniejsza zużycie pamięci. +- `ImageStream.FromFile` ukrywa format pliku, więc później możesz zamienić plik DJVU na PNG lub TIFF bez zmiany innego kodu—idealne dla „how to extract text from image” w różnych scenariuszach. + +## Krok 3 – Uruchom Proces Rozpoznawania + +Wywołanie `Recognize()` uruchamia ciężką pracę. W tle Aspose używa klasyfikatora opartego na sieci neuronowej, który działa zarówno na tekście drukowanym, jak i odręcznym. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Uwaga o przypadkach brzegowych:* Jeśli Twój DJVU zawiera wiele stron, `ImageStream.FromFile` wciąż ładuje tylko pierwszą stronę. Aby przetworzyć wszystkie strony, musisz iterować po `ImageStream.FromFile(...).Pages`. Dla większości szybkich podglądów pierwsza strona wystarczy. + +## Krok 4 – Pobierz i Wyświetl Rozpoznany Tekst + +Po rozpoznaniu silnik wypełnia właściwość `Text` zwykłym ciągiem znaków. Teraz możesz zapisać go do konsoli, pliku lub przekazać do innego systemu. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typowy wynik wygląda tak: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Jeśli wynik jest zniekształcony, sprawdź dwukrotnie, czy źródłowy obraz nie ma niskiej rozdzielczości; Aspose zaleca 300 dpi lub wyższą dla najlepszej dokładności. + +## Pełny Działający Przykład + +Łącząc wszystko razem, oto pojedynczy plik (`Program.cs`), który możesz wkleić do wcześniej utworzonego projektu. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Uruchom go za pomocą: + +```bash +dotnet run +``` + +Powinieneś zobaczyć wyodrębniony ciąg znaków wypisany w terminalu. To najprostszy sposób na **recognize text from image** przy użyciu Aspose OCR. + +## Krok 5 – Zaawansowane: Konwersja Wielu Stron DJVU do Plików Tekstowych + +Jeśli potrzebujesz **convert djvu to text** masowo, rozbuduj poprzedni kod o pętlę: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Dlaczego to działa:* `GetPage(i)` zwraca obiekt `Image` dla żądanej strony, pozwalając ponownie używać tej samej instancji `OcrEngine`. Tekst każdej strony trafia do własnego pliku `.txt`, co daje czysty pipeline **convert djvu to text**. + +## Częste Pytania i Pułapki + +- **Czy mogę wyodrębnić tekst z JPEG zamiast DJVU?** + Oczywiście. Po prostu zmień rozszerzenie pliku w `FromFile`. Ten sam kod **how to extract text from image** ma zastosowanie, ponieważ Aspose abstrahuje format. + +- **Co zrobić, gdy wynik OCR zawiera dodatkowe znaki nowej linii?** + Użyj `String.Replace("\r\n", " ")` lub wyrażenia regularnego, aby znormalizować białe znaki. + +- **Czy potrzebuję licencji do użytku produkcyjnego?** + Bezpłatna wersja próbna działa do 100 stron. Aby mieć nieograniczone użycie, zakup licencję i wywołaj `License license = new License(); license.SetLicense("Aspose.OCR.lic");` przed utworzeniem silnika. + +- **Czy silnik jest bezpieczny wątkowo?** + Nie. Utwórz osobny `OcrEngine` dla każdego wątku lub zabezpiecz dostęp przy pomocy blokady. + +## Wskazówki dla Lepszej Dokładności + +1. **Zwiększ DPI** – Jeśli kontrolujesz konwersję źródła, generuj obrazy w 300 dpi lub wyżej. +2. **Wstępna obróbka obrazu** – Prosta binaryzacja (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) może poprawić wyniki przy zaszumionych skanach. +3. **Określ język** – `ocrEngine.Language = Language.English;` zawęża zestaw znaków i przyspiesza rozpoznawanie. + +## Zakończenie + +Masz teraz kompletny, gotowy do uruchomienia przykład, który **recognize text from image** przy użyciu Aspose OCR, oraz widziałeś, jak **convert djvu to text**, **how to extract text from image**, i właściwy sposób **load image for OCR**. Kod jest samodzielny, działa na dowolnym środowisku .NET 6+, i może być rozszerzony do przetwarzania wsadowego wielostronicowych dokumentów DJVU. + +Następnie możesz zbadać: + +- Dodanie **language detection** dla wielojęzycznych plików DJVU. +- Integrację wyniku OCR z indeksem wyszukiwania (np. Elasticsearch). +- Użycie konwersji PDF od Aspose do przekształcenia wyodrębnionego tekstu w przeszukiwalne PDFy. + +Spróbuj, dostosuj DPI, eksperymentuj z różnymi formatami obrazów i pozwól silnikowi OCR wykonać ciężką pracę za Ciebie. Szczęśliwego kodowania! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/ocr-configuration/_index.md b/ocr/portuguese/net/ocr-configuration/_index.md index 917456822..7a0a6099d 100644 --- a/ocr/portuguese/net/ocr-configuration/_index.md +++ b/ocr/portuguese/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ Desbloqueie o poder do reconhecimento de imagens OCR em .NET com Aspose.OCR. Ext Desbloqueie recursos poderosos de OCR com Aspose.OCR para .NET. Extraia texto de imagens de forma contínua. ### [OCROperation com Lista em Reconhecimento de Imagens OCR](./ocr-operation-with-list/) Desbloqueie o potencial do Aspose.OCR para .NET. Realize reconhecimento de imagens OCR com listas de forma simples. Aumente a produtividade e a extração de dados em suas aplicações. +### [Ler texto de PNG – extrair texto cirílico com Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Desbloqueie o OCR para extrair texto cirílico de imagens PNG usando Aspose OCR de forma simples e eficaz. ### Casos de Uso Comuns - **Extrair imagens de texto** de faturas escaneadas para contabilidade automatizada. @@ -102,4 +104,4 @@ A: Sim, o objeto `OcrResult` fornece valores de confiança que podem ser inspeci {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/portuguese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..056b99636 --- /dev/null +++ b/ocr/portuguese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,200 @@ +--- +category: general +date: 2026-03-07 +description: Aprenda a ler texto de arquivos PNG e extrair texto cirílico usando o + Aspose OCR, converter a imagem em texto e baixar o pacote de idioma cirílico. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: pt +og_description: Aprenda a ler texto de PNG, extrair texto cirílico e converter imagem + em texto usando o Aspose OCR em C#. +og_title: ler texto de PNG – extrair texto cirílico com Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Ler texto de PNG – extrair texto cirílico com Aspose OCR +url: /pt/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ler texto de png – extrair texto cirílico com Aspose OCR + +Precisa **ler texto de png** arquivos e extrair caracteres cirílicos? Neste guia vamos mostrar como ler texto de png usando Aspose OCR, extrair texto cirílico e **converter imagem em texto** em apenas algumas linhas de C#. + +Se você já ficou olhando para uma captura de tela de uma fatura russa e se perguntou como obter as palavras em uma string pesquisável, está no lugar certo. Também vamos mostrar como **baixar o pacote de idioma cirílico** automaticamente, para que você não precise procurar arquivos extras. + +## O que você irá alcançar + +* **Carregar uma imagem para OCR** diretamente do disco ou de um stream. +* Defina o motor para **idioma Cirílico** sem downloads manuais. +* Execute o reconhecimento e **extraia texto cirílico** de um arquivo PNG. +* Veja o texto reconhecido impresso no console – um resultado limpo, em texto simples, que você pode inserir em bancos de dados, índices de busca ou qualquer outro fluxo de trabalho. + +Sem serviços externos, sem chaves de nuvem, apenas o pacote NuGet Aspose OCR e algumas linhas de C#. + +## Pré-requisitos + +* .NET 6.0 ou superior (o código funciona em .NET Core, .NET Framework e .NET 5+). +* Visual Studio 2022 ou qualquer editor de sua preferência. +* O pacote NuGet Aspose.OCR (`dotnet add package Aspose.OCR`). +* Uma imagem PNG que contenha caracteres cirílicos – por exemplo `cyrillic_sample.png` colocada em uma pasta chamada `YOUR_DIRECTORY`. + +> **Dica profissional:** Se você estiver usando o Visual Studio, clique com o botão direito no projeto → **Gerenciar Pacotes NuGet** → procure por “Aspose.OCR” e instale a versão estável mais recente. + +--- + +## Etapa 1 – Instalar Aspose OCR e criar o motor + +Primeiro precisamos da instância do motor OCR. A classe `OcrEngine` é o ponto de entrada para todas as operações. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Por que isso importa:** O motor encapsula pacotes de idioma, dados de imagem e opções de reconhecimento. Instanciá‑lo uma vez e reutilizá‑lo em várias imagens pode melhorar o desempenho. + +--- + +## Etapa 2 – **carregar imagem para ocr** e definir o idioma + +Agora informamos ao motor qual imagem processar e qual idioma procurar. Definir `Language.Cyrillic` baixa automaticamente o pacote de idioma necessário na primeira execução. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Caso extremo:** Se seu PNG for muito grande (mais de 5 MB) você pode querer redimensioná‑lo primeiro para acelerar o reconhecimento. A propriedade `Image` também aceita um `Stream`, permitindo carregar da memória, de uma requisição web ou de um Azure Blob sem tocar no sistema de arquivos. + +--- + +## Etapa 3 – **converter imagem em texto** com uma única chamada + +O reconhecimento é tão simples quanto invocar `Recognize()`. Após essa chamada, a propriedade `Text` contém a string extraída. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **O que acontece nos bastidores?** Aspose executa um classificador baseado em rede neural treinado com milhões de glifos cirílicos. A biblioteca abstrai toda essa complexidade, de modo que você obtém Unicode limpo. + +--- + +## Etapa 4 – Exibir o resultado (ou encaminhá‑lo para outro lugar) + +Para fins de demonstração, imprimiremos o texto no console, mas você pode facilmente gravá‑lo em um arquivo, em um banco de dados ou enviá‑lo para um índice de busca. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Saída esperada** (supondo que `cyrillic_sample.png` contenha a frase “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Se a saída parecer confusa, verifique se a imagem está nítida e se você definiu `Language.Cyrillic`. O motor usa English como padrão, o que trataria caracteres cirílicos como símbolos desconhecidos. + +--- + +## Etapa 5 – Exemplo completo e executável + +Juntando tudo, aqui está um programa autônomo que você pode copiar e colar em um novo projeto de console. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Salve o arquivo como `Program.cs`, execute `dotnet run` e você deverá ver o texto cirílico impresso. + +--- + +## Perguntas comuns & solução de problemas + +| Pergunta | Resposta | +|----------|----------| +| **E se o pacote de idioma não for baixado?** | Verifique se a máquina tem acesso à internet. O pacote é armazenado em cache em `%USERPROFILE%\.Aspose\OCR\Languages`. Excluir essa pasta força um novo download. | +| **Posso ler outros idiomas além de cirílico?** | Claro – substitua `Language.Cyrillic` por `Language.English`, `Language.Arabic`, etc. A mesma lógica de download automático se aplica. | +| **Meu PNG está ruidoso – os resultados são ruins. O que posso fazer?** | Pré‑processar a imagem: aumentar o contraste, converter para escala de cinza ou aplicar um filtro mediano. Aspose OCR também oferece opções `Settings.ImagePreprocess`. | +| **Existe uma maneira de obter caixas delimitadoras para cada palavra?** | Sim, após `Recognize()` você pode inspecionar `ocrEngine.Regions`, que devolve retângulos para cada palavra detectada. | +| **Preciso de uma licença para uso em produção?** | A avaliação gratuita funciona para até 100 páginas. Para projetos comerciais adquira uma licença – ela remove a marca d’água de avaliação e desbloqueia o processamento em lote de alta velocidade. | + +--- + +## Próximos passos – estendendo a solução + +* **Processamento em lote:** Percorrer uma pasta de PNGs, coletar todos os textos em um arquivo CSV. +* **Integração com Azure Cognitive Search:** Indexar as strings cirílicas extraídas para busca rápida. +* **Combinar com conversão de PDF:** Use Aspose.PDF para converter PDFs escaneados em PNGs primeiro, então executar o mesmo fluxo OCR. + +Todos esses cenários reutilizam o padrão central que acabamos de cobrir: **carregar imagem para OCR → definir idioma → reconhecer → usar o texto**. + +--- + +## Conclusão + +Agora você sabe como **ler texto de png**, **extrair texto cirílico** e **converter imagem em texto** com Aspose OCR em C#. As etapas principais são criar o motor, carregar a imagem, selecionar o idioma correto (que baixa automaticamente o **pacote de idioma cirílico**), e finalmente chamar `Recognize()`. + +Experimente com diferentes imagens, experimente as opções `Settings` e veja suas aplicações se tornarem pesquisáveis, multilíngues e muito mais inteligentes. + +Boa codificação, e sinta‑se à vontade para deixar um comentário se encontrar algum problema! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/ocr-optimization/_index.md b/ocr/portuguese/net/ocr-optimization/_index.md index 7a728f21a..4aea265da 100644 --- a/ocr/portuguese/net/ocr-optimization/_index.md +++ b/ocr/portuguese/net/ocr-optimization/_index.md @@ -28,7 +28,7 @@ Neste guia você descobrirá como **extrair texto de imagem** de arquivos com As - **O .NET Core é suportado?** Totalmente suportado no .NET Framework 4.5+, .NET Core 3.1+, .NET 5/6+. ## O que é “extrair texto de imagem”? -Extrair texto de uma imagem significa usar reconhecimento óptico de caracteres (OCR) para ler os caracteres que aparecem em um bitmap e exportá‑los como texto simples ou documentos formatados. Aspose.OCR utiliza algoritmos sofisticados para lidar com várias fontes, idiomas e qualidades de imagem. +Extrair texto de uma imagem significa usar reconhecimento óptico de caracteres (OCR) para ler os caracteres que aparecem em um bitmap e exportá‑‑los como texto simples ou documentos formatados. Aspose.OCR utiliza algoritmos sofisticados para lidar com várias fontes, idiomas e qualidades de imagem. ## Por que usar Aspose.OCR para .NET? - **Alta precisão** – mecanismos avançados de reconhecimento reduzem erros. @@ -55,7 +55,7 @@ Aumente a precisão do OCR com Aspose.OCR para .NET explorando [filtros de pré ## Correção de Resultado com Verificação Ortográfica em Reconhecimento de Imagem OCR -Alcance precisão incomparável no OCR com [Aspose.OCR para .NET](./result-correction-with-spell-checking/). Nosso tutorial sobre correção de resultado com verificação ortográfica permite que você personalize dicionários, corrija ortografia e garanta reconhecimento de texto livre de erros sem esforço. Mergulhe em um mundo de precisão com Aspose.OCR. +Alcance precisão incomparável no OCR com [Aspose.OCR para .NET](./result-correction-with-spell-checking/). Nosso tutorial sobre correção de resultado com verificação ortográfica permite que você personalize dicionários, corrija ortografia e garanta reconhecimento de texto livre de erros sem esforço. Mergulhe em um mundo de precisão com Aspose.OCR para .NET. ## Salvar Resultado Multipágina como Documento em Reconhecimento de Imagem OCR @@ -74,6 +74,12 @@ Explore Aspose.OCR para .NET. Aumente a precisão do OCR com filtros de pré‑p Melhore a precisão do OCR com Aspose.OCR para .NET. Corrija ortografia, personalize dicionários e alcance reconhecimento de texto livre de erros sem esforço. ### [Salvar Resultado Multipágina como Documento em Reconhecimento de Imagem OCR](./save-multipage-result-as-document/) Desbloqueie o potencial do Aspose.OCR para .NET. Salve facilmente resultados de OCR multipágina como documentos com este guia completo passo a passo. +### [Como Desinclinar Imagem e Executar OCR em C# – Guia Completo](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Aprenda a corrigir a inclinação de imagens e aplicar OCR usando Aspose.OCR em C#, passo a passo, para melhorar a precisão. +### [Exemplo Aspose OCR – Ativar Verificação Ortográfica e Corrigir Erros em C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Aprenda a habilitar a verificação ortográfica no Aspose OCR e corrigir erros de reconhecimento em C# passo a passo. +### [Como Realizar OCR em Imagens Chinesas – Guia Completo em C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Aprenda a reconhecer texto em imagens chinesas usando Aspose.OCR em C#, passo a passo, para alta precisão. ## Perguntas Frequentes diff --git a/ocr/portuguese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/portuguese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..cab6a9405 --- /dev/null +++ b/ocr/portuguese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Exemplo de OCR da Aspose mostrando como habilitar a verificação ortográfica, + adicionar um dicionário personalizado, carregar OCR de imagem e corrigir erros de + OCR rapidamente. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: pt +og_description: Aspose OCR example that walks you through enabling spellcheck, adding + a custom dictionary, loading an image for OCR and fixing common OCR errors. +og_title: Exemplo de OCR da Aspose – Ativar Verificação Ortográfica e Corrigir Erros +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Exemplo de OCR Aspose – Habilitar verificação ortográfica e corrigir erros + em C# +url: /pt/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Exemplo Aspose OCR – Ativar Verificação Ortográfica e Corrigir Erros em C# + +Já precisou de um **exemplo Aspose OCR** que não apenas leia texto de uma imagem, mas também limpe aqueles irritantes erros ortográficos? Você não está sozinho. Em muitos projetos do mundo real, a saída bruta do OCR está repleta de erros de digitação, especialmente quando a imagem de origem contém fontes de baixo contraste ou anotações manuscritas. + +A boa notícia? Com Aspose.OCR você pode **ativar a verificação ortográfica**, inserir seu próprio dicionário e obter uma string refinada em apenas algumas linhas de código. A seguir, você verá exatamente **como ativar a verificação ortográfica**, **como adicionar um dicionário**, e **como carregar OCR de imagem** para que finalmente possa **corrigir erros de OCR** sem perder a paciência. + +Neste tutorial, cobriremos tudo o que você precisa — desde a instalação via NuGet até um programa completo e executável que imprime o texto corrigido. Ao final, você terá um **exemplo Aspose OCR** robusto que pode ser inserido diretamente em qualquer projeto .NET. + +## Pré-requisitos + +- .NET 6.0 SDK ou posterior (o código funciona também com .NET Core e .NET Framework) +- Visual Studio 2022 ou qualquer IDE compatível com C# +- Um arquivo de imagem (`typed_text.png`) que contém texto em inglês claro e digitado +- Acesso à internet para baixar o pacote NuGet Aspose.OCR + +Nenhuma outra biblioteca de terceiros é necessária. + +--- + +## Etapa 1 – Instalar o Pacote NuGet Aspose.OCR (Carregar OCR de Imagem) + +Antes de podermos escrever qualquer código, precisamos da biblioteca que alimenta o motor OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Dica profissional:** Se você estiver usando o Visual Studio, clique com o botão direito no projeto → *Gerenciar Pacotes NuGet* → procure por **Aspose.OCR** e clique em *Instalar*. + +Instalar o pacote lhe dá acesso a `OcrEngine`, `ImageStream` e às utilidades de verificação ortográfica integradas que usaremos mais adiante. Uma vez que o pacote esteja instalado, você está pronto para **carregar OCR de imagem**. + +## Etapa 2 – Criar a Instância do Motor OCR + +Criar o motor é o primeiro passo concreto em qualquer **exemplo Aspose OCR**. Pense no `OcrEngine` como o cérebro que analisará o bitmap e gerará texto. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +O construtor `OcrEngine` não requer parâmetros, o que o torna simples e organizado para protótipos rápidos. + +## Etapa 3 – Como Ativar a Verificação Ortográfica (e Por Que É Importante) + +A saída bruta do OCR frequentemente contém palavras reconhecidas incorretamente, como “teh” em vez de “the”. Ativar o corretor ortográfico integrado permite que o Aspose substitua automaticamente esses erros pela ortografia mais provável. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Por que ativar a verificação ortográfica?** +> - **Precisão:** Uma verificação ortográfica pós‑processamento pode aumentar a precisão geral do texto em 10‑15 % para documentos impressos. +> - **Experiência do usuário:** Texto limpo significa menos limpeza posterior ao alimentar o resultado em índices de busca ou pipelines de análise. + +## Etapa 4 – Como Adicionar um Dicionário (Palavras Personalizadas) + +Às vezes o dicionário padrão não conhece os nomes da sua marca, códigos de produto ou jargões específicos do domínio. É aí que **como adicionar dicionário** entra em ação. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Você pode fornecer um array, uma lista ou até ler de um arquivo se possuir um vocabulário personalizado grande. O corretor ortográfico agora tratará essas entradas como válidas, evitando correções falsas. + +## Etapa 5 – Carregar a Imagem para OCR (Carregar OCR de Imagem) + +Agora que o motor está configurado, precisamos apontá‑lo para a imagem que queremos ler. O helper `ImageStream.FromFile` abstrai os detalhes de leitura de arquivo. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Dica:** Se sua imagem estiver em uma subpasta do projeto, defina a propriedade *Copy to Output Directory* como *Copy always* para que o caminho seja resolvido em tempo de execução. + +## Etapa 6 – Executar o Reconhecimento e Corrigir Erros de OCR + +Com tudo configurado, uma única chamada a `Recognize()` executa o pipeline OCR, aplica a verificação ortográfica e armazena o resultado limpo em `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Saída Esperada + +Assumindo que `typed_text.png` contenha a frase `The quick brown fox jumps over teh lazy dog`, o console exibirá: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Observe como “teh” foi automaticamente corrigido para “the”. Se você tivesse adicionado “OCRify” ao dicionário personalizado e a imagem contivesse essa palavra, o motor a manteria intacta. + +--- + +## Exemplo Completo Funcional (Pronto para Copiar‑Colar) + +Abaixo está o programa completo que você pode inserir em um novo projeto de console. Ele inclui todas as etapas acima, além de alguns comentários para clareza. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Salve isto como `Program.cs`, execute `dotnet run`, e você deverá ver a frase corrigida impressa no console. + +--- + +## Perguntas Frequentes & Casos Limite + +| Pergunta | Resposta | +|----------|----------| +| **E se a imagem for um PDF de várias páginas?** | Aspose.OCR pode lidar com páginas de PDF como imagens. Use `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` e faça um loop pelas páginas. | +| **Posso mudar o idioma para algo diferente do inglês?** | Claro. Defina `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (ou qualquer idioma suportado). | +| **Meu dicionário personalizado é enorme — isso afetará o desempenho?** | Adicionar milhares de palavras gera um pequeno custo inicial, mas a busca é O(1) graças a um hash‑set interno. Para vocabulários massivos, considere carregá‑los uma única vez na inicialização da aplicação. | +| **E se o motor OCR lançar uma exceção ao processar uma imagem corrompida?** | Envolva `Recognize()` em um bloco try‑catch e verifique `ocrEngine.LastError`. Você também pode pré‑validar as dimensões da imagem com `ocrEngine.Image.Width` e `Height`. | +| **Preciso de uma licença para uso em produção?** | A avaliação gratuita funciona para testes, mas uma licença comercial remove a marca d'água de avaliação e desbloqueia o desempenho total. | + +--- + +## Conclusão + +Agora você tem um **exemplo completo Aspose OCR** que demonstra **como ativar a verificação ortográfica**, **como adicionar um dicionário**, **carregar OCR de imagem**, e **como corrigir erros de OCR** de forma limpa e pronta para produção. Ao configurar o corretor ortográfico e fornecer uma lista de palavras personalizada, você melhora drasticamente a qualidade do texto extraído sem precisar escrever nenhuma lógica de pós‑processamento. + +Pronto para o próximo passo? Experimente trocar o idioma para espanhol, alimentar um PDF de várias páginas ou integrar a saída em um índice pesquisável do Azure Cognitive Search. O mesmo padrão se aplica — basta ajustar a bandeira de idioma e, talvez, expandir o dicionário personalizado. + +Se você achou este guia útil, dê uma estrela no GitHub, compartilhe com os colegas ou deixe um comentário abaixo. Boa codificação, e que seus resultados de OCR estejam sempre livres de erros! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/portuguese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..867be51f1 --- /dev/null +++ b/ocr/portuguese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-03-07 +description: Aprenda a corrigir a inclinação da imagem, aumentar o contraste e extrair + texto de digitalizações usando o Aspose OCR. Execute OCR em uma imagem com um exemplo + completo em C# e carregue a imagem para OCR facilmente. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: pt +og_description: Aprenda a corrigir a inclinação da imagem, aumentar o contraste e + extrair texto de uma digitalização usando Aspose OCR em C#. Realize OCR na imagem + com código passo a passo. +og_title: Como desinclinar a imagem e executar OCR em C# – Guia completo +tags: +- C# +- OCR +- Image Processing +title: Como Desinclinar Imagem e Executar OCR em C# – Guia Completo +url: /pt/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Desinclinar Imagem e Executar OCR em C# – Guia Completo + +Se você já se perguntou **como desinclinar imagem** antes de executar OCR, está no lugar certo. Neste tutorial, vamos guiá-lo através do aumento de contraste, carregamento de uma imagem para OCR e, finalmente, **extrair texto da digitalização** com Aspose OCR. + +Seja digitalizando recibos antigos, limpando contratos escaneados ou simplesmente precisando de uma maneira confiável de ler texto de uma foto torta, os passos abaixo cobrem tudo o que você precisa. Sem enrolação — apenas um exemplo funcional que você pode copiar‑colar no Visual Studio. + +## O que Você Vai Conquistar + +* Corrija a inclinação em até 30° (essa é a parte do **how to deskew image**). +* Aumente o contraste da imagem para bordas de caracteres mais nítidas (**how to boost contrast**). +* Carregue sua foto no motor OCR (**load image for OCR**). +* Execute o processo de reconhecimento e **extract text from scan**. + +Tudo isso funciona com o pacote NuGet mais recente do Aspose.OCR .NET (v23.11 na data de escrita). + +--- + +![Exemplo de como desinclinar imagem](/images/deskew-example.png "como desinclinar imagem") + +*A imagem acima mostra um documento escaneado antes e depois da desinclinação.* + +## Pré-requisitos + +* .NET 6.0 ou superior (o código também funciona no .NET Framework 4.7+). +* Visual Studio 2022 (ou qualquer IDE C# de sua preferência). +* Pacote NuGet Aspose.OCR – instale via `dotnet add package Aspose.OCR`. + +É só isso. Sem serviços externos, sem chaves de API. + +--- + +## Como Desinclinar Imagem com Aspose OCR + +A primeira coisa que fazemos é criar um **ImageProcessingPipeline** e adicionar um `DeskewFilter`. O filtro detecta automaticamente o ângulo dominante da linha de texto e gira a imagem de volta à horizontal. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Por que isso importa:** +Um escaneamento inclinado confunde o motor OCR porque os caracteres não estão mais alinhados à linha de base. O `DeskewFilter` analisa o histograma da imagem, encontra o ângulo e a gira, melhorando drasticamente a precisão do reconhecimento. + +> **Dica de especialista:** Se você souber que seus documentos nunca excedem uma inclinação de 15°, defina `MaxAngle = 15` para acelerar o processamento. + +--- + +## Como Aumentar o Contraste para Melhor Reconhecimento + +Depois de desinclinar, o próximo passo é fazer o texto se destacar. O `ContrastBoostFilter` estica a faixa de intensidade dos pixels, o que é especialmente útil para impressões desbotadas. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Por que ajuda:** +Escaneamentos de baixo contraste produzem caracteres acinzentados que o binarizador pode interpretar como fundo. Aumentar o contraste deixa os pixels escuros mais escuros e os claros mais claros, proporcionando ao `BinarizationFilter` um canvas mais limpo. + +--- + +## Executar OCR na Imagem – Carregando o Arquivo + +Agora que a imagem está pré‑processada, precisamos **load image for OCR**. A Aspose oferece um auxiliar conveniente `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Se sua imagem estiver em um stream (por exemplo, enviada via API web), você pode usar `ImageStream.FromStream(yourStream)` em vez disso. O motor aceita BMP, JPEG, PNG, TIFF e muitos outros formatos. + +--- + +## Executar o Processo de Reconhecimento e Extrair Texto da Digitalização + +Com tudo conectado, chamar `Recognize()` faz o trabalho pesado. Após a chamada, o texto reconhecido está disponível via `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Saída esperada** (exemplo para uma fatura simples): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Se a saída parecer confusa, verifique novamente a ordem do pipeline — desinclinar primeiro, depois denoising, aumento de contraste e, por fim, binarização. Trocar a ordem pode degradar os resultados. + +--- + +## Armadilhas Comuns e Casos de Borda + +| Problema | Por que acontece | Correção | +|----------|------------------|----------| +| **Resultado vazio** | A imagem está muito escura ou muito clara para o método padrão de binarização. | Aumente `ContrastBoostFilter.Strength` ou troque para `BinarizationMethod.Otsu`. | +| **Texto parcial ausente** | Ainda há ruído após a redução de ruído. | Use `DenoiseLevel.Medium` para imagens mais suaves, ou adicione um segundo `DenoiseFilter`. | +| **Direção de rotação errada** | O documento tem orientação mista (por exemplo, uma foto de uma página rotacionada). | Defina manualmente `DeskewFilter.MaxAngle` mais baixo e pré‑rotacione a imagem com `ImageProcessor.Rotate`. | +| **Desaceleração de desempenho** | Grande lote de imagens de alta resolução. | Reduza a escala das imagens (`ImageProcessor.Resize`) antes do pipeline, ou processe em paralelo (`Parallel.ForEach`). | + +--- + +## Exemplo Completo Funcionando (Pronto para Copiar‑Colar) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Salve isso como `Program.cs`, execute `dotnet run` e observe o console imprimir o resultado de **extract text from scan**. + +--- + +## Próximos Passos e Tópicos Relacionados + +* **Batch processing** – Envolva a lógica acima em um loop para lidar com dezenas de arquivos. +* **Custom language packs** – Se precisar ler scripts não latinos, carregue um modelo de idioma via `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF output** – Combine Aspose.PDF com OCR para incorporar texto pesquisável diretamente em um arquivo PDF. +* **Performance tuning** – Experimente a ordem do `ImageProcessingPipeline`; às vezes denoising antes do deskew gera resultados mais rápidos em fotos ruidosas. + +Todos esses itens se baseiam nos conceitos centrais que abordamos: **how to deskew image**, **how to boost contrast**, **load image for OCR**, **perform OCR on image**, e finalmente **extract text from scan**. + +--- + +## Conclusão + +Acabamos de demonstrar uma forma completa e pronta para produção de **how to deskew image** e executar OCR em C#. Ao encadear um filtro de desinclinação, uma etapa de denoising, um aumento de contraste e um binarizador, você obtém uma entrada limpa que permite ao Aspose OCR extrair texto da digitalização de forma confiável. + +Teste o código, ajuste os parâmetros dos filtros para seus próprios documentos e verá como a precisão do reconhecimento melhora rapidamente. Tem dúvidas? Deixe um comentário, e feliz codificação! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/portuguese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..d516a70bd --- /dev/null +++ b/ocr/portuguese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-03-07 +description: Como realizar OCR em imagens chinesas usando o Aspose OCR. Aprenda a + extrair texto chinês, converter a imagem para ePub e melhorar a precisão do OCR + em um único tutorial. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: pt +og_description: Como realizar OCR em imagens chinesas com Aspose OCR. Obtenha código + passo a passo para extrair texto chinês, melhorar o OCR e exportar para ePub. +og_title: Como Realizar OCR em Imagens Chinesas – Guia Completo em C# +tags: +- OCR +- C# +- Aspose +title: Como Realizar OCR em Imagens Chinesas – Guia Completo em C# +url: /pt/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Realizar OCR em Imagens Chinesas – Guia Completo em C# + +Já se perguntou **como realizar OCR** em uma foto que contém caracteres chineses? Você não está sozinho. Em muitos aplicativos—digitalizando recibos, convertendo livros didáticos ou construindo um motor de busca multilíngue—obter texto limpo a partir de uma imagem é um recurso decisivo. + +Neste tutorial, percorreremos uma solução do mundo real que **extrai texto chinês**, grava o resultado em um arquivo de texto simples e ainda **converte a imagem em um ePub** para e‑readers. Ao longo do caminho, discutiremos **como melhorar a precisão do OCR**, por que você deve habilitar o modo GPU e o que é necessário fazer para **reconhecer chinês simplificado** corretamente. + +Ao final do guia, você terá um programa C# totalmente executável, várias dicas práticas e uma ideia clara dos próximos passos que pode seguir (como adicionar detecção de idioma ou processamento em lote). Nenhuma documentação externa é necessária—tudo o que você precisa está aqui. + +## O que Você Precisa + +- .NET 6+ (ou .NET Core 3.1 com Aspose OCR for .NET) +- Uma licença válida do Aspose OCR for .NET (a versão de avaliação gratuita funciona para experimentação) +- Um arquivo de imagem que contenha caracteres chineses simplificados (por exemplo, `chinese_sample.jpg`) +- Visual Studio 2022 ou qualquer editor C# de sua preferência + +Se estiver faltando algum desses, obtenha o pacote NuGet agora: + +```bash +dotnet add package Aspose.OCR +``` + +É isso—nenhuma biblioteca nativa extra, sem interop COM, apenas um único pacote .NET. + +## Como Realizar OCR – Configurando o Motor Aspose OCR + +A primeira coisa que você deve fazer é criar e configurar o motor OCR. Esta etapa é crucial porque as configurações do motor determinam **quão bem o OCR funciona** com caracteres chineses e quão rápido ele roda. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Por que isso importa:** +- **Language = ChineseSimplified** informa ao Aspose para carregar o conjunto de caracteres do Chinês Simplificado, o que reduz drasticamente os erros de reconhecimento. +- **EngineMode.Gpu** pode reduzir o tempo de processamento pela metade em uma GPU moderna, mas recua graciosamente para a CPU se nenhuma GPU estiver presente. +- **DeskewFilter** remove qualquer inclinação que costuma aparecer quando os usuários tiram uma foto com o telefone. +- **Sauvola binarization** cria uma imagem preto‑e‑branco de alto contraste, um truque clássico para melhorar a precisão do OCR em scripts densos como o chinês. + +> **Dica profissional:** Se você estiver lidando com fotos em baixa iluminação, adicione um `ContrastFilter` antes da binarização. Não é necessário para o nosso exemplo, mas costuma evitar algumas dores de cabeça. + +![Diagrama do pipeline de OCR](ocr-pipeline.png "Diagrama do pipeline de OCR") + +> *Texto alternativo:* Diagrama do pipeline de OCR + +## Extrair Texto Chinês de uma Imagem + +Agora que o motor está pronto, carregamos a imagem e deixamos o motor fazer sua mágica. Este é o núcleo de **extrair texto chinês**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**O que você deve ver:** +Se `chinese_sample.jpg` contiver a frase “中华人民共和国”, o arquivo `out.txt` conterá exatamente esses caracteres—sem espaços extras, sem letras latinas corrompidas. + +### Armadilhas Comuns + +| Problema | Por que acontece | Solução | +|----------|------------------|--------| +| Caracteres ausentes | A imagem está muito ruidosa | Adicione um `MedianFilter` antes da binarização | +| Idioma errado detectado | `Language` definido como `English` | Garanta que `Language = Language.ChineseSimplified` | +| Processamento lento | GPU não habilitada | Verifique se sua máquina possui um driver CUDA compatível | + +## Converter Imagem para ePub + +Muitos desenvolvedores perguntam, *“Posso transformar a página escaneada em um e‑book legível?”* Absolutamente—Aspose OCR inclui um exportador ePub. Isso atende ao requisito de **converter imagem para epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +O `out.epub` gerado conterá o texto chinês extraído, codificado corretamente em UTF‑8, e pode ser aberto no Kindle, Apple Books ou em qualquer leitor ePub. + +**Por que usar ePub?** +- É refluível, permitindo que os leitores ajustem o tamanho da fonte sem quebrar o layout. +- O formato mantém o texto pesquisável, o que é útil para indexação posterior. + +## Como Melhorar OCR – Ajustes Práticos + +Mesmo com um pipeline sólido, você ainda pode observar reconhecimentos errôneos ocasionais. Aqui está uma lista rápida para **como melhorar OCR** em documentos chineses: + +1. **Pré‑processar a imagem** – Use `GaussianBlurFilter` para suavizar manchas, depois `ContrastFilter` para realçar bordas. +2. **Definir um DPI mais alto** – Se você controla o processo de digitalização, mire em 300 dpi ou mais; imagens de baixa resolução perdem detalhes dos traços. +3. **Habilitar detecção de idioma** – Aspose pode detectar automaticamente o idioma; combine isso com um fallback para Chinês Simplificado se a detecção falhar. +4. **Ajustar a binarização** – Troque `Sauvola` por `Otsu` se o fundo for uniformemente claro. +5. **Processamento em lote** – Processar várias páginas em paralelo usando `Parallel.ForEach` para aproveitar CPUs multi‑core. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Reconhecer Chinês Simplificado – Casos Limite + +A expressão **reconhecer chinês simplificado** costuma confundir iniciantes porque o mesmo motor OCR também pode lidar com Chinês Tradicional, Japonês ou Coreano. Para manter as coisas determinísticas: + +- **Defina explicitamente o idioma** (como fizemos na Etapa 1). +- **Evite páginas com idiomas mistos**; se uma página mistura Chinês Simplificado com Inglês, considere executar duas passagens: uma com `Language.ChineseSimplified`, outra com `Language.English`. +- **Valide a saída** – Após o reconhecimento, execute uma regex simples para garantir que todos os caracteres estejam dentro do intervalo Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Se a verificação falhar, você pode registrar a página para revisão manual. + +## Exemplo Completo Funcional + +Juntando tudo, aqui está um único arquivo que você pode copiar‑colar em um novo projeto de console (`Program.cs`). Ele inclui todas as etapas, ajustes opcionais e uma linha de status final. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Saída esperada no console (exemplo):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Execute o programa, abra `out.txt` ou `out.epub`, e você verá caracteres chineses limpos e pesquisáveis prontos para processamento posterior. + +## Conclusão + +Acabamos de cobrir **como realizar OCR** em imagens chinesas do início ao fim, mostrando como **extrair texto chinês**, **converter o resultado em um ePub**, e aplicar um conjunto de + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/text-recognition/_index.md b/ocr/portuguese/net/text-recognition/_index.md index 8efadbd23..a8e4d6ce7 100644 --- a/ocr/portuguese/net/text-recognition/_index.md +++ b/ocr/portuguese/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Aprimore seus aplicativos .NET com Aspose.OCR para reconhecimento eficiente de t Desbloqueie o potencial do OCR em .NET com Aspose.OCR. Extraia texto de PDFs sem esforço. Baixe agora para uma experiência de integração perfeita. ### [Reconhecer tabela no reconhecimento de imagem OCR](./recognize-table/) Desbloqueie o potencial do Aspose.OCR para .NET com nosso guia completo sobre reconhecimento de tabelas no reconhecimento de imagem OCR. +### [Reconhecer texto em Hindi em C# – Guia completo do Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Aprenda a reconhecer texto em Hindi usando C# com o Aspose OCR, passo a passo, para integrar OCR avançado em suas aplicações. +### [Como criar ePub a partir de imagens em C# – Guia passo a passo](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Aprenda a gerar arquivos ePub a partir de imagens usando C#. Siga nosso guia passo a passo para criar ePub facilmente. +### [Reconhecer texto a partir de imagem em C# – Guia completo do Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Aprenda a reconhecer texto a partir de imagens usando C# com Aspose OCR, passo a passo, para integrar OCR avançado em suas aplicações. +### [Extrair texto de PNG em C# – Guia completo de OCR](./extract-text-from-png-in-c-full-ocr-guide/) +Aprenda a extrair texto de arquivos PNG usando C# e Aspose.OCR, passo a passo, para integrar OCR avançado em suas aplicações. +### [Como usar OCR em C# – Extrair texto de imagens offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Aprenda a usar OCR em C# para extrair texto de imagens offline, passo a passo. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/portuguese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..4901dd281 --- /dev/null +++ b/ocr/portuguese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-03-07 +description: Extraia texto de arquivos PNG usando C#. Aprenda como converter imagem + em texto em C# e ler texto de imagens digitalizadas rapidamente. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: pt +og_description: Extraia texto de arquivos PNG usando C#. Este guia mostra como converter + imagem em texto C# e ler texto de imagens digitalizadas com Aspose OCR. +og_title: Extrair Texto de PNG em C# – Guia Completo de OCR +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Extrair Texto de PNG em C# – Guia Completo de OCR +url: /pt/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrair Texto de PNG em C# – Guia Completo de OCR + +Já precisou **extrair texto de PNG** arquivos mas não sabia por onde começar? Você não está sozinho—a maioria dos desenvolvedores encontra essa barreira ao se deparar com gráficos escaneados ou capturas de tela que precisam se tornar texto pesquisável. A boa notícia? Com algumas linhas de C# e Aspose OCR você pode transformar qualquer PNG em strings editáveis em um instante. + +Neste tutorial percorreremos todo o processo: desde localizar PNGs no disco, iniciar tarefas de OCR em paralelo, até exibir uma pré‑visualização organizada de cada resultado. Ao final você saberá como **convert image to text C#** (manter termo), poderá **read text from scanned images** eficientemente, e também verá a melhor forma de **run OCR on images** sem sobrecarregar a thread da UI. + +## O que você precisará + +- .NET 6.0 ou posterior (o código funciona também em .NET Core e .NET Framework) +- Pacote NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- Uma pasta cheia de arquivos *.png* que você deseja processar +- Qualquer IDE que preferir (Visual Studio, VS Code, Rider…) + +Nenhuma configuração extra é necessária; a biblioteca já inclui tudo que é preciso para decodificar PNGs, JPEGs, TIFFs, o que você precisar. + +## Etapa 1: Localizar Todos os Arquivos PNG – “Extract Text from PNG” Começa + +Primeiro precisamos encontrar cada PNG que pretendemos processar com OCR. Usar `Directory.GetFiles` é rápido e confiável. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Por que isso importa:* Escanear o diretório uma única vez mantém o restante do pipeline simples, e a verificação inicial impede uma situação silenciosa de “sem saída” que pode ser difícil de depurar depois. + +## Etapa 2: Iniciar Tarefas de OCR Paralelas – Executar **run OCR on images** de forma eficiente + +Executar OCR sequencialmente funciona para alguns poucos arquivos, mas projetos reais frequentemente lidam com dezenas ou centenas. Ao iniciar uma `Task` por imagem mantemos a CPU ocupada enquanto a biblioteca realiza o processamento pesado. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Dica profissional:* `Task.Run` delega o trabalho ao pool de threads, o que significa que sua UI (se houver) permanece responsiva. Se você estiver em um servidor, o mesmo padrão escala bem entre os núcleos. + +## Etapa 3: Aguardar Todas as Tarefas – Coletar os Resultados + +Agora aguardamos que cada operação de OCR termine. `Task.WhenAll` devolve um array que segue a ordem original dos arquivos, facilitando o pareamento dos resultados com os nomes dos arquivos. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Observação de caso extremo:* Se alguma imagem gerar exceção (arquivo corrompido, formato não suportado) todo o `WhenAll` propagará a exceção. Você pode envolver o `Task.Run` interno em um try/catch e retornar uma string vazia ou uma mensagem de diagnóstico se precisar de tolerância a falhas. + +## Etapa 4: Mostrar uma Pré‑visualização – Verificar a saída do **convert image to text C#** + +Uma pré‑visualização rápida ajuda a confirmar que o OCR funcionou antes de você começar a persistir os dados em outro lugar. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +A saída típica do console se parece com: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Se a pré‑visualização mostrar caracteres ilegíveis, verifique novamente a qualidade da imagem ou considere pré‑processamento (ex.: binarização) – mas para a maioria dos PNGs limpos o Aspose OCR acerta na primeira tentativa. + +## Opcional: Salvar Resultados em CSV – Um Caso de Uso Real + +A maioria dos projetos precisa do texto extraído em um formato estruturado. Abaixo há um pequeno helper que grava o nome do arquivo e o texto completo do OCR em um arquivo CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Agora você pode importar o CSV para Excel, Power BI ou qualquer sistema downstream que espere **read text from scanned images**. + +## Perguntas Frequentes + +**E se meus PNGs forem enormes (mais de 5 MB)?** +Aspose OCR automaticamente reduz imagens grandes para manter o uso de memória sob controle, mas você pode redimensionar manualmente com `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` para limitar a largura a 2000 px preservando a proporção. + +**Posso executar isso no Linux?** +Sim. Aspose OCR é multiplataforma; apenas certifique‑se de que as dependências nativas (`libgdiplus` em algumas distribuições) estejam instaladas. + +**A linguagem do OCR está configurada para Inglês por padrão?** +Correto. Se precisar de outro idioma, defina `engine.Language = OcrLanguage.French;` (ou qualquer enum suportado) antes de chamar `Recognize()`. + +**Como lidar com PDFs protegidos por senha que contêm PNGs?** +Converta as páginas do PDF em imagens primeiro (usando Aspose PDF ou outra biblioteca), depois alimente esses PNGs no mesmo pipeline. O princípio de **how to run OCR on images** permanece o mesmo. + +## Exemplo Completo Funcional (Async Main) + +Abaixo está um programa autônomo que você pode copiar‑colar em um projeto de console. Ele inclui todas as partes acima, além de um pequeno helper para validar a pasta de entrada. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Saída esperada** (exemplo para dois PNGs): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Conclusão + +Acabamos de cobrir tudo que você precisa para **extract text from PNG** arquivos usando C#. Desde localizar os arquivos, iniciar trabalhos de OCR paralelos, pré‑visualizar as strings, até persistí‑las em um CSV—este guia oferece um padrão pronto para produção em cenários de **convert image to text C#**. + +Se você está pronto para o próximo passo, experimente alimentar o mesmo pipeline com arquivos JPEG ou TIFF, teste diferentes idiomas de OCR, ou conecte os resultados a um índice de busca para que você possa **read text from scanned images** instantaneamente. + +Tem dúvidas sobre casos extremos, otimização de desempenho ou licenciamento? Deixe um comentário ou entre em contato com a comunidade Aspose—bom código! + +![Exemplo de extração de texto de PNG](extract-text-png.png "Extrair texto de PNG usando Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/portuguese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..df147b45a --- /dev/null +++ b/ocr/portuguese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Como criar ePub a partir de imagens digitalizadas usando Aspose OCR – + aprenda a converter imagem em ePub, extrair texto da imagem, adicionar autor ao + ePub e carregar imagem para OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: pt +og_description: Como criar ePub a partir de imagens escaneadas em C#. Este tutorial + mostra como converter imagem para ePub, extrair texto da imagem, adicionar autor + ao ePub e carregar imagem para OCR. +og_title: Como criar ePub a partir de imagens em C# – Guia completo +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Como criar ePub a partir de imagens em C# – Guia passo a passo +url: /pt/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como criar ePub a partir de imagens em C# – Guia completo + +Já se perguntou **how to create ePub** a partir de uma coleção de páginas digitalizadas? Talvez você tenha alguns PNGs de um romance clássico e queira transformá-los em um ePub organizado que pode ser lido em qualquer dispositivo. A boa notícia é que, com Aspose OCR, você pode **load image for OCR**, extrair o texto e então **convert image to ePub** em apenas algumas linhas de C#. + +Neste tutorial, percorreremos todo o pipeline: carregar a imagem, extrair o texto, adicionar alguns metadados (sim, vamos **add author to epub**), e finalmente escrever um arquivo ePub compatível com os padrões. Ao final, você terá um ePub pronto para publicação e uma compreensão sólida de cada etapa, para que possa adaptar o código para livros de várias páginas, fontes personalizadas ou até distribuição sem DRM. + +## O que você precisará + +- **.NET 6** ou posterior (a API funciona também com .NET Standard 2.0+) +- **Aspose.OCR for .NET** – você pode obter uma avaliação gratuita no site da Aspose. +- Uma imagem escaneada como `book_page.png` colocada em algum lugar no disco. +- Uma IDE favorita (Visual Studio, Rider ou VS Code – eu usarei o Visual Studio nas capturas de tela). + +Nenhum pacote NuGet adicional é necessário; o Aspose.OCR inclui tudo o que você precisa para exportar ePub. + +--- + +![Como criar ePub a partir de imagem escaneada](/images/how-to-create-epub.png "Como criar ePub a partir de uma imagem escaneada usando Aspose OCR") + +## Etapa 1 – Configurar o Projeto e Instalar o Aspose.OCR + +Primeiro de tudo. Crie um novo aplicativo de console: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Adicione o pacote Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +É isso – a biblioteca já inclui recursos de OCR e exportação ePub, portanto você não precisará de dependências extras. + +## Etapa 2 – Carregar Imagem para OCR + +Antes de podermos **extract text from image**, precisamos fornecer algo para o motor OCR ler. O helper `ImageStream.FromFile` torna isso trivial: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro tip:** Se sua imagem estiver em um recurso incorporado, use `ImageStream.FromResource` em vez de `FromFile`. + +## Etapa 3 – Extrair Texto da Imagem + +Agora o motor realmente lê os pixels e os converte em strings Unicode. O método `Recognize` faz o trabalho pesado. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Por que chamar `Recognize` separadamente? Isso permite inspecionar a saída bruta do OCR, ajustar as configurações de idioma ou até executar uma verificação ortográfica antes de prosseguir para a criação do ePub. + +## Etapa 4 – Preparar Opções de Exportação ePub (Add Author to ePub) + +Criar um ePub bem elaborado não é apenas despejar texto; você também quer metadados adequados. A classe `EpubExportOptions` oferece uma maneira simples de **add author to ePub**, definir um título e decidir se deve incorporar as imagens originais. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Se você tiver várias páginas, pode continuar chamando `ocrEngine.Image = …` e `ocrEngine.Recognize()` dentro de um loop; cada chamada adiciona o conteúdo da nova página ao mesmo documento ePub. + +## Etapa 5 – Converter Imagem para ePub e Exportar + +Com o texto extraído e os metadados definidos, a etapa final é uma única linha que grava o arquivo ePub no disco: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +O `book.epub` resultante pode ser aberto no Calibre, Apple Books ou em qualquer leitor compatível com EPUB. Como definimos `IncludeImages = true`, o PNG original aparecerá como uma página de imagem, preservando a aparência da fonte escaneada. + +## Exemplo Completo Funcional + +Juntando tudo, aqui está o programa completo, pronto para ser executado: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Saída Esperada + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Abra `book.epub` no seu leitor favorito e você verá uma página de título, a linha do autor (mesmo que diga “Desconhecido”) e a imagem escaneada exibida ao lado do texto selecionável. + +## Perguntas Frequentes & Casos Limite + +### E se o idioma do OCR não for inglês? + +O Aspose.OCR suporta mais de 70 idiomas. Basta definir a propriedade `Language` antes de chamar `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Como lidar com livros de várias páginas? + +Envolva a lógica de carregamento/reconhecimento em um loop `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Cada iteração adiciona o texto recém-reconhecido ao mesmo ePub, preservando a ordem das páginas. + +### Posso excluir as imagens originais? + +Claro – defina `IncludeImages = false` em `EpubExportOptions`. O ePub resultante será puro texto refluível, o que reduz o tamanho do arquivo drasticamente. + +### E quanto a fontes ou estilos personalizados? + +O exportador ePub do Aspose.OCR permite que você forneça uma folha de estilos CSS via a propriedade `Css` em `EpubExportOptions`. Dessa forma, você pode impor uma família de fontes específica, altura de linha ou margem. + +## Conclusão + +Agora você sabe **how to create ePub** a partir de uma imagem escaneada usando Aspose OCR em C#. O tutorial cobriu tudo, desde **load image for OCR**, passando por **extract text from image**, até **add author to epub**, e finalmente **convert image to epub** com uma única chamada de exportação. Com o exemplo completo de código em mãos, você pode expandir a solução para processar em lote bibliotecas inteiras, inserir arte de capa personalizada ou até integrar o fluxo de trabalho em uma API web. + +Pronto para o próximo desafio? Tente converter um PDF para ePub, ou experimente ajustar os limites de confiança do OCR para melhorar a precisão em digitalizações ruidosas. O céu é o limite quando você combina OCR poderoso com geração flexível de ePub. + +Feliz codificação, e aproveite a leitura do seu ePub recém-criado! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/portuguese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..a6418e43c --- /dev/null +++ b/ocr/portuguese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,245 @@ +--- +category: general +date: 2026-03-07 +description: Aprenda a usar OCR em C# para extrair texto de arquivos de imagem. Este + guia mostra OCR offline, converte imagem em texto e carrega a imagem para OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: pt +og_description: Como usar OCR em C# para extrair texto de imagens offline. Código + passo a passo, dicas e explicação completa para converter imagem em texto. +og_title: Como usar OCR em C# – Guia completo offline +tags: +- OCR +- C# +- Aspose +title: Como usar OCR em C# – Extrair texto de imagens offline +url: /pt/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Como Usar OCR em C# – Extrair Texto de Imagens Offline + +Já se perguntou **como usar OCR** em um projeto .NET sem enviar dados para a nuvem? Você não está sozinho. Muitos desenvolvedores precisam *extrair texto de arquivos de imagem* em uma estação de trabalho segura e temem que o tráfego de rede exponha informações sensíveis. + +A boa notícia? Com Aspose.OCR você pode reconhecer texto de PNGs, JPEGs ou PDFs totalmente offline. Neste tutorial vamos percorrer o carregamento de uma imagem para OCR, a configuração do motor para modo offline e, finalmente, **converter imagem em texto** com apenas algumas linhas de C#. + +Ao final deste guia você será capaz de: + +* Instalar o pacote NuGet Aspose.OCR. +* Configurar o motor OCR para processamento offline. +* Carregar uma imagem para OCR e extrair seu conteúdo textual. + +Sem serviços externos, sem chaves de API — apenas código C# puro que roda em qualquer máquina Windows ou Linux. + +--- + +## Pré‑requisitos + +Antes de começarmos, certifique‑se de que você tem: + +* .NET 6.0 SDK ou superior (o código também funciona com .NET Framework 4.7+). +* Visual Studio 2022, VS Code ou qualquer editor que suporte C#. +* Uma cópia da biblioteca **Aspose.OCR** – você pode obtê‑la no NuGet (`Aspose.OCR`). +* Uma pasta de recursos OCR (`Resources`) que acompanha a biblioteca (contém arquivos de dados de idioma). +* Uma imagem de exemplo (por exemplo, `offline_test.png`) colocada em um diretório conhecido. + +> **Dica profissional:** Mantenha a pasta de recursos ao lado do seu executável; isso simplifica a configuração de `ResourcesPath`. + +--- + +## Etapa 1: Instalar o Pacote NuGet Aspose.OCR + +Primeiro, adicione a biblioteca ao seu projeto. Abra um terminal na pasta do projeto e execute: + +```bash +dotnet add package Aspose.OCR +``` + +Ou, se preferir a interface do Visual Studio, clique com o botão direito em **Dependencies → Manage NuGet Packages**, procure por *Aspose.OCR* e clique em **Install**. + +> A instalação do pacote traz todas as binárias necessárias, então você não precisará de DLLs adicionais. + +--- + +## Etapa 2: Criar e Configurar o Motor OCR (Como Usar OCR – Modo Offline) + +Agora vamos instanciar o motor OCR e instruí‑lo a trabalhar **offline**. Isso garante que nenhum tráfego de rede ocorra durante o reconhecimento. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Por que offline?** +Quando `EngineMode` está definido como `Online`, o motor contata a nuvem da Aspose para baixar pacotes de idioma em tempo real. Em ambientes regulados (financeiro, saúde) esse tráfego costuma ser proibido. Ao forçar o modo offline você garante que tudo permaneça na máquina local. + +--- + +## Etapa 3: Apontar o Motor para a Pasta de Recursos OCR + +O motor OCR precisa de dados de idioma (modelos treinados) para reconhecer caracteres. Diga a ele onde esses arquivos estão: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Se não souber onde está a pasta, localize‑a no diretório do pacote NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Copie a pasta inteira para o seu projeto para facilitar a implantação. + +--- + +## Etapa 4: Carregar a Imagem para OCR (Load Image for OCR) + +Você pode fornecer ao motor qualquer bitmap suportado. Aqui carregaremos um PNG armazenado em disco: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Dica:** Se precisar processar imagens a partir de um stream (por exemplo, enviado via API), use `ImageStream.FromStream(seuStream)` em vez disso. + +--- + +## Etapa 5: Executar o Processo de Reconhecimento e Converter Imagem em Texto + +Com tudo configurado, dispare o OCR. O método `Recognize()` faz o trabalho pesado, e o texto extraído fica disponível através da propriedade `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Etapa 6: Exibir o Texto Extraído + +Por fim, mostre o resultado. Em um aplicativo console você pode simplesmente escrever no console, mas em uma API web você retornaria a string como JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Executar o programa deve imprimir o conteúdo textual de `offline_test.png`. Por exemplo, se a imagem contém a frase *“Hello, World!”*, você verá: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Exemplo Completo Funcional + +Abaixo está o programa completo, pronto‑para‑executar. Copie‑e‑cole em um novo projeto console (`dotnet new console`) e ajuste os caminhos para o seu ambiente. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Saída esperada:** O console imprime o texto exato contido no arquivo PNG. Se a imagem estiver borrada, o resultado pode incluir caracteres reconhecidos incorretamente — veja a seção de solução de problemas abaixo. + +--- + +## Armadilhas Comuns & Dicas (Reconhecer Texto de PNG com Eficiência) + +| Problema | Por que acontece | Como corrigir | +|----------|------------------|---------------| +| **Saída vazia** | `ResourcesPath` aponta para a pasta errada ou faltam arquivos de idioma. | Verifique se a pasta contém `eng.traineddata` (ou outros arquivos de idioma) e confirme a string do caminho. | +| **Caracteres estranhos** | Resolução da imagem muito baixa ou a imagem não está binarizada. | Pré‑processar a imagem (aumentar DPI, aplicar `ImageProcessor` para nitidez). | +| **Desempenho lento** | Imagens grandes são processadas em resolução total. | Redimensione a imagem para no máximo 2000 px de largura antes de enviá‑la ao OCR. | +| **Formato não suportado** | Uso de BMP com formato de pixel incomum. | Converta a imagem para PNG ou JPEG primeiro (`System.Drawing.Image.Save`). | + +**Dica profissional:** Se precisar reconhecer múltiplos idiomas, defina `ocrEngine.Settings.Language = Language.English | Language.French;` antes de chamar `Recognize()`. + +--- + +## Perguntas Frequentes + +**P: Posso usar este código no Linux?** +Sim. Aspose.OCR é multiplataforma; basta garantir que as bibliotecas nativas estejam presentes (elas são incluídas no pacote NuGet). + +**P: E se eu não tiver a pasta Resources?** +Você pode baixar os pacotes de idioma gratuitos no site da Aspose ou extraí‑los do pacote NuGet (`.../aspose.ocr//resources`). + +**P: Existe uma forma de obter pontuações de confiança?** +Sim. Após `Recognize()`, inspecione `ocrEngine.RecognizedWords` — cada palavra inclui a propriedade `Confidence`. + +--- + +## Conclusão + +Cobremos **como usar OCR** em C# para *extrair texto de arquivos de imagem* completamente offline. Instalando Aspose.OCR, configurando `EngineMode.Offline`, apontando para os recursos, carregando uma imagem e chamando `Recognize()`, você pode converter imagem em texto de forma confiável sem nunca tocar a internet. + +Pegue o código acima, substitua pelos seus próprios caminhos de imagem e comece a criar recursos como PDFs pesquisáveis, automação de entrada de dados ou ferramentas de acessibilidade. Em seguida, você pode explorar **reconhecimento de texto de PNG** em lote, ou integrar o motor a uma API ASP.NET Core para servir resultados de OCR a aplicações front‑end. + +Bom código, e sinta‑se à vontade para experimentar — OCR é surpreendentemente tolerante quando o motor está configurado corretamente! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/portuguese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..24f507e23 --- /dev/null +++ b/ocr/portuguese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Aprenda a reconhecer texto em hindi e carregar imagens para OCR usando + Aspose.OCR em C#. Configuração passo a passo, código e dicas. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: pt +og_description: Descubra como reconhecer texto em hindi com o Aspose OCR em C#. Inclui + carregamento de imagem para OCR, configuração do pacote de idioma e dicas de boas + práticas. +og_title: reconhecer texto em hindi – Tutorial completo de OCR da Aspose +tags: +- C# +- OCR +- Aspose +- Hindi +title: Reconhecer texto em Hindi no C# – Guia completo de OCR da Aspose +url: /pt/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconhecer texto em Hindi – Tutorial completo do Aspose OCR + +Já precisou **reconhecer texto em Hindi** de um recibo escaneado, mas não sabia por onde começar? Você não está sozinho. Em muitos aplicativos focados na Índia, extrair caracteres em Hindi de forma confiável pode parecer perseguir um alvo em movimento. Felizmente, o Aspose.OCR torna isso muito fácil — assim que você conhece os passos corretos para **load image for OCR** e apontar o motor para os recursos de idioma Hindi. + +Neste guia, percorreremos tudo o que você precisa para obter um pipeline OCR funcional em C#. Ao final, você terá um programa executável que baixa o pacote de idioma Hindi, carrega uma imagem, executa o reconhecimento e imprime o texto resultante no console. Sem links vagos de “veja a documentação” — apenas uma solução autônoma que você pode inserir em qualquer projeto .NET. + +## O que você precisará + +- **.NET 6+** (ou .NET Framework 4.7.2+). A API é a mesma em todas as versões, mas o runtime mais recente oferece melhor desempenho. +- **Aspose.OCR for .NET** pacote NuGet. Instale-o com `dotnet add package Aspose.OCR`. +- Um **Hindi language pack** – a Aspose o disponibiliza como recurso baixável, não incluído por padrão. +- Um arquivo de imagem que contém texto em Hindi (por exemplo, `hindi_receipt.jpg`). Qualquer formato comum (JPG, PNG, BMP) funciona. +- Um IDE decente (Visual Studio, Rider ou VS Code). + +Isso é tudo — sem motores OCR externos, sem chaves de nuvem, apenas uma biblioteca local. + +## Etapa 1: Baixar o Pacote de Idioma Hindi – Configurar Recursos + +Antes que o motor OCR possa entender os caracteres Devanagari, você deve obter os recursos de idioma Hindi. Esta é uma operação única, geralmente realizada durante a instalação da aplicação ou CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Por que isso importa:** O motor OCR depende de modelos específicos de idioma para mapear padrões de pixels para caracteres Unicode. Sem o pacote Hindi, você obterá saída em latim corrompida ou nada. + +> **Dica profissional:** Armazene o pacote em uma pasta que seja gravável na máquina de destino. Se você estiver implantando no Azure App Service, use a pasta `D:\home\site\wwwroot\Resources`. + +## Etapa 2: Configurar o Motor OCR – Apontar para os Recursos + +Agora que os recursos estão no lugar, crie uma instância de `OcrEngine` e indique onde procurar os arquivos de idioma. É aqui também que definimos o **idioma principal** para o reconhecimento. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Por que fazemos isso:** `ResourcesPath` é a ponte entre o motor e os arquivos baixados. Se você pular esta etapa, o motor retornará aos seus modelos internos (apenas inglês), e não será capaz de **reconhecer texto em Hindi** corretamente. + +## Etapa 3: Carregar Imagem para OCR – Alimentar o Motor com a Entrada Correta + +Com o motor pronto, o próximo passo é **load image for OCR**. A Aspose fornece um auxiliar conveniente `ImageStream.FromFile` que suporta a maioria dos formatos de imagem comuns. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Armadilhas comuns:** +- **Imagens grandes** podem desacelerar o processamento. Se você estiver lidando com digitalizações de alta resolução, considere reduzir a amostragem primeiro (`ImageProcessor.Resize`). +- **Orientação incorreta** (digitalizações rotacionadas) causará resultados ruins. Use `ocrEngine.Image.Rotate(90)` se necessário. + +## Etapa 4: Executar o Reconhecimento – Extrair o Texto + +Agora realmente pedimos ao motor que leia os pixels e os converta em strings Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**O que esperar:** Se a imagem estiver clara, você deverá ver os caracteres Hindi impressos exatamente como aparecem no recibo. Por exemplo, um recibo de exemplo pode gerar: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Se você obtiver texto incompreensível, verifique novamente se o pacote de idioma foi baixado corretamente e se `ocrEngine.Settings.Language` está definido como `Language.Hindi`. + +## Etapa 5: Finalizar – Programa Completo e Executável + +Abaixo está o arquivo de código completo que você pode copiar e colar em um projeto de console. Ele inclui todas as etapas acima, além de um tratamento de erro mínimo. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Salve isso como `Program.cs`, execute `dotnet run`, e você deverá ver o texto em Hindi impresso no console. + +## Perguntas Frequentes (FAQ) + +### Posso reconhecer múltiplos idiomas em uma única execução? + +Sim. Defina `ocrEngine.Settings.Language` como um array, por exemplo, `new[] { Language.Hindi, Language.English }`. O motor tentará detectar caracteres de ambos os scripts. + +### E se minha imagem estiver borrada? + +Considere pré‑processamento com `ImageProcessor` — aplique nitidez ou aumento de contraste antes de atribuí‑la a `ocrEngine.Image`. + +### Isso funciona em Linux/macOS? + +Absolutamente. O Aspose.OCR é multiplataforma; basta garantir que as dependências nativas estejam presentes (geralmente incluídas no pacote NuGet). + +### Como melhorar a precisão para recibos de baixa resolução? + +Aumente o DPI (pontos por polegada) durante a digitalização, ou reamostre programaticamente a imagem para pelo menos 300 DPI antes do OCR. + +## Conclusão + +Cobremos tudo o que você precisa para **reconhecer texto em Hindi** usando o Aspose.OCR — desde baixar o pacote de idioma Hindi, configurar o motor, **load image for OCR** corretamente, até extrair e imprimir o resultado. O trecho de código completo acima está pronto para ser inserido em qualquer aplicativo de console C#, e as dicas opcionais ajudam a lidar com casos comuns, como digitalizações borradas ou documentos multilíngues. + +Pronto para o próximo passo? Tente enviar a saída do OCR para uma API de tradução, ou armazenar os dados extraídos em um banco de dados para análise. Você também pode experimentar outras línguas indianas — o Aspose suporta Tamil, Bengali e mais — substituindo `Language.Hindi` pelo valor enum desejado. + +Feliz codificação, e que seus resultados de OCR sejam sempre nítidos! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/portuguese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/portuguese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..93d20c036 --- /dev/null +++ b/ocr/portuguese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,228 @@ +--- +category: general +date: 2026-03-07 +description: reconheça texto de imagem rapidamente com Aspose OCR. Aprenda como converter + djvu para texto, extrair texto de imagem e carregar imagem para OCR em um tutorial + passo a passo em C#. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: pt +og_description: reconhecer texto de imagem em C# usando Aspose OCR. Este guia mostra + como converter djvu para texto, extrair texto de imagem e carregar imagem para OCR + com dicas práticas. +og_title: Reconhecer texto a partir de imagem – Tutorial completo de OCR em C# com + Aspose +tags: +- C# +- Aspose OCR +- Document Processing +title: Reconhecer texto a partir de imagem em C# – Guia Completo de OCR da Aspose +url: /pt/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconhecer texto de imagem – Tutorial completo de C# Aspose OCR + +Já precisou **reconhecer texto de imagem** mas não tinha certeza de qual biblioteca lhe daria resultados confiáveis? Você não está sozinho. Seja lidando com faturas escaneadas, arquivos DJVU históricos ou uma simples captura de tela PNG, extrair os caracteres exatos pode parecer decifrar um script antigo. + +Aqui está a questão—Aspose OCR torna todo o processo muito simples. Neste guia vamos percorrer como **converter djvu para texto**, **extrair texto de imagem** e **carregar imagem para OCR** usando um programa conciso em C#. Ao final você terá um aplicativo console executável que imprime a string reconhecida no console, e entenderá o “porquê” de cada linha. + +## O que você aprenderá + +- Como configurar o motor Aspose OCR em um projeto .NET. +- O código exato necessário para **carregar imagem para OCR** a partir de um arquivo DJVU. +- Por que você deve chamar `Recognize()` antes de ler `Text`. +- Armadilhas comuns (DJVU multipágina, formatos não suportados) e como evitá‑las. +- Maneiras rápidas de **converter djvu para texto** para processamento em lote. + +Tudo que você precisa é de um SDK .NET recente (≥ 6.0) e uma licença Aspose OCR (a versão de avaliação gratuita funciona para testes). Sem serviços externos, sem chamadas REST—apenas C# puro. + +## Pré‑requisitos + +| Requisito | Motivo | +|-------------|--------| +| .NET 6 SDK ou posterior | Recursos de linguagem modernos e melhor desempenho. | +| Pacote NuGet Aspose.OCR (`Install-Package Aspose.OCR`) | Fornece a classe `OcrEngine` que usaremos. | +| Um arquivo DJVU (ex.: `sample.djvu`) | Demonstra **converter djvu para texto**. | +| Familiaridade básica com aplicativos console C# | Facilita o fluxo dos passos. | + +Se algum desses itens estiver faltando, pause e instale agora; caso contrário o código não compilará. + +## Etapa 1 – Instalar Aspose.OCR e criar o projeto + +Primeiro, crie um novo projeto console e adicione a biblioteca OCR. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Dica:* Use a flag `--framework net6.0` se quiser travar explicitamente o framework de destino. + +## Etapa 2 – Inicializar o motor OCR e carregar a imagem DJVU + +O motor precisa de uma fonte de imagem. Aspose.OCR pode ler muitos formatos, incluindo DJVU, então simplesmente apontamos para o caminho do arquivo. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Por que isso importa:** +- `OcrEngine` é o ponto de entrada; criá‑lo uma única vez e reutilizá‑lo reduz o consumo de memória. +- `ImageStream.FromFile` abstrai o formato do arquivo, permitindo que você substitua o arquivo DJVU por um PNG ou TIFF sem mudar nenhum outro código—perfeito para “como extrair texto de imagem” em diferentes cenários. + +## Etapa 3 – Executar o processo de reconhecimento + +Chamar `Recognize()` aciona o trabalho pesado. Nos bastidores, Aspose executa um classificador baseado em rede neural que funciona tanto para texto impresso quanto manuscrito. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Observação de caso extremo:* Se seu DJVU contiver várias páginas, `ImageStream.FromFile` ainda carrega apenas a primeira página. Para processar todas as páginas, você precisará iterar sobre `ImageStream.FromFile(...).Pages`. Para a maioria das tarefas rápidas, a primeira página basta. + +## Etapa 4 – Recuperar e exibir o texto reconhecido + +Após o reconhecimento, o motor preenche a propriedade `Text` com uma string em texto puro. Agora você pode escrevê‑la no console, em um arquivo ou enviá‑la para outro sistema. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +A saída típica se parece com: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Se a saída estiver ilegível, verifique se a imagem de origem não está em baixa resolução; Aspose recomenda 300 dpi ou mais para melhor precisão. + +## Exemplo completo funcionando + +Juntando tudo, aqui está um único arquivo (`Program.cs`) que você pode colar no projeto criado anteriormente. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Execute com: + +```bash +dotnet run +``` + +Você deverá ver a string extraída impressa no terminal. Esta é a maneira mais simples de **reconhecer texto de imagem** usando Aspose OCR. + +## Etapa 5 – Avançado: Converter múltiplas páginas DJVU para arquivos de texto + +Se precisar **converter djvu para texto** em massa, estenda o código anterior com um loop: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Por que isso funciona:* `GetPage(i)` retorna um objeto `Image` para a página solicitada, permitindo reutilizar a mesma instância de `OcrEngine`. O texto de cada página é salvo em seu próprio arquivo `.txt`, proporcionando um pipeline limpo de **converter djvu para texto**. + +## Perguntas frequentes & Armadilhas + +- **Posso extrair texto de um JPEG em vez de DJVU?** + Claro. Basta mudar a extensão do arquivo em `FromFile`. O mesmo código **como extrair texto de imagem** se aplica porque Aspose abstrai o formato. + +- **E se o resultado do OCR contiver quebras de linha extras?** + Use `String.Replace("\r\n", " ")` ou uma expressão regular para normalizar os espaços em branco. + +- **Preciso de licença para uso em produção?** + A avaliação gratuita funciona para até 100 páginas. Para uso ilimitado, adquira uma licença e chame `License license = new License(); license.SetLicense("Aspose.OCR.lic");` antes de criar o motor. + +- **O motor é thread‑safe?** + Não. Crie um `OcrEngine` separado por thread ou proteja o acesso com um lock. + +## Dicas para melhorar a precisão + +1. **Aumente o DPI** – Se você controla a conversão de origem, gere imagens com 300 dpi ou mais. +2. **Pré‑processar a imagem** – Binarização simples (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) pode melhorar resultados em digitalizações ruidosas. +3. **Especifique o idioma** – `ocrEngine.Language = Language.English;` restringe o conjunto de caracteres e acelera o reconhecimento. + +## Conclusão + +Agora você tem um exemplo completo, pronto‑para‑executar, que **reconhece texto de imagem** usando Aspose OCR, e viu como **converter djvu para texto**, **como extrair texto de imagem** e a forma correta de **carregar imagem para OCR**. O código é autocontido, funciona em qualquer runtime .NET 6+ e pode ser expandido para processar em lote documentos DJVU multipágina. + +Próximos passos sugeridos: + +- Adicionar **detecção de idioma** para arquivos DJVU multilíngues. +- Integrar a saída OCR a um índice de busca (ex.: Elasticsearch). +- Usar a conversão PDF da Aspose para transformar o texto extraído em PDFs pesquisáveis. + +Experimente, ajuste o DPI, teste diferentes formatos de imagem e deixe o motor OCR fazer o trabalho pesado por você. Boa codificação! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/ocr-configuration/_index.md b/ocr/russian/net/ocr-configuration/_index.md index 2a0ac8c03..8ee9fbe81 100644 --- a/ocr/russian/net/ocr-configuration/_index.md +++ b/ocr/russian/net/ocr-configuration/_index.md @@ -21,7 +21,7 @@ weight: 24 Если вы ищете **как извлечь данные OCR** ​​из изображений в ваших проектах .NET, вы найдете это в нужном месте. Aspose.OCR для .NET выполняет распознавание изображений OCR простым, быстрым и высоконастраиваемым. В этом руководстве мы предлагаем основные схемы построения — работу с архивами, папками, выбор языка и обработку на основе списков — чтобы вы могли уверенно получать текст из изображений. ## Быстрые ответы -- **Что означает «как извлечь OCR»?** Это использование OCR‑движки для чтения и преобразования текста, находящегося на изображении, в редактируемых строках. +- **Что означает «как извлечь OCR»?** Это использование OCR‑движка для чтения и преобразования текста, находящегося на изображении, в редактируемых строках. - **Какая библиотека рекомендуется для .NET?** Aspose.OCR Обеспечивает богатый API для поиска изображений OCR без внешних зависимостей. - **Нужна ли мне лицензия?** Бесплатная пробная версия подходит для измерений; для использования в продаже требуется коммерческая лицензия. - **Какие версии .NET поддерживаются?** .NET Framework4.5+, .NETCore3.1+, .NET5/6/7+. @@ -62,6 +62,7 @@ weight: 24 Откройте мощные возможности OCR с Aspose.OCR для .NET. Бесшовно извлеките текст из изображений. ### [OCROоперация со списком в распознавании изображений OCR](./ocr-operation-with-list/) Расширьте потенциал Aspose.OCR для .NET. Легко выполняйте распознавание изображений OCR со списками. Повышайте продуктивность и извлечение данных в ваших приложениях. +### [Чтение текста из PNG – извлечение кириллического текста с Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) ### Распространенные случаи использования - **Извлечение текстовых изображений** из отсканированных счетов для автоматического бухгалтерского учета. @@ -102,4 +103,4 @@ A: Да, объект `OcrResult` обеспечивает значения до {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/russian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..a8594879e --- /dev/null +++ b/ocr/russian/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,204 @@ +--- +category: general +date: 2026-03-07 +description: Узнайте, как считывать текст из PNG и извлекать кириллический текст с + помощью Aspose OCR, преобразовывать изображение в текст и загружать кириллический + языковой пакет. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: ru +og_description: Узнайте, как считывать текст из PNG, извлекать кириллический текст + и преобразовывать изображение в текст с помощью Aspose OCR в C#. +og_title: чтение текста из PNG – извлечение кириллического текста с помощью Aspose + OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Чтение текста из PNG – извлечение кириллического текста с помощью Aspose OCR +url: /ru/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# чтение текста из png – извлечение кириллического текста с помощью Aspose OCR + +Нужно **прочитать текст из png**‑файлов и получить кириллические символы? В этом руководстве мы покажем, как читать текст из png с помощью Aspose OCR, извлекать кириллический текст и **преобразовать изображение в текст** всего за несколько строк C#. + +Если вы когда‑либо смотрели на скриншот русского счёта и задавались вопросом, как превратить слова в поисковую строку, вы попали по адресу. Мы также расскажем, как **автоматически загрузить пакет кириллического языка**, чтобы не искать дополнительные файлы вручную. + +## Что вы получите + +К концу этого урока вы сможете: + +* **Загружать изображение для OCR** напрямую с диска или из потока. +* Устанавливать движок на **кириллический язык** без ручных загрузок. +* Запускать распознавание и **извлекать кириллический текст** из PNG‑файла. +* Видеть распознанный текст, выведенный в консоль — чистый plain‑text, который можно передать в базы данных, поисковые индексы или любой другой процесс. + +Никаких внешних сервисов, без облачных ключей, только пакет Aspose OCR NuGet и несколько строк C#. + +## Требования + +* .NET 6.0 или новее (код работает на .NET Core, .NET Framework и .NET 5+). +* Visual Studio 2022 или любой другой редактор. +* Пакет Aspose.OCR NuGet (`dotnet add package Aspose.OCR`). +* PNG‑изображение, содержащее кириллические символы — например `cyrillic_sample.png`, размещённое в папке `YOUR_DIRECTORY`. + +> **Pro tip:** Если вы используете Visual Studio, щёлкните правой кнопкой по проекту → **Manage NuGet Packages** → найдите “Aspose.OCR” и установите последнюю стабильную версию. + +--- + +## Шаг 1 – Установите Aspose OCR и создайте движок + +Сначала нам нужен экземпляр OCR‑движка. Класс `OcrEngine` — точка входа для всех операций. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Почему это важно:** Движок инкапсулирует языковые пакеты, данные изображения и параметры распознавания. Создание его один раз и повторное использование для нескольких изображений может повысить производительность. + +--- + +## Шаг 2 – **загрузить изображение для ocr** и задать язык + +Теперь указываем движку, какое изображение обрабатывать и какой язык искать. Установка `Language.Cyrillic` автоматически загружает необходимый языковой пакет при первом запуске. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Пограничный случай:** Если ваш PNG огромный (более 5 МБ), имеет смысл сначала уменьшить его размер, чтобы ускорить распознавание. Свойство `Image` также принимает `Stream`, так что можно загрузить из памяти, веб‑запроса или Azure Blob, не трогая файловую систему. + +--- + +## Шаг 3 – **преобразовать изображение в текст** одним вызовом + +Распознавание так же просто, как вызов `Recognize()`. После этого вызова свойство `Text` содержит извлечённую строку. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Что происходит под капотом?** Aspose использует нейронную сеть, обученную на миллионах кириллических глифов. Библиотека скрывает всю эту сложность, выдавая чистый Unicode. + +--- + +## Шаг 4 – Вывести результат (или передать дальше) + +Для демонстрации выведем текст в консоль, но вы легко можете записать его в файл, базу данных или передать в поисковый индекс. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Ожидаемый вывод** (при условии, что `cyrillic_sample.png` содержит фразу “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Если вывод выглядит искажённым, проверьте, что изображение чёткое и что вы задали `Language.Cyrillic`. По умолчанию движок использует английский, который будет рассматривать кириллические символы как неизвестные. + +--- + +## Шаг 5 – Полный, готовый к запуску пример + +Собрав всё вместе, получаем автономную программу, которую можно скопировать в новый консольный проект. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Сохраните файл как `Program.cs`, выполните `dotnet run`, и вы увидите вывод кириллического текста. + +--- + +## Часто задаваемые вопросы и устранение неполадок + +| Вопрос | Ответ | +|----------|--------| +| **Что делать, если языковой пакет не загружается?** | Убедитесь, что у машины есть доступ в интернет. Пакет кэшируется в `%USERPROFILE%\.Aspose\OCR\Languages`. Удаление этой папки принудит повторную загрузку. | +| **Можно ли читать другие языки, кроме кириллицы?** | Конечно — замените `Language.Cyrillic` на `Language.English`, `Language.Arabic` и т.д. Автозагрузка работает аналогично. | +| **Мой PNG шумный — результаты плохие. Что делать?** | Предобработайте изображение: увеличьте контраст, переведите в градации серого или примените медианный фильтр. Aspose OCR также предлагает параметры `Settings.ImagePreprocess`. | +| **Можно ли получить ограничивающие рамки для каждого слова?** | Да, после `Recognize()` можно изучить `ocrEngine.Regions`, который возвращает прямоугольники для каждого найденного слова. | +| **Нужна ли лицензия для продакшн‑использования?** | Бесплатная оценочная версия работает до 100 страниц. Для коммерческих проектов приобретайте лицензию — она убирает водяной знак и открывает высокоскоростную пакетную обработку. | + +--- + +## Следующие шаги – расширение решения + +* **Пакетная обработка:** перебрать папку с PNG‑файлами, собрать все тексты в CSV‑файл. +* **Интеграция с Azure Cognitive Search:** индексировать извлечённые кириллические строки для быстрого поиска. +* **Комбинация с конвертацией PDF:** сначала с помощью Aspose.PDF преобразовать отсканированные PDF в PNG, затем выполнить тот же OCR‑процесс. + +Все эти сценарии используют основной шаблон, который мы только что рассмотрели: **загрузить изображение для OCR → задать язык → распознать → использовать текст**. + +--- + +## Заключение + +Теперь вы знаете, как **читать текст из png**, **извлекать кириллический текст** и **преобразовать изображение в текст** с помощью Aspose OCR в C#. Ключевые шаги — создание движка, загрузка изображения, выбор правильного языка (который автоматически **загружает пакет кириллического языка**), и вызов `Recognize()`. + +Попробуйте с разными изображениями, экспериментируйте с параметрами `Settings` и наблюдайте, как ваши приложения становятся поисковыми, многоязычными и гораздо умнее. + +Счастливого кодинга, и оставляйте комментарии, если столкнётесь с проблемами! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/ocr-optimization/_index.md b/ocr/russian/net/ocr-optimization/_index.md index 64f6e406b..c74ee5e4f 100644 --- a/ocr/russian/net/ocr-optimization/_index.md +++ b/ocr/russian/net/ocr-optimization/_index.md @@ -74,6 +74,14 @@ weight: 25 ### [Сохранение многостраничных результатов как документ в распознавании OCR](./save-multipage-result-as-document/) Раскройте потенциал Aspose.OCR для .NET. Легко сохраняйте многостраничные результаты OCR в виде документов с помощью этого всестороннего пошагового руководства. +### [Как выпрямить изображение и выполнить OCR в C# – Полное руководство](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Узнайте, как выпрямить наклонённые изображения и запустить распознавание текста с помощью Aspose.OCR в C#. + +### [Как выполнить OCR на китайских изображениях – Полное руководство C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Узнайте, как распознавать китайский текст на изображениях с помощью Aspose.OCR в C#, включая настройку языковых пакетов и предобработку. + +### [Пример Aspose OCR – Включить проверку орфографии и исправить ошибки в C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) + ## Часто задаваемые вопросы **Q: Могу ли я извлекать текст из файлов изображений, содержащих несколько языков?** diff --git a/ocr/russian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/russian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..937e206d0 --- /dev/null +++ b/ocr/russian/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,220 @@ +--- +category: general +date: 2026-03-07 +description: Пример Aspose OCR, показывающий, как включить проверку орфографии, добавить + пользовательский словарь, загрузить изображение для OCR и быстро исправлять ошибки + OCR. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: ru +og_description: Пример Aspose OCR, который пошагово покажет, как включить проверку + орфографии, добавить пользовательский словарь, загрузить изображение для OCR и исправить + типичные ошибки OCR. +og_title: Пример Aspose OCR – Включить проверку орфографии и исправить ошибки +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Пример Aspose OCR – включить проверку орфографии и исправить ошибки в C# +url: /ru/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Пример Aspose OCR – Включение проверки орфографии и исправление ошибок в C# + +Когда‑то вам нужен **пример Aspose OCR**, который не только читает текст из изображения, но и устраняет назойливые орфографические ошибки? Вы не одиноки. Во многих реальных проектах необработанный вывод OCR заполнен опечатками, особенно когда исходное изображение содержит низкоконтрастные шрифты или рукописные заметки. + +Хорошая новость? С Aspose.OCR вы можете **включить проверку орфографии**, подключить собственный словарь и получить отшлифованную строку всего в несколько строк кода. Ниже вы увидите, **как включить проверку орфографии**, **как добавить словарь** и **как загрузить изображение для OCR**, чтобы наконец‑то **исправлять ошибки OCR**, не теряя волосы. + +В этом руководстве мы охватим всё, что нужно — от установки через NuGet до полностью готовой, исполняемой программы, выводящей исправленный текст. К концу вы получите надёжный **пример Aspose OCR**, который можно сразу вставить в любой .NET‑проект. + +## Требования + +- .NET 6.0 SDK или новее (код работает и с .NET Core, и с .NET Framework) +- Visual Studio 2022 или любой IDE, поддерживающий C# +- Файл изображения (`typed_text.png`) с чётким печатным английским текстом +- Доступ в Интернет для загрузки пакета Aspose.OCR из NuGet + +Никаких дополнительных сторонних библиотек не требуется. + +--- + +## Шаг 1 – Установить пакет Aspose.OCR NuGet (Load Image OCR) + +Прежде чем писать код, нам нужна библиотека, которая питает движок OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Если вы используете Visual Studio, щёлкните правой кнопкой мыши по проекту → *Manage NuGet Packages* → найдите **Aspose.OCR** и нажмите *Install*. + +Установка пакета даёт доступ к `OcrEngine`, `ImageStream` и встроенным утилитам проверки орфографии, которые мы будем использовать позже. После установки пакета вы готовы к **загрузке изображения для OCR**. + +## Шаг 2 – Создать экземпляр OCR‑движка + +Создание движка — первый конкретный шаг в любом **примере Aspose OCR**. Думайте о `OcrEngine` как о мозге, который будет анализировать битмап и выдавать текст. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Конструктор `OcrEngine` не требует параметров, что делает его удобным для быстрых прототипов. + +## Шаг 3 – Как включить проверку орфографии (и почему это важно) + +Необработанный вывод OCR часто содержит неверно распознанные слова, например «teh» вместо «the». Включение встроенной проверки орфографии позволяет Aspose автоматически заменять такие ошибки на наиболее вероятное правильное написание. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Почему стоит включать проверку орфографии?** +> - **Точность:** Постобработка с проверкой орфографии может повысить общую точность текста на 10‑15 % для печатных документов. +> - **Опыт пользователя:** Чистый текст означает меньше последующей очистки, когда вы передаёте результат в поисковые индексы или аналитические конвейеры. + +## Шаг 4 – Как добавить словарь (пользовательские слова) + +Иногда стандартный словарь не знает названий ваших брендов, кодов продуктов или отраслевого жаргона. Здесь в игру вступает **как добавить словарь**. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Можно передать массив, список или даже прочитать из файла, если у вас большой пользовательский словарь. Проверка орфографии теперь будет считать эти записи допустимыми, предотвращая ложные исправления. + +## Шаг 5 – Загрузить изображение для OCR (Load Image OCR) + +Теперь, когда движок настроен, нужно указать ему, какое изображение читать. Помощник `ImageStream.FromFile` абстрагирует детали чтения файла. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Подсказка:** Если ваше изображение находится в подпапке проекта, установите для него свойство *Copy to Output Directory* в значение *Copy always*, чтобы путь разрешался во время выполнения. + +## Шаг 6 – Выполнить распознавание и исправить ошибки OCR + +После всех настроек один вызов `Recognize()` запускает конвейер OCR, применяет проверку орфографии и сохраняет очищенный результат в `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Ожидаемый вывод + +Предположим, `typed_text.png` содержит предложение `The quick brown fox jumps over teh lazy dog`. Консоль выведет: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Обратите внимание, как «teh» автоматически исправилось на «the». Если бы вы добавили «OCRify» в пользовательский словарь и изображение содержало бы это слово, движок оставил бы его без изменений. + +--- + +## Полный рабочий пример (готов к копированию) + +Ниже представлена полная программа, которую можно вставить в новый консольный проект. В ней включены все шаги выше, а также несколько комментариев для ясности. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Сохраните файл как `Program.cs`, выполните `dotnet run`, и вы должны увидеть исправленное предложение в консоли. + +--- + +## Часто задаваемые вопросы и особые случаи + +| Вопрос | Ответ | +|----------|--------| +| **Что делать, если изображение — многостраничный PDF?** | Aspose.OCR может обрабатывать страницы PDF как изображения. Используйте `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` и перебирайте страницы. | +| **Можно ли сменить язык на другой, кроме английского?** | Конечно. Установите `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (или любой поддерживаемый язык). | +| **Мой пользовательский словарь огромен — повлияет ли это на производительность?** | Добавление тысяч слов требует небольших начальных затрат, но поиск происходит за O(1) благодаря хеш‑множеству под капотом. Для очень больших словарей рекомендуется загружать их один раз при старте приложения. | +| **Что если OCR‑движок бросает исключение при повреждённом изображении?** | Оберните `Recognize()` в блок try‑catch и проверьте `ocrEngine.LastError`. Можно также предварительно проверить размеры изображения через `ocrEngine.Image.Width` и `Height`. | +| **Нужна ли лицензия для использования в продакшене?** | Бесплатная оценочная версия подходит для тестирования, но коммерческая лицензия убирает водяной знак оценки и открывает полную производительность. | + +--- + +## Заключение + +Теперь у вас есть **полный пример Aspose OCR**, демонстрирующий **как включить проверку орфографии**, **как добавить словарь**, **загрузить изображение для OCR** и **как исправлять ошибки OCR** чистым, готовым к продакшену способом. Настроив проверку орфографии и передав собственный список слов, вы значительно повышаете качество извлечённого текста без написания дополнительной пост‑обработки. + +Готовы к следующему шагу? Попробуйте переключить язык на испанский, обработать многостраничный PDF или интегрировать вывод в индексируемый Azure Cognitive Search. Тот же шаблон работает — нужно лишь изменить флаг языка и, возможно, расширить пользовательский словарь. + +Если этот гид оказался полезным, поставьте звёздочку на GitHub, поделитесь им с коллегами или оставьте комментарий ниже. Приятного кодинга, и пусть результаты OCR всегда будут без ошибок! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/russian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..a248e0030 --- /dev/null +++ b/ocr/russian/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Узнайте, как исправлять наклон изображения, повышать контраст и извлекать + текст из сканированного документа с помощью Aspose OCR. Выполните OCR изображения + с полным примером на C# и легко загрузите изображение для OCR. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: ru +og_description: Узнайте, как исправлять наклон изображения, повышать контраст и извлекать + текст из сканированного документа с помощью Aspose OCR в C#. Выполните OCR изображения + с пошаговым кодом. +og_title: Как исправить наклон изображения и выполнить OCR в C# – Полное руководство +tags: +- C# +- OCR +- Image Processing +title: Как исправить наклон изображения и выполнить OCR в C# – Полное руководство +url: /ru/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как выровнять изображение и выполнить OCR в C# – Полное руководство + +Если вы когда‑нибудь задавались вопросом **как выровнять изображение** перед запуском OCR, вы попали по адресу. В этом руководстве мы пройдёмся по повышению контраста, загрузке изображения для OCR и, наконец, **извлечению текста из сканированного документа** с помощью Aspose OCR. + +Независимо от того, оцифровываете ли вы старые чеки, очищаете сканированные контракты или просто нуждаетесь в надёжном способе чтения текста с наклонённого фото, нижеописанные шаги покрывают всё необходимое. Без лишних слов — только рабочий пример, который можно скопировать‑вставить в Visual Studio. + +## Что вы получите + +К концу этого руководства вы сможете: + +* Исправить наклон до 30° (это и есть **как выровнять изображение**). +* Увеличить контраст изображения для более чётких контуров символов (**как повысить контраст**). +* Загрузить вашу картинку в OCR‑движок (**загрузить изображение для OCR**). +* Запустить процесс распознавания и **извлечь текст из сканированного документа**. + +Всё это работает с последним пакетом Aspose.OCR .NET NuGet (v23.11 на момент написания). + +--- + +![Пример выравнивания изображения](/images/deskew-example.png "как выровнять изображение") + +*На изображении выше показан сканированный документ до и после выравнивания.* + +## Требования + +* .NET 6.0 или новее (код также работает на .NET Framework 4.7+). +* Visual Studio 2022 (или любой другой IDE для C#). +* Пакет Aspose.OCR NuGet – установить через `dotnet add package Aspose.OCR`. + +Вот и всё. Никаких внешних сервисов, никаких API‑ключей. + +--- + +## Как выровнять изображение с помощью Aspose OCR + +Первым делом мы создаём **ImageProcessingPipeline** и добавляем `DeskewFilter`. Фильтр автоматически определяет доминирующий угол строки текста и вращает изображение обратно к горизонтали. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Почему это важно:** +Наклонённый скан сбивает с толку OCR‑движок, потому что символы больше не выровнены по базовой линии. `DeskewFilter` анализирует гистограмму изображения, находит угол и вращает его, что значительно повышает точность распознавания. + +> **Полезный совет:** Если вы знаете, что ваши документы никогда не наклонены более чем на 15°, задайте `MaxAngle = 15`, чтобы ускорить обработку. + +--- + +## Как повысить контраст для лучшего распознавания + +После выравнивания следующим шагом является выделение текста. `ContrastBoostFilter` растягивает диапазон интенсивности пикселей, что особенно полезно для выцветших отпечатков. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Почему это помогает:** +Сканы с низким контрастом дают сероватые символы, которые бинаризатор может принять за фон. Повышение контраста делает тёмные пиксели темнее, а светлые — светлее, предоставляя `BinarizationFilter` более чистое полотно. + +--- + +## Выполнение OCR на изображении – загрузка файла + +Теперь, когда изображение предварительно обработано, нам нужно **загрузить изображение для OCR**. Aspose предлагает удобный вспомогательный метод `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Если ваше изображение находится в потоке (например, загружено через веб‑API), используйте `ImageStream.FromStream(yourStream)`. Движок поддерживает BMP, JPEG, PNG, TIFF и многие другие форматы. + +--- + +## Запуск процесса распознавания и извлечение текста из сканированного документа + +Когда всё настроено, вызов `Recognize()` выполняет основную работу. После вызова распознанный текст доступен через `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Ожидаемый вывод** (пример простого счёта‑фактуры): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Если вывод выглядит искажённым, проверьте порядок шагов в конвейере — сначала выравнивание, затем шумоподавление, повышение контраста и, наконец, бинаризация. Их перестановка может ухудшить результаты. + +--- + +## Распространённые проблемы и особые случаи + +| Проблема | Почему происходит | Решение | +|----------|-------------------|---------| +| **Пустой результат** | Изображение слишком тёмное или слишком светлое для метода бинаризации по умолчанию. | Увеличьте `ContrastBoostFilter.Strength` или переключитесь на `BinarizationMethod.Otsu`. | +| **Частичный пропуск текста** | После шумоподавления остаётся шум. | Используйте `DenoiseLevel.Medium` для менее шумных изображений или добавьте второй `DenoiseFilter`. | +| **Неправильное направление вращения** | Документ имеет смешанную ориентацию (например, фото повернутой страницы). | Установите `DeskewFilter.MaxAngle` ниже и предварительно поверните изображение с помощью `ImageProcessor.Rotate`. | +| **Замедление производительности** | Большая партия изображений высокого разрешения. | Уменьшите размер изображений (`ImageProcessor.Resize`) перед конвейером или обрабатывайте их параллельно (`Parallel.ForEach`). | + +--- + +## Полный рабочий пример (готов к копированию) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Сохраните этот файл как `Program.cs`, выполните `dotnet run` и наблюдайте, как консоль выводит результат **извлечения текста из сканированного документа**. + +--- + +## Следующие шаги и смежные темы + +* **Пакетная обработка** – оберните описанную логику в цикл для обработки десятков файлов. +* **Пользовательские языковые пакеты** – если нужно распознавать нелатинские скрипты, загрузите языковую модель через `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF‑вывод** – комбинируйте Aspose.PDF с OCR, чтобы внедрить поисковый текст непосредственно в PDF‑файл. +* **Тонкая настройка производительности** – экспериментируйте с порядком `ImageProcessingPipeline`; иногда шумоподавление перед выравниванием даёт более быстрые результаты на шумных фотографиях. + +Все эти темы опираются на основные концепции, которые мы рассмотрели: **как выровнять изображение**, **как повысить контраст**, **загрузить изображение для OCR**, **выполнить OCR на изображении** и, наконец, **извлечь текст из сканированного документа**. + +--- + +## Итоги + +Мы только что продемонстрировали полный, готовый к использованию способ **как выровнять изображение** и выполнить OCR в C#. Соединяя фильтр выравнивания, шаг шумоподавления, повышение контраста и бинаризацию, вы получаете чистый ввод, позволяющий Aspose OCR надёжно **извлекать текст из сканированного документа**. + +Запустите код, подберите параметры фильтров под свои документы, и вы увидите, как быстро повышается точность распознавания. Есть вопросы? Оставляйте комментарий, и удачной разработки! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/russian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..1de63d4a1 --- /dev/null +++ b/ocr/russian/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,268 @@ +--- +category: general +date: 2026-03-07 +description: Как выполнять OCR на китайских изображениях с помощью Aspose OCR. Узнайте, + как извлекать китайский текст, конвертировать изображение в ePub и повышать точность + OCR в одном руководстве. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: ru +og_description: Как выполнять OCR на китайских изображениях с помощью Aspose OCR. + Получите пошаговый код для извлечения китайского текста, улучшения OCR и экспорта + в ePub. +og_title: Как выполнить OCR на китайских изображениях – Полное руководство по C# +tags: +- OCR +- C# +- Aspose +title: Как выполнить OCR на китайских изображениях – полное руководство по C# +url: /ru/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как выполнять OCR на китайских изображениях – Полное руководство C# + +Когда‑нибудь задавались вопросом **как выполнять OCR** на картинке, содержащей китайские символы? Вы не одиноки. Во многих приложениях — сканирование чеков, оцифровка учебников или создание многоязыкового поискового движка — получение чистого текста из изображения является решающей функцией. + +В этом руководстве мы пройдём реальное решение, которое **извлекает китайский текст**, сохраняет результат в файл обычного текста и даже **преобразует изображение в ePub** для электронных читалок. По пути мы обсудим **как улучшить точность OCR**, почему стоит включать режим GPU и что нужно сделать, чтобы **правильно распознавать упрощённый китайский**. + +К концу руководства у вас будет полностью рабочая программа на C#, несколько практических советов и чёткое представление о дальнейших шагах (например, добавление определения языка или пакетной обработки). Никакой внешней документации не требуется — всё, что нужно, находится здесь. + +## Что понадобится + +- .NET 6+ (или .NET Core 3.1 с Aspose OCR for .NET) +- Действительная лицензия Aspose OCR for .NET (бесплатная trial‑версия подходит для экспериментов) +- Файл изображения, содержащий упрощённые китайские символы (например, `chinese_sample.jpg`) +- Visual Studio 2022 или любой другой редактор C# + +Если чего‑то не хватает, установите NuGet‑пакет сейчас: + +```bash +dotnet add package Aspose.OCR +``` + +Вот и всё — никаких дополнительных нативных библиотек, никакого COM‑interop, только один .NET‑пакет. + +## Как выполнить OCR – настройка движка Aspose OCR + +Первое, что нужно сделать, — создать и настроить OCR‑движок. Этот шаг критичен, потому что параметры движка определяют **насколько хорошо OCR работает** с китайскими символами и насколько быстро он работает. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Почему это важно:** +- **Language = ChineseSimplified** указывает Aspose загрузить набор символов для упрощённого китайского, что значительно снижает количество ошибок распознавания. +- **EngineMode.Gpu** может сократить время обработки вдвое на современном GPU, но при отсутствии GPU плавно переходит на CPU. +- **DeskewFilter** удаляет наклон, который часто появляется, когда пользователи делают фото телефоном. +- **Sauvola binarization** создаёт высококонтрастное чёрно‑белое изображение, классический приём для повышения точности OCR на плотных скриптах, таких как китайский. + +> **Pro tip:** Если вы работаете с фотографиями при плохом освещении, добавьте `ContrastFilter` перед бинаризацией. Это не обязательно для нашего примера, но часто избавляет от головной боли. + +![Диаграмма конвейера OCR](ocr-pipeline.png "Диаграмма конвейера OCR") + +> *Alt text:* Диаграмма конвейера OCR + +## Извлечение китайского текста из изображения + +Теперь, когда движок готов, загружаем изображение и позволяем движку выполнить свою магию. Это ядро **extract chinese text**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Что вы должны увидеть:** +Если `chinese_sample.jpg` содержит фразу «中华人民共和国», файл `out.txt` будет содержать именно эти символы — без лишних пробелов и без искажённых латинских букв. + +### Распространённые подводные камни + +| Проблема | Почему происходит | Решение | +|----------|-------------------|---------| +| Отсутствуют символы | Изображение слишком шумное | Добавьте `MedianFilter` перед бинаризацией | +| Неправильный язык | `Language` установлен на `English` | Убедитесь, что `Language = Language.ChineseSimplified` | +| Медленная обработка | GPU не включён | Проверьте, что на машине установлен совместимый драйвер CUDA | + +## Преобразование изображения в ePub + +Многие разработчики спрашивают: *«Можно ли превратить отсканированную страницу в читаемую электронную книгу?»* Конечно — Aspose OCR поставляется с экспортёром ePub. Это удовлетворяет требование **convert image to epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Сгенерированный `out.epub` будет содержать извлечённый китайский текст, корректно закодированный в UTF‑8, и его можно открыть в Kindle, Apple Books или любом ePub‑читалке. + +**Почему ePub?** +- Формат переходит в потоковый режим, поэтому читатели могут менять размер шрифта без нарушения разметки. +- Текст остаётся поисковым, что удобно для последующей индексации. + +## Как улучшить OCR – практические приёмы + +Даже при надёжном конвейере иногда появляются ошибки распознавания. Ниже быстрый чек‑лист **how to improve OCR** для китайских документов: + +1. **Предобработка изображения** — используйте `GaussianBlurFilter` для сглаживания пятен, затем `ContrastFilter` для усиления краёв. +2. **Установите более высокое DPI** — если вы контролируете процесс сканирования, стремитесь к 300 dpi или выше; изображения низкого разрешения теряют детали штрихов. +3. **Включите определение языка** — Aspose может автоматически определять язык; добавьте резервный вариант упрощённого китайского, если определение не удалось. +4. **Тонкая настройка бинаризации** — замените `Sauvola` на `Otsu`, если фон равномерно светлый. +5. **Пакетная обработка** — обрабатывайте несколько страниц параллельно с помощью `Parallel.ForEach`, чтобы задействовать многоядерные процессоры. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Распознавание упрощённого китайского – крайние случаи + +Фраза **recognize simplified Chinese** часто ставит в тупик новичков, потому что тот же OCR‑движок может работать и с традиционным китайским, японским или корейским. Чтобы всё было предсказуемо: + +- **Явно задайте язык** (как мы сделали в Шаге 1). +- **Избегайте страниц со смешанными языками**; если страница сочетает упрощённый китайский с английским, рассмотрите два прохода: один с `Language.ChineseSimplified`, другой с `Language.English`. +- **Проверьте результат** — после распознавания выполните простую регулярку, чтобы убедиться, что все символы находятся в диапазоне Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Если проверка не прошла, вы можете записать страницу в журнал для ручного просмотра. + +## Полный рабочий пример + +Собрав всё вместе, получаем один файл, который можно скопировать в новый консольный проект (`Program.cs`). Он включает все шаги, необязательные настройки и финальную строку статуса. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Ожидаемый вывод в консоли (пример):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Запустите программу, откройте `out.txt` или `out.epub`, и вы увидите чистые, поисковые китайские символы, готовые к дальнейшей обработке. + +## Заключение + +Мы только что рассмотрели **how to perform OCR** на китайских изображениях от начала до конца, показали, как **extract Chinese text**, **convert the result to an ePub**, и применили несколько практических советов. + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/text-recognition/_index.md b/ocr/russian/net/text-recognition/_index.md index cbc7a99c9..43832dc9d 100644 --- a/ocr/russian/net/text-recognition/_index.md +++ b/ocr/russian/net/text-recognition/_index.md @@ -55,9 +55,20 @@ url: /ru/net/text-recognition/ Раскройте потенциал оптического распознавания символов в .NET с помощью Aspose.OCR. Извлекайте текст из PDF-файлов без особых усилий. Загрузите сейчас и получите беспрепятственную интеграцию. ### [Распознать таблицу в распознавании изображений OCR](./recognize-table/) Раскройте потенциал Aspose.OCR для .NET с помощью нашего подробного руководства по распознаванию таблиц в распознавании изображений OCR. +### [Распознать текст на хинди в C# – Полное руководство Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Изучите, как с помощью Aspose.OCR распознать хинди‑текст в C#, следуя полному пошаговому руководству. +### [Как создать ePub из изображений в C# – Пошаговое руководство](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Создайте ePub из изображений в C# с помощью пошагового руководства, используя возможности Aspose.OCR. +### [Распознать текст с изображения в C# – Полное руководство Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Полное пошаговое руководство по распознаванию текста с изображений в C# с использованием Aspose.OCR. +### [Извлечь текст из PNG в C# – Полное руководство по OCR](./extract-text-from-png-in-c-full-ocr-guide/) +Полное руководство по извлечению текста из PNG‑изображений в C# с использованием Aspose.OCR. +### [Как использовать OCR в C# – извлекать текст из изображений офлайн](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Полное руководство по использованию OCR в C# для извлечения текста из изображений без подключения к сети. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/russian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..1636b5b30 --- /dev/null +++ b/ocr/russian/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: Извлекайте текст из PNG‑файлов с помощью C#. Узнайте, как преобразовать + изображение в текст на C# и быстро считывать текст со сканированных изображений. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: ru +og_description: Извлекать текст из PNG‑файлов с помощью C#. Это руководство показывает, + как преобразовать изображение в текст на C# и читать текст со сканированных изображений + с помощью Aspose OCR. +og_title: Извлечение текста из PNG в C# – Полное руководство по OCR +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Извлечение текста из PNG в C# – Полное руководство по OCR +url: /ru/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Извлечение текста из PNG в C# – Полное руководство по OCR + +Когда‑нибудь вам нужно было **извлечь текст из PNG** файлов, но вы не знали, с чего начать? Вы не одиноки — большинство разработчиков сталкиваются с этой проблемой, когда впервые встречают отсканированную графику или скриншоты, которые нужно превратить в поисковый текст. Хорошая новость? С несколькими строками C# и Aspose OCR вы можете мгновенно превратить любой PNG в редактируемые строки. + +В этом руководстве мы пройдем весь процесс: от поиска PNG‑файлов на диске, запуска OCR‑задач параллельно, до отображения аккуратного предварительного просмотра каждого результата. К концу вы узнаете, как **convert image to text C#** в стиле, сможете **read text from scanned images** эффективно, и также увидите лучший способ **run OCR on images** без перегрузки UI‑потока. + +## Что понадобится + +- .NET 6.0 или новее (код работает и на .NET Core, и на .NET Framework) +- NuGet‑пакет Aspose.OCR (`Install-Package Aspose.OCR`) +- Папка, полная файлов *.png*, которые нужно обработать +- Любая IDE по вашему выбору (Visual Studio, VS Code, Rider…) + +Дополнительная конфигурация не требуется; библиотека поставляется со всем необходимым для декодирования PNG, JPEG, TIFF и т.д. + +## Шаг 1: Найти все PNG‑файлы – начинается «Extract Text from PNG» + +Сначала нам нужно найти каждый PNG, для которого мы планируем выполнить OCR. Использование `Directory.GetFiles` быстро и надёжно. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Почему это важно:* Однократный скан каталогa упрощает остальную часть конвейера, а ранняя проверка предотвращает тихую ситуацию «нет вывода», которую потом трудно отладить. + +## Шаг 2: Запустить параллельные OCR‑задачи – эффективно **run OCR on images** + +Последовательный запуск OCR подходит для небольшого количества файлов, но в реальных проектах часто приходится иметь дело с десятками или сотнями. Запуская `Task` для каждого изображения, мы загружаем процессор, пока библиотека выполняет тяжёлую работу. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Совет профессионала:* `Task.Run` передаёт работу в пул потоков, что означает, что ваш UI (если он есть) остаётся отзывчивым. На сервере тот же шаблон хорошо масштабируется по ядрам. + +## Шаг 3: Ожидать все задачи – собрать результаты + +Теперь мы ждём завершения каждой OCR‑операции. `Task.WhenAll` возвращает массив, порядок которого соответствует исходному порядку файлов, что упрощает сопоставление результатов с именами файлов. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Примечание о граничных случаях:* Если какое‑то изображение вызывает исключение (повреждённый файл, неподдерживаемый формат), весь `WhenAll` пробросит исключение. Вы можете обернуть внутренний `Task.Run` в try/catch и вернуть пустую строку или диагностическое сообщение, если нужна отказоустойчивость. + +## Шаг 4: Показать предварительный просмотр – проверить вывод **convert image to text C#** + +Быстрый предварительный просмотр помогает убедиться, что OCR сработал, прежде чем сохранять данные где‑то ещё. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Типичный вывод консоли выглядит так: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Если в предварительном просмотре отображается мусор, проверьте качество изображения или рассмотрите предобработку (например, бинаризацию) — но для большинства чистых PNG Aspose OCR справляется с первой попытки. + +## Необязательно: Сохранить результаты в CSV – реальный пример использования + +Большинству проектов нужен извлечённый текст в структурированном виде. Ниже небольшой помощник, который записывает имя файла и полный OCR‑текст в CSV‑файл. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Теперь вы можете импортировать CSV в Excel, Power BI или любую downstream‑систему, ожидающую **read text from scanned images**. + +## Часто задаваемые вопросы + +**Что если мои PNG‑файлы огромные (более 5 МБ)?** +Aspose OCR автоматически уменьшает масштаб больших изображений, чтобы расход памяти оставался приемлемым, но вы можете вручную изменить размер с помощью `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);`, ограничив ширину 2000 px при сохранении пропорций. + +**Можно ли запускать это на Linux?** +Да. Aspose OCR кросс‑платформенный; просто убедитесь, что установлены нативные зависимости (`libgdiplus` в некоторых дистрибутивах). + +**По умолчанию язык OCR установлен на английский?** +Верно. Если нужен другой язык, задайте `engine.Language = OcrLanguage.French;` (или любой поддерживаемый enum) перед вызовом `Recognize()`. + +**Как обрабатывать защищённые паролем PDF, содержащие PNG?** +Сначала преобразуйте страницы PDF в изображения (используя Aspose PDF или другую библиотеку), затем передайте эти PNG в тот же конвейер. Принцип **how to run OCR on images** остаётся тем же. + +## Полный рабочий пример (Async Main) + +Ниже самостоятельная программа, которую можно скопировать и вставить в консольный проект. Она включает все вышеописанные части, а также небольшой помощник для проверки входной папки. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Ожидаемый вывод** (пример для двух PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Итоги + +Мы только что рассмотрели всё, что вам нужно для **extract text from PNG** файлов с помощью C#. От поиска файлов, запуска параллельных OCR‑задач, предварительного просмотра строк до их сохранения в CSV — это руководство предоставляет готовый к продакшну шаблон для сценариев **convert image to text C#**. + +Если вы готовы к следующему шагу, попробуйте подать в тот же конвейер JPEG или TIFF файлы, поэкспериментировать с разными языками OCR, или подключить результаты к поисковому индексу, чтобы сразу **read text from scanned images**. + +Есть вопросы о граничных случаях, оптимизации производительности или лицензировании? Оставьте комментарий или напишите в сообщество Aspose — happy coding! + +![Extract text from PNG example](extract-text-png.png "Extract text from PNG using Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/russian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..f6fb25f7f --- /dev/null +++ b/ocr/russian/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Как создать ePub из отсканированных изображений с помощью Aspose OCR + — узнайте, как преобразовать изображение в ePub, извлечь текст из изображения, добавить + автора в ePub и загрузить изображение для OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: ru +og_description: Как создать ePub из отсканированных изображений в C#. Этот учебник + показывает, как преобразовать изображение в ePub, извлечь текст из изображения, + добавить автора в ePub и загрузить изображение для OCR. +og_title: Как создать ePub из изображений на C# – Полное руководство +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Как создать ePub из изображений на C# – пошаговое руководство +url: /ru/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как создать ePub из изображений на C# – Полное руководство + +Когда‑нибудь задумывались **как создать ePub** из набора отсканированных страниц? Возможно, у вас есть несколько PNG‑файлов классического романа, и вы хотите превратить их в удобный ePub, который можно читать на любом устройстве. Хорошая новость: с помощью Aspose OCR вы можете **загрузить изображение для OCR**, извлечь текст и затем **конвертировать изображение в ePub** всего в несколько строк кода C#. + +В этом руководстве мы пройдем весь конвейер: загрузка изображения, извлечение текста, добавление метаданных (да, мы **добавим автора в epub**), и, наконец, запись ePub‑файла, соответствующего стандартам. К концу вы получите готовый к публикации ePub и полное понимание каждого шага, чтобы адаптировать код для многостраничных книг, пользовательских шрифтов или даже DRM‑свободного распространения. + +## Что вам понадобится + +- **.NET 6** или новее (API также работает с .NET Standard 2.0+) +- **Aspose.OCR for .NET** – можно скачать бесплатную пробную версию с сайта Aspose. +- Отсканированное изображение, например `book_page.png`, размещённое где‑нибудь на диске. +- Любая удобная IDE (Visual Studio, Rider или VS Code – в скриншотах я использую Visual Studio). + +Дополнительные пакеты NuGet не требуются; Aspose.OCR уже содержит всё необходимое для экспорта в ePub. + +--- + +![Как создать ePub из отсканированного изображения](/images/how-to-create-epub.png "Как создать ePub из отсканированного изображения с помощью Aspose OCR") + +## Шаг 1 – Создание проекта и установка Aspose.OCR + +Сначала создайте новое консольное приложение: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Установите пакет Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +И всё – библиотека поставляется с поддержкой OCR и экспорта в ePub, так что дополнительных зависимостей не требуется. + +## Шаг 2 – Загрузка изображения для OCR + +Прежде чем **извлечь текст из изображения**, нужно передать движку OCR файл для чтения. Помощник `ImageStream.FromFile` делает это элементарно: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Совет:** Если ваше изображение находится во встроенном ресурсе, используйте `ImageStream.FromResource` вместо `FromFile`. + +## Шаг 3 – Извлечение текста из изображения + +Теперь движок действительно читает пиксели и преобразует их в строки Unicode. За это отвечает метод `Recognize`. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Зачем вызывать `Recognize` отдельно? Это позволяет просмотреть необработанный результат OCR, настроить параметры языка или даже выполнить проверку орфографии перед созданием ePub. + +## Шаг 4 – Настройка параметров экспорта ePub (Добавление автора в ePub) + +Создание качественного ePub – это не просто выгрузка текста; нужны правильные метаданные. Класс `EpubExportOptions` предоставляет удобный способ **добавить автора в ePub**, задать название и решить, включать ли оригинальные изображения. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Если у вас несколько страниц, вы можете продолжать вызывать `ocrEngine.Image = …` и `ocrEngine.Recognize()` внутри цикла; каждый вызов добавит содержимое новой страницы в тот же документ ePub. + +## Шаг 5 – Конвертация изображения в ePub и экспорт + +После извлечения текста и настройки метаданных последний шаг – однострочник, который сохраняет ePub‑файл на диск: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Полученный `book.epub` открывается в Calibre, Apple Books или любом совместимом читалке. Поскольку мы задали `IncludeImages = true`, оригинальный PNG будет отображаться как отдельная страница‑картинка, сохраняя внешний вид отсканированного источника. + +## Полный рабочий пример + +Объединив всё вместе, получаем полностью готовую к запуску программу: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Ожидаемый вывод + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Откройте `book.epub` в любимом читалке, и вы увидите титульную страницу, строку автора (даже если она будет «Unknown») и отсканированное изображение рядом с выделяемым текстом. + +## Часто задаваемые вопросы и особые случаи + +### Что делать, если язык OCR не английский? + +Aspose.OCR поддерживает более 70 языков. Просто задайте свойство `Language` перед вызовом `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Как обрабатывать многостраничные книги? + +Оберните логику загрузки/распознавания в цикл `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Каждая итерация добавляет вновь распознанный текст в тот же ePub, сохраняя порядок страниц. + +### Можно ли исключить оригинальные изображения? + +Конечно – установите `IncludeImages = false` в `EpubExportOptions`. Полученный ePub будет состоять только из текcта, что значительно уменьшит размер файла. + +### Что насчёт пользовательских шрифтов или стилей? + +Экспортер ePub от Aspose.OCR позволяет задать CSS‑стили через свойство `Css` в `EpubExportOptions`. Так можно задать конкретный шрифт, межстрочный интервал или отступы. + +## Заключение + +Теперь вы знаете **как создать ePub** из отсканированного изображения с помощью Aspose OCR на C#. В руководстве рассмотрены все этапы: **загрузка изображения для OCR**, **извлечение текста из изображения**, **добавление автора в epub** и, наконец, **конвертация изображения в epub** одной вызванной функцией экспорта. Имея полный пример кода, вы сможете расширить решение для пакетной обработки целых библиотек, добавления пользовательской обложки или интеграции рабочего процесса в веб‑API. + +Готовы к следующему вызову? Попробуйте конвертировать PDF в ePub или поэкспериментировать с порогами уверенности OCR, чтобы улучшить точность на шумных сканах. Возможности безграничны, когда объединяете мощный OCR с гибкой генерацией ePub. + +Счастливого кодинга и приятного чтения вашего только‑что созданного ePub! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/russian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..5bba7b2f0 --- /dev/null +++ b/ocr/russian/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-07 +description: Узнайте, как использовать OCR в C# для извлечения текста из файлов изображений. + Это руководство показывает офлайн‑OCR, преобразование изображения в текст и загрузку + изображения для OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: ru +og_description: Как использовать OCR в C# для извлечения текста из изображений офлайн. + Пошаговый код, советы и полное объяснение преобразования изображения в текст. +og_title: Как использовать OCR в C# – Полное офлайн руководство +tags: +- OCR +- C# +- Aspose +title: Как использовать OCR в C# — извлекать текст из изображений офлайн +url: /ru/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Как использовать OCR в C# – извлечение текста из изображений офлайн + +Когда‑то задумывались **как использовать OCR** в проекте .NET, не отправляя данные в облако? Вы не одиноки. Многие разработчики нуждаются в *извлечении текста из файлов‑изображений* на защищённом рабочем месте и боятся, что сетевой трафик может раскрыть конфиденциальную информацию. + +Хорошая новость? С Aspose.OCR вы можете распознавать текст из PNG, JPEG или PDF полностью офлайн. В этом руководстве мы пройдём процесс загрузки изображения для OCR, настройки движка в офлайн‑режим и, наконец, **преобразования изображения в текст** всего в несколько строк C#. + +К концу этого руководства вы сможете: + +* Установить пакет NuGet Aspose.OCR. +* Настроить OCR‑движок для офлайн‑обработки. +* Загрузить изображение для OCR и извлечь его текстовое содержимое. + +Никаких внешних сервисов, никаких API‑ключей — только чистый C#‑код, который работает на любой машине с Windows или Linux. + +--- + +## Предварительные требования + +Прежде чем погрузиться в детали, убедитесь, что у вас есть: + +* .NET 6.0 SDK или новее (код также работает с .NET Framework 4.7+). +* Visual Studio 2022, VS Code или любой редактор, поддерживающий C#. +* Копия библиотеки **Aspose.OCR** — её можно получить из NuGet (`Aspose.OCR`). +* Папка ресурсов OCR (`Resources`), поставляемая вместе с библиотекой (содержит файлы языковых данных). +* Пример изображения (например, `offline_test.png`), размещённый в известном каталоге. + +> **Pro tip:** Держите папку ресурсов рядом с исполняемым файлом; это упрощает настройку `ResourcesPath`. + +--- + +## Шаг 1: Установите пакет NuGet Aspose.OCR + +Сначала добавьте библиотеку в проект. Откройте терминал в папке проекта и выполните: + +```bash +dotnet add package Aspose.OCR +``` + +Или, если предпочитаете UI Visual Studio, щёлкните правой кнопкой **Dependencies → Manage NuGet Packages**, найдите *Aspose.OCR* и нажмите **Install**. + +> Установка пакета подтягивает все необходимые бинарники, так что дополнительных DLL не понадобится. + +--- + +## Шаг 2: Создайте и настройте OCR‑движок (Как использовать OCR – офлайн‑режим) + +Теперь создадим экземпляр OCR‑движка и укажем ему работать **офлайн**. Это гарантирует отсутствие сетевого трафика во время распознавания. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Почему офлайн?** +Когда `EngineMode` установлен в `Online`, движок обращается к облаку Aspose для загрузки языковых пакетов «на лету». В регулируемых средах (финансы, здравоохранение) такой трафик часто запрещён. Переключив режим в офлайн, вы гарантируете, что всё остаётся на локальном компьютере. + +--- + +## Шаг 3: Укажите путь к папке ресурсов OCR + +OCR‑движку нужны языковые данные (обученные модели) для распознавания символов. Укажите, где находятся эти файлы: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Если вы не уверены, где находится папка, найдите её в каталоге пакета NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Скопируйте всю папку в ваш проект для упрощения развертывания. + +--- + +## Шаг 4: Загрузите изображение для OCR (Load Image for OCR) + +Движок принимает любое поддерживаемое растровое изображение. Здесь мы загрузим PNG, хранящийся на диске: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Подсказка:** Если нужно обрабатывать изображения из потока (например, загруженные через API), используйте `ImageStream.FromStream(yourStream)`. + +--- + +## Шаг 5: Запустите процесс распознавания и преобразуйте изображение в текст + +Когда всё готово, запустите OCR. Метод `Recognize()` выполняет основную работу, а извлечённый текст доступен через свойство `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Шаг 6: Выведите извлечённый текст + +Наконец, отобразите результат. В консольном приложении достаточно вывести его в консоль, а в веб‑API вы можете вернуть строку в виде JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Запуск программы должен вывести текстовое содержимое `offline_test.png`. Например, если на изображении написано *«Hello, World!»*, вы увидите: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Полный рабочий пример + +Ниже представлен полностью готовый к запуску код. Скопируйте‑вставьте его в новый консольный проект (`dotnet new console`) и скорректируйте пути под свою среду. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Ожидаемый вывод:** Консоль печатает точный текст, содержащийся в PNG‑файле. Если изображение размыто, результат может включать ошибочно распознанные символы — см. раздел «Устранение неполадок» ниже. + +--- + +## Распространённые ошибки и советы (Эффективное распознавание текста из PNG) + +| Проблема | Почему происходит | Как исправить | +|----------|-------------------|---------------| +| **Пустой вывод** | `ResourcesPath` указывает на неверную папку или отсутствуют языковые файлы. | Убедитесь, что в папке есть `eng.traineddata` (или другие файлы языков) и проверьте строку пути. | +| **Беспорядочные символы** | Слишком низкое разрешение изображения или отсутствие бинаризации. | Предобработайте изображение (увеличьте DPI, примените `ImageProcessor` для резкости). | +| **Задержка производительности** | Большие изображения обрабатываются в полном разрешении. | Перед передачей в OCR измените размер изображения до максимум 2000 px по ширине. | +| **Неподдерживаемый формат** | Используется BMP с необычным форматом пикселей. | Сначала конвертируйте изображение в PNG или JPEG (`System.Drawing.Image.Save`). | + +**Pro tip:** Если требуется распознавать несколько языков, установите `ocrEngine.Settings.Language = Language.English | Language.French;` перед вызовом `Recognize()`. + +--- + +## Часто задаваемые вопросы + +**В: Можно ли использовать этот код на Linux?** +Да. Aspose.OCR кроссплатформенен; просто убедитесь, что нативные библиотеки присутствуют (они включены в пакет NuGet). + +**В: Что делать, если у меня нет папки Resources?** +Можно скачать бесплатные языковые пакеты с сайта Aspose или извлечь их из пакета NuGet (`.../aspose.ocr//resources`). + +**В: Есть ли способ получить оценки уверенности?** +Да. После `Recognize()` просмотрите `ocrEngine.RecognizedWords` — у каждого слова есть свойство `Confidence`. + +--- + +## Заключение + +Мы рассмотрели **как использовать OCR** в C# для *извлечения текста из файлов‑изображений* полностью офлайн. Установив Aspose.OCR, настроив `EngineMode.Offline`, указав путь к ресурсам, загрузив изображение и вызвав `Recognize()`, вы сможете надёжно **преобразовывать изображение в текст** без единого обращения к интернету. + +Возьмите приведённый выше код, замените пути к своим изображениям и начните создавать такие функции, как поиск по PDF, автоматизация ввода данных или инструменты доступности. Далее можно исследовать **распознавание текста из PNG** пакетно или интегрировать движок в ASP.NET Core API для предоставления OCR‑результатов фронтенду. + +Счастливого кодинга, экспериментируйте — OCR удивительно прост в настройке, как только движок правильно сконфигурирован! + +--- + +![Диаграмма, показывающая офлайн‑рабочий процесс OCR – как использовать OCR в защищённой среде](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/russian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..d45da9f91 --- /dev/null +++ b/ocr/russian/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Узнайте, как распознавать хинди‑текст и загружать изображение для OCR + с помощью Aspose.OCR в C#. Пошаговая настройка, код и советы. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: ru +og_description: Узнайте, как распознавать хинди‑текст с помощью Aspose OCR в C#. Включает + загрузку изображения для OCR, настройку языкового пакета и рекомендации по лучшим + практикам. +og_title: распознавание текста на хинди – Полный учебник по Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: Распознавание текста на хинди в C# – Полное руководство по Aspose OCR +url: /ru/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# распознавание хинди‑текста – Полный учебник Aspose OCR + +Когда‑нибудь вам нужно было **распознать хинди‑текст** со сканированного чека, но вы не знали, с чего начать? Вы не одиноки. Во многих приложениях, ориентированных на Индию, надёжное извлечение хинди‑символов может ощущаться как попытка поймать движущуюся цель. К счастью, Aspose.OCR делает это проще простого — как только вы знаете правильные шаги для **load image for OCR** и указываете движку ресурсы хинди‑языка. + +В этом руководстве мы пройдём всё, что нужно для создания работающего OCR‑конвейера на C#. К концу вы получите исполняемую программу, которая скачивает пакет хинди‑языка, загружает изображение, запускает распознавание и выводит полученный текст в консоль. Никаких расплывчатых ссылок «см. документацию» — только автономное решение, которое можно добавить в любой проект .NET. + +## Что понадобится + +- **.NET 6+** (или .NET Framework 4.7.2+). API одинаковый во всех версиях, но более новая среда выполнения обеспечивает лучшую производительность. +- **Aspose.OCR for .NET** пакет NuGet. Установите его с помощью `dotnet add package Aspose.OCR`. +- **Hindi language pack** — Aspose предоставляет его как загружаемый ресурс, по умолчанию не включён в пакет. +- Файл изображения, содержащий хинди‑текст (например, `hindi_receipt.jpg`). Любой распространённый формат (JPG, PNG, BMP) подходит. +- Хорошая IDE (Visual Studio, Rider или VS Code). + +Вот и всё — без внешних OCR‑движков, без облачных ключей, только локальная библиотека. + +## Шаг 1: Скачайте пакет хинди‑языка — настройте ресурсы + +Прежде чем OCR‑движок сможет понимать символы деванагари, необходимо получить ресурсы хинди‑языка. Это одноразовая операция, обычно выполняемая во время установки приложения или в CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Почему это важно:** OCR‑движок опирается на модели, специфичные для языка, чтобы сопоставлять пиксельные шаблоны с символами Unicode. Без пакета хинди вы получите искажённый латинский вывод или ничего. + +> **Совет:** Кешируйте пакет в папке, доступной для записи на целевой машине. Если вы развёртываете в Azure App Service, используйте папку `D:\home\site\wwwroot\Resources`. + +## Шаг 2: Настройте OCR‑движок — укажите ресурсы + +Теперь, когда ресурсы находятся на месте, создайте экземпляр `OcrEngine` и укажите, где искать файлы языка. Здесь же мы задаём **primary language** для распознавания. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Почему мы это делаем:** `ResourcesPath` — это мост между движком и загруженными файлами. Если пропустить этот шаг, движок вернётся к встроенным (только английским) моделям, и вы не сможете корректно **recognize Hindi text**. + +## Шаг 3: Загрузите изображение для OCR — подайте движку правильный ввод + +С готовым движком следующий шаг — **load image for OCR**. Aspose предоставляет удобный помощник `ImageStream.FromFile`, поддерживающий большинство распространённых форматов изображений. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Типичные подводные камни:** +- **Большие изображения** могут замедлять обработку. Если вы работаете с сканами высокого разрешения, рассмотрите предварительное уменьшение размера (`ImageProcessor.Resize`). +- **Неправильная ориентация** (повёрнутые сканы) приводит к плохим результатам. При необходимости используйте `ocrEngine.Image.Rotate(90)`. + +## Шаг 4: Запустите распознавание — извлеките текст + +Теперь мы действительно просим движок прочитать пиксели и преобразовать их в строки Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Что ожидать:** Если изображение чёткое, вы должны увидеть хинди‑символы, напечатанные точно так же, как они выглядят на чеке. Например, пример чека может вывести: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Если вы получаете бессмыслицу, дважды проверьте, что пакет языка корректно загружен и что `ocrEngine.Settings.Language` установлен в `Language.Hindi`. + +## Шаг 5: Сложите всё вместе — полноценная исполняемая программа + +Ниже представлен полный исходный файл, который вы можете скопировать и вставить в консольный проект. Он включает все вышеописанные шаги, а также минимальную обработку ошибок. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Сохраните как `Program.cs`, запустите `dotnet run`, и вы должны увидеть хинди‑текст, выведенный в консоль. + +## Часто задаваемые вопросы (FAQ) + +### Могу ли я распознавать несколько языков за один запуск? + +Да. Установите `ocrEngine.Settings.Language` в массив, например, `new[] { Language.Hindi, Language.English }`. Движок попытается обнаружить символы обоих скриптов. + +### Что делать, если изображение размыто? + +Рассмотрите предобработку с помощью `ImageProcessor` — примените резкость или увеличение контраста перед передачей изображения в `ocrEngine.Image`. + +### Работает ли это на Linux/macOS? + +Абсолютно. Aspose.OCR кросс‑платформенный; просто убедитесь, что нативные зависимости присутствуют (обычно они включены в пакет NuGet). + +### Как улучшить точность для чеков с низким разрешением? + +Увеличьте DPI (точек на дюйм) при сканировании или программно пересэмплируйте изображение до минимум 300 DPI перед OCR. + +## Заключение + +Мы рассмотрели всё, что нужно для **recognize Hindi text** с помощью Aspose.OCR — от загрузки пакета хинди‑языка, настройки движка, корректного **load image for OCR**, до извлечения и вывода результата. Полный фрагмент кода выше готов к вставке в любое консольное приложение C#, а дополнительные советы помогут справиться с типичными проблемами, такими как размытые сканы или многоязычные документы. + +Готовы к следующему шагу? Попробуйте передать вывод OCR в API перевода или сохранить извлечённые данные в базе данных для аналитики. Вы также можете поэкспериментировать с другими индийскими языками — Aspose поддерживает тамильский, бенгальский и другие — заменив `Language.Hindi` на нужное значение перечисления. + +Удачной разработки, и пусть результаты OCR всегда будут чёткими! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/russian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/russian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..a970da18e --- /dev/null +++ b/ocr/russian/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: распознавать текст с изображения быстро с помощью Aspose OCR. Узнайте, + как конвертировать djvu в текст, извлекать текст из изображения и загружать изображение + для OCR в пошаговом руководстве на C#. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: ru +og_description: Распознавание текста с изображения в C# с помощью Aspose OCR. В этом + руководстве показано, как конвертировать djvu в текст, извлекать текст из изображения + и загружать изображение для OCR с практическими советами. +og_title: Распознавание текста с изображения – Полный учебник по OCR в C# с Aspose +tags: +- C# +- Aspose OCR +- Document Processing +title: Распознавание текста с изображения в C# – Полное руководство по Aspose OCR +url: /ru/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# распознавание текста с изображения – Полный учебник C# Aspose OCR + +Когда‑нибудь вам нужно было **recognize text from image**, но вы не были уверены, какая библиотека даст надёжные результаты? Вы не одиноки. Будь то сканированные счета‑фактуры, исторические файлы DJVU или простой скриншот PNG, извлечение точных символов может ощущаться как расшифровка древнего текста. + +Дело в том, что Aspose OCR делает весь процесс простым как раз‑два. В этом руководстве мы пройдём, как **convert djvu to text**, **extract text from image**, и **load image for OCR** с помощью лаконичной программы на C#. К концу у вас будет исполняемое консольное приложение, которое выводит распознанную строку в консоль, и вы поймёте «почему» каждой строки. + +## Что вы узнаете + +- Как настроить движок Aspose OCR в .NET‑проекте. +- Точный код, необходимый для **load image for OCR** из файла DJVU. +- Почему следует вызывать `Recognize()` перед чтением `Text`. +- Распространённые подводные камни (многостраничный DJVU, неподдерживаемые форматы) и как их избежать. +- Быстрые способы **convert djvu to text** для пакетной обработки. + +Всё, что вам нужно, — это современный .NET SDK (≥ 6.0) и лицензия Aspose OCR (бесплатная пробная версия подходит для тестирования). Никаких внешних сервисов, никаких REST‑запросов — только чистый C#. + +## Требования + +| ТRequirement | Причина | +|-------------|--------| +| .NET 6 SDK or later | Современные возможности языка и лучшая производительность. | +| Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) | Предоставляет класс `OcrEngine`, который мы будем использовать. | +| A DJVU file (e.g., `sample.djvu`) | Продемонстрирует **convert djvu to text**. | +| Basic familiarity with C# console apps | Обеспечивает естественный ход шагов. | + +Если чего‑то не хватает, сделайте паузу и установите это сейчас; иначе код не скомпилируется. + +## Шаг 1 – Установить Aspose.OCR и создать проект + +Сначала создайте новый консольный проект и подключите библиотеку OCR. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Подсказка:* Используйте флаг `--framework net6.0`, если хотите явно зафиксировать целевую платформу. + +## Шаг 2 – Инициализировать OCR‑движок и загрузить изображение DJVU + +Движку нужен источник изображения. Aspose.OCR умеет читать множество форматов, включая DJVU, поэтому мы просто указываем путь к файлу. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Почему это важно:** +- `OcrEngine` — точка входа; создание её один раз и повторное использование снижает нагрузку на память. +- `ImageStream.FromFile` абстрагирует формат файла, поэтому позже вы можете заменить файл DJVU на PNG или TIFF, не меняя остального кода — идеально для «how to extract text from image» в разных сценариях. + +## Шаг 3 – Запустить процесс распознавания + +Вызов `Recognize()` запускает тяжёлую работу. Под капотом Aspose использует классификатор на основе нейронных сетей, который работает как с печатным, так и с рукописным текстом. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Примечание о граничных случаях:* Если ваш DJVU содержит несколько страниц, `ImageStream.FromFile` всё равно загружает только первую страницу. Чтобы обработать все страницы, нужно перебрать `ImageStream.FromFile(...).Pages`. Для большинства быстрых задач первой страницы достаточно. + +## Шаг 4 – Получить и отобразить распознанный текст + +После распознавания движок заполняет свойство `Text` обычной строкой. Теперь вы можете вывести её в консоль, записать в файл или передать в другую систему. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Типичный вывод выглядит так: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Если вывод искажён, проверьте, что исходное изображение не имеет низкого разрешения; Aspose рекомендует 300 dpi и выше для наилучшей точности. + +## Полный рабочий пример + +Собрав всё вместе, вот один файл (`Program.cs`), который вы можете вставить в ранее созданный проект. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Запустите его с помощью: + +```bash +dotnet run +``` + +Вы должны увидеть извлечённую строку, выведенную в терминал. Это самый простой способ **recognize text from image** с помощью Aspose OCR. + +## Шаг 5 – Продвинутый: Конвертация нескольких страниц DJVU в текстовые файлы + +Если вам нужно **convert djvu to text** массово, расширьте предыдущий код циклом: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Почему это работает:* `GetPage(i)` возвращает объект `Image` для запрошенной страницы, позволяя переиспользовать тот же экземпляр `OcrEngine`. Текст каждой страницы сохраняется в отдельный файл `.txt`, обеспечивая чистый конвейер **convert djvu to text**. + +## Часто задаваемые вопросы и подводные камни + +- **Можно ли извлечь текст из JPEG вместо DJVU?** + Конечно. Просто измените расширение файла в `FromFile`. Тот же код **how to extract text from image** применим, потому что Aspose абстрагирует формат. + +- **Что делать, если результат OCR содержит лишние переносы строк?** + Используйте `String.Replace("\r\n", " ")` или регулярное выражение для нормализации пробелов. + +- **Нужна ли лицензия для продакшн‑использования?** + Бесплатная пробная версия работает до 100 страниц. Для неограниченного использования приобретите лицензию и вызовите `License license = new License(); license.SetLicense("Aspose.OCR.lic");` перед созданием движка. + +- **Является ли движок потокобезопасным?** + Нет. Создавайте отдельный `OcrEngine` для каждого потока или защищайте доступ с помощью блокировки. + +## Советы для повышения точности + +1. **Увеличьте DPI** – Если вы контролируете конвертацию источника, выводите изображения с 300 dpi и выше. +2. **Предобработайте изображение** – Простая бинаризация (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) может улучшить результаты на шумных сканах. +3. **Укажите язык** – `ocrEngine.Language = Language.English;` сужает набор символов и ускоряет распознавание. + +## Заключение + +Теперь у вас есть полностью готовый пример, который **recognize text from image** с помощью Aspose OCR, и вы увидели, как **convert djvu to text**, **how to extract text from image**, а также правильный способ **load image for OCR**. Код автономный, работает на любой среде .NET 6+, и его можно расширить для пакетной обработки многостраничных документов DJVU. + +Далее вы можете исследовать: + +- Добавление **language detection** для многоязычных файлов DJVU. +- Интеграцию вывода OCR с поисковым индексом (например, Elasticsearch). +- Использование конвертации PDF от Aspose для превращения извлечённого текста в поисковые PDF. + +Попробуйте, поиграйте с DPI, экспериментируйте с различными форматами изображений и позвольте OCR‑движку выполнить тяжёлую работу за вас. Приятного кодинга! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/ocr-configuration/_index.md b/ocr/spanish/net/ocr-configuration/_index.md index 4a9277b33..dcce0d3a5 100644 --- a/ocr/spanish/net/ocr-configuration/_index.md +++ b/ocr/spanish/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ Desbloquea el poder del reconocimiento de imágenes OCR en .NET con Aspose.OCR. Desbloquea potentes capacidades OCR con Aspose.OCR para .NET. Extrae texto de imágenes de forma fluida. ### [OCROperation con Lista en Reconocimiento de Imágenes OCR](./ocr-operation-with-list/) Desbloquea el potencial de Aspose.OCR para .NET. Realiza reconocimiento de imágenes OCR con listas de manera sencilla. Incrementa la productividad y la extracción de datos en tus aplicaciones. +### [Leer texto de PNG – extraer texto cirílico con Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Aprende a extraer texto cirílico de imágenes PNG usando Aspose OCR en tus aplicaciones .NET. ### Casos de uso comunes - **Extraer texto de imágenes** de facturas escaneadas para contabilidad automatizada. @@ -102,4 +104,4 @@ R: Sí, el objeto `OcrResult` proporciona valores de confianza que puedes inspec {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/spanish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..e895e9110 --- /dev/null +++ b/ocr/spanish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,200 @@ +--- +category: general +date: 2026-03-07 +description: Aprende a leer texto de PNG y extraer texto cirílico usando Aspose OCR, + convertir la imagen a texto y descargar el paquete de idioma cirílico. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: es +og_description: Aprende a leer texto de PNG, extraer texto cirílico y convertir una + imagen a texto usando Aspose OCR en C#. +og_title: leer texto de png – extraer texto cirílico con Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: leer texto de png – extraer texto cirílico con Aspose OCR +url: /es/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# leer texto de png – extraer texto cirílico con Aspose OCR + +¿Necesitas **leer texto de png** y extraer caracteres cirílicos? En esta guía te mostraremos cómo leer texto de png usando Aspose OCR, extraer texto cirílico y **convertir imagen a texto** en solo unas pocas líneas de C#. + +Si alguna vez has mirado una captura de pantalla de una factura rusa y te has preguntado cómo obtener las palabras en una cadena buscable, estás en el lugar correcto. También cubriremos cómo **descargar el paquete de idioma cirílico** automáticamente, para que no tengas que buscar archivos adicionales. + +## Lo que lograrás + +* **Cargar una imagen para OCR** directamente desde disco o un flujo. +* Configura el motor al **idioma cirílico** sin descargas manuales. +* Ejecuta el reconocimiento y **extrae texto cirílico** de un archivo PNG. +* Observa el texto reconocido impreso en la consola – un resultado limpio y de texto plano que puedes alimentar a bases de datos, índices de búsqueda o cualquier otro flujo de trabajo. + +Sin servicios externos, sin claves de nube, solo el paquete NuGet Aspose OCR y unas pocas líneas de C#. + +## Requisitos previos + +* .NET 6.0 o posterior (el código funciona en .NET Core, .NET Framework y .NET 5+). +* Visual Studio 2022 o cualquier editor que prefieras. +* El paquete NuGet Aspose.OCR (`dotnet add package Aspose.OCR`). +* Una imagen PNG que contenga caracteres cirílicos – por ejemplo `cyrillic_sample.png` ubicada en una carpeta llamada `YOUR_DIRECTORY`. + +> **Consejo profesional:** Si estás usando Visual Studio, haz clic derecho en el proyecto → **Administrar paquetes NuGet** → busca “Aspose.OCR” e instala la última versión estable. + +--- + +## Paso 1 – Instalar Aspose OCR y crear el motor + +Primero necesitamos la instancia del motor OCR. La clase `OcrEngine` es el punto de entrada para todas las operaciones. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Por qué es importante:** El motor encapsula paquetes de idioma, datos de imagen y opciones de reconocimiento. Instanciarlo una vez y reutilizarlo en múltiples imágenes puede mejorar el rendimiento. + +--- + +## Paso 2 – **cargar imagen para ocr** y establecer el idioma + +Ahora le indicamos al motor qué imagen procesar y qué idioma buscar. Configurar `Language.Cyrillic` descarga automáticamente el paquete de idioma necesario la primera vez que se ejecuta. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Caso límite:** Si tu PNG es muy grande (más de 5 MB) podrías querer redimensionarlo primero para acelerar el reconocimiento. La propiedad `Image` también acepta un `Stream`, por lo que puedes cargar desde memoria, una solicitud web o un Azure Blob sin tocar el sistema de archivos. + +--- + +## Paso 3 – **convertir imagen a texto** con una sola llamada + +El reconocimiento es tan simple como invocar `Recognize()`. Después de esta llamada la propiedad `Text` contiene la cadena extraída. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **¿Qué ocurre detrás de escena?** Aspose ejecuta un clasificador basado en redes neuronales entrenado con millones de glifos cirílicos. La biblioteca abstrae toda esa complejidad, por lo que solo obtienes Unicode limpio. + +--- + +## Paso 4 – Mostrar el resultado (o canalizarlo a otro lado) + +Para fines de demostración imprimiremos el texto en la consola, pero podrías fácilmente escribirlo en un archivo, una base de datos o pasarlo a un índice de búsqueda. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Salida esperada** (asumiendo que `cyrillic_sample.png` contiene la frase “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Si la salida se ve distorsionada, verifica que la imagen sea clara y que hayas configurado `Language.Cyrillic`. El motor por defecto está en inglés, lo que trataría los caracteres cirílicos como símbolos desconocidos. + +--- + +## Paso 5 – Ejemplo completo y ejecutable + +Juntándolo todo, aquí tienes un programa autónomo que puedes copiar y pegar en un nuevo proyecto de consola. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Guarda el archivo como `Program.cs`, ejecuta `dotnet run` y deberías ver el texto cirílico impreso. + +--- + +## Preguntas frecuentes y solución de problemas + +| Pregunta | Respuesta | +|----------|-----------| +| **¿Qué pasa si el paquete de idioma no se descarga?** | Asegúrate de que la máquina tenga acceso a internet. El paquete se almacena en caché en `%USERPROFILE%\.Aspose\OCR\Languages`. Eliminar esa carpeta obliga a una nueva descarga. | +| **¿Puedo leer otros idiomas además de cirílico?** | Claro, reemplaza `Language.Cyrillic` por `Language.English`, `Language.Arabic`, etc. La misma lógica de descarga automática se aplica. | +| **Mi PNG es ruidoso – los resultados son pobres. ¿Qué puedo hacer?** | Pre‑procesa la imagen: aumenta el contraste, conviértela a escala de grises o aplica un filtro mediano. Aspose OCR también ofrece opciones `Settings.ImagePreprocess`. | +| **¿Hay una forma de obtener cajas delimitadoras para cada palabra?** | Sí, después de `Recognize()` puedes inspeccionar `ocrEngine.Regions`, que devuelve rectángulos para cada palabra detectada. | +| **¿Necesito una licencia para uso en producción?** | La evaluación gratuita funciona hasta 100 páginas. Para proyectos comerciales compra una licencia – elimina la marca de agua de evaluación y desbloquea el procesamiento por lotes de alta velocidad. | + +--- + +## Próximos pasos – ampliando la solución + +* **Procesamiento por lotes:** Recorrer una carpeta de PNGs, recopilar todos los textos en un archivo CSV. +* **Integración con Azure Cognitive Search:** Indexar las cadenas cirílicas extraídas para una búsqueda rápida. +* **Combinar con conversión de PDF:** Usa Aspose.PDF para convertir PDFs escaneados a PNGs primero, y luego ejecutar el mismo flujo OCR. + +Todos esos escenarios reutilizan el patrón central que acabamos de cubrir: **cargar imagen para OCR → establecer idioma → reconocer → usar el texto**. + +--- + +## Conclusión + +Ahora sabes cómo **leer texto de png**, **extraer texto cirílico** y **convertir imagen a texto** con Aspose OCR en C#. Los pasos clave son crear el motor, cargar la imagen, seleccionar el idioma adecuado (que automáticamente **descarga el paquete de idioma cirílico**), y finalmente llamar a `Recognize()`. + +Pruébalo con diferentes imágenes, experimenta con las opciones `Settings` y observa cómo tus aplicaciones se vuelven buscables, multilingües y mucho más inteligentes. + +¡Feliz codificación, y siéntete libre de dejar un comentario si encuentras algún problema! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/ocr-optimization/_index.md b/ocr/spanish/net/ocr-optimization/_index.md index b9a9d4da6..91d35b693 100644 --- a/ocr/spanish/net/ocr-optimization/_index.md +++ b/ocr/spanish/net/ocr-optimization/_index.md @@ -74,6 +74,12 @@ Explora Aspose.OCR para .NET. Aumenta la precisión del OCR con filtros de prepr Mejora la precisión del OCR con Aspose.OCR para .NET. Corrige ortografía, personaliza diccionarios y logra un reconocimiento de texto sin errores sin esfuerzo. ### [Guardar resultados multipágina como documento en Reconocimiento de Imágenes OCR](./save-multipage-result-as-document/) Desbloquea el potencial de Aspose.OCR para .NET. Guarda fácilmente resultados OCR multipágina como documentos con esta guía completa paso a paso. +### [Cómo enderezar una imagen y ejecutar OCR en C# – Guía completa](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Aprende a corregir la inclinación de imágenes y aplicar OCR con Aspose.OCR en C# paso a paso. +### [Ejemplo de Aspose OCR – Habilitar la corrección ortográfica y corregir errores en C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Aprende a activar la corrección ortográfica en Aspose OCR y a corregir automáticamente los errores de reconocimiento en C#. +### [Cómo realizar OCR en imágenes chinas – Guía completa en C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Aprende a reconocer texto en imágenes en chino con Aspose.OCR y C#, paso a paso. ## Preguntas frecuentes diff --git a/ocr/spanish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/spanish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..de021af91 --- /dev/null +++ b/ocr/spanish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Ejemplo de Aspose OCR que muestra cómo habilitar la corrección ortográfica, + añadir un diccionario personalizado, cargar OCR de imagen y corregir rápidamente + los errores de OCR. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: es +og_description: Ejemplo de Aspose OCR que le guía a través de la activación de la + corrección ortográfica, la incorporación de un diccionario personalizado, la carga + de una imagen para OCR y la corrección de errores comunes de OCR. +og_title: Ejemplo de OCR de Aspose – Habilitar corrección ortográfica y corregir errores +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Ejemplo de OCR de Aspose – Habilitar la corrección ortográfica y corregir errores + en C# +url: /es/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ejemplo de Aspose OCR – Habilitar Corrector Ortográfico y Corregir Errores en C# + +¿Alguna vez necesitaste un **ejemplo de Aspose OCR** que no solo lea texto de una imagen sino que también elimine esos molestos errores ortográficos? No eres el único. En muchos proyectos del mundo real la salida cruda del OCR está llena de errores tipográficos, especialmente cuando la imagen de origen contiene fuentes de bajo contraste o notas manuscritas. + +¿La buena noticia? Con Aspose.OCR puedes **habilitar el corrector ortográfico**, incorporar tu propio diccionario y obtener una cadena pulida en solo unas pocas líneas de código. A continuación verás exactamente **cómo habilitar el corrector ortográfico**, **cómo agregar un diccionario** y **cómo cargar OCR de imagen** para que finalmente puedas **corregir errores de OCR** sin volverte loco. + +En este tutorial cubriremos todo lo que necesitas, desde la instalación de NuGet hasta un programa completo y ejecutable que imprime el texto corregido. Al final tendrás un **ejemplo de Aspose OCR** sólido que puedes insertar directamente en cualquier proyecto .NET. + +## Requisitos previos + +- .NET 6.0 SDK o posterior (el código funciona también con .NET Core y .NET Framework) +- Visual Studio 2022 o cualquier IDE compatible con C# +- Un archivo de imagen (`typed_text.png`) que contiene texto en inglés claro y mecanografiado +- Acceso a Internet para descargar el paquete NuGet de Aspose.OCR + +No se requieren otras bibliotecas de terceros. + +--- + +## Paso 1 – Instalar el paquete NuGet Aspose.OCR (Cargar OCR de Imagen) + +Antes de poder escribir cualquier código, necesitamos la biblioteca que impulsa el motor OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Consejo profesional:** Si estás usando Visual Studio, haz clic derecho en el proyecto → *Administrar paquetes NuGet* → busca **Aspose.OCR** y pulsa *Instalar*. + +Instalar el paquete te da acceso a `OcrEngine`, `ImageStream` y a las utilidades de corrección ortográfica incorporadas que usaremos más adelante. Una vez que el paquete esté instalado, estarás listo para **cargar OCR de imagen**. + +## Paso 2 – Crear la Instancia del Motor OCR + +Crear el motor es el primer paso concreto en cualquier **ejemplo de Aspose OCR**. Piensa en `OcrEngine` como el cerebro que analizará el mapa de bits y generará texto. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +El constructor de `OcrEngine` no requiere parámetros, lo que lo hace sencillo y ordenado para prototipos rápidos. + +## Paso 3 – Cómo Habilitar el Corrector Ortográfico (y Por Qué Es Importante) + +La salida cruda del OCR a menudo contiene palabras mal reconocidas como “teh” en lugar de “the”. Habilitar el corrector ortográfico incorporado permite que Aspose reemplace automáticamente esos errores por la ortografía correcta más probable. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **¿Por qué habilitar el corrector ortográfico?** +> - **Precisión:** Un corrector ortográfico de post‑procesamiento puede aumentar la precisión total del texto entre un 10‑15 % en documentos impresos. +> - **Experiencia de usuario:** Texto limpio significa menos limpieza posterior cuando alimentas el resultado a índices de búsqueda o canalizaciones de análisis. + +## Paso 4 – Cómo Agregar un Diccionario (Palabras Personalizadas) + +A veces el diccionario predeterminado no conoce los nombres de tus marcas, códigos de producto o jerga específica del dominio. Ahí es donde **cómo agregar un diccionario** entra en juego. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Puedes proporcionar un arreglo, una lista o incluso leer desde un archivo si tienes un vocabulario personalizado grande. El corrector ortográfico tratará esas entradas como válidas, evitando correcciones falsas. + +## Paso 5 – Cargar la Imagen para OCR (Cargar OCR de Imagen) + +Ahora que el motor está configurado, necesitamos apuntarlo a la imagen que queremos leer. El asistente `ImageStream.FromFile` abstrae los detalles de lectura del archivo. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Consejo:** Si tu imagen está en una subcarpeta del proyecto, establece su propiedad *Copy to Output Directory* en *Copy always* para que la ruta se resuelva en tiempo de ejecución. + +## Paso 6 – Realizar el Reconocimiento y Corregir Errores de OCR + +Con todo configurado, una única llamada a `Recognize()` ejecuta la canalización OCR, aplica la corrección ortográfica y almacena el resultado limpio en `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Salida Esperada + +Suponiendo que `typed_text.png` contiene la frase `The quick brown fox jumps over teh lazy dog`, la consola mostrará: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Observa cómo “teh” se corrigió automáticamente a “the”. Si hubieras agregado “OCRify” al diccionario personalizado y la imagen contuviera esa palabra, el motor la mantendría sin cambios. + +--- + +## Ejemplo Completo Funcional (Listo para Copiar‑Pegar) + +A continuación se muestra el programa completo que puedes insertar en un nuevo proyecto de consola. Incluye todos los pasos anteriores, más algunos comentarios para mayor claridad. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Guarda esto como `Program.cs`, ejecuta `dotnet run` y deberías ver la frase corregida impresa en la consola. + +--- + +## Preguntas Frecuentes y Casos Extremos + +| Pregunta | Respuesta | +|----------|-----------| +| **¿Qué pasa si la imagen es un PDF de varias páginas?** | Aspose.OCR puede manejar páginas PDF como imágenes. Usa `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` y recorre las páginas. | +| **¿Puedo cambiar el idioma a algo distinto del inglés?** | Por supuesto. Configura `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (o cualquier idioma compatible). | +| **Mi diccionario personalizado es enorme—¿afectará al rendimiento?** | Agregar miles de palabras implica un pequeño costo inicial, pero la búsqueda es O(1) gracias a un hash‑set bajo el capó. Para vocabularios masivos, considera cargarlos una sola vez al iniciar la aplicación. | +| **¿Qué ocurre si el motor OCR lanza una excepción con una imagen corrupta?** | Envuelve `Recognize()` en un bloque try‑catch y revisa `ocrEngine.LastError`. También puedes pre‑validar las dimensiones de la imagen con `ocrEngine.Image.Width` y `Height`. | +| **¿Necesito una licencia para uso en producción?** | La evaluación gratuita funciona para pruebas, pero una licencia comercial elimina la marca de agua de evaluación y desbloquea el rendimiento completo. | + +--- + +## Conclusión + +Ahora tienes un **ejemplo completo de Aspose OCR** que demuestra **cómo habilitar el corrector ortográfico**, **cómo agregar un diccionario**, **cargar OCR de imagen**, y **cómo corregir errores de OCR** de manera limpia y lista para producción. Al configurar el corrector ortográfico y proporcionar una lista de palabras personalizada, mejoras drásticamente la calidad del texto extraído sin escribir lógica de post‑procesamiento. + +¿Listo para el siguiente paso? Prueba cambiar el idioma a español, procesa un PDF de varias páginas o integra la salida en un índice buscable de Azure Cognitive Search. El mismo patrón se aplica: solo ajusta la bandera de idioma y quizá amplía el diccionario personalizado. + +Si encontraste útil esta guía, dale una estrella en GitHub, compártela con tus compañeros o deja un comentario abajo. ¡Feliz codificación, y que tus resultados de OCR estén siempre libres de errores! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/spanish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..81fd3e751 --- /dev/null +++ b/ocr/spanish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Aprende a enderezar la imagen, mejorar el contraste y extraer texto de + un escaneo usando Aspose OCR. Realiza OCR en una imagen con un ejemplo completo + en C# y carga la imagen para OCR fácilmente. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: es +og_description: Aprende cómo enderezar una imagen, mejorar el contraste y extraer + texto de un escaneo usando Aspose OCR en C#. Realiza OCR en una imagen con código + paso a paso. +og_title: Cómo enderezar una imagen y ejecutar OCR en C# – Guía completa +tags: +- C# +- OCR +- Image Processing +title: Cómo enderezar la imagen y ejecutar OCR en C# – Guía completa +url: /es/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo enderezar una imagen y ejecutar OCR en C# – Guía completa + +Si alguna vez te has preguntado **cómo enderezar una imagen** antes de ejecutar OCR, estás en el lugar correcto. En este tutorial te guiaremos paso a paso para mejorar el contraste, cargar una imagen para OCR y, finalmente, **extraer texto de un escaneo** con Aspose OCR. + +Ya sea que estés digitalizando recibos antiguos, limpiando contratos escaneados o simplemente necesites una forma fiable de leer texto de una foto torcida, los pasos a continuación cubren todo lo que necesitas. Sin rodeos—solo un ejemplo funcional que puedes copiar‑pegar en Visual Studio. + +## Lo que lograrás + +Al final de esta guía podrás: + +* Corregir la inclinación hasta 30° (esa es la parte de **cómo enderezar una imagen**). +* Aumentar el contraste de la imagen para obtener bordes de caracteres más nítidos (**cómo mejorar el contraste**). +* Cargar tu foto en el motor OCR (**cargar imagen para OCR**). +* Ejecutar el proceso de reconocimiento y **extraer texto de un escaneo**. + +Todo esto funciona con la última versión del paquete NuGet Aspose.OCR .NET (v23.11 al momento de escribir). + +--- + +![Ejemplo de cómo enderezar una imagen](/images/deskew-example.png "cómo enderezar una imagen") + +*La imagen de arriba muestra un documento escaneado antes y después de enderezarlo.* + +## Requisitos previos + +* .NET 6.0 o posterior (el código también funciona en .NET Framework 4.7+). +* Visual Studio 2022 (o cualquier IDE de C# que prefieras). +* Paquete NuGet Aspose.OCR – instálalo con `dotnet add package Aspose.OCR`. + +Eso es todo. Sin servicios externos, sin claves API. + +--- + +## Cómo enderezar una imagen con Aspose OCR + +Lo primero que hacemos es crear un **ImageProcessingPipeline** y añadir un `DeskewFilter`. El filtro detecta automáticamente el ángulo dominante de la línea de texto y rota la imagen de vuelta a la horizontal. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Por qué es importante:** +Un escaneo inclinado confunde al motor OCR porque los caracteres ya no están alineados con la línea base. El `DeskewFilter` analiza el histograma de la imagen, encuentra el ángulo y la rota, mejorando drásticamente la precisión del reconocimiento. + +> **Consejo profesional:** Si sabes que tus documentos nunca superan una inclinación de 15°, establece `MaxAngle = 15` para acelerar el procesamiento. + +--- + +## Cómo mejorar el contraste para un mejor reconocimiento + +Después de enderezar, el siguiente paso es hacer que el texto destaque. El `ContrastBoostFilter` extiende el rango de intensidad de los píxeles, lo que es especialmente útil para impresiones descoloridas. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Por qué ayuda:** +Los escaneos de bajo contraste producen caracteres grisáceos que el binarizador puede interpretar como fondo. Aumentar el contraste oscurece más los píxeles oscuros y aclara más los claros, proporcionando al `BinarizationFilter` un lienzo más limpio. + +--- + +## Realizar OCR en la imagen – Cargando el archivo + +Ahora que la imagen está pre‑procesada, necesitamos **cargar imagen para OCR**. Aspose ofrece un práctico asistente `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Si tu imagen está en un stream (por ejemplo, cargada mediante una API web), puedes usar `ImageStream.FromStream(yourStream)` en su lugar. El motor acepta BMP, JPEG, PNG, TIFF y muchos otros formatos. + +--- + +## Ejecutar el proceso de reconocimiento y extraer texto del escaneo + +Con todo conectado, invocar `Recognize()` realiza el trabajo pesado. Después de la llamada, el texto reconocido está disponible a través de `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Salida esperada** (ejemplo para una factura sencilla): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Si la salida se ve distorsionada, verifica el orden de la canalización: enderezar primero, luego eliminar ruido, mejorar contraste y finalmente binarizar. Cambiar ese orden puede degradar los resultados. + +--- + +## Problemas comunes y casos límite + +| Problema | Por qué ocurre | Solución | +|----------|----------------|----------| +| **Resultado vacío** | La imagen es demasiado oscura o demasiado clara para el método de binarización predeterminado. | Aumenta `ContrastBoostFilter.Strength` o cambia a `BinarizationMethod.Otsu`. | +| **Texto parcial faltante** | Queda ruido después de la eliminación de ruido. | Usa `DenoiseLevel.Medium` para imágenes más suaves, o añade un segundo `DenoiseFilter`. | +| **Dirección de rotación incorrecta** | El documento tiene orientación mixta (p. ej., una foto de una página girada). | Establece manualmente `DeskewFilter.MaxAngle` a un valor menor y pre‑rota la imagen con `ImageProcessor.Rotate`. | +| **Ralentización del rendimiento** | Gran lote de imágenes de alta resolución. | Reduce la escala de las imágenes (`ImageProcessor.Resize`) antes de la canalización, o procesa en paralelo (`Parallel.ForEach`). | + +--- + +## Ejemplo completo (listo para copiar‑pegar) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Guarda esto como `Program.cs`, ejecuta `dotnet run` y observa cómo la consola muestra el resultado de **extraer texto del escaneo**. + +--- + +## Próximos pasos y temas relacionados + +* **Procesamiento por lotes** – Envuelve la lógica anterior en un bucle para manejar docenas de archivos. +* **Paquetes de idioma personalizados** – Si necesitas leer scripts no latinos, carga un modelo de idioma mediante `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **Salida PDF** – Combina Aspose.PDF con OCR para incrustar texto buscable directamente en un archivo PDF. +* **Ajuste de rendimiento** – Experimenta con el orden de `ImageProcessingPipeline`; a veces eliminar ruido antes de enderezar produce resultados más rápidos en fotos ruidosas. + +Todos estos se basan en los conceptos centrales que cubrimos: **cómo enderezar una imagen**, **cómo mejorar el contraste**, **cargar imagen para OCR**, **realizar OCR en la imagen**, y finalmente **extraer texto del escaneo**. + +--- + +## Conclusión + +Acabamos de demostrar una forma completa y lista para producción de **cómo enderezar una imagen** y ejecutar OCR en C#. Al encadenar un filtro de enderezado, un paso de eliminación de ruido, un aumento de contraste y un binarizador, obtienes una entrada limpia que permite a Aspose OCR extraer texto de forma fiable de los escaneos. + +Prueba el código, ajusta los parámetros de los filtros para tus propios documentos y verás cuán rápido mejora la precisión del reconocimiento. ¿Tienes preguntas? Deja un comentario, ¡y feliz codificación! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/spanish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..ab3848458 --- /dev/null +++ b/ocr/spanish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-03-07 +description: Cómo realizar OCR en imágenes chinas usando Aspose OCR. Aprende a extraer + texto chino, convertir la imagen a ePub y mejorar la precisión del OCR en un solo + tutorial. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: es +og_description: Cómo realizar OCR en imágenes chinas con Aspose OCR. Obtén código + paso a paso para extraer texto chino, mejorar el OCR y exportar a ePub. +og_title: Cómo realizar OCR en imágenes chinas – Guía completa de C# +tags: +- OCR +- C# +- Aspose +title: Cómo realizar OCR en imágenes chinas – Guía completa de C# +url: /es/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo realizar OCR en imágenes chinas – Guía completa en C# + +¿Alguna vez te has preguntado **cómo hacer OCR** en una foto que contiene caracteres chinos? No eres el único. En muchas aplicaciones—escaneo de recibos, digitalización de libros de texto o creación de un motor de búsqueda multilingüe—obtener texto limpio de una imagen es una característica decisiva. + +En este tutorial recorreremos una solución del mundo real que **extrae texto chino**, guarda el resultado en un archivo de texto plano y, incluso, **convierte la imagen a un ePub** para lectores electrónicos. En el camino discutiremos **cómo mejorar la precisión del OCR**, por qué deberías habilitar el modo GPU y qué necesitas hacer para **reconocer chino simplificado** correctamente. + +Al final de la guía tendrás un programa C# completamente ejecutable, varios consejos prácticos y una idea clara de los próximos pasos que puedes dar (como añadir detección de idioma o procesamiento por lotes). No se requieren documentos externos—todo lo que necesitas está aquí. + +## Qué necesitarás + +- .NET 6+ (o .NET Core 3.1 con Aspose OCR for .NET) +- Una licencia válida de Aspose OCR for .NET (la prueba gratuita sirve para experimentar) +- Un archivo de imagen que contenga caracteres chinos simplificados (p. ej., `chinese_sample.jpg`) +- Visual Studio 2022 o cualquier editor de C# que prefieras + +Si te falta alguno de estos, obtén el paquete NuGet ahora: + +```bash +dotnet add package Aspose.OCR +``` + +Eso es todo—sin bibliotecas nativas adicionales, sin interop COM, solo un único paquete .NET. + +## Cómo realizar OCR – Configuración del motor Aspose OCR + +Lo primero que debes hacer es crear y configurar el motor OCR. Este paso es crucial porque la configuración del motor determina **qué tan bien funciona el OCR** con caracteres chinos y qué tan rápido se ejecuta. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Por qué es importante:** +- **Language = ChineseSimplified** indica a Aspose que cargue el conjunto de caracteres para chino simplificado, lo que reduce drásticamente los errores de reconocimiento. +- **EngineMode.Gpu** puede reducir el tiempo de procesamiento a la mitad en una GPU moderna, pero retrocede elegantemente a la CPU si no hay GPU disponible. +- **DeskewFilter** elimina cualquier inclinación que suele aparecer cuando los usuarios toman una foto con el móvil. +- **Sauvola binarization** crea una imagen en blanco y negro de alto contraste, un truco clásico para mejorar la precisión del OCR en escrituras densas como el chino. + +> **Consejo profesional:** Si trabajas con fotos en condiciones de poca luz, añade un `ContrastFilter` antes de la binarización. No es obligatorio para nuestro ejemplo, pero a menudo evita dolores de cabeza. + +![Diagrama del flujo de OCR](ocr-pipeline.png "Diagrama del flujo de OCR") + +> *Texto alternativo:* Diagrama del flujo de OCR + +## Extraer texto chino de una imagen + +Ahora que el motor está listo, cargamos la imagen y dejamos que el motor haga su magia. Este es el núcleo de **extraer texto chino**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Lo que deberías ver:** +Si `chinese_sample.jpg` contiene la frase “中华人民共和国”, el archivo `out.txt` contendrá exactamente esos caracteres—sin espacios extra, sin letras latinas corruptas. + +### Problemas comunes + +| Problema | Por qué ocurre | Solución | +|----------|----------------|----------| +| Faltan caracteres | La imagen es demasiado ruidosa | Añade un `MedianFilter` antes de la binarización | +| Se detecta el idioma incorrecto | `Language` configurado a `English` | Asegúrate de que `Language = Language.ChineseSimplified` | +| Procesamiento lento | GPU no habilitada | Verifica que tu máquina tenga un controlador CUDA compatible | + +## Convertir imagen a ePub + +Muchos desarrolladores preguntan, *“¿Puedo convertir la página escaneada en un libro electrónico legible?”* Absolutamente—Aspose OCR incluye un exportador a ePub. Esto satisface el requisito de **convertir imagen a epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +El `out.epub` generado contendrá el texto chino extraído, codificado correctamente en UTF‑8, y podrá abrirse en Kindle, Apple Books o cualquier lector ePub. + +**¿Por qué usar ePub?** +- Es refluible, por lo que los lectores pueden ajustar el tamaño de la fuente sin romper el diseño. +- El formato mantiene el texto buscable, lo que resulta útil para indexación posterior. + +## Cómo mejorar el OCR – Ajustes prácticos + +Incluso con una canalización sólida, aún puedes observar errores ocasionales. Aquí tienes una lista rápida para **cómo mejorar el OCR** en documentos chinos: + +1. **Pre‑procesar la imagen** – Usa `GaussianBlurFilter` para suavizar manchas y luego `ContrastFilter` para agudizar bordes. +2. **Establecer un DPI mayor** – Si controlas el proceso de escaneo, apunta a 300 dpi o más; las imágenes de baja resolución pierden detalle de trazos. +3. **Habilitar detección de idioma** – Aspose puede detectar el idioma automáticamente; combínalo con un fallback a chino simplificado si la detección falla. +4. **Ajustar la binarización** – Cambia `Sauvola` por `Otsu` si el fondo es uniformemente claro. +5. **Procesamiento por lotes** – Procesa varias páginas en paralelo usando `Parallel.ForEach` para aprovechar CPUs multinúcleo. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Reconocer chino simplificado – Casos límite + +La frase **reconocer chino simplificado** suele confundir a los recién llegados porque el mismo motor OCR también puede manejar chino tradicional, japonés o coreano. Para mantener las cosas determinísticas: + +- **Establece explícitamente el idioma** (como hicimos en el Paso 1). +- **Evita páginas con idiomas mixtos**; si una página combina chino simplificado con inglés, considera ejecutar dos pasadas: una con `Language.ChineseSimplified`, otra con `Language.English`. +- **Valida la salida** — después del reconocimiento, ejecuta una expresión regular simple para asegurar que todos los caracteres estén dentro del rango Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Si la verificación falla, puedes registrar la página para revisión manual. + +## Ejemplo completo y funcional + +Juntando todo, aquí tienes un único archivo que puedes copiar‑pegar en un nuevo proyecto de consola (`Program.cs`). Incluye todos los pasos, ajustes opcionales y una línea final de estado. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Salida esperada en la consola (ejemplo):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Ejecuta el programa, abre `out.txt` o `out.epub` y verás caracteres chinos limpios y buscables listos para el procesamiento posterior. + +## Conclusión + +Acabamos de cubrir **cómo realizar OCR** en imágenes chinas de principio a fin, mostrándote cómo **extraer texto chino**, **convertir el resultado a un ePub** y aplicar un puñado de + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/text-recognition/_index.md b/ocr/spanish/net/text-recognition/_index.md index 8f06dcbf8..119601fc1 100644 --- a/ocr/spanish/net/text-recognition/_index.md +++ b/ocr/spanish/net/text-recognition/_index.md @@ -27,7 +27,7 @@ Explore las capacidades de Aspose.OCR para .NET y transforme la forma en que man ## Obtenga resultados como JSON en el reconocimiento de imágenes OCR -Libere todo el potencial de Aspose.OCR para .NET aprendiendo cómo obtener resultados de OCR en formato JSON sin esfuerzo. Esta guía paso a paso garantiza un viaje sencillo hacia la mejora de sus capacidades de reconocimiento de imágenes. Aumente la eficiencia de su aplicación con las sólidas funciones y la tecnología líder en la industria de Aspose.OCR. +Libere todo el potencial de Aspose.OCR para .NET aprendiendo cómo obtener resultados OCR en formato JSON sin esfuerzo. Esta guía paso a paso garantiza un viaje sencillo hacia la mejora de sus capacidades de reconocimiento de imágenes. Aumente la eficiencia de su aplicación con las sólidas funciones y la tecnología líder en la industria de Aspose.OCR. ## Modo de detección de áreas OCR en reconocimiento de imágenes OCR @@ -46,7 +46,7 @@ Navegue por las complejidades del reconocimiento de tablas en el reconocimiento ### [Obtenga opciones para caracteres reconocidos en el reconocimiento de imágenes OCR](./get-choices-for-recognized-characters/) Mejore sus aplicaciones .NET con Aspose.OCR para un reconocimiento preciso de caracteres. Siga nuestra guía paso a paso para recuperar opciones de caracteres reconocidos en el reconocimiento de imágenes. ### [Obtener el resultado del reconocimiento en el reconocimiento de imágenes OCR](./get-recognition-result/) -Explore Aspose.OCR para .NET, una potente solución de OCR para un reconocimiento perfecto de texto en imágenes. +Explore Aspose.OCR para .NET, una potente solución de OCR para un reconocimiento perfecto del texto en imágenes. ### [Obtenga resultados como JSON en el reconocimiento de imágenes OCR](./get-result-as-json/) Libere el poder de Aspose.OCR para .NET. Aprenda a obtener resultados OCR en formato JSON sin esfuerzo. Mejore el reconocimiento de sus imágenes con esta guía paso a paso. ### [Modo de detección de áreas OCR en reconocimiento de imágenes OCR](./ocr-detect-areas-mode/) @@ -55,9 +55,20 @@ Mejore sus aplicaciones .NET con Aspose.OCR para un reconocimiento eficiente del Libere el potencial del OCR en .NET con Aspose.OCR. Extraiga texto de archivos PDF sin esfuerzo. Descárguelo ahora para disfrutar de una experiencia de integración perfecta. ### [Reconocer tabla en reconocimiento de imágenes OCR](./recognize-table/) Descubra el potencial de Aspose.OCR para .NET con nuestra guía completa sobre cómo reconocer tablas en el reconocimiento de imágenes OCR. +### [Reconocer texto en hindi en C# – Guía completa de Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Aprenda a reconocer texto en hindi usando C# con Aspose OCR, siguiendo una guía paso a paso para integrar OCR multilingüe en sus aplicaciones. +### [Cómo crear ePub a partir de imágenes en C# – Guía paso a paso](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Aprenda a generar archivos ePub a partir de imágenes usando C# con Aspose, siguiendo una guía paso a paso. +### [Reconocer texto de una imagen en C# – Guía completa de Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Aprenda a reconocer texto a partir de imágenes en C# con Aspose OCR mediante una guía paso a paso. +### [Extraer texto de PNG en C# – Guía completa de OCR](./extract-text-from-png-in-c-full-ocr-guide/) +Aprenda a extraer texto de archivos PNG usando C# con Aspose OCR mediante una guía paso a paso. +### [Cómo usar OCR en C# – Extraer texto de imágenes sin conexión](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Aprenda a usar OCR en C# para extraer texto de imágenes sin conexión, siguiendo una guía paso a paso. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/spanish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..ad6cf4a11 --- /dev/null +++ b/ocr/spanish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-03-07 +description: Extrae texto de archivos PNG usando C#. Aprende cómo convertir una imagen + a texto en C# y leer texto de imágenes escaneadas rápidamente. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: es +og_description: Extrae texto de archivos PNG usando C#. Esta guía muestra cómo convertir + una imagen a texto en C# y leer texto de imágenes escaneadas con Aspose OCR. +og_title: Extraer texto de PNG en C# – Guía completa de OCR +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Extraer texto de PNG en C# – Guía completa de OCR +url: /es/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extraer texto de PNG en C# – Guía completa de OCR + +¿Alguna vez necesitaste **extraer texto de archivos PNG** pero no sabías por dónde empezar? No estás solo: la mayoría de los desarrolladores se topan con ese obstáculo cuando se enfrentan a gráficos escaneados o capturas de pantalla que deben convertirse en texto buscable. ¿La buena noticia? Con unas pocas líneas de C# y Aspose OCR puedes transformar cualquier PNG en cadenas editables al instante. + +En este tutorial recorreremos todo el proceso: desde localizar los PNG en disco, lanzar tareas de OCR en paralelo, hasta mostrar una vista previa ordenada de cada resultado. Al final sabrás cómo **convertir imagen a texto C#**, podrás **leer texto de imágenes escaneadas** de manera eficiente y también conocerás la mejor forma de **ejecutar OCR en imágenes** sin bloquear el hilo de la UI. + +## Lo que necesitarás + +- .NET 6.0 o posterior (el código funciona también en .NET Core y .NET Framework) +- Paquete NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- Una carpeta llena de archivos *.png* que quieras procesar +- Cualquier IDE que prefieras (Visual Studio, VS Code, Rider…) + +No se requiere configuración extra; la biblioteca incluye todo lo necesario para decodificar PNG, JPEG, TIFF, lo que sea. + +## Paso 1: Localizar todos los archivos PNG – Comienza “Extraer texto de PNG” + +Primero debemos encontrar cada PNG al que vamos a aplicar OCR. Usar `Directory.GetFiles` es rápido y fiable. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Por qué importa:* Escanear el directorio una sola vez mantiene el resto de la canalización sencillo, y la verificación temprana evita una situación silenciosa de “sin salida” que puede ser difícil de depurar más adelante. + +## Paso 2: Iniciar tareas de OCR en paralelo – Ejecutar OCR en imágenes de forma eficiente + +Ejecutar OCR secuencialmente está bien para unos pocos archivos, pero los proyectos del mundo real a menudo manejan decenas o cientos. Al lanzar un `Task` por imagen mantenemos la CPU ocupada mientras la biblioteca realiza el trabajo pesado. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Consejo profesional:* `Task.Run` delega el trabajo al pool de hilos, lo que significa que tu UI (si tienes una) permanece receptiva. Si estás en un servidor, el mismo patrón escala bien entre núcleos. + +## Paso 3: Esperar todas las tareas – Recopilar los resultados + +Ahora esperamos a que cada operación de OCR termine. `Task.WhenAll` devuelve un arreglo que se alinea con el orden original de los archivos, facilitando el emparejamiento de resultados con nombres de archivo. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Nota sobre casos límite:* Si alguna imagen lanza una excepción (archivo corrupto, formato no soportado) todo `WhenAll` propagará la excepción. Puedes envolver el `Task.Run` interno en un try/catch y devolver una cadena vacía o un mensaje diagnóstico si necesitas tolerancia a fallos. + +## Paso 4: Mostrar una vista previa – Verificar la salida de **convertir imagen a texto C#** + +Una vista previa rápida te ayuda a confirmar que el OCR funcionó antes de guardar los datos en otro lugar. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Una salida típica en la consola se ve así: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Si la vista previa muestra caracteres sin sentido, verifica la calidad de la imagen o considera pre‑procesarla (p. ej., binarización); pero para la mayoría de los PNG limpios Aspose OCR lo acierta en el primer intento. + +## Opcional: Guardar resultados en CSV – Caso de uso real + +La mayoría de los proyectos necesitan el texto extraído en un formato estructurado. A continuación hay un pequeño helper que escribe el nombre de archivo y el texto completo de OCR en un archivo CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Ahora puedes importar el CSV a Excel, Power BI o cualquier sistema downstream que espere **leer texto de imágenes escaneadas**. + +## Preguntas frecuentes + +**¿Qué pasa si mis PNG son enormes (más de 5 MB)?** +Aspose OCR reduce automáticamente el tamaño de imágenes grandes para mantener el uso de memoria razonable, pero puedes redimensionar manualmente con `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` para limitar el ancho a 2000 px manteniendo la proporción. + +**¿Puedo ejecutar esto en Linux?** +Sí. Aspose OCR es multiplataforma; solo asegúrate de que las dependencias nativas (`libgdiplus` en algunas distribuciones) estén instaladas. + +**¿El idioma del OCR está configurado en inglés por defecto?** +Correcto. Si necesitas otro idioma, establece `engine.Language = OcrLanguage.French;` (o cualquier enum soportado) antes de llamar a `Recognize()`. + +**¿Cómo manejo PDFs protegidos con contraseña que contienen PNG?** +Convierte primero las páginas del PDF a imágenes (usando Aspose PDF u otra biblioteca), luego alimenta esos PNG al mismo pipeline. El principio de **cómo ejecutar OCR en imágenes** sigue siendo el mismo. + +## Ejemplo completo (Async Main) + +A continuación tienes un programa autocontenido que puedes copiar y pegar en un proyecto de consola. Incluye todas las piezas anteriores, más un pequeño helper para validar la carpeta de entrada. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Salida esperada** (ejemplo para dos PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Conclusión + +Acabamos de cubrir todo lo que necesitas para **extraer texto de PNG** usando C#. Desde localizar los archivos, lanzar trabajos de OCR en paralelo, previsualizar las cadenas, hasta guardarlas en un CSV: esta guía te brinda un patrón listo para producción en escenarios de **convertir imagen a texto C#**. + +Si ya estás listo para el siguiente paso, prueba alimentar el mismo pipeline con archivos JPEG o TIFF, experimenta con diferentes idiomas de OCR, o conecta los resultados a un índice de búsqueda para que puedas **leer texto de imágenes escaneadas** al instante. + +¿Tienes preguntas sobre casos límite, afinación de rendimiento o licencias? Deja un comentario o contacta a la comunidad de Aspose—¡feliz codificación! + +![Ejemplo de extracción de texto de PNG](extract-text-png.png "Extracción de texto de PNG usando Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/spanish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..51308f1de --- /dev/null +++ b/ocr/spanish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Cómo crear ePub a partir de imágenes escaneadas usando Aspose OCR – aprende + a convertir una imagen a ePub, extraer texto de la imagen, agregar autor al ePub + y cargar la imagen para OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: es +og_description: Cómo crear ePub a partir de imágenes escaneadas en C#. Este tutorial + muestra cómo convertir una imagen a ePub, extraer texto de la imagen, añadir autor + al ePub y cargar la imagen para OCR. +og_title: Cómo crear ePub a partir de imágenes en C# – Guía completa +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Cómo crear un ePub a partir de imágenes en C# – Guía paso a paso +url: /es/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo crear ePub a partir de imágenes en C# – Guía completa + +¿Alguna vez te has preguntado **cómo crear ePub** a partir de una colección de páginas escaneadas? Tal vez tengas un puñado de PNG de una novela clásica y quieras convertirlos en un ePub ordenado que puedas leer en cualquier dispositivo. La buena noticia es que con Aspose OCR puedes **load image for OCR**, extraer el texto y luego **convert image to ePub** en solo unas pocas líneas de C#. + +En este tutorial recorreremos todo el proceso: cargar la imagen, extraer el texto, añadir algunos metadatos (sí, **add author to epub**), y finalmente escribir un archivo ePub que cumpla con los estándares. Al final tendrás un ePub listo para publicar y una comprensión sólida de cada paso, para que puedas adaptar el código a libros de varias páginas, fuentes personalizadas o incluso distribución sin DRM. + +## Qué necesitarás + +- **.NET 6** o posterior (la API funciona también con .NET Standard 2.0+). +- **Aspose.OCR for .NET** – puedes obtener una prueba gratuita en el sitio web de Aspose. +- Una imagen escaneada como `book_page.png` ubicada en algún lugar del disco. +- Un IDE favorito (Visual Studio, Rider o VS Code – usaré Visual Studio en las capturas de pantalla). + +No se requieren paquetes NuGet adicionales; Aspose.OCR incluye todo lo necesario para la exportación a ePub. + +--- + +![Cómo crear ePub a partir de una imagen escaneada](/images/how-to-create-epub.png "Cómo crear ePub a partir de una imagen escaneada usando Aspose OCR") + +## Paso 1 – Configurar el proyecto e instalar Aspose.OCR + +Lo primero. Crea una nueva aplicación de consola: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Añade el paquete Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +Eso es todo – la biblioteca incluye tanto OCR como capacidades de exportación a ePub, por lo que no necesitarás dependencias adicionales. + +## Paso 2 – Cargar imagen para OCR + +Antes de que podamos **extract text from image**, debemos proporcionar algo que leer al motor OCR. El ayudante `ImageStream.FromFile` hace esto trivial: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Consejo profesional:** Si tu imagen está en un recurso incrustado, usa `ImageStream.FromResource` en lugar de `FromFile`. + +## Paso 3 – Extraer texto de la imagen + +Ahora el motor realmente lee los píxeles y los convierte en cadenas Unicode. El método `Recognize` realiza el trabajo pesado. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +¿Por qué llamar a `Recognize` por separado? Permite inspeccionar la salida OCR cruda, ajustar la configuración de idioma o incluso ejecutar una corrección ortográfica antes de pasar a la creación del ePub. + +## Paso 4 – Preparar opciones de exportación ePub (Add Author to ePub) + +Crear un ePub pulido no es solo volcar texto; también deseas metadatos adecuados. La clase `EpubExportOptions` te brinda una forma sencilla de **add author to ePub**, establecer un título y decidir si incrustar las imágenes originales. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Si tienes varias páginas, puedes seguir llamando a `ocrEngine.Image = …` y `ocrEngine.Recognize()` dentro de un bucle; cada llamada agrega el contenido de la nueva página al mismo documento ePub. + +## Paso 5 – Convertir imagen a ePub y exportar + +Con el texto extraído y los metadatos configurados, el paso final es una única línea que escribe el archivo ePub en disco: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +El `book.epub` resultante puede abrirse en Calibre, Apple Books o cualquier lector compatible con EPUB. Como establecimos `IncludeImages = true`, el PNG original aparecerá como una página de imagen, preservando el aspecto del origen escaneado. + +## Ejemplo completo en funcionamiento + +Uniendo todo, aquí tienes el programa completo, listo para ejecutar: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Salida esperada + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Abre `book.epub` en tu lector favorito y verás una página de título, la línea del autor (incluso si dice “Unknown”), y la imagen escaneada mostrada junto al texto seleccionable. + +## Preguntas frecuentes y casos límite + +### ¿Qué pasa si el idioma del OCR no es inglés? + +Aspose.OCR admite más de 70 idiomas. Simplemente establece la propiedad `Language` antes de llamar a `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### ¿Cómo manejo libros de varias páginas? + +Envuelve la lógica de carga/reconocimiento en un bucle `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Cada iteración agrega el texto recién reconocido al mismo ePub, preservando el orden de las páginas. + +### ¿Puedo excluir las imágenes originales? + +Claro – establece `IncludeImages = false` en `EpubExportOptions`. El ePub resultante será solo texto refluible, lo que reduce drásticamente el tamaño del archivo. + +### ¿Qué hay de fuentes o estilos personalizados? + +El exportador ePub de Aspose.OCR te permite proporcionar una hoja de estilo CSS mediante la propiedad `Css` en `EpubExportOptions`. De esa forma puedes imponer una familia de fuentes específica, altura de línea o margen. + +## Conclusión + +Ahora sabes **how to create ePub** a partir de una imagen escaneada usando Aspose OCR en C#. El tutorial cubrió todo, desde **load image for OCR**, pasando por **extract text from image**, hasta **add author to epub**, y finalmente **convert image to epub** con una única llamada de exportación. Con el ejemplo de código completo, puedes ampliar la solución para procesar por lotes bibliotecas completas, insertar una portada personalizada o incluso integrar el flujo de trabajo en una API web. + +¿Listo para el próximo desafío? Prueba convertir un PDF a ePub, o experimenta con los umbrales de confianza del OCR para mejorar la precisión en escaneos ruidosos. El cielo es el límite cuando combinas un OCR potente con una generación flexible de ePub. + +¡Feliz codificación y disfruta leyendo tu ePub recién creado! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/spanish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..984b7e9c0 --- /dev/null +++ b/ocr/spanish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-07 +description: Aprende a usar OCR en C# para extraer texto de archivos de imagen. Esta + guía muestra OCR sin conexión, convertir la imagen a texto y cargar la imagen para + OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: es +og_description: Cómo usar OCR en C# para extraer texto de imágenes sin conexión. Código + paso a paso, consejos y explicación completa para convertir una imagen en texto. +og_title: Cómo usar OCR en C# – Guía completa sin conexión +tags: +- OCR +- C# +- Aspose +title: Cómo usar OCR en C# – Extraer texto de imágenes sin conexión +url: /es/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cómo usar OCR en C# – Extraer texto de imágenes sin conexión + +¿Alguna vez te has preguntado **cómo usar OCR** en un proyecto .NET sin enviar datos a la nube? No estás solo. Muchos desarrolladores necesitan *extraer texto de archivos de imagen* en una estación de trabajo segura, y temen que el tráfico de red pueda exponer información sensible. + +¿La buena noticia? Con Aspose.OCR puedes reconocer texto de PNG, JPEG o PDF completamente sin conexión. En este tutorial recorreremos la carga de una imagen para OCR, la configuración del motor en modo offline y, finalmente, **convertir imagen a texto** con solo unas pocas líneas de C#. + +Al final de esta guía podrás: + +* Instalar el paquete NuGet Aspose.OCR. +* Configurar el motor OCR para procesamiento offline. +* Cargar una imagen para OCR y extraer su contenido textual. + +Sin servicios externos, sin claves API — solo código puro en C# que se ejecuta en cualquier máquina Windows o Linux. + +--- + +## Prerrequisitos + +Antes de comenzar, asegúrate de tener: + +* .NET 6.0 SDK o posterior (el código también funciona con .NET Framework 4.7+). +* Visual Studio 2022, VS Code, o cualquier editor que soporte C#. +* Una copia de la biblioteca **Aspose.OCR** – puedes obtenerla desde NuGet (`Aspose.OCR`). +* Una carpeta de recursos OCR (`Resources`) que se incluye con la biblioteca (contiene archivos de datos de idioma). +* Una imagen de ejemplo (p. ej., `offline_test.png`) ubicada en un directorio conocido. + +> **Pro tip:** Mantén la carpeta de recursos junto a tu ejecutable; simplifica la configuración de `ResourcesPath`. + +--- + +## Paso 1: Instalar el paquete NuGet Aspose.OCR + +Primero, agrega la biblioteca a tu proyecto. Abre una terminal en la carpeta del proyecto y ejecuta: + +```bash +dotnet add package Aspose.OCR +``` + +O, si prefieres la interfaz de Visual Studio, haz clic derecho en **Dependencies → Manage NuGet Packages**, busca *Aspose.OCR* y pulsa **Install**. + +> La instalación del paquete incluye todos los binarios necesarios, por lo que no necesitarás DLLs adicionales. + +--- + +## Paso 2: Crear y Configurar el Motor OCR (Cómo usar OCR – Modo Offline) + +Ahora instanciamos el motor OCR y le indicamos que trabaje **offline**. Así garantizamos que no haya tráfico de red durante el reconocimiento. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**¿Por qué offline?** +Cuando `EngineMode` se establece en `Online`, el motor contacta la nube de Aspose para descargar paquetes de idioma al vuelo. En entornos regulados (finanzas, salud) ese tráfico suele estar prohibido. Forzando el modo offline aseguras que todo permanezca en la máquina local. + +--- + +## Paso 3: Apuntar el Motor a la Carpeta de Recursos OCR + +El motor OCR necesita datos de idioma (modelos entrenados) para reconocer caracteres. Indícale dónde se encuentran esos archivos: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Si no sabes dónde está la carpeta, encuéntrala bajo el directorio del paquete NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Copia la carpeta completa a tu proyecto para facilitar el despliegue. + +--- + +## Paso 4: Cargar la Imagen para OCR (Load Image for OCR) + +Puedes proporcionar al motor cualquier bitmap compatible. Aquí cargaremos un PNG almacenado en disco: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tip:** Si necesitas procesar imágenes desde un stream (p. ej., subidas vía API), usa `ImageStream.FromStream(yourStream)` en su lugar. + +--- + +## Paso 5: Ejecutar el Proceso de Reconocimiento y Convertir Imagen a Texto + +Con todo listo, dispara el OCR. El método `Recognize()` realiza el trabajo pesado, y el texto extraído queda disponible a través de la propiedad `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Paso 6: Mostrar el Texto Extraído + +Finalmente, muestra el resultado. En una aplicación de consola puedes escribir directamente en la consola, pero en una API web devolverías la cadena como JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Ejecutar el programa debería imprimir el contenido textual de `offline_test.png`. Por ejemplo, si la imagen contiene la frase *“Hello, World!”*, verás: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Ejemplo Completo Funcional + +A continuación tienes el programa completo, listo para ejecutar. Copia‑pega en un nuevo proyecto de consola (`dotnet new console`) y ajusta las rutas a tu entorno. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Salida esperada:** La consola imprime el texto exacto contenido en el archivo PNG. Si la imagen está borrosa, el resultado puede incluir caracteres mal reconocidos — consulta la sección de solución de problemas más abajo. + +--- + +## Problemas Comunes y Consejos (Reconocer Texto de PNG de Forma Eficiente) + +| Problema | Por qué ocurre | Cómo solucionarlo | +|----------|----------------|-------------------| +| **Salida vacía** | `ResourcesPath` apunta a la carpeta incorrecta o faltan los archivos de idioma. | Verifica que la carpeta contenga `eng.traineddata` (u otros archivos de idioma) y revisa la cadena de ruta. | +| **Caracteres basura** | La resolución de la imagen es demasiado baja o la imagen no está binarizada. | Pre‑procesa la imagen (aumenta DPI, aplica `ImageProcessor` para afilar). | +| **Retardo de rendimiento** | Imágenes grandes se procesan a resolución completa. | Redimensiona la imagen a un máximo de 2000 px de ancho antes de enviarla al OCR. | +| **Formato no soportado** | Uso de un BMP con un formato de píxel inusual. | Convierte la imagen a PNG o JPEG primero (`System.Drawing.Image.Save`). | + +**Pro tip:** Si necesitas reconocer varios idiomas, establece `ocrEngine.Settings.Language = Language.English | Language.French;` antes de llamar a `Recognize()`. + +--- + +## Preguntas Frecuentes + +**P: ¿Puedo usar este código en Linux?** +Sí. Aspose.OCR es multiplataforma; solo asegúrate de que las bibliotecas nativas estén presentes (se incluyen con el paquete NuGet). + +**P: ¿Qué pasa si no tengo una carpeta Resources?** +Puedes descargar los paquetes de idioma gratuitos desde el sitio web de Aspose o extraerlos del paquete NuGet (`.../aspose.ocr//resources`). + +**P: ¿Hay forma de obtener puntuaciones de confianza?** +Sí. Después de `Recognize()`, inspecciona `ocrEngine.RecognizedWords`; cada palabra incluye una propiedad `Confidence`. + +--- + +## Conclusión + +Hemos cubierto **cómo usar OCR** en C# para *extraer texto de archivos de imagen* completamente sin conexión. Instalando Aspose.OCR, configurando `EngineMode.Offline`, apuntando a los recursos, cargando una imagen y llamando a `Recognize()`, puedes convertir imágenes a texto de forma fiable sin tocar internet. + +Toma el código anterior, reemplaza las rutas de tus propias imágenes y comienza a crear funcionalidades como PDFs buscables, automatización de entrada de datos o herramientas de accesibilidad. Después, podrías explorar **reconocer texto de PNG** en lote, o integrar el motor en una API ASP.NET Core para servir resultados OCR a aplicaciones front‑end. + +¡Feliz codificación y siéntete libre de experimentar — OCR es sorprendentemente indulgente una vez que el motor está configurado correctamente! + +--- + +![Diagrama que muestra el flujo de trabajo de OCR sin conexión – cómo usar OCR en un entorno seguro](https://example.com/ocr-workflow.png "diagrama de cómo usar OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/spanish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..a54b9c82d --- /dev/null +++ b/ocr/spanish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,223 @@ +--- +category: general +date: 2026-03-07 +description: Aprende a reconocer texto en hindi y cargar imágenes para OCR usando + Aspose.OCR en C#. Configuración paso a paso, código y consejos. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: es +og_description: Descubre cómo reconocer texto en hindi con Aspose OCR en C#. Incluye + la carga de la imagen para OCR, la configuración del paquete de idiomas y consejos + de buenas prácticas. +og_title: reconocer texto en hindi – Tutorial completo de Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: reconocer texto en hindi en C# – Guía completa de Aspose OCR +url: /es/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconocer texto en hindi – Tutorial completo de Aspose OCR + +¿Alguna vez necesitaste **reconocer texto en hindi** de un recibo escaneado pero no estabas seguro de por dónde empezar? No estás solo. En muchas aplicaciones enfocadas en la India, extraer caracteres en hindi de forma fiable puede sentirse como perseguir un objetivo en movimiento. Afortunadamente, Aspose.OCR lo hace pan comido—una vez que conozcas los pasos correctos para **load image for OCR** y apuntes el motor a los recursos del idioma hindi. + +En esta guía repasaremos todo lo que necesitas para obtener una canalización OCR funcional en C#. Al final tendrás un programa ejecutable que descarga el paquete de idioma hindi, carga una imagen, ejecuta el reconocimiento y muestra el texto resultante en la consola. Sin enlaces vagos del tipo “ver la documentación”, solo una solución autosuficiente que puedes incorporar a cualquier proyecto .NET. + +## Lo que necesitarás + +- **.NET 6+** (o .NET Framework 4.7.2+). La API es la misma en todas las versiones, pero el runtime más reciente te brinda mejor rendimiento. +- **Aspose.OCR for .NET** paquete NuGet. Instálalo con `dotnet add package Aspose.OCR`. +- Un **Hindi language pack** – Aspose lo entrega como un recurso descargable, no incluido por defecto. +- Un archivo de imagen que contenga texto en hindi (p. ej., `hindi_receipt.jpg`). Cualquier formato común (JPG, PNG, BMP) funciona. +- Un IDE decente (Visual Studio, Rider o VS Code). + +Eso es todo—sin motores OCR externos, sin claves de nube, solo una biblioteca local. + +## Paso 1: Descargar el paquete de idioma Hindi – Configurar recursos + +Antes de que el motor OCR pueda entender los caracteres Devanagari, debes obtener los recursos del idioma hindi. Esta es una operación única, normalmente realizada durante la instalación de la aplicación o en CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Por qué es importante:** El motor OCR depende de modelos específicos del idioma para mapear patrones de píxeles a caracteres Unicode. Sin el paquete hindi, obtendrás salida en latín corrupta o nada en absoluto. + +> **Pro tip:** Cachea el paquete en una carpeta que sea escribible en la máquina de destino. Si lo despliegas en Azure App Service, usa la carpeta `D:\home\site\wwwroot\Resources`. + +## Paso 2: Configurar el motor OCR – Apuntar a los recursos + +Ahora que los recursos están en su lugar, crea una instancia de `OcrEngine` y indícale dónde buscar los archivos de idioma. Aquí también establecemos el **primary language** para el reconocimiento. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Por qué lo hacemos:** `ResourcesPath` es el puente entre el motor y los archivos descargados. Si omites este paso, el motor recurrirá a sus modelos incorporados (solo inglés) y no podrás **recognize Hindi text** correctamente. + +## Paso 3: Cargar imagen para OCR – Alimentar el motor con la entrada correcta + +Con el motor listo, el siguiente paso es **load image for OCR**. Aspose proporciona el práctico ayudante `ImageStream.FromFile` que soporta la mayoría de los formatos de imagen comunes. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Errores comunes:** +- **Large images** pueden ralentizar el procesamiento. Si manejas escaneos de alta resolución, considera reducir la escala primero (`ImageProcessor.Resize`). +- **Incorrect orientation** (escaneos rotados) producirá resultados pobres. Usa `ocrEngine.Image.Rotate(90)` si es necesario. + +## Paso 4: Ejecutar el reconocimiento – Extraer el texto + +Ahora le pedimos al motor que lea los píxeles y los convierta en cadenas Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Qué esperar:** Si la imagen es clara, deberías ver los caracteres hindi impresos exactamente como aparecen en el recibo. Por ejemplo, un recibo de muestra podría producir: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Si obtienes texto sin sentido, verifica que el paquete de idioma se haya descargado correctamente y que `ocrEngine.Settings.Language` esté configurado a `Language.Hindi`. + +## Paso 5: Envolver todo – Programa completo y ejecutable + +A continuación tienes el archivo fuente completo que puedes copiar‑pegar en un proyecto de consola. Incluye todos los pasos anteriores, más un manejo de errores mínimo. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Guarda esto como `Program.cs`, ejecuta `dotnet run`, y deberías ver el texto en hindi impreso en la consola. + +## Preguntas frecuentes (FAQ) + +### ¿Puedo reconocer varios idiomas en una sola ejecución? +Sí. Establece `ocrEngine.Settings.Language` a un arreglo, por ejemplo `new[] { Language.Hindi, Language.English }`. El motor intentará detectar caracteres de ambos scripts. + +### ¿Qué pasa si mi imagen está borrosa? +Considera pre‑procesar con `ImageProcessor`—aplica enfoque o mejora de contraste antes de asignarla a `ocrEngine.Image`. + +### ¿Esto funciona en Linux/macOS? +Absolutamente. Aspose.OCR es multiplataforma; solo asegúrate de que las dependencias nativas estén presentes (normalmente incluidas con el paquete NuGet). + +### ¿Cómo mejorar la precisión para recibos de baja resolución? +Aumenta los DPI (puntos por pulgada) durante el escaneo, o re‑muestrea programáticamente la imagen a al menos 300 DPI antes del OCR. + +## Conclusión + +Hemos cubierto todo lo que necesitas para **recognize Hindi text** usando Aspose.OCR—desde descargar el paquete de idioma hindi, configurar el motor, **load image for OCR** correctamente, hasta extraer e imprimir el resultado. El fragmento de código completo arriba está listo para insertarse en cualquier aplicación de consola C#, y los consejos opcionales te ayudarán a manejar casos comunes como escaneos borrosos o documentos multilingües. + +¿Listo para el siguiente paso? Prueba alimentar la salida OCR a una API de traducción, o guarda los datos extraídos en una base de datos para análisis. También puedes experimentar con otros idiomas indios—Aspose soporta Tamil, Bengali y más—cambiando `Language.Hindi` por el valor enum deseado. + +¡Feliz codificación, y que tus resultados OCR siempre sean nítidos! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/spanish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/spanish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..4a0cfbbe1 --- /dev/null +++ b/ocr/spanish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Reconoce texto de una imagen rápidamente con Aspose OCR. Aprende cómo + convertir djvu a texto, extraer texto de una imagen y cargar la imagen para OCR + en un tutorial paso a paso en C#. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: es +og_description: reconocer texto de una imagen en C# usando Aspose OCR. Esta guía muestra + cómo convertir djvu a texto, extraer texto de una imagen y cargar la imagen para + OCR con consejos prácticos. +og_title: reconocer texto de imagen – Tutorial completo de OCR en C# con Aspose +tags: +- C# +- Aspose OCR +- Document Processing +title: Reconocer texto de una imagen en C# – Guía completa de Aspose OCR +url: /es/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# reconocer texto de imagen – Tutorial completo de Aspose OCR en C# + +¿Alguna vez necesitaste **reconocer texto de imagen** pero no estabas seguro de qué biblioteca te daría resultados fiables? No estás solo. Ya sea que estés tratando con facturas escaneadas, archivos DJVU históricos o una simple captura PNG, extraer los caracteres exactos puede sentirse como descifrar un manuscrito antiguo. + +La cuestión es que Aspose OCR hace que todo el proceso sea pan comido. En esta guía recorreremos cómo **convertir djvu a texto**, **extraer texto de imagen** y **cargar imagen para OCR** usando un conciso programa en C#. Al final tendrás una aplicación de consola ejecutable que imprime la cadena reconocida en la consola, y comprenderás el “porqué” de cada línea. + +## What You’ll Learn + +- Cómo configurar el motor Aspose OCR en un proyecto .NET. +- El código exacto necesario para **cargar imagen para OCR** desde un archivo DJVU. +- Por qué debes llamar a `Recognize()` antes de leer `Text`. +- Trampas comunes (DJVU de varias páginas, formatos no compatibles) y cómo evitarlas. +- Formas rápidas de **convertir djvu a texto** para procesamiento por lotes. + +Todo lo que necesitas es un SDK .NET reciente (≥ 6.0) y una licencia Aspose OCR (la prueba gratuita funciona para pruebas). Sin servicios externos, sin llamadas REST—solo puro C#. + +## Prerequisites + +| Requirement | Reason | +|-------------|--------| +| .NET 6 SDK or later | Modern language features and better performance. | +| Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) | Provides the `OcrEngine` class we’ll use. | +| A DJVU file (e.g., `sample.djvu`) | Demonstrates **convert djvu to text**. | +| Basic familiarity with C# console apps | Makes the steps flow naturally. | + +If any of these are missing, pause and install them now; otherwise the code won’t compile. + +## Step 1 – Install Aspose.OCR and Create the Project + +First, spin up a new console project and pull in the OCR library. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro tip:* Use the `--framework net6.0` flag if you want to lock the target framework explicitly. + +## Step 2 – Initialize the OCR Engine and Load the DJVU Image + +The engine needs an image source. Aspose.OCR can read many formats, including DJVU, so we simply point it at the file path. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Why this matters:** +- `OcrEngine` is the entry point; creating it once and re‑using it reduces memory churn. +- `ImageStream.FromFile` abstracts away the file format, so you can later replace the DJVU file with a PNG or TIFF without changing any other code—perfect for “how to extract text from image” in different scenarios. + +## Step 3 – Run the Recognition Process + +Calling `Recognize()` triggers the heavy lifting. Under the hood Aspose runs a neural‑network‑based classifier that works on both printed and handwritten text. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Edge case note:* If your DJVU contains multiple pages, `ImageStream.FromFile` still loads only the first page. To process all pages you’d need to loop over `ImageStream.FromFile(...).Pages`. For most quick‑look tasks, the first page is enough. + +## Step 4 – Retrieve and Display the Recognized Text + +After recognition, the engine populates the `Text` property with a plain‑text string. You can now write it to the console, a file, or feed it into another system. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typical output looks like: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +If the output is garbled, double‑check that the source image isn’t low‑resolution; Aspose recommends 300 dpi or higher for best accuracy. + +## Full Working Example + +Putting it all together, here’s a single file (`Program.cs`) you can paste into the project created earlier. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Run it with: + +```bash +dotnet run +``` + +You should see the extracted string printed to the terminal. This is the simplest way to **recognize text from image** using Aspose OCR. + +## Step 5 – Advanced: Converting Multiple DJVU Pages to Text Files + +If you need to **convert djvu to text** in bulk, extend the previous code with a loop: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Why this works:* `GetPage(i)` returns an `Image` object for the requested page, letting you reuse the same `OcrEngine` instance. Each page’s text lands in its own `.txt` file, giving you a clean **convert djvu to text** pipeline. + +## Common Questions & Gotchas + +- **Can I extract text from a JPEG instead of DJVU?** + Absolutely. Just change the file extension in `FromFile`. The same code **how to extract text from image** applies because Aspose abstracts the format. + +- **What if the OCR result contains extra line breaks?** + Use `String.Replace("\r\n", " ")` or a regular expression to normalize whitespace. + +- **Do I need a license for production use?** + The free trial works for up to 100 pages. For unlimited usage, purchase a license and call `License license = new License(); license.SetLicense("Aspose.OCR.lic");` before creating the engine. + +- **Is the engine thread‑safe?** + No. Create a separate `OcrEngine` per thread or protect access with a lock. + +## Tips for Better Accuracy + +1. **Increase DPI** – If you control the source conversion, output images at 300 dpi or higher. +2. **Pre‑process the image** – Simple binarization (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) can improve results on noisy scans. +3. **Specify language** – `ocrEngine.Language = Language.English;` narrows the character set and speeds up recognition. + +## Conclusion + +You now have a complete, ready‑to‑run example that **recognize text from image** using Aspose OCR, and you’ve seen how to **convert djvu to text**, **how to extract text from image**, and the proper way to **load image for OCR**. The code is self‑contained, works on any .NET 6+ runtime, and can be expanded to batch‑process multi‑page DJVU documents. + +Next, you might explore: + +- Adding **language detection** for multilingual DJVU files. +- Integrating the OCR output with a search index (e.g., Elasticsearch). +- Using Aspose’s PDF conversion to turn the extracted text into searchable PDFs. + +Give it a try, tweak the DPI, experiment with different image formats, and let the OCR engine do the heavy lifting for you. Happy coding! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/ocr-configuration/_index.md b/ocr/swedish/net/ocr-configuration/_index.md index 7431b04a2..0093efb18 100644 --- a/ocr/swedish/net/ocr-configuration/_index.md +++ b/ocr/swedish/net/ocr-configuration/_index.md @@ -61,6 +61,7 @@ Lås upp kraften i OCR‑bildigenkänning i .NET med Aspose.OCR. Extrahera text Lås upp kraftfulla OCR‑funktioner med Aspose.OCR för .NET. Extrahera text från bilder sömlöst. ### [OCROoperation med lista i OCR-bildigenkänning](./ocr-operation-with-list/) Lås upp potentialen i Aspose.OCR för .NET. Utför OCR‑bildigenkänning med listor utan ansträngning. Öka produktivitet och datautdragning i dina applikationer. +### [Läs text från PNG – extrahera kyrillisk text med Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) ### Vanliga användningsfall - **Extrahera textbilder** från skannade fakturor för automatiserad bokföring. @@ -99,4 +100,4 @@ A: Ja, `OcrResult`‑objektet ger förtroendevärden som du kan inspektera progr {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/swedish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..c68434d4b --- /dev/null +++ b/ocr/swedish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-03-07 +description: Lär dig hur du läser text från PNG och extraherar kyrillisk text med + Aspose OCR, konverterar bilden till text och laddar ner det kyrilliska språkpaketet. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: sv +og_description: Lär dig hur du läser text från png, extraherar kyrillisk text och + konverterar bild till text med Aspose OCR i C#. +og_title: läsa text från png – extrahera kyrillisk text med Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Läsa text från PNG – extrahera kyrillisk text med Aspose OCR +url: /sv/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# läs text från png – extrahera kyrillisk text med Aspose OCR + +Behöver du **läsa text från png**‑filer och hämta ut kyrilliska tecken? I den här guiden visar vi hur du läser text från png med Aspose OCR, extraherar kyrillisk text och **konverterar bild till text** med bara några rader C#. + +Om du någonsin har stirrat på en skärmdump av en rysk faktura och undrat hur du får orden till en sökbar sträng, så har du kommit rätt. Vi går också igenom hur du **laddar ner det kyrilliska språkpaketet** automatiskt, så att du slipper leta efter extra filer. + +## Vad du kommer att uppnå + +När du är klar med den här tutorialen kan du: + +* **Ladda en bild för OCR** direkt från disk eller en ström. +* Ställa in motorn på **kyrilliskt språk** utan manuella nedladdningar. +* Köra igenkänning och **extrahera kyrillisk text** från en PNG‑fil. +* Se den igenkända texten skriven till konsolen – ett rent, rentextresultat som du kan mata in i databaser, sökindex eller någon annan arbetsflöde. + +Ingen extern tjänst, inga molnnycklar, bara Aspose OCR‑NuGet‑paketet och några rader C#. + +## Förutsättningar + +* .NET 6.0 eller senare (koden fungerar på .NET Core, .NET Framework och .NET 5+). +* Visual Studio 2022 eller någon annan editor du föredrar. +* Aspose.OCR‑NuGet‑paketet (`dotnet add package Aspose.OCR`). +* En PNG‑bild som innehåller kyrilliska tecken – till exempel `cyrillic_sample.png` placerad i en mapp som heter `YOUR_DIRECTORY`. + +> **Proffstips:** Om du använder Visual Studio, högerklicka på projektet → **Manage NuGet Packages** → sök “Aspose.OCR” och installera den senaste stabila versionen. + +--- + +## Steg 1 – Installera Aspose OCR och skapa motorn + +Först behöver vi en OCR‑motorsinstans. Klassen `OcrEngine` är ingångspunkten för alla operationer. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Varför detta är viktigt:** Motorn kapslar in språkpaket, bilddata och igenkänningsalternativ. Att instansiera den en gång och återanvända den för flera bilder kan förbättra prestandan. + +--- + +## Steg 2 – **ladda bild för ocr** och ange språket + +Nu talar vi om för motorn vilken bild som ska bearbetas och vilket språk som ska sökas efter. Att sätta `Language.Cyrillic` laddar automatiskt ner det behövliga språkpaketet första gången den körs. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Edge case:** Om din PNG är stor (över 5 MB) kan du vilja ändra storlek på den först för att snabba upp igenkänningen. `Image`‑egenskapen accepterar också en `Stream`, så du kan ladda från minne, en webb‑request eller en Azure‑Blob utan att röra filsystemet. + +--- + +## Steg 3 – **konvertera bild till text** med ett enda anrop + +Igenkänning är så enkelt som att anropa `Recognize()`. Efter detta anrop innehåller `Text`‑egenskapen den extraherade strängen. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Vad händer under huven?** Aspose kör en neuronnäts‑baserad klassificerare tränad på miljontals kyrilliska tecken. Biblioteket abstraherar all den komplexiteten, så du får bara ren Unicode. + +--- + +## Steg 4 – Skriv ut resultatet (eller skicka det vidare) + +För demonstrationsändamål skriver vi ut texten till konsolen, men du kan lika lätt skriva den till en fil, en databas eller skicka den till ett sökindex. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Förväntad output** (förutsatt att `cyrillic_sample.png` innehåller frasen “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Om utskriften ser förvrängd ut, dubbelkolla att bilden är tydlig och att du har satt `Language.Cyrillic`. Motorn använder som standard engelska, vilket skulle behandla kyrilliska tecken som okända symboler. + +--- + +## Steg 5 – Fullt körbart exempel + +Sätter vi ihop allt får du ett självständigt program som du kan kopiera‑klistra in i ett nytt konsolprojekt. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Spara filen som `Program.cs`, kör `dotnet run`, så bör du se den kyrilliska texten skrivas ut. + +--- + +## Vanliga frågor & felsökning + +| Fråga | Svar | +|----------|--------| +| **Vad händer om språkpaketet inte laddas ner?** | Säkerställ att maskinen har internetåtkomst. Paketet cachas i `%USERPROFILE%\.Aspose\OCR\Languages`. Att radera den mappen tvingar en ny nedladdning. | +| **Kan jag läsa andra språk än kyrilliska?** | Absolut – ersätt `Language.Cyrillic` med `Language.English`, `Language.Arabic` osv. Samma automat‑nedladdningslogik gäller. | +| **Min PNG är brusig – resultatet är dåligt. Vad kan jag göra?** | Förbehandla bilden: öka kontrast, konvertera till gråskala eller applicera ett medianfilter. Aspose OCR erbjuder också `Settings.ImagePreprocess`‑alternativ. | +| **Finns det ett sätt att få bounding‑boxar för varje ord?** | Ja, efter `Recognize()` kan du inspektera `ocrEngine.Regions` som returnerar rektanglar för varje upptäckt ord. | +| **Behöver jag en licens för produktionsbruk?** | Den fria utvärderingen fungerar för upp till 100 sidor. För kommersiella projekt köper du en licens – den tar bort vattenstämpeln och låser upp högpresterande batch‑bearbetning. | + +--- + +## Nästa steg – utöka lösningen + +* **Batch‑bearbetning:** Loopa igenom en mapp med PNG‑filer, samla alla texter i en CSV‑fil. +* **Integration med Azure Cognitive Search:** Indexera de extraherade kyrilliska strängarna för snabb uppslagning. +* **Kombinera med PDF‑konvertering:** Använd Aspose.PDF för att först konvertera skannade PDF‑filer till PNG, och kör sedan samma OCR‑flöde. + +Alla dessa scenarier återanvänder det grundmönster vi just gått igenom: **ladda bild för OCR → ange språk → igenkänn → använd texten**. + +--- + +## Slutsats + +Du vet nu hur du **läser text från png**, **extraherar kyrillisk text** och **konverterar bild till text** med Aspose OCR i C#. Nyckelstegen är att skapa motorn, ladda bilden, välja rätt språk (vilket automatiskt **laddar ner det kyrilliska språkpaketet**), och slutligen anropa `Recognize()`. + +Prova med olika bilder, experimentera med `Settings`‑alternativen, och se dina applikationer bli sökbara, flerspråkiga och mycket smartare. + +Lycka till med kodandet, och lämna gärna en kommentar om du stöter på problem! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/ocr-optimization/_index.md b/ocr/swedish/net/ocr-optimization/_index.md index c5eb6aaed..27fb77b51 100644 --- a/ocr/swedish/net/ocr-optimization/_index.md +++ b/ocr/swedish/net/ocr-optimization/_index.md @@ -74,6 +74,12 @@ Utforska Aspose.OCR för .NET. Öka OCR‑noggrannheten med förbehandlingsfilte Förbättra OCR‑noggrannheten med Aspose.OCR för .NET. Korrigera stavningar, anpassa ordböcker och uppnå felfri textigenkänning utan ansträngning. ### [Spara flersidigt resultat som dokument i OCR Image Recognition](./save-multipage-result-as-document/) Lås upp potentialen i Aspose.OCR för .NET. Spara enkelt flersidiga OCR‑resultat som dokument med denna omfattande steg‑för‑steg‑guide. +### [Hur du räta upp en bild och kör OCR i C# – Komplett guide](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Lär dig steg‑för‑steg hur du använder Aspose.OCR för att räta upp bilder och utföra OCR i C# för bästa noggrannhet. +### [Aspose OCR‑exempel – Aktivera stavningskontroll och rätta fel i C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Lär dig hur du aktiverar stavningskontroll i Aspose.OCR för C# och automatiskt korrigerar igenkända fel för bättre OCR‑noggrannhet. +### [Hur du utför OCR på kinesiska bilder – Komplett C#‑guide](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Lär dig steg‑för‑steg hur du använder Aspose.OCR för att känna igen kinesisk text i bilder med C#. ## Vanliga frågor diff --git a/ocr/swedish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/swedish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..e377ec668 --- /dev/null +++ b/ocr/swedish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR‑exempel som visar hur man aktiverar stavningskontroll, lägger + till en anpassad ordlista, laddar bild‑OCR och snabbt rättar OCR‑fel. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: sv +og_description: Aspose OCR‑exempel som guidar dig genom att aktivera stavningskontroll, + lägga till en anpassad ordlista, ladda en bild för OCR och åtgärda vanliga OCR‑fel. +og_title: Aspose OCR-exempel – Aktivera stavningskontroll och rätta fel +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR-exempel – Aktivera stavningskontroll och rätta fel i C# +url: /sv/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR-exempel – Aktivera stavningskontroll och rätta fel i C# + +Har du någonsin behövt ett **Aspose OCR example** som inte bara läser text från en bild utan också rensar bort de irriterande stavningsfelen? Du är inte ensam. I många verkliga projekt är den råa OCR‑utdata full av stavfel, särskilt när källbilden innehåller lågkontrastteckensnitt eller handskrivna anteckningar. + +De goda nyheterna? Med Aspose.OCR kan du **enable spellcheck**, ansluta ditt eget lexikon och få en polerad sträng på bara några kodrader. Nedan ser du exakt **how to enable spellcheck**, **how to add a dictionary**, och **how to load image OCR** så att du äntligen kan **fix OCR errors** utan att rycka ur håret. + +I den här handledningen täcker vi allt du behöver – från NuGet‑installation till ett komplett, körbart program som skriver ut korrigerad text. I slutet har du ett gediget **Aspose OCR example** som du kan klistra in direkt i vilket .NET‑projekt som helst. + +## Förutsättningar + +- .NET 6.0 SDK eller senare (koden fungerar även med .NET Core och .NET Framework) +- Visual Studio 2022 eller någon C#‑kompatibel IDE +- En bildfil (`typed_text.png`) som innehåller tydlig, maskinskriven engelsk text +- Internetåtkomst för att hämta Aspose.OCR NuGet‑paketet + +Inga andra tredjepartsbibliotek krävs. + +--- + +## Steg 1 – Installera Aspose.OCR NuGet‑paketet (Load Image OCR) + +Innan vi kan skriva någon kod behöver vi biblioteket som driver OCR‑motorn. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Om du använder Visual Studio, högerklicka på projektet → *Manage NuGet Packages* → sök efter **Aspose.OCR** och klicka på *Install*. + +Att installera paketet ger dig tillgång till `OcrEngine`, `ImageStream` och de inbyggda stavningskontrollverktygen som vi kommer att använda senare. När paketet är på plats är du redo att **load image OCR**. + +## Steg 2 – Skapa OCR‑motorinstansen + +Att skapa motorn är det första konkreta steget i varje **Aspose OCR example**. Tänk på `OcrEngine` som hjärnan som analyserar bitmapen och spottar ut text. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +`OcrEngine`‑konstruktorn kräver inga parametrar, vilket gör den enkel och prydlig för snabba prototyper. + +## Steg 3 – Hur man aktiverar stavningskontroll (och varför det är viktigt) + +Rå OCR‑utdata innehåller ofta felaktigt igenkända ord som “teh” istället för “the”. Att aktivera den inbyggda stavningskontrollen låter Aspose automatiskt ersätta dessa fel med den mest sannolika korrekta stavningen. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Varför aktivera stavningskontroll?** +> - **Noggrannhet:** En efterbearbetnings‑stavningskontroll kan öka den totala textnoggrannheten med 10‑15 % för tryckta dokument. +> - **Användarupplevelse:** Ren text betyder mindre efterföljande rengöring när du matar resultatet i sökindex eller analys‑pipeline. + +## Steg 4 – Hur man lägger till ett lexikon (anpassade ord) + +Ibland känner inte standardlexikonet till dina varumärkesnamn, produktkoder eller domänspecifika facktermer. Det är då **how to add dictionary** blir relevant. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Du kan mata in en array, en lista eller till och med läsa från en fil om du har ett stort anpassat ordförråd. Stavningskontrollen kommer nu att behandla dessa poster som giltiga, vilket förhindrar felaktiga korrigeringar. + +## Steg 5 – Ladda bilden för OCR (Load Image OCR) + +Nu när motorn är konfigurerad måste vi peka den på bilden vi vill läsa. Hjälpmetoden `ImageStream.FromFile` abstraherar bort fil‑läsningsdetaljerna. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Tips:** Om din bild finns i en undermapp i projektet, ställ in dess *Copy to Output Directory*-egenskap till *Copy always* så att sökvägen löses upp vid körning. + +## Steg 6 – Utför igenkänning och rätta OCR‑fel + +När allt är inställt kör ett enda anrop till `Recognize()` OCR‑pipeline, tillämpar stavningskontroll och lagrar det rensade resultatet i `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Förväntad utdata + +Om vi antar att `typed_text.png` innehåller meningen `The quick brown fox jumps over teh lazy dog`, kommer konsolen att visa: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Observera hur “teh” automatiskt korrigerades till “the”. Om du hade lagt till “OCRify” i det anpassade lexikonet och bilden innehöll det ordet, skulle motorn låta det vara oförändrat. + +--- + +## Fullt fungerande exempel (Klar att kopiera‑klistra in) + +Nedan är det kompletta programmet som du kan klistra in i ett nytt konsolprojekt. Det innehåller alla stegen ovan, samt några kommentarer för tydlighet. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Spara detta som `Program.cs`, kör `dotnet run`, så bör du se den korrigerade meningen skriven i konsolen. + +--- + +## Vanliga frågor & specialfall + +| Question | Answer | +|----------|--------| +| **Vad händer om bilden är en flersidig PDF?** | Aspose.OCR kan hantera PDF‑sidor som bilder. Använd `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` och loopa igenom sidorna. | +| **Kan jag byta språk till något annat än engelska?** | Absolut. Ställ in `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (eller vilket stödjande språk som helst). | +| **Mitt anpassade lexikon är enormt—kommer det att påverka prestandan?** | Att lägga till tusentals ord medför en liten initial kostnad, men uppslagning är O(1) tack vare en hash‑set under huven. För enorma ordförråd, överväg att ladda dem en gång vid applikationens start. | +| **Vad händer om OCR‑motorn kastar ett undantag på en korrupt bild?** | Omslut `Recognize()` i ett try‑catch‑block och inspektera `ocrEngine.LastError`. Du kan också förvalidera bildens dimensioner med `ocrEngine.Image.Width` och `Height`. | +| **Behöver jag en licens för produktionsanvändning?** | Den fria utvärderingen fungerar för testning, men en kommersiell licens tar bort vattenstämpeln för utvärdering och låser upp full prestanda. | + +## Slutsats + +Du har nu ett **complete Aspose OCR example** som demonstrerar **how to enable spellcheck**, **how to add a dictionary**, **load image OCR**, och **how to fix OCR errors** på ett rent, produktionsklart sätt. Genom att konfigurera stavningskontrollen och mata in en anpassad ordlista förbättrar du avsevärt kvaliteten på den extraherade texten utan att själv skriva någon efterbearbetningslogik. + +Redo för nästa steg? Prova att byta språk till spanska, mata in en flersidig PDF, eller integrera resultatet i ett sökbart Azure Cognitive Search‑index. Samma mönster gäller – justera bara språkflaggan och eventuellt expandera det anpassade lexikonet. + +Om du fann den här guiden hjälpsam, ge den en stjärna på GitHub, dela den med kollegor, eller lämna en kommentar nedan. Lycka till med kodandet, och må dina OCR‑resultat alltid vara felfria! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/swedish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..84b07d3d4 --- /dev/null +++ b/ocr/swedish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-03-07 +description: Lär dig hur du räta upp en bild, ökar kontrasten och extraherar text + från en skanning med Aspose OCR. Utför OCR på en bild med ett komplett C#‑exempel + och ladda enkelt bilden för OCR. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: sv +og_description: Lär dig hur du räta upp en bild, ökar kontrasten och extraherar text + från en skanning med Aspose OCR i C#. Utför OCR på en bild med steg‑för‑steg‑kod. +og_title: Hur man räta upp bild och kör OCR i C# – Komplett guide +tags: +- C# +- OCR +- Image Processing +title: Hur man räta upp bild och kör OCR i C# – Komplett guide +url: /sv/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Så här räta upp bild och kör OCR i C# – Komplett guide + +Om du någonsin har funderat på **how to deskew image** innan du kör OCR, så är du på rätt plats. I den här handledningen går vi igenom hur du ökar kontrasten, laddar en bild för OCR och slutligen **extract text from scan** med Aspose OCR. + +Oavsett om du digitaliserar gamla kvitton, rensar upp skannade kontrakt eller bara behöver ett pålitligt sätt att läsa text från ett snett foto, så täcker stegen nedan allt du behöver. Inga onödigheter—bara ett fungerande exempel som du kan kopiera‑klistra in i Visual Studio. + +## Vad du kommer att uppnå + +* Korrigera snedvridning upp till 30° (det är **how to deskew image**‑delen). +* Öka bildkontrast för skarpare teckenkanter (**how to boost contrast**). +* Ladda din bild i OCR‑motorn (**load image for OCR**). +* Kör igenkänningsprocessen och **extract text from scan**. + +Allt detta fungerar med det senaste Aspose.OCR .NET NuGet‑paketet (v23.11 vid tidpunkten för skrivandet). + +--- + +![Exempel på hur man räter upp bild](/images/deskew-example.png "hur man räter upp bild") + +*Bilden ovan visar ett skannat dokument före och efter räta upp.* + +## Förutsättningar + +* .NET 6.0 eller senare (koden fungerar också på .NET Framework 4.7+). +* Visual Studio 2022 (eller någon C#‑IDE du föredrar). +* Aspose.OCR NuGet‑paket – installera via `dotnet add package Aspose.OCR`. + +Det är allt. Inga externa tjänster, inga API‑nycklar. + +--- + +## Så här räter du upp en bild med Aspose OCR + +Det första vi gör är att skapa en **ImageProcessingPipeline** och lägga till ett `DeskewFilter`. Filtret upptäcker automatiskt den dominerande textlinjens vinkel och roterar bilden tillbaka till horisontell. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Varför detta är viktigt:** +En sned skanning förvirrar OCR‑motorn eftersom tecknen inte längre är i linje med baslinjen. `DeskewFilter` analyserar bildens histogram, hittar vinkeln och roterar den, vilket dramatiskt förbättrar igenkänningsnoggrannheten. + +> **Proffstips:** Om du vet att dina dokument aldrig överstiger en lutning på 15°, sätt `MaxAngle = 15` för att snabba upp bearbetningen. + +--- + +## Så här ökar du kontrasten för bättre igenkänning + +Efter räta upp är nästa steg att få texten att sticka ut. `ContrastBoostFilter` sträcker pixelintensitetsområdet, vilket är särskilt hjälpsamt för blekta utskrifter. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Varför det hjälper:** +Lågkontrastskanningar ger gråaktiga tecken som binariseringen kan tolka som bakgrund. Att öka kontrasten gör mörka pixlar mörkare och ljusa pixlar ljusare, vilket ger den efterföljande `BinarizationFilter` en renare yta. + +--- + +## Utför OCR på bild – Ladda filen + +Nu när bilden är förbehandlad måste vi **load image for OCR**. Aspose erbjuder en bekväm `ImageStream.FromFile`‑hjälpmetod. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Om din bild finns i en ström (t.ex. uppladdad via ett webb‑API) kan du istället använda `ImageStream.FromStream(yourStream)`. Motorn accepterar BMP, JPEG, PNG, TIFF och många fler. + +--- + +## Kör igenkänningsprocessen och extrahera text från skanning + +När allt är kopplat, utför anropet `Recognize()` det tunga arbetet. Efter anropet är den igenkända texten tillgänglig via `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Förväntad output** (exempel för en enkel faktura): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Om resultatet ser förvrängt ut, dubbelkolla pipeline‑ordningen—räta upp först, sedan brusreducering, kontrastökning och slutligen binarisering. Att byta ordning kan försämra resultaten. + +--- + +## Vanliga fallgropar och kantfall + +| Problem | Varför det händer | Lösning | +|-------|----------------|-----| +| **Tomt resultat** | Bilden är för mörk eller för ljus för standardmetoden för binarisering. | Öka `ContrastBoostFilter.Strength` eller byt till `BinarizationMethod.Otsu`. | +| **Delvis text saknas** | Brus kvarstår efter brusreducering. | Använd `DenoiseLevel.Medium` för mildare bilder, eller lägg till ett andra `DenoiseFilter`. | +| **Fel rotationsriktning** | Dokumentet har blandad orientering (t.ex. ett foto av en roterad sida). | Ställ manuellt `DeskewFilter.MaxAngle` lägre och förrotera bilden med `ImageProcessor.Rotate`. | +| **Prestandaavmattning** | Stort parti av högupplösta bilder. | Skala ner bilder (`ImageProcessor.Resize`) före pipeline, eller bearbeta parallellt (`Parallel.ForEach`). | + +--- + +## Fullt fungerande exempel (Klar att kopiera‑klistra in) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Spara detta som `Program.cs`, kör `dotnet run` och se konsolen skriva ut resultatet för **extract text from scan**. + +--- + +## Nästa steg & relaterade ämnen + +* **Batch processing** – Packa in ovanstående logik i en loop för att hantera dussintals filer. +* **Custom language packs** – Om du behöver läsa icke‑latinska skript, ladda en språkmodell via `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF output** – Kombinera Aspose.PDF med OCR för att bädda in sökbar text direkt i en PDF‑fil. +* **Performance tuning** – Experimentera med ordningen i `ImageProcessingPipeline`; ibland ger brusreducering före räta upp snabbare resultat på brusiga foton. + +Alla dessa bygger på de grundläggande koncept vi täckte: **how to deskew image**, **how to boost contrast**, **load image for OCR**, **perform OCR on image**, och slutligen **extract text from scan**. + +--- + +## Sammanfattning + +Vi har just demonstrerat ett komplett, produktionsklart sätt att **how to deskew image** och köra OCR i C#. Genom att kedja ett deskew‑filter, ett brusreduceringssteg, en kontrastökning och en binarisering får du en ren inmatning som låter Aspose OCR på ett pålitligt sätt **extract text from scan**. + +Kör koden, justera filterparametrarna för dina egna dokument, så kommer du snabbt se hur igenkänningsnoggrannheten förbättras. Har du frågor? Lämna en kommentar, och lycka till med kodandet! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/swedish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..3d50be504 --- /dev/null +++ b/ocr/swedish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-03-07 +description: Hur man utför OCR på kinesiska bilder med Aspose OCR. Lär dig att extrahera + kinesisk text, konvertera bilden till ePub och förbättra OCR‑noggrannheten i en + tutorial. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: sv +og_description: Hur man utför OCR på kinesiska bilder med Aspose OCR. Få steg‑för‑steg‑kod + för att extrahera kinesisk text, förbättra OCR och exportera till ePub. +og_title: Hur man utför OCR på kinesiska bilder – Komplett C#‑guide +tags: +- OCR +- C# +- Aspose +title: Hur man utför OCR på kinesiska bilder – Komplett C#‑guide +url: /sv/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Så utför du OCR på kinesiska bilder – Komplett C#‑guide + +Har du någonsin undrat **hur man utför OCR** på en bild som innehåller kinesiska tecken? Du är inte ensam. I många appar—skanna kvitton, digitalisera läroböcker eller bygga en flerspråkig sökmotor—är det att få ren text från en bild en avgörande funktion. + +I den här handledningen går vi igenom en verklig lösning som **extraherar kinesisk text**, sparar resultatet i en ren‑text‑fil och till och med **konverterar bilden till en ePub** för e‑läsare. På vägen diskuterar vi **hur man förbättrar OCR‑noggrannheten**, varför du bör aktivera GPU‑läge och vad du behöver göra för att **känna igen förenklad kinesiska** korrekt. + +När du är klar har du ett fullt körbart C#‑program, ett antal praktiska tips och en klar bild av nästa steg du kan ta (som att lägga till språkdetection eller batch‑bearbetning). Inga externa dokument behövs—allt du behöver finns här. + +## Vad du behöver + +- .NET 6+ (eller .NET Core 3.1 med Aspose OCR for .NET) +- En giltig Aspose OCR for .NET‑licens (gratis provversion fungerar för experiment) +- En bildfil som innehåller förenklade kinesiska tecken (t.ex. `chinese_sample.jpg`) +- Visual Studio 2022 eller någon annan C#‑redigerare du föredrar + +Om du saknar någon av dessa, hämta NuGet‑paketet nu: + +```bash +dotnet add package Aspose.OCR +``` + +Det är allt—inga extra native‑bibliotek, ingen COM‑interop, bara ett enda .NET‑paket. + +## Så utför du OCR – Konfigurera Aspose OCR‑motorn + +Det första du måste göra är att skapa och konfigurera OCR‑motorn. Detta steg är kritiskt eftersom motorns inställningar bestämmer **hur bra OCR fungerar** på kinesiska tecken och hur snabbt den körs. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Varför detta är viktigt:** +- **Language = ChineseSimplified** talar om för Aspose att ladda teckenuppsättningen för förenklad kinesiska, vilket dramatiskt minskar felaktiga igenkännanden. +- **EngineMode.Gpu** kan halvera behandlingstiden på ett modernt GPU, men faller elegant tillbaka till CPU om inget GPU finns. +- **DeskewFilter** tar bort eventuell lutning som ofta uppstår när användare tar ett foto med en telefon. +- **Sauvola binarization** skapar en högkontrast svart‑vit bild, ett klassiskt knep för att öka OCR‑noggrannheten på täta skript som kinesiska. + +> **Pro tip:** Om du arbetar med bilder i svagt ljus, lägg till ett `ContrastFilter` före binarisering. Det är inte nödvändigt för vårt exempel, men det sparar ofta en del huvudvärk. + +![Diagram över OCR-pipelinen](ocr-pipeline.png "Diagram över OCR-pipelinen") + +> *Alt‑text:* Diagram över OCR-pipelinen + +## Extrahera kinesisk text från en bild + +Nu när motorn är klar laddar vi bilden och låter motorn göra sin magi. Detta är kärnan i **extract chinese text**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Vad du bör se:** +Om `chinese_sample.jpg` innehåller frasen “中华人民共和国”, kommer filen `out.txt` att innehålla exakt de tecknen—inga extra mellanslag, inga förvrängda latinska bokstäver. + +### Vanliga fallgropar + +| Problem | Varför det händer | Lösning | +|-------|----------------|-----| +| Missing characters | The image is too noisy | Add a `MedianFilter` before binarization | +| Wrong language detected | `Language` set to `English` | Ensure `Language = Language.ChineseSimplified` | +| Slow processing | GPU not enabled | Verify your machine has a compatible CUDA driver | + +## Konvertera bild till ePub + +Många utvecklare frågar, *“Kan jag göra den skannade sidan till en läsbar e‑bok?”* Absolut—Aspose OCR levereras med en ePub‑exportör. Detta uppfyller kravet **convert image to epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Den genererade `out.epub` kommer att innehålla den extraherade kinesiska texten, korrekt kodad i UTF‑8, och kan öppnas i Kindle, Apple Books eller någon annan ePub‑läsare. + +**Varför använda ePub?** +- Den är flödesanpassad, så läsare kan justera teckenstorlek utan att layouten bryts. +- Formatet håller texten sökbar, vilket är praktiskt för senare indexering. + +## Så förbättrar du OCR – Praktiska justeringar + +Även med en solid pipeline kan du fortfarande se enstaka feligenkännanden. Här är en snabb checklista för **how to improve OCR** på kinesiska dokument: + +1. **Förprocessa bilden** – Använd `GaussianBlurFilter` för att jämna ut prickar, sedan `ContrastFilter` för att skärpa kanter. +2. **Ange högre DPI** – Om du styr skanningsprocessen, sikta på 300 dpi eller högre; lågupplösta bilder förlorar streckdetaljer. +3. **Aktivera språkdetection** – Aspose kan automatiskt upptäcka språk; kombinera med en fallback till förenklad kinesiska om det misslyckas. +4. **Finjustera binarisering** – Byt `Sauvola` mot `Otsu` om bakgrunden är jämnt ljus. +5. **Batch‑bearbetning** – Processa flera sidor parallellt med `Parallel.ForEach` för att utnyttja fler‑kärniga CPU:er. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Känna igen förenklad kinesiska – Kantfall + +Uttrycket **recognize simplified Chinese** får ofta nybörjare att snubbla eftersom samma OCR‑motor också kan hantera traditionell kinesiska, japanska eller koreanska. För att hålla saker deterministiska: + +- **Ställ explicit in språket** (som vi gjorde i steg 1). +- **Undvik blandade språk‑sidor**; om en sida blandar förenklad kinesiska med engelska, överväg två genomgångar: en med `Language.ChineseSimplified`, en annan med `Language.English`. +- **Validera resultatet** – Efter igenkänning, kör ett enkelt regex för att säkerställa att alla tecken ligger inom Unicode‑intervallet `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Om kontrollen misslyckas kan du logga sidan för manuell granskning. + +## Fullt fungerande exempel + +Genom att sätta ihop allt får du en enda fil som du kan kopiera‑klistra in i ett nytt konsolprojekt (`Program.cs`). Den innehåller alla steg, valfria justeringar och en slutlig statusrad. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Förväntad konsolutskrift (exempel):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Kör programmet, öppna `out.txt` eller `out.epub`, så ser du ren, sökbar kinesisk text redo för vidare bearbetning. + +## Slutsats + +Vi har just gått igenom **how to perform OCR** på kinesiska bilder från början till slut, visat dig hur du **extract Chinese text**, **convert the result to an ePub**, och tillämpat en handfull + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/text-recognition/_index.md b/ocr/swedish/net/text-recognition/_index.md index fbefcc10b..26497906c 100644 --- a/ocr/swedish/net/text-recognition/_index.md +++ b/ocr/swedish/net/text-recognition/_index.md @@ -11,7 +11,7 @@ url: /sv/net/text-recognition/ {{< blocks/products/pf/main-container >}} {{< blocks/products/pf/tutorial-page-section >}} -# Textigenkänning +# Textigennning ## Introduktion @@ -55,9 +55,19 @@ Förbättra dina .NET-applikationer med Aspose.OCR för effektiv bildtextigenkä Lås upp potentialen för OCR i .NET med Aspose.OCR. Extrahera text från PDF-filer utan ansträngning. Ladda ner nu för en sömlös integrationsupplevelse. ### [Identifiera tabell i OCR-bildigenkänning](./recognize-table/) Lås upp potentialen hos Aspose.OCR för .NET med vår omfattande guide om att känna igen tabeller i OCR-bildigenkänning. +### [Känn igen hindi-text i C# – Komplett Aspose OCR-guide](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Lär dig att känna igen hindi-text i C# med Aspose OCR i en komplett steg-för-steg-guide. +### [Känn igen text från bild i C# – Komplett Aspose OCR-guide](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Lär dig att känna igen text från bilder i C# med Aspose OCR i en komplett steg-för-steg-guide. +### [Hur du skapar ePub från bilder i C# – Steg-för-steg-guide](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Lär dig att skapa ePub-filer från bilder i C# med en detaljerad steg-för-steg-guide. +### [Extrahera text från PNG i C# – Fullständig OCR-guide](./extract-text-from-png-in-c-full-ocr-guide/) +Lär dig att extrahera text från PNG-bilder i C# med Aspose OCR i en komplett steg-för-steg-guide. +### [Hur man använder OCR i C# – Extrahera text från bilder offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Lär dig hur du offline extraherar text från bilder i C# med Aspose.OCR i en 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/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/swedish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..1a88b0559 --- /dev/null +++ b/ocr/swedish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,254 @@ +--- +category: general +date: 2026-03-07 +description: Extrahera text från PNG-filer med C#. Lär dig hur du konverterar bild + till text i C# och läser text från skannade bilder snabbt. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: sv +og_description: Extrahera text från PNG-filer med C#. Den här guiden visar hur du + konverterar bild till text i C# och läser text från skannade bilder med Aspose OCR. +og_title: Extrahera text från PNG i C# – Fullständig OCR‑guide +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Extrahera text från PNG i C# – Fullständig OCR-guide +url: /sv/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Extrahera text från PNG i C# – Fullständig OCR‑guide + +Har du någonsin behövt **extrahera text från PNG**‑filer men inte vetat var du ska börja? Du är inte ensam – de flesta utvecklare stöter på detta när de först möter skannade grafikfiler eller skärmdumpar som måste bli sökbar text. Den goda nyheten? Med några rader C# och Aspose OCR kan du förvandla vilken PNG som helst till redigerbara strängar på ett ögonblick. + +I den här handledningen går vi igenom hela processen: från att hitta PNG‑filer på disken, starta OCR‑uppgifter parallellt, till att visa en snygg förhandsgranskning av varje resultat. När du är klar vet du hur du **konverterar bild till text C#**‑stil, du kan **läsa text från skannade bilder** effektivt, och du ser det bästa sättet att **köra OCR på bilder** utan att blockera UI‑tråden. + +## Vad du behöver + +- .NET 6.0 eller senare (koden fungerar även på .NET Core och .NET Framework) +- Aspose.OCR NuGet‑paket (`Install-Package Aspose.OCR`) +- En mapp fylld med *.png*-filer du vill bearbeta +- Valfri IDE (Visual Studio, VS Code, Rider…) + +Ingen extra konfiguration krävs; biblioteket levereras med allt som behövs för att avkoda PNG, JPEG, TIFF, du namnger det. + +## Steg 1: Hitta alla PNG‑filer – “Extrahera text från PNG” börjar + +Först måste vi hitta varje PNG vi tänker köra OCR på. Att använda `Directory.GetFiles` är snabbt och pålitligt. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Varför detta är viktigt:* Att skanna katalogen en gång håller resten av pipeline‑flödet enkelt, och den tidiga kontrollen förhindrar en tyst “ingen‑output”-situation som kan vara svår att felsöka senare. + +## Steg 2: Starta parallella OCR‑uppgifter – Effektivt **köra OCR på bilder** + +Att köra OCR sekventiellt är okej för ett fåtal filer, men verkliga projekt hanterar ofta dussintals eller hundratals. Genom att starta en `Task` per bild håller vi CPU:n upptagen medan biblioteket gör det tunga arbetet. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Proffstips:* `Task.Run` avlastar arbetet till trådpoolen, vilket betyder att ditt UI (om du har ett) förblir responsivt. Om du kör på en server skalar samma mönster fint över kärnor. + +## Steg 3: Vänta på alla uppgifter – Samla resultaten + +Nu väntar vi på att varje OCR‑operation ska bli klar. `Task.WhenAll` returnerar en array som matchar den ursprungliga filordningen, vilket gör det enkelt att para ihop resultat med filnamn. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Obs om kantfall:* Om någon enskild bild kastar ett undantag (korrupt fil, format som inte stöds) kommer hela `WhenAll` bubbla upp undantaget. Du kan omsluta den inre `Task.Run` med try/catch och returnera en tom sträng eller ett diagnostiskt meddelande om du behöver feltolerans. + +## Steg 4: Visa en förhandsgranskning – Verifiera **konvertera bild till text C#**‑output + +En snabb förhandsgranskning hjälper dig bekräfta att OCR fungerade innan du börjar lagra data någon annanstans. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Typisk konsolutskrift ser ut så här: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Om förhandsgranskningen visar meningslöst skräp, dubbelkolla bildkvaliteten eller överväg förbehandling (t.ex. binarisering) – men för de flesta rena PNG‑filer får Aspose OCR rätt på första försöket. + +## Valfritt: Spara resultat till CSV – Ett verkligt användningsfall + +De flesta projekt behöver den extraherade texten i ett strukturerat format. Nedan är en liten hjälpfunktion som skriver filnamnet och hela OCR‑texten till en CSV‑fil. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Nu kan du importera CSV‑filen till Excel, Power BI eller något annat system som förväntar sig **läsa text från skannade bilder**. + +## Vanliga frågor + +**Vad händer om mina PNG‑filer är stora (över 5 MB)?** +Aspose OCR minskar automatiskt stora bilder för att hålla minnesanvändningen rimlig, men du kan manuellt ändra storlek med `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` för att begränsa bredden till 2000 px samtidigt som bildförhållandet bevaras. + +**Kan jag köra detta på Linux?** +Ja. Aspose OCR är plattformsoberoende; se bara till att de inhemska beroendena (`libgdiplus` på vissa distributioner) är installerade. + +**Är OCR‑språket inställt på engelska som standard?** +Korrekt. Om du behöver ett annat språk, sätt `engine.Language = OcrLanguage.French;` (eller någon annan stödjande enum) innan du anropar `Recognize()`. + +**Hur hanterar jag lösenordsskyddade PDF‑filer som innehåller PNG‑bilder?** +Konvertera PDF‑sidorna till bilder först (med Aspose PDF eller ett annat bibliotek), och mata sedan in dessa PNG‑filer i samma pipeline. Principen för **hur man kör OCR på bilder** förblir densamma. + +## Fullt fungerande exempel (Async Main) + +Nedan är ett självständigt program du kan kopiera och klistra in i ett konsolprojekt. Det innehåller alla delar ovan, plus en liten hjälpfunktion för att validera inmatningsmappen. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Förväntad utskrift** (exempel för två PNG‑filer): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Sammanfattning + +Vi har precis gått igenom allt du behöver för att **extrahera text från PNG**‑filer med C#. Från att hitta filerna, starta parallella OCR‑jobb, förhandsgranska strängarna, till att spara dem i en CSV – den här guiden ger dig ett produktionsklart mönster för **konvertera bild till text C#**‑scenarier. + +Om du är redo för nästa steg, prova att köra samma pipeline på JPEG‑ eller TIFF‑filer, experimentera med olika OCR‑språk, eller koppla resultaten till ett sökindex så att du kan **läsa text från skannade bilder** direkt. + +Har du frågor om kantfall, prestandaoptimering eller licensiering? Lämna en kommentar eller kontakta Aspose‑communityn – lycka till med kodningen! + +![Extrahera text från PNG-exempel](extract-text-png.png "Extrahera text från PNG med Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/swedish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..56980e443 --- /dev/null +++ b/ocr/swedish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Hur man skapar ePub från skannade bilder med Aspose OCR – lär dig konvertera + bild till ePub, extrahera text från bild, lägga till författare i ePub och ladda + bild för OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: sv +og_description: Hur du skapar ePub från skannade bilder i C#. Den här handledningen + visar hur du konverterar en bild till ePub, extraherar text från bilden, lägger + till författare i ePub och laddar bilden för OCR. +og_title: Hur man skapar ePub från bilder i C# – Komplett guide +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Hur man skapar ePub från bilder i C# – Steg‑för‑steg‑guide +url: /sv/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man skapar ePub från bilder i C# – Komplett guide + +Har du någonsin undrat **hur man skapar ePub** från en samling skannade sidor? Kanske har du ett gäng PNG-filer av en klassisk roman och du vill förvandla dem till en prydlig ePub som du kan läsa på vilken enhet som helst. Den goda nyheten är att med Aspose OCR kan du **ladda bild för OCR**, hämta texten och sedan **konvertera bild till ePub** på bara några rader C#. + +I den här handledningen går vi igenom hela pipeline: laddar bilden, extraherar texten, strör lite metadata (ja, vi kommer att **add author to epub**), och slutligen skriver en standard‑kompatibel ePub‑fil. När du är klar har du en klar‑för‑publicering ePub och en solid förståelse för varje steg, så att du kan anpassa koden för flersidiga böcker, anpassade typsnitt eller till och med DRM‑fri distribution. + +## Vad du behöver + +- **.NET 6** eller senare (API:et fungerar även med .NET Standard 2.0+) +- **Aspose.OCR for .NET** – du kan hämta en gratis provversion från Aspose webbplats. +- En skannad bild som `book_page.png` placerad någonstans på disken. +- En favorit‑IDE (Visual Studio, Rider eller VS Code – jag kommer att använda Visual Studio i skärmbilderna). + +Inga extra NuGet‑paket krävs; Aspose.OCR samlar allt du behöver för ePub‑export. + +--- + +![Hur man skapar ePub från skannad bild](/images/how-to-create-epub.png "Hur man skapar ePub från en skannad bild med Aspose OCR") + +## Steg 1 – Ställ in projektet och installera Aspose.OCR + +Först och främst. Skapa en ny konsolapp: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Lägg till Aspose.OCR‑paketet: + +```bash +dotnet add package Aspose.OCR +``` + +Det är allt – biblioteket levereras med både OCR‑ och ePub‑exportfunktioner, så du behöver inga extra beroenden. + +## Steg 2 – Ladda bild för OCR + +Innan vi kan **extrahera text från bild**, måste vi ge OCR‑motorn något att läsa. Hjälpmetoden `ImageStream.FromFile` gör detta enkelt: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro tip:** Om din bild finns i en inbäddad resurs, använd `ImageStream.FromResource` istället för `FromFile`. + +## Steg 3 – Extrahera text från bild + +Nu läser motorn faktiskt pixlarna och omvandlar dem till Unicode‑strängar. Metoden `Recognize` gör det tunga arbetet. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Varför anropa `Recognize` separat? Det låter dig inspektera den råa OCR‑utdata, justera språkinställningar eller till och med köra en stavningskontroll innan du går vidare till ePub‑skapandet. + +## Steg 4 – Förbered ePub‑exportalternativ (Lägg till författare till ePub) + +Att skapa en polerad ePub handlar inte bara om att dumpa text; du vill också ha korrekt metadata. Klassen `EpubExportOptions` ger dig ett enkelt sätt att **add author to epub**, ange en titel och bestämma om de ursprungliga bilderna ska bäddas in. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Om du har flera sidor kan du fortsätta anropa `ocrEngine.Image = …` och `ocrEngine.Recognize()` i en loop; varje anrop lägger till den nya sidans innehåll i samma ePub‑dokument. + +## Steg 5 – Konvertera bild till ePub och exportera + +Med text extraherad och metadata inställd är sista steget en enradare som skriver ePub‑filen till disk: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Den resulterande `book.epub` kan öppnas i Calibre, Apple Books eller någon EPUB‑kompatibel läsare. Eftersom vi satte `IncludeImages = true` kommer den ursprungliga PNG‑filen att visas som en bildsida, vilket bevarar utseendet på den skannade källan. + +## Fullt fungerande exempel + +När allt sätts ihop, här är det kompletta, körklara programmet: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Förväntat resultat + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Öppna `book.epub` i din favoritläsare så ser du en titelsida, författarlinjen (även om den säger “Unknown”), och den skannade bilden visas tillsammans med markerbar text. + +## Vanliga frågor & edge‑cases + +### Vad händer om OCR‑språket inte är engelska? + +Aspose.OCR stödjer över 70 språk. Ställ bara in egenskapen `Language` innan du anropar `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Hur hanterar jag flersidiga böcker? + +Packa in laddnings‑/igenkänningslogiken i en `foreach`‑loop: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Varje iteration lägger till den nyigenkända texten i samma ePub, vilket bevarar sidordningen. + +### Kan jag utesluta de ursprungliga bilderna? + +Självklart – sätt `IncludeImages = false` i `EpubExportOptions`. Den resulterande ePub‑filen blir ren flytande text, vilket minskar filstorleken avsevärt. + +### Vad sägs om anpassade typsnitt eller styling? + +Aspose.OCR:s ePub‑exportör låter dig tillhandahålla en CSS‑stilfil via egenskapen `Css` på `EpubExportOptions`. På så sätt kan du tvinga fram en specifik typsnittsfamilj, radavstånd eller marginal. + +## Slutsats + +Du vet nu **how to create ePub** från en skannad bild med Aspose OCR i C#. Handledningen täckte allt från **load image for OCR**, via **extract text from image**, till **add author to epub**, och slutligen **convert image to epub** med ett enda export‑anrop. Med hela kodexemplet till hands kan du utöka lösningen för att batch‑processa hela bibliotek, infoga anpassad omslagsgrafik eller till och med integrera arbetsflödet i ett web‑API. + +Redo för nästa utmaning? Prova att konvertera en PDF till ePub, eller experimentera med OCR‑konfidensgränser för att förbättra noggrannheten på brusiga skanningar. Himlen är gränsen när du kombinerar kraftfull OCR med flexibel ePub‑generering. + +Lycka till med kodandet, och njut av att läsa din nyss skapade ePub! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/swedish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..7f40aec09 --- /dev/null +++ b/ocr/swedish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-07 +description: Lär dig hur du använder OCR i C# för att extrahera text från bildfiler. + Denna guide visar offline‑OCR, konvertera bild till text och ladda bild för OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: sv +og_description: Hur man använder OCR i C# för att extrahera text från bilder offline. + Steg‑för‑steg kod, tips och fullständig förklaring för att konvertera bild till + text. +og_title: Hur man använder OCR i C# – Komplett offlineguide +tags: +- OCR +- C# +- Aspose +title: Hur man använder OCR i C# – Extrahera text från bilder offline +url: /sv/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hur man använder OCR i C# – Extrahera text från bilder offline + +Har du någonsin funderat **hur man använder OCR** i ett .NET‑projekt utan att skicka data till molnet? Du är inte ensam. Många utvecklare behöver *extrahera text från bild*‑filer på en säker arbetsstation, och de är rädda för att nätverkstrafik kan avslöja känslig information. + +Den goda nyheten? Med Aspose.OCR kan du känna igen text från PNG‑, JPEG‑ eller PDF‑filer helt offline. I den här handledningen går vi igenom hur du laddar en bild för OCR, konfigurerar motorn för offline‑läge och slutligen **konverterar bild till text** med bara några rader C#. + +När du är klar med guiden kommer du att kunna: + +* Installera Aspose.OCR‑paketet från NuGet. +* Ställa in OCR‑motorn för offline‑bearbetning. +* Ladda en bild för OCR och extrahera dess textinnehåll. + +Ingen extern tjänst, inga API‑nycklar – bara ren C#‑kod som körs på vilken Windows‑ eller Linux‑maskin som helst. + +--- + +## Förutsättningar + +Innan vi dyker ner, se till att du har: + +* .NET 6.0 SDK eller senare (koden fungerar även med .NET Framework 4.7+). +* Visual Studio 2022, VS Code eller någon editor som stödjer C#. +* En kopia av **Aspose.OCR**‑biblioteket – du kan hämta det från NuGet (`Aspose.OCR`). +* En OCR‑resursmapp (`Resources`) som följer med biblioteket (innehåller språkdatafiler). +* En exempelbild (t.ex. `offline_test.png`) placerad i en känd katalog. + +> **Pro tip:** Ha resursmappen bredvid din körbara fil; det förenklar `ResourcesPath`‑konfigurationen. + +--- + +## Steg 1: Installera Aspose.OCR‑paketet från NuGet + +Först lägger du till biblioteket i ditt projekt. Öppna en terminal i projektmappen och kör: + +```bash +dotnet add package Aspose.OCR +``` + +Eller, om du föredrar Visual Studios UI, högerklicka **Dependencies → Manage NuGet Packages**, sök efter *Aspose.OCR* och klicka **Install**. + +> Att installera paketet hämtar alla nödvändiga binärer, så du behöver inga extra DLL‑filer. + +--- + +## Steg 2: Skapa och konfigurera OCR‑motorn (Hur man använder OCR – Offline‑läge) + +Nu instansierar vi OCR‑motorn och talar om för den att arbeta **offline**. Detta säkerställer att ingen nätverkstrafik sker under igenkänning. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Varför offline?** +När `EngineMode` är satt till `Online` kontaktar motorn Asposes moln för att ladda ner språkpaket i farten. I reglerade miljöer (finans, sjukvård) är sådan trafik ofta förbjuden. Genom att tvinga offline‑läge garanterar du att allt stannar på den lokala maskinen. + +--- + +## Steg 3: Peka motorn mot OCR‑resursmappen + +OCR‑motorn behöver språkdata (tränade modeller) för att känna igen tecken. Ange var dessa filer finns: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Om du är osäker på var mappen är, leta upp den under NuGet‑paketkatalogen (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Kopiera hela mappen till ditt projekt för enklare distribution. + +--- + +## Steg 4: Ladda bilden för OCR (Load Image for OCR) + +Du kan mata motorn med vilken stödjande bitmap som helst. Här laddar vi en PNG från disk: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tips:** Om du behöver bearbeta bilder från en ström (t.ex. uppladdad via ett API), använd `ImageStream.FromStream(yourStream)` istället. + +--- + +## Steg 5: Kör igenkänningsprocessen och konvertera bild till text + +När allt är på plats, trigga OCR. Metoden `Recognize()` gör det tunga arbetet, och den extraherade texten blir tillgänglig via egenskapen `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Steg 6: Skriv ut den extraherade texten + +Till sist visar vi resultatet. I en konsolapp kan du helt enkelt skriva till konsolen, men i ett web‑API returnerar du strängen som JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +När programmet körs bör det skriva ut textinnehållet i `offline_test.png`. Till exempel, om bilden innehåller frasen *“Hello, World!”*, kommer du att se: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Fullt fungerande exempel + +Nedan är det kompletta, körklara programmet. Kopiera‑klistra in det i ett nytt konsolprojekt (`dotnet new console`) och justera sökvägarna så att de matchar din miljö. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Förväntad output:** Konsolen skriver exakt den text som finns i PNG‑filen. Om bilden är suddig kan resultatet innehålla felaktigt igenkända tecken – se felsökningsavsnittet nedan. + +--- + +## Vanliga fallgropar & tips (Recognize Text from PNG Efficiently) + +| Problem | Varför det händer | Hur du åtgärdar | +|---------|-------------------|-----------------| +| **Tomt resultat** | `ResourcesPath` pekar på fel mapp eller språkfiler saknas. | Kontrollera att mappen innehåller `eng.traineddata` (eller andra språkfiler) och dubbelkolla söksträngen. | +| **Skräptecken** | Bildens upplösning är för låg eller bilden är inte binäriserad. | Förbehandla bilden (öka DPI, applicera `ImageProcessor` för att skärpa). | +| **Prestandaproblem** | Stora bilder bearbetas i full upplösning. | Ändra storlek på bilden till max 2000 px i bredd innan du skickar den till OCR. | +| **Ej stödformat** | Använder en BMP med ett ovanligt pixelformat. | Konvertera bilden till PNG eller JPEG först (`System.Drawing.Image.Save`). | + +**Pro tip:** Om du behöver känna igen flera språk, sätt `ocrEngine.Settings.Language = Language.English | Language.French;` innan du anropar `Recognize()`. + +--- + +## Vanliga frågor + +**Q: Kan jag använda den här koden på Linux?** +Absolut. Aspose.OCR är plattformsoberoende; se bara till att de inhemska biblioteken finns (de levereras med NuGet‑paketet). + +**Q: Vad gör jag om jag inte har en Resources‑mapp?** +Du kan ladda ner de fria språkpaketen från Asposes webbplats eller extrahera dem från NuGet‑paketet (`.../aspose.ocr//resources`). + +**Q: Finns det ett sätt att få konfidenspoäng?** +Ja. Efter `Recognize()` kan du inspektera `ocrEngine.RecognizedWords` – varje ord innehåller en `Confidence`‑egenskap. + +--- + +## Slutsats + +Vi har gått igenom **hur man använder OCR** i C# för att *extrahera text från bild*‑filer helt offline. Genom att installera Aspose.OCR, konfigurera `EngineMode.Offline`, peka på resurserna, ladda en bild och anropa `Recognize()` kan du på ett pålitligt sätt **konvertera bild till text** utan att någonsin röra internet. + +Ta koden ovan, byt ut dina egna bildsökvägar och börja bygga funktioner som sökbara PDF‑filer, automatisering av datainmatning eller tillgänglighetsverktyg. Nästa steg kan vara att utforska **recognize text from PNG** i bulk, eller integrera motorn i ett ASP.NET Core‑API för att leverera OCR‑resultat till front‑end‑applikationer. + +Lycka till med kodandet, och experimentera gärna – OCR är förvånansvärt förlåtande när motorn väl är korrekt konfigurerad! + +--- + +![Diagram som visar offline OCR‑arbetsflöde – hur man använder OCR i en säker miljö](https://example.com/ocr-workflow.png "hur man använder OCR‑diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/swedish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..5a8ba46d4 --- /dev/null +++ b/ocr/swedish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: Lär dig hur du känner igen hindi‑text och laddar bild för OCR med Aspose.OCR + i C#. Steg‑för‑steg‑inställning, kod och tips. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: sv +og_description: Upptäck hur du känner igen hindi‑text med Aspose OCR i C#. Inkluderar + inläsning av bild för OCR, installation av språkpaket och bästa praxis‑tips. +og_title: Igenkänna hindi‑text – Fullständig Aspose OCR‑handledning +tags: +- C# +- OCR +- Aspose +- Hindi +title: Känn igen hindi‑text i C# – Komplett Aspose OCR‑guide +url: /sv/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# känna igen hindi‑text – Full Aspose OCR‑handledning + +Har du någonsin behövt **känna igen hindi‑text** från ett skannat kvitto men inte vetat var du ska börja? Du är inte ensam. I många Indien‑inriktade appar kan det kännas som att jaga ett rörligt mål att extrahera hindi‑tecken på ett pålitligt sätt. Lyckligtvis gör Aspose.OCR det till en barnlek—när du bara vet de rätta stegen för att **ladda bild för OCR** och peka mot hindi‑språkresurserna. + +I den här guiden går vi igenom allt du behöver för att få en fungerande OCR‑pipeline i C#. I slutet har du ett körbart program som laddar ner hindi‑språkpaketet, läser in en bild, kör igenkänning och skriver ut den resulterande texten i konsolen. Inga vaga “se dokumentationen”-länkar—bara en självständig lösning som du kan slänga in i vilket .NET‑projekt som helst. + +## Vad du behöver + +- **.NET 6+** (eller .NET Framework 4.7.2+). API‑et är detsamma i alla versioner, men den nyare runtime‑miljön ger bättre prestanda. +- **Aspose.OCR för .NET** NuGet‑paket. Installera med `dotnet add package Aspose.OCR`. +- Ett **hindi‑språkpaket** – Aspose levererar det som en nedladdningsbar resurs, inte inbakat som standard. +- En bildfil som innehåller hindi‑text (t.ex. `hindi_receipt.jpg`). Alla vanliga format (JPG, PNG, BMP) fungerar. +- En bra IDE (Visual Studio, Rider eller VS Code). + +Det är allt—inga externa OCR‑motorer, inga moln‑nycklar, bara ett lokalt bibliotek. + +## Steg 1: Ladda ner hindi‑språkpaketet – Ställ in resurser + +Innan OCR‑motorn kan förstå Devanagari‑tecken måste du hämta hindi‑språkresurserna. Detta är en engångsåtgärd som vanligtvis utförs under installation av applikationen eller i CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Varför detta är viktigt:** OCR‑motorn förlitar sig på språk‑specifika modeller för att mappa pixelmönster till Unicode‑tecken. Utan hindi‑paketet får du förvrängd latin‑utdata eller inget alls. + +> **Pro tip:** Cachera paketet i en mapp som är skriv‑bar på målmaskinen. Om du distribuerar till Azure App Service, använd mappen `D:\home\site\wwwroot\Resources`. + +## Steg 2: Konfigurera OCR‑motorn – Peka på resurserna + +Nu när resurserna finns på plats, skapa en `OcrEngine`‑instans och tala om för den var språkfilerna finns. Här anger vi också **primärspråket** för igenkänning. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Varför vi gör detta:** `ResourcesPath` är bryggan mellan motorn och de nedladdade filerna. Hoppar du över detta steg så faller motorn tillbaka på sina inbyggda (endast engelska) modeller, och du kommer inte kunna **känna igen hindi‑text** korrekt. + +## Steg 3: Ladda bild för OCR – Mata motorn med rätt indata + +Med motorn klar är nästa steg att **ladda bild för OCR**. Aspose erbjuder en praktisk hjälpfunktion `ImageStream.FromFile` som stödjer de flesta vanliga bildformat. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Vanliga fallgropar:** +- **Stora bilder** kan göra bearbetningen långsam. Om du hanterar högupplösta skanningar, överväg att först ner­sampela (`ImageProcessor.Resize`). +- **Fel orientering** (roterade skanningar) ger dåliga resultat. Använd `ocrEngine.Image.Rotate(90)` om det behövs. + +## Steg 4: Kör igenkänningen – Extrahera texten + +Nu ber vi faktiskt motorn läsa pixlarna och omvandla dem till Unicode‑strängar. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Vad du kan förvänta dig:** Om bilden är tydlig bör du se hindi‑tecknen skrivas ut exakt som de står på kvittot. Till exempel kan ett exempelkvitto ge följande utskrift: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Om du får nonsens, dubbelkolla att språkpaketet är korrekt nedladdat och att `ocrEngine.Settings.Language` är satt till `Language.Hindi`. + +## Steg 5: Slå ihop allt – Komplett, körbart program + +Nedan är den fullständiga källfilen som du kan kopiera‑klistra in i ett konsolprojekt. Den innehåller alla stegen ovan samt minimal felhantering. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Spara den som `Program.cs`, kör `dotnet run`, så bör du se hindi‑texten skrivas ut i konsolen. + +## Vanliga frågor (FAQ) + +### Kan jag känna igen flera språk i ett och samma körning? +Ja. Sätt `ocrEngine.Settings.Language` till en array, t.ex. `new[] { Language.Hindi, Language.English }`. Motorn försöker då identifiera tecken från båda skriftsystemen. + +### Vad händer om min bild är suddig? +Överväg förbehandling med `ImageProcessor`—applicera skärpning eller kontrastförbättring innan du tilldelar den till `ocrEngine.Image`. + +### Fungerar detta på Linux/macOS? +Absolut. Aspose.OCR är plattformsoberoende; se bara till att de inhemska beroendena finns (vanligtvis med i NuGet‑paketet). + +### Hur förbättrar jag noggrannheten för lågupplösta kvitton? +Öka DPI (dots per inch) vid skanning, eller resampla bilden programatiskt till minst 300 DPI innan OCR. + +## Slutsats + +Vi har gått igenom allt du behöver för att **känna igen hindi‑text** med Aspose.OCR—från att ladda ner hindi‑språkpaketet, konfigurera motorn, korrekt **ladda bild för OCR**, till att extrahera och skriva ut resultatet. Kodsnutten ovan är klar att slängas in i vilken C#‑konsolapp som helst, och de valfria tipsen hjälper dig hantera vanliga edge‑cases som suddiga skanningar eller flerspråkiga dokument. + +Redo för nästa steg? Prova att skicka OCR‑utdata till ett översättnings‑API, eller lagra den extraherade datan i en databas för analys. Du kan också experimentera med andra indiska språk—Aspose stödjer tamil, bengali och fler—genom att byta `Language.Hindi` mot önskat enum‑värde. + +Lycka till med kodandet, och må dina OCR‑resultat alltid vara skarpa! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/swedish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/swedish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..0f7c304ea --- /dev/null +++ b/ocr/swedish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Känn igen text från bild snabbt med Aspose OCR. Lär dig hur du konverterar + djvu till text, extraherar text från bild och laddar bild för OCR i en steg‑för‑steg + C#‑handledning. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: sv +og_description: Igenkänna text från en bild i C# med Aspose OCR. Denna guide visar + hur du konverterar djvu till text, extraherar text från en bild och laddar en bild + för OCR med praktiska tips. +og_title: igenkänna text från bild – Fullständig C# Aspose OCR-handledning +tags: +- C# +- Aspose OCR +- Document Processing +title: igenkänna text från bild i C# – Komplett Aspose OCR‑guide +url: /sv/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# känna igen text från bild – Fullständig C# Aspose OCR-handledning + +Har du någonsin behövt **känna igen text från bild** men varit osäker på vilket bibliotek som ger pålitliga resultat? Du är inte ensam. Oavsett om du arbetar med skannade fakturor, historiska DJVU‑filer eller en enkel PNG‑skärmdump kan det kännas som att avkoda ett gammalt manuskript. + +Poängen är den – Aspose OCR gör hela processen till en barnlek. I den här guiden går vi igenom hur du **konverterar djvu till text**, **extraherar text från bild** och **laddar bild för OCR** med ett kompakt C#‑program. I slutet har du en körbar konsolapp som skriver ut den igenkända strängen till konsolen, och du förstår “varför” bakom varje rad. + +## Vad du kommer att lära dig + +- Hur du sätter upp Aspose OCR‑motorn i ett .NET‑projekt. +- Den exakta koden som behövs för att **ladda bild för OCR** från en DJVU‑fil. +- Varför du ska anropa `Recognize()` innan du läser `Text`. +- Vanliga fallgropar (flersidiga DJVU, format som inte stöds) och hur du undviker dem. +- Snabba sätt att **konvertera djvu till text** för batch‑bearbetning. + +Allt du behöver är ett aktuellt .NET‑SDK (≥ 6.0) och en Aspose OCR‑licens (gratis provversion räcker för testning). Inga externa tjänster, inga REST‑anrop – bara ren C#. + +## Förutsättningar + +| Krav | Orsak | +|-------------|--------| +| .NET 6 SDK eller senare | Moderna språkfunktioner och bättre prestanda. | +| Aspose.OCR NuGet‑paket (`Install-Package Aspose.OCR`) | Tillhandahåller `OcrEngine`‑klassen vi ska använda. | +| En DJVU‑fil (t.ex. `sample.djvu`) | Demonstrerar **konvertera djvu till text**. | +| Grundläggande kunskap om C#‑konsolappar | Gör stegen mer naturliga. | + +Om någon av dessa saknas, pausa och installera dem nu; annars kommer koden inte att kompilera. + +## Steg 1 – Installera Aspose.OCR och skapa projektet + +Börja med att skapa ett nytt konsolprojekt och hämta OCR‑biblioteket. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Proffstips:* Använd flaggan `--framework net6.0` om du vill låsa mål‑frameworket explicit. + +## Steg 2 – Initiera OCR‑motorn och ladda DJVU‑bilden + +Motorn behöver en bildkälla. Aspose.OCR kan läsa många format, inklusive DJVU, så vi pekar helt enkelt på filvägen. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Varför detta är viktigt:** +- `OcrEngine` är startpunkten; att skapa den en gång och återanvända den minskar minnes‑churn. +- `ImageStream.FromFile` abstraherar bort filformatet, så du senare kan ersätta DJVU‑filen med en PNG eller TIFF utan att ändra någon annan kod – perfekt för “hur man extraherar text från bild” i olika scenarier. + +## Steg 3 – Kör igenkänningsprocessen + +Att anropa `Recognize()` startar det tunga arbetet. Under huven använder Aspose en neuronnäts‑baserad klassificerare som fungerar på både tryckt och handskriven text. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Edge‑case‑notering:* Om din DJVU innehåller flera sidor laddar `ImageStream.FromFile` fortfarande bara den första sidan. För att bearbeta alla sidor måste du loopa över `ImageStream.FromFile(...).Pages`. För de flesta snabba uppgifter räcker den första sidan. + +## Steg 4 – Hämta och visa den igenkända texten + +Efter igenkänning fyller motorn egenskapen `Text` med en ren‑text‑sträng. Du kan nu skriva ut den till konsolen, en fil eller skicka den vidare till ett annat system. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Typisk utskrift ser ut så här: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Om utskriften är förvrängd, dubbelkolla att källbilden inte har låg upplösning; Aspose rekommenderar 300 dpi eller högre för bästa precision. + +## Fullt fungerande exempel + +Sätter vi ihop allt får vi en enda fil (`Program.cs`) som du kan klistra in i projektet du skapade tidigare. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Kör den med: + +```bash +dotnet run +``` + +Du bör se den extraherade strängen skrivas ut i terminalen. Detta är det enklaste sättet att **känna igen text från bild** med Aspose OCR. + +## Steg 5 – Avancerat: Konvertera flera DJVU‑sidor till textfiler + +Om du behöver **konvertera djvu till text** i bulk, utöka föregående kod med en loop: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Varför detta fungerar:* `GetPage(i)` returnerar ett `Image`‑objekt för den begärda sidan, vilket låter dig återanvända samma `OcrEngine`‑instans. Varje sidas text hamnar i sin egen `.txt`‑fil, vilket ger dig en ren **konvertera djvu till text**‑pipeline. + +## Vanliga frågor & fallgropar + +- **Kan jag extrahera text från en JPEG istället för DJVU?** + Absolut. Byt bara filändelsen i `FromFile`. Samma kod **hur man extraherar text från bild** gäller eftersom Aspose abstraherar formatet. + +- **Vad händer om OCR‑resultatet innehåller extra radbrytningar?** + Använd `String.Replace("\r\n", " ")` eller ett reguljärt uttryck för att normalisera whitespace. + +- **Behöver jag en licens för produktionsbruk?** + Gratisprovversionen fungerar upp till 100 sidor. För obegränsad användning köper du en licens och anropar `License license = new License(); license.SetLicense("Aspose.OCR.lic");` innan du skapar motorn. + +- **Är motorn trådsäker?** + Nej. Skapa en separat `OcrEngine` per tråd eller skydda åtkomst med en låsning. + +## Tips för bättre precision + +1. **Öka DPI** – Om du styr källkonverteringen, exportera bilder med 300 dpi eller högre. +2. **Förbehandla bilden** – En enkel binarisering (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) kan förbättra resultat på brusiga skanningar. +3. **Ange språk** – `ocrEngine.Language = Language.English;` begränsar teckenuppsättningen och snabbar upp igenkänningen. + +## Slutsats + +Du har nu ett komplett, körklart exempel som **känner igen text från bild** med Aspose OCR, och du har sett hur du **konverterar djvu till text**, **hur du extraherar text från bild**, samt det korrekta sättet att **ladda bild för OCR**. Koden är självständig, fungerar på alla .NET 6+‑miljöer och kan utökas för batch‑bearbetning av flersidiga DJVU‑dokument. + +Nästa steg kan vara att utforska: + +- Lägga till **språkdetection** för flerspråkiga DJVU‑filer. +- Integrera OCR‑utdata med ett sökindex (t.ex. Elasticsearch). +- Använda Asposes PDF‑konvertering för att göra den extraherade texten sökbar i PDF‑filer. + +Ge det ett försök, justera DPI, experimentera med olika bildformat, och låt OCR‑motorn göra det tunga arbetet åt dig. Lycka till med kodandet! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/ocr-configuration/_index.md b/ocr/thai/net/ocr-configuration/_index.md index 24051f2c0..7276e7419 100644 --- a/ocr/thai/net/ocr-configuration/_index.md +++ b/ocr/thai/net/ocr-configuration/_index.md @@ -65,6 +65,8 @@ weight: 24 ### [OCROperation with List in OCR Image Recognition](./ocr-operation-with-list/) ปลดล็อกศักยภาพของ Aspose.OCR for .NET ทำการจดจำภาพด้วย OCR ผ่านรายการได้อย่างง่ายดาย เพิ่มผลผลิตและการสกัดข้อมูลในแอปพลิเคชันของคุณ +### [อ่านข้อความจาก PNG – ดึงข้อความ Cyrillic ด้วย Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) + ### การใช้งานทั่วไป - **ดึงข้อความจากภาพ** ของใบแจ้งหนี้ที่สแกนเพื่อการบัญชีอัตโนมัติ. - ทำดัชนีอาร์ไคฟ์เอกสารขนาดใหญ่เพื่อเป็นคลังข้อมูลที่ค้นหาได้. @@ -100,4 +102,4 @@ A: มี, วัตถุ `OcrResult` จะให้ค่าความเ {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/thai/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..c91c446ec --- /dev/null +++ b/ocr/thai/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,200 @@ +--- +category: general +date: 2026-03-07 +description: เรียนรู้วิธีอ่านข้อความจากไฟล์ PNG และดึงข้อความซีริลลิกโดยใช้ Aspose + OCR, แปลงภาพเป็นข้อความ, และดาวน์โหลดแพ็คเกจภาษาซีริลลิก +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: th +og_description: เรียนรู้วิธีอ่านข้อความจากไฟล์ PNG, แยกข้อความซีริลลิก, และแปลงภาพเป็นข้อความโดยใช้ + Aspose OCR ใน C# +og_title: อ่านข้อความจาก PNG – แยกข้อความ Cyrillic ด้วย Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: อ่านข้อความจาก PNG – แยกข้อความ Cyrillic ด้วย Aspose OCR +url: /th/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# อ่านข้อความจาก png – แยกข้อความ Cyrillic ด้วย Aspose OCR + +ต้องการ **อ่านข้อความจาก png** ไฟล์และดึงอักขระ Cyrillic หรือไม่? ในคู่มือนี้เราจะแสดงวิธีอ่านข้อความจาก png ด้วย Aspose OCR, แยกข้อความ Cyrillic, และ **แปลงภาพเป็นข้อความ** ด้วยเพียงไม่กี่บรรทัดของ C#. + +หากคุณเคยมองภาพหน้าจอของใบแจ้งหนี้ภาษารัสเซียและสงสัยว่าจะเอาคำเหล่านั้นไปเป็นสตริงที่สามารถค้นหาได้อย่างไร คุณมาถูกที่แล้ว เราจะอธิบายวิธี **ดาวน์โหลดแพ็คเกจภาษาซีริลลิก** โดยอัตโนมัติ เพื่อไม่ต้องตามหาไฟล์เพิ่มเติม. + +## สิ่งที่คุณจะได้ทำ + +* **โหลดภาพสำหรับ OCR** โดยตรงจากดิสก์หรือสตรีม. +* ตั้งค่าเอนจินเป็น **ภาษาซีริลลิก** โดยไม่ต้องดาวน์โหลดด้วยตนเอง. +* ทำการจดจำและ **แยกข้อความซีริลลิก** จากไฟล์ PNG. +* ดูข้อความที่จดจำแล้วพิมพ์ออกที่คอนโซล – ผลลัพธ์ข้อความธรรมดาที่สะอาดซึ่งคุณสามารถนำไปใส่ในฐานข้อมูล, ดัชนีการค้นหา หรือเวิร์กโฟลว์อื่น ๆ. + +ไม่มีบริการภายนอก, ไม่มีคีย์คลาวด์, เพียงแพ็คเกจ NuGet ของ Aspose OCR และไม่กี่บรรทัดของ C#. + +## ข้อกำหนดเบื้องต้น + +* .NET 6.0 หรือใหม่กว่า (โค้ดทำงานบน .NET Core, .NET Framework, และ .NET 5+). +* Visual Studio 2022 หรือโปรแกรมแก้ไขใด ๆ ที่คุณชอบ. +* แพ็คเกจ NuGet ของ Aspose.OCR (`dotnet add package Aspose.OCR`). +* ภาพ PNG ที่มีอักขระซีริลลิก – ตัวอย่างเช่น `cyrillic_sample.png` ที่วางในโฟลเดอร์ชื่อ `YOUR_DIRECTORY`. + +> **เคล็ดลับมืออาชีพ:** หากคุณใช้ Visual Studio, คลิกขวาที่โปรเจกต์ → **Manage NuGet Packages** → ค้นหา “Aspose.OCR” และติดตั้งเวอร์ชันเสถียรล่าสุด. + +--- + +## ขั้นตอนที่ 1 – ติดตั้ง Aspose OCR และสร้างเอนจิน + +ก่อนอื่นเราต้องการอินสแตนซ์ของเอนจิน OCR. คลาส `OcrEngine` เป็นจุดเริ่มต้นสำหรับทุกการดำเนินการ. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **ทำไมเรื่องนี้สำคัญ:** เอนจินรวมแพ็คเกจภาษา, ข้อมูลภาพ, และตัวเลือกการจดจำไว้ด้วยกัน การสร้างอินสแตนซ์หนึ่งครั้งและใช้ซ้ำกับหลายภาพสามารถเพิ่มประสิทธิภาพได้. + +--- + +## ขั้นตอนที่ 2 – **โหลดภาพสำหรับ ocr** และตั้งค่าภาษา + +ตอนนี้เราบอกเอนจินว่าภาพใดจะประมวลผลและภาษาที่ต้องการค้นหา การตั้งค่า `Language.Cyrillic` จะดาวน์โหลดแพ็คเกจภาษาที่จำเป็นโดยอัตโนมัติในครั้งแรกที่ทำงาน. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **กรณีขอบ:** หาก PNG ของคุณมีขนาดใหญ่ (เกิน 5 MB) คุณอาจต้องปรับขนาดก่อนเพื่อเร่งการจดจำ คุณสมบัติ `Image` ยังรับ `Stream` ได้เช่นกัน, ดังนั้นคุณสามารถโหลดจากหน่วยความจำ, คำขอเว็บ, หรือ Azure Blob โดยไม่ต้องสัมผัสระบบไฟล์. + +--- + +## ขั้นตอนที่ 3 – **แปลงภาพเป็นข้อความ** ด้วยการเรียกครั้งเดียว + +การจดจำง่ายเพียงแค่เรียก `Recognize()`. หลังจากการเรียกนี้คุณสมบัติ `Text` จะเก็บสตริงที่แยกออกมา. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **อะไรเกิดขึ้นเบื้องหลัง?** Aspose ใช้ตัวจำแนกแบบเครือข่ายประสาทที่ฝึกด้วย glyphs ซีริลลิกหลายล้านตัว. ไลบรารีทำให้ซับซ้อนทั้งหมดเป็นนามธรรม, ดังนั้นคุณจะได้ Unicode ที่สะอาด. + +--- + +## ขั้นตอนที่ 4 – แสดงผลลัพธ์ (หรือส่งต่อไปที่อื่น) + +เพื่อการสาธิต เราจะพิมพ์ข้อความไปที่คอนโซล, แต่คุณสามารถเขียนลงไฟล์, ฐานข้อมูล, หรือส่งต่อไปยังดัชนีการค้นหาได้อย่างง่ายดาย. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**ผลลัพธ์ที่คาดหวัง** (สมมติว่า `cyrillic_sample.png` มีวลี “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +หากผลลัพธ์ดูเป็นอักขระผิด, ตรวจสอบว่าภาพชัดเจนและคุณได้ตั้งค่า `Language.Cyrillic`. เอนจินโดยค่าเริ่มต้นเป็นภาษาอังกฤษ, ซึ่งจะถืออักขระซีริลลิกเป็นสัญลักษณ์ที่ไม่รู้จัก. + +--- + +## ขั้นตอนที่ 5 – ตัวอย่างเต็มที่สามารถรันได้ + +รวมทุกอย่างเข้าด้วยกัน, นี่คือโปรแกรมแบบ self‑contained ที่คุณสามารถคัดลอกและวางลงในโปรเจกต์คอนโซลใหม่. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +บันทึกไฟล์เป็น `Program.cs`, รัน `dotnet run`, และคุณควรเห็นข้อความซีริลลิกที่พิมพ์ออกมา. + +--- + +## คำถามทั่วไป & การแก้ไขปัญหา + +| Question | Answer | +|----------|--------| +| **ถ้าแพ็คเกจภาษาล้มเหลวในการดาวน์โหลด?** | ตรวจสอบว่าเครื่องมีการเชื่อมต่ออินเทอร์เน็ต. แพ็คเกจจะถูกแคชไว้ที่ `%USERPROFILE%\.Aspose\OCR\Languages`. การลบโฟลเดอร์นั้นจะบังคับให้ดาวน์โหลดใหม่. | +| **ฉันสามารถอ่านภาษาอื่น ๆ นอกจากซีริลลิกได้หรือไม่?** | แน่นอน – แทนที่ `Language.Cyrillic` ด้วย `Language.English`, `Language.Arabic` เป็นต้น. โลจิกการดาวน์โหลดอัตโนมัติเดียวกันจะทำงาน. | +| **PNG ของฉันมีสัญญาณรบกวน – ผลลัพธ์แย่ลง. ฉันทำอะไรได้บ้าง?** | ทำการประมวลผลล่วงหน้าภาพ: เพิ่มคอนทราสต์, แปลงเป็นระดับสีเทา, หรือใช้ฟิลเตอร์เมเดียน. Aspose OCR ยังมีตัวเลือก `Settings.ImagePreprocess`. | +| **มีวิธีใดบ้างที่จะรับกรอบรอบคำแต่ละคำ?** | ใช่, หลังจาก `Recognize()` คุณสามารถตรวจสอบ `ocrEngine.Regions` ซึ่งจะคืนค่าเรคตังเกิลสำหรับแต่ละคำที่ตรวจพบ. | +| **ฉันต้องการไลเซนส์สำหรับการใช้งานในผลิตภัณฑ์หรือไม่?** | การประเมินฟรีทำงานได้สูงสุด 100 หน้า. สำหรับโครงการเชิงพาณิชย์ให้ซื้อไลเซนส์ – จะลบลายน้ำการประเมินและเปิดใช้งานการประมวลผลเป็นชุดความเร็วสูง. | + +--- + +## ขั้นตอนต่อไป – ขยายโซลูชัน + +* **Batch processing:** วนลูปผ่านโฟลเดอร์ของ PNGs, รวบรวมข้อความทั้งหมดลงในไฟล์ CSV. +* **Integration with Azure Cognitive Search:** ทำดัชนีข้อความซีริลลิกที่แยกออกเพื่อการค้นหาอย่างรวดเร็ว. +* **Combine with PDF conversion:** ใช้ Aspose.PDF เพื่อแปลง PDF สแกนเป็น PNG ก่อน, แล้วรันกระบวนการ OCR เดียวกัน. + +ทุกสถานการณ์เหล่านี้ใช้รูปแบบหลักที่เราเพิ่งครอบคลุม: **โหลดภาพสำหรับ OCR → ตั้งค่าภาษา → จดจำ → ใช้ข้อความ**. + +--- + +## สรุป + +ตอนนี้คุณรู้วิธี **อ่านข้อความจาก png**, **แยกข้อความซีริลลิก**, และ **แปลงภาพเป็นข้อความ** ด้วย Aspose OCR ใน C#. ขั้นตอนสำคัญคือการสร้างเอนจิน, โหลดภาพ, เลือกภาษาที่เหมาะสม (ซึ่งจะ **ดาวน์โหลดแพ็คเกจภาษาซีริลลิก** อัตโนมัติ), และสุดท้ายเรียก `Recognize()`. + +ลองใช้กับภาพต่าง ๆ, ทดลองกับตัวเลือก `Settings`, และดูแอปพลิเคชันของคุณกลายเป็นที่ค้นหาได้, รองรับหลายภาษา, และฉลาดยิ่งขึ้น. + +ขอให้สนุกกับการเขียนโค้ด, และอย่าลังเลที่จะแสดงความคิดเห็นหากคุณเจออุปสรรค! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/ocr-optimization/_index.md b/ocr/thai/net/ocr-optimization/_index.md index f298064cd..b3044e81f 100644 --- a/ocr/thai/net/ocr-optimization/_index.md +++ b/ocr/thai/net/ocr-optimization/_index.md @@ -73,6 +73,14 @@ weight: 25 ### [บันทึกผลลัพธ์หลายหน้าเป็นเอกสารใน OCR Image Recognition](./save-multipage-result-as-document/) ปลดล็อกศักยภาพของ Aspose.OCR สำหรับ .NET บันทึกผลลัพธ์ OCR หลายหน้าเป็นเอกสารได้อย่างง่ายดายด้วยคู่มือขั้นตอนต่อขั้นตอนที่ครอบคลุมนี้. +### [วิธีแก้ไขการเอียงของภาพและรัน OCR ด้วย C# – คู่มือฉบับสมบูรณ์](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +เรียนรู้วิธีแก้ไขการเอียงของภาพและใช้ OCR ด้วย C# อย่างครบถ้วนในขั้นตอนง่าย ๆ. + +### [ตัวอย่าง Aspose OCR – เปิดใช้งานการตรวจสอบการสะกดและแก้ไขข้อผิดพลาดใน C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) + +### [วิธีทำ OCR บนภาพภาษาจีน – คู่มือ C# ฉบับสมบูรณ์](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +เรียนรู้ขั้นตอนการใช้ Aspose.OCR กับ C# เพื่อดึงข้อความจากภาพภาษาจีนอย่างแม่นยำและรวดเร็ว. + ## คำถามที่พบบ่อย **Q:** ฉันสามารถแยกข้อความจากไฟล์ภาพที่มีหลายภาษาได้หรือไม่? diff --git a/ocr/thai/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/thai/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..d5c80db49 --- /dev/null +++ b/ocr/thai/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-03-07 +description: ตัวอย่าง Aspose OCR ที่แสดงวิธีเปิดใช้งานการตรวจสอบการสะกด, เพิ่มพจนานุกรมกำหนดเอง, + โหลด OCR ของรูปภาพและแก้ไขข้อผิดพลาดของ OCR อย่างรวดเร็ว. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: th +og_description: ตัวอย่าง Aspose OCR ที่แนะนำขั้นตอนการเปิดใช้งานการตรวจสอบการสะกด, + เพิ่มพจนานุกรมกำหนดเอง, โหลดภาพสำหรับ OCR และแก้ไขข้อผิดพลาด OCR ที่พบบ่อย +og_title: ตัวอย่าง Aspose OCR – เปิดใช้งานการตรวจสอบการสะกดและแก้ไขข้อผิดพลาด +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: ตัวอย่าง Aspose OCR – เปิดใช้งานการตรวจสอบการสะกดและแก้ไขข้อผิดพลาดใน C# +url: /th/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ตัวอย่าง Aspose OCR – เปิดใช้งานการตรวจสอบการสะกดและแก้ไขข้อผิดพลาดใน C# + +เคยต้องการ **ตัวอย่าง Aspose OCR** ที่ไม่เพียงแค่อ่านข้อความจากรูปภาพ แต่ยังทำความสะอาดข้อผิดพลาดการสะกดที่น่ารำคาญด้วยหรือไม่? คุณไม่ได้เป็นคนเดียว ในหลายโครงการจริง ๆ ผลลัพธ์ OCR ดิบมักเต็มไปด้วยคำที่พิมพ์ผิด โดยเฉพาะเมื่อภาพต้นทางมีฟอนต์ที่คอนทราสต์ต่ำหรือเป็นโน้ตมือ + +ข่าวดีคือ? ด้วย Aspose.OCR คุณสามารถ **เปิดใช้งานการตรวจสอบการสะกด**, ใส่พจนานุกรมของคุณเอง, และได้สตริงที่เรียบร้อยในเพียงไม่กี่บรรทัดของโค้ด ด้านล่างคุณจะได้เห็น **วิธีเปิดใช้งานการตรวจสอบการสะกด**, **วิธีเพิ่มพจนานุกรม**, และ **วิธีโหลด OCR ของรูปภาพ** เพื่อที่คุณจะได้ **แก้ไขข้อผิดพลาด OCR** โดยไม่ต้องบีบผม + +ในบทเรียนนี้เราจะครอบคลุมทุกอย่างที่คุณต้องการ — ตั้งแต่การติดตั้ง NuGet จนถึงโปรแกรมที่ทำงานได้เต็มรูปแบบและพิมพ์ข้อความที่แก้ไขแล้ว เมื่อจบคุณจะมี **ตัวอย่าง Aspose OCR** ที่พร้อมใส่ลงในโครงการ .NET ใดก็ได้ + +## ข้อกำหนดเบื้องต้น + +- .NET 6.0 SDK หรือใหม่กว่า (โค้ดทำงานได้กับ .NET Core และ .NET Framework ด้วย) +- Visual Studio 2022 หรือ IDE ที่รองรับ C# +- ไฟล์รูปภาพ (`typed_text.png`) ที่มีข้อความภาษาอังกฤษพิมพ์ชัดเจน +- การเชื่อมต่ออินเทอร์เน็ตเพื่อดาวน์โหลดแพ็กเกจ Aspose.OCR NuGet + +ไม่มีไลบรารีของบุคคลที่สามอื่น ๆ ที่จำเป็น + +--- + +## ขั้นตอนที่ 1 – ติดตั้งแพ็กเกจ Aspose.OCR NuGet (Load Image OCR) + +ก่อนที่เราจะเขียนโค้ดใด ๆ เราต้องมีไลบรารีที่เป็นหัวใจของเครื่องมือ OCR + +```bash +dotnet add package Aspose.OCR +``` + +> **เคล็ดลับ:** หากคุณใช้ Visual Studio ให้คลิกขวาที่โครงการ → *Manage NuGet Packages* → ค้นหา **Aspose.OCR** แล้วกด *Install* + +การติดตั้งแพ็กเกจจะทำให้คุณเข้าถึง `OcrEngine`, `ImageStream` และยูทิลิตี้การตรวจสอบการสะกดที่มีมาให้ซึ่งเราจะใช้ต่อไป เมื่อแพ็กเกจพร้อมแล้ว คุณก็พร้อมที่จะ **load image OCR** แล้ว + +## ขั้นตอนที่ 2 – สร้างอินสแตนซ์ของ OCR Engine + +การสร้างเอนจินเป็นขั้นตอนแรกที่ชัดเจนใน **ตัวอย่าง Aspose OCR** ใคร่คิดว่า `OcrEngine` คือสมองที่วิเคราะห์บิตแมปและสกัดข้อความออกมา + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +คอนสตรัคเตอร์ของ `OcrEngine` ไม่ต้องการพารามิเตอร์ใด ๆ ทำให้มันเรียบง่ายและเหมาะกับการทำต้นแบบอย่างรวดเร็ว + +## ขั้นตอนที่ 3 – วิธีเปิดใช้งานการตรวจสอบการสะกด (และทำไมถึงสำคัญ) + +ผลลัพธ์ OCR ดิบมักมีคำที่ถูกจำแนกผิด เช่น “teh” แทน “the” การเปิดใช้งานตัวตรวจสอบการสะกดในตัวจะทำให้ Aspose แก้ไขคำเหล่านั้นโดยอัตโนมัติเป็นการสะกดที่น่าจะถูกต้องที่สุด + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **ทำไมต้องเปิดใช้งานการตรวจสอบการสะกด?** +> - **ความแม่นยำ:** การตรวจสอบการสะกดหลังการประมวลผลสามารถเพิ่มความแม่นยำของข้อความโดยรวมได้ 10‑15 % สำหรับเอกสารที่พิมพ์ +> - **ประสบการณ์ผู้ใช้:** ข้อความที่สะอาดหมายถึงการทำความสะอาดขั้นต่อไปที่น้อยลงเมื่อคุณนำผลลัพธ์ไปใส่ในดัชนีการค้นหาหรือสายงานวิเคราะห์ข้อมูล + +## ขั้นตอนที่ 4 – วิธีเพิ่มพจนานุกรม (คำศัพท์เฉพาะ) + +บางครั้งพจนานุกรมเริ่มต้นไม่รู้จักชื่อแบรนด์, รหัสสินค้า, หรือศัพท์เฉพาะด้านของคุณ นั่นคือเหตุผลที่ **วิธีเพิ่มพจนานุกรม** มีความสำคัญ + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +คุณสามารถใส่เป็นอาเรย์, รายการ, หรือแม้กระทั่งอ่านจากไฟล์หากมีคำศัพท์จำนวนมาก ตัวตรวจสอบการสะกดจะถือรายการเหล่านี้ว่าเป็นคำที่ถูกต้องและไม่ทำการแก้ไขผิดพลาด + +## ขั้นตอนที่ 5 – โหลดรูปภาพสำหรับ OCR (Load Image OCR) + +เมื่อเอนจินตั้งค่าเรียบร้อยแล้ว เราต้องชี้ให้มันไปที่รูปภาพที่ต้องการอ่าน `ImageStream.FromFile` ช่วยซ่อนรายละเอียดการอ่านไฟล์ไว้ให้ + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **เคล็ดลับ:** หากรูปภาพของคุณอยู่ในโฟลเดอร์ย่อยของโครงการ ให้ตั้งค่าคุณสมบัติ *Copy to Output Directory* เป็น *Copy always* เพื่อให้เส้นทางสามารถแก้ไขได้ในขณะรันไทม์ + +## ขั้นตอนที่ 6 – ทำการจดจำและแก้ไขข้อผิดพลาด OCR + +เมื่อทุกอย่างพร้อม การเรียก `Recognize()` ครั้งเดียวจะรันไพป์ไลน์ OCR, ใช้การตรวจสอบการสะกด, และเก็บผลลัพธ์ที่ทำความสะอาดไว้ใน `ocrEngine.Text` + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### ผลลัพธ์ที่คาดหวัง + +สมมติว่า `typed_text.png` มีประโยค `The quick brown fox jumps over teh lazy dog` คอนโซลจะพิมพ์: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +สังเกตว่า “teh” ถูกแก้เป็น “the” โดยอัตโนมัติ หากคุณได้เพิ่ม “OCRify” ลงในพจนานุกรมเฉพาะและรูปภาพมีคำนั้น เอนจินก็จะคงไว้โดยไม่แก้ไข + +--- + +## ตัวอย่างทำงานเต็มรูปแบบ (พร้อมคัดลอก‑วาง) + +ด้านล่างเป็นโปรแกรมเต็มที่คุณสามารถวางลงในโปรเจกต์คอนโซลใหม่ได้ รวมทุกขั้นตอนข้างต้นพร้อมคอมเมนต์อธิบายสั้น ๆ + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +บันทึกไฟล์นี้เป็น `Program.cs`, รัน `dotnet run` แล้วคุณจะเห็นประโยคที่แก้ไขแล้วแสดงบนคอนโซล + +--- + +## คำถามที่พบบ่อย & กรณีขอบ + +| คำถาม | คำตอบ | +|----------|--------| +| **ถ้าภาพเป็น PDF แบบหลายหน้า จะทำอย่างไร?** | Aspose.OCR สามารถจัดการหน้า PDF เป็นภาพได้ ใช้ `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` แล้ววนลูปผ่านหน้าต่าง ๆ | +| **สามารถเปลี่ยนภาษาเป็นนอกเหนือจากอังกฤษได้หรือไม่?** | ทำได้แน่นอน ตั้งค่า `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (หรือภาษาอื่นที่รองรับ) | +| **พจนานุกรมของฉันมีขนาดใหญ่ — จะส่งผลต่อประสิทธิภาพหรือไม่?** | การเพิ่มคำหลายพันคำจะใช้เวลาเตรียมเล็กน้อย แต่การค้นหาเป็น O(1) เนื่องจากใช้ hash‑set ภายใน หากมีคำศัพท์มหาศาล ควรโหลดครั้งเดียวเมื่อตัวแอปเริ่มทำงาน | +| **ถ้าเอนจิน OCR โยนข้อยกเว้นเมื่อรูปภาพเสียหายจะทำอย่างไร?** | ห่อ `Recognize()` ด้วย try‑catch แล้วตรวจสอบ `ocrEngine.LastError` คุณยังสามารถตรวจสอบขนาดภาพล่วงหน้าด้วย `ocrEngine.Image.Width` และ `Height` | +| **ต้องมีลิขสิทธิ์สำหรับการใช้งานในผลิตภัณฑ์หรือไม่?** | เวอร์ชันประเมินผลฟรีใช้ได้สำหรับการทดสอบ แต่ลิขสิทธิ์เชิงพาณิชย์จะลบลายน้ำการประเมินและเปิดประสิทธิภาพเต็มรูปแบบ | + +--- + +## สรุป + +คุณมี **ตัวอย่าง Aspose OCR** ครบถ้วนที่แสดง **วิธีเปิดใช้งานการตรวจสอบการสะกด**, **วิธีเพิ่มพจนานุกรม**, **วิธีโหลด OCR ของรูปภาพ**, และ **วิธีแก้ไขข้อผิดพลาด OCR** อย่างเป็นระบบและพร้อมใช้งานในสภาพแวดล้อมการผลิต การตั้งค่าตัวตรวจสอบการสะกดและใส่รายการคำเฉพาะจะช่วยปรับปรุงคุณภาพของข้อความที่สกัดได้อย่างมหาศาลโดยไม่ต้องเขียนโค้ดหลังการประมวลผลเอง + +พร้อมก้าวต่อไปหรือยัง? ลองเปลี่ยนภาษาเป็นสเปน, ใส่ PDF หลายหน้า, หรือผสานผลลัพธ์เข้ากับดัชนี Azure Cognitive Search ที่ค้นหาได้ รูปแบบเดียวกันนี้ใช้ได้—แค่ปรับแฟล็กภาษาและอาจขยายพจนานุกรมเฉพาะ + +ถ้าคุณพบว่าคู่มือฉบับนี้มีประโยชน์ อย่าลืมให้ดาวน์โหลดดาวน์โหลดบน GitHub, แบ่งปันกับทีม, หรือแสดงความคิดเห็นด้านล่าง ขอให้เขียนโค้ดอย่างสนุกและผลลัพธ์ OCR ของคุณปราศจากข้อผิดพลาดเสมอ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/thai/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..ad45d66cf --- /dev/null +++ b/ocr/thai/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,217 @@ +--- +category: general +date: 2026-03-07 +description: เรียนรู้วิธีการปรับแนวภาพให้ตรง, เพิ่มความคมชัด, และดึงข้อความจากการสแกนโดยใช้ + Aspose OCR. ทำ OCR บนภาพด้วยตัวอย่าง C# เต็มรูปแบบและโหลดภาพสำหรับ OCR ได้อย่างง่ายดาย. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: th +og_description: เรียนรู้วิธีแก้ไขการเอียงของภาพ, เพิ่มความคมชัด, และดึงข้อความจากการสแกนโดยใช้ + Aspose OCR ใน C#. ทำ OCR บนภาพด้วยโค้ดทีละขั้นตอน. +og_title: วิธีทำให้ภาพไม่เอียงและรัน OCR ด้วย C# – คู่มือฉบับสมบูรณ์ +tags: +- C# +- OCR +- Image Processing +title: วิธีแก้ไขการเอียงของภาพและทำ OCR ด้วย C# – คู่มือครบถ้วน +url: /th/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีแก้ไขการเอียงของภาพและรัน OCR ใน C# – คู่มือฉบับสมบูรณ์ + +หากคุณเคยสงสัย **how to deskew image** ก่อนรัน OCR, คุณมาถูกที่แล้ว ในบทเรียนนี้เราจะพาคุณผ่านการเพิ่มคอนทราสต์, การโหลดภาพสำหรับ OCR, และสุดท้าย **extracting text from scan** ด้วย Aspose OCR. + +ไม่ว่าคุณจะกำลังดิจิไทซ์ใบเสร็จเก่า, ทำความสะอาดสัญญาที่สแกน, หรือแค่ต้องการวิธีที่เชื่อถือได้ในการอ่านข้อความจากรูปที่เอียง, ขั้นตอนด้านล่างครอบคลุมทุกอย่างที่คุณต้องการ. ไม่มีของเกินจำเป็น—เพียงตัวอย่างทำงานที่คุณสามารถคัดลอก‑วางลงใน Visual Studio. + +## สิ่งที่คุณจะได้ทำ + +* แก้ไขการเอียงสูงสุด 30° (นี่คือส่วนของ **how to deskew image**). +* เพิ่มคอนทราสต์ของภาพเพื่อให้ขอบอักขระคมชัดขึ้น (**how to boost contrast**). +* โหลดรูปของคุณเข้าสู่เครื่อง OCR (**load image for OCR**). +* รันกระบวนการจดจำและ **extract text from scan**. + +ทั้งหมดนี้ทำงานกับแพคเกจ Aspose.OCR .NET NuGet รุ่นล่าสุด (v23.11 ณ เวลาที่เขียน). + +--- + +![ตัวอย่างการแก้ไขการเอียงของภาพ](/images/deskew-example.png "วิธีแก้ไขการเอียงของภาพ") + +*ภาพด้านบนแสดงเอกสารที่สแกนก่อนและหลังการแก้ไขการเอียง.* + +## ข้อกำหนดเบื้องต้น + +* .NET 6.0 หรือใหม่กว่า (โค้ดนี้ยังทำงานบน .NET Framework 4.7+ ด้วย). +* Visual Studio 2022 (หรือ IDE C# ใดก็ได้ที่คุณชอบ). +* แพคเกจ Aspose.OCR NuGet – ติดตั้งโดยใช้ `dotnet add package Aspose.OCR`. + +เท่านี้เอง ไม่ต้องบริการภายนอก ไม่ต้องคีย์ API. + +--- + +## วิธีแก้ไขการเอียงของภาพด้วย Aspose OCR + +สิ่งแรกที่เราทำคือสร้าง **ImageProcessingPipeline** และเพิ่ม `DeskewFilter`. ตัวกรองจะตรวจจับมุมของบรรทัดข้อความหลักโดยอัตโนมัติและหมุนภาพกลับเป็นแนวนอน. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**ทำไมเรื่องนี้ถึงสำคัญ:** +การสแกนที่เอียงทำให้เครื่อง OCR สับสนเพราะอักขระไม่ตรงกับเส้นฐานอีกต่อไป. `DeskewFilter` วิเคราะห์ฮิสโตแกรมของภาพ, ค้นหามุม, และหมุนภาพ, ซึ่งทำให้ความแม่นยำของการจดจำเพิ่มขึ้นอย่างมาก. + +> **เคล็ดลับ:** หากคุณทราบว่าเอกสารของคุณไม่เอียงเกิน 15°, ตั้งค่า `MaxAngle = 15` เพื่อเร่งการประมวลผล. + +--- + +## วิธีเพิ่มคอนทราสต์เพื่อการจดจำที่ดียิ่งขึ้น + +หลังจากแก้ไขการเอียง, ขั้นตอนต่อไปคือทำให้ข้อความเด่นชัด. `ContrastBoostFilter` ขยายช่วงความเข้มของพิกเซล, ซึ่งเป็นประโยชน์อย่างยิ่งสำหรับการพิมพ์ที่ซีด. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**ทำไมจึงช่วยได้:** +การสแกนที่คอนทราสต์ต่ำทำให้เกิดอักขระสีเทาที่อาจถูกตัวแปลงเป็นไบนารีตีดเป็นพื้นหลัง. การเพิ่มคอนทราสต์ทำให้พิกเซลสีเข้มเข้มขึ้นและพิกเซลสีอ่อนอ่อนขึ้น, ให้ `BinarizationFilter` ถัดไปมีพื้นผิวที่สะอาดขึ้น. + +--- + +## ทำ OCR บนภาพ – การโหลดไฟล์ + +ตอนนี้ภาพได้ผ่านการเตรียมล่วงหน้าแล้ว, เราต้อง **load image for OCR**. Aspose มีตัวช่วย `ImageStream.FromFile` ที่สะดวก. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +หากภาพของคุณอยู่ในสตรีม (เช่นอัปโหลดผ่านเว็บ API), คุณสามารถใช้ `ImageStream.FromStream(yourStream)` แทนได้. เครื่องยนต์รองรับ BMP, JPEG, PNG, TIFF, และอื่น ๆ อีกมาก. + +--- + +## รันกระบวนการจดจำและ **extract text from scan** + +เมื่อทุกอย่างเชื่อมต่อแล้ว, การเรียก `Recognize()` จะทำงานหนัก. หลังจากเรียก, ข้อความที่จดจำได้จะพร้อมใช้งานผ่าน `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**ผลลัพธ์ที่คาดหวัง** (ตัวอย่างสำหรับใบแจ้งหนี้ง่าย): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +หากผลลัพธ์ดูเป็นอักขระผสม, ตรวจสอบลำดับของ pipeline อีกครั้ง—แก้เอียงก่อน, จากนั้นลดนอยส์, เพิ่มคอนทราสต์, และสุดท้ายไบนารีตีด. การสลับลำดับอาจทำให้ผลลัพธ์แย่ลง. + +--- + +## ข้อผิดพลาดทั่วไปและกรณีขอบ + +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|--------|---------| +| **ผลลัพธ์ว่าง** | ภาพมืดเกินไปหรือสว่างเกินไปสำหรับวิธีไบนารีตีดเริ่มต้น. | เพิ่ม `ContrastBoostFilter.Strength` หรือเปลี่ยนเป็น `BinarizationMethod.Otsu`. | +| **ข้อความบางส่วนหาย** | ยังมีนอยส์เหลืออยู่หลังการลดนอยส์. | ใช้ `DenoiseLevel.Medium` สำหรับภาพที่น้อยนอยส์, หรือเพิ่ม `DenoiseFilter` ตัวที่สอง. | +| **ทิศทางการหมุนผิด** | เอกสารมีการวางแนวผสม (เช่น ภาพถ่ายของหน้าที่หมุน). | ตั้งค่า `DeskewFilter.MaxAngle` ต่ำลงด้วยตนเองและหมุนภาพล่วงหน้าด้วย `ImageProcessor.Rotate`. | +| **ประสิทธิภาพช้าลง** | ชุดใหญ่ของภาพความละเอียดสูง. | ลดขนาดภาพ (`ImageProcessor.Resize`) ก่อน pipeline, หรือประมวลผลแบบขนาน (`Parallel.ForEach`). | + +--- + +## ตัวอย่างทำงานเต็มรูปแบบ (พร้อมคัดลอก‑วาง) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +บันทึกไฟล์นี้เป็น `Program.cs`, รัน `dotnet run`, และดูคอนโซลพิมพ์ผลลัพธ์ **extract text from scan**. + +--- + +## ขั้นตอนต่อไป & หัวข้อที่เกี่ยวข้อง + +* **Batch processing** – ห่อหุ้มตรรกะข้างต้นในลูปเพื่อจัดการหลายสิบไฟล์. +* **Custom language packs** – หากคุณต้องการอ่านสคริปต์ที่ไม่ใช่ละติน, โหลดโมเดลภาษาโดยใช้ `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **PDF output** – ผสาน Aspose.PDF กับ OCR เพื่อฝังข้อความที่ค้นหาได้โดยตรงลงในไฟล์ PDF. +* **Performance tuning** – ทดลองจัดลำดับ `ImageProcessingPipeline`; บางครั้งการลดนอยส์ก่อนการแก้เอียงให้ผลลัพธ์เร็วขึ้นในภาพที่มีนอยส์. + +ทั้งหมดนี้สร้างบนแนวคิดหลักที่เราได้ครอบคลุม: **how to deskew image**, **how to boost contrast**, **load image for OCR**, **perform OCR on image**, และสุดท้าย **extract text from scan**. + +--- + +## สรุป + +เราเพิ่งแสดงวิธีที่สมบูรณ์และพร้อมใช้งานในผลิตภัณฑ์เพื่อ **how to deskew image** และรัน OCR ใน C#. ด้วยการต่อเชื่อม filter การแก้เอียง, ขั้นตอนการลดนอยส์, การเพิ่มคอนทราสต์, และ binarizer, คุณจะได้อินพุตที่สะอาดซึ่งทำให้ Aspose OCR สามารถ **extract text from scan** ได้อย่างเชื่อถือได้. + +ลองรันโค้ด, ปรับพารามิเตอร์ของ filter ให้เหมาะกับเอกสารของคุณ, แล้วคุณจะเห็นว่าความแม่นยำของการจดจำเพิ่มขึ้นเร็วแค่ไหน. มีคำถาม? แสดงความคิดเห็นได้เลย, และขอให้สนุกกับการเขียนโค้ด! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/thai/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..67a647dd2 --- /dev/null +++ b/ocr/thai/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,266 @@ +--- +category: general +date: 2026-03-07 +description: วิธีทำ OCR บนภาพภาษาจีนด้วย Aspose OCR. เรียนรู้การสกัดข้อความภาษาจีน, + แปลงภาพเป็น ePub, และเพิ่มความแม่นยำของ OCR ในบทเรียนเดียว. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: th +og_description: วิธีทำ OCR บนภาพภาษาจีนด้วย Aspose OCR. รับโค้ดขั้นตอนต่อขั้นตอนเพื่อดึงข้อความภาษาจีน, + ปรับปรุง OCR, และส่งออกเป็น ePub. +og_title: วิธีทำ OCR บนภาพจีน – คู่มือ C# ครบถ้วน +tags: +- OCR +- C# +- Aspose +title: วิธีทำ OCR บนภาพภาษาจีน – คู่มือ C# ฉบับสมบูรณ์ +url: /th/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีทำ OCR บนรูปภาพภาษาจีน – คู่มือ C# ฉบับสมบูรณ์ + +เคยสงสัย **วิธีทำ OCR** บนรูปที่มีอักขระภาษาจีนหรือไม่? คุณไม่ได้เป็นคนเดียว ในหลายแอป—สแกนใบเสร็จ, ดิจิไทซ์ตำราเรียน, หรือสร้างเครื่องมือค้นหาหลายภาษา—การดึงข้อความที่สะอาดจากภาพเป็นฟีเจอร์ที่สำคัญต่อความสำเร็จ + +ในบทเรียนนี้เราจะพาคุณผ่านโซลูชันจริงที่ **สกัดข้อความภาษาจีน**, บันทึกผลลัพธ์ลงไฟล์ข้อความธรรมดา, และแม้กระทั่ง **แปลงภาพเป็น ePub** สำหรับเครื่องอ่านอีบุ๊ค ระหว่างทางเราจะพูดถึง **วิธีปรับปรุงความแม่นยำของ OCR**, ทำไมคุณควรเปิดโหมด GPU, และสิ่งที่ต้องทำเพื่อ **จดจำภาษาจีนแบบ Simplified** อย่างถูกต้อง + +เมื่อจบคู่มือคุณจะมีโปรแกรม C# ที่รันได้เต็มรูปแบบ, เคล็ดลับปฏิบัติหลายอย่าง, และแนวคิดชัดเจนเกี่ยวกับขั้นตอนต่อไปที่คุณสามารถทำได้ (เช่น การตรวจจับภาษา หรือการประมวลผลเป็นชุด). ไม่ต้องอ้างอิงเอกสารภายนอก—ทุกอย่างที่คุณต้องการอยู่ที่นี่ + +## สิ่งที่คุณต้องมี + +- .NET 6+ (หรือ .NET Core 3.1 พร้อม Aspose OCR for .NET) +- ไลเซนส์ Aspose OCR for .NET ที่ถูกต้อง (รุ่นทดลองฟรีก็ใช้ได้สำหรับการทดลอง) +- ไฟล์รูปภาพที่มีอักขระภาษาจีน Simplified (เช่น `chinese_sample.jpg`) +- Visual Studio 2022 หรือเครื่องมือแก้ไข C# ใด ๆ ที่คุณชอบ + +หากคุณขาดส่วนใดส่วนหนึ่ง ให้ดาวน์โหลดแพ็กเกจ NuGet ตอนนี้: + +```bash +dotnet add package Aspose.OCR +``` + +เท่านี้—ไม่มีไลบรารีเนทีฟเพิ่มเติม, ไม่มี COM interop, เพียงแพ็กเกจ .NET เดียว + +## วิธีทำ OCR – ตั้งค่า Aspose OCR Engine + +สิ่งแรกที่คุณต้องทำคือสร้างและกำหนดค่า OCR engine ขั้นตอนนี้สำคัญมากเพราะการตั้งค่าของ engine จะกำหนด **ประสิทธิภาพของ OCR** บนอักขระภาษาจีนและความเร็วในการทำงาน + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**ทำไมจึงสำคัญ:** +- **Language = ChineseSimplified** บอก Aspose ให้โหลดชุดอักขระสำหรับ Simplified Chinese ซึ่งลดการจดจำผิดอย่างมาก +- **EngineMode.Gpu** สามารถลดเวลาในการประมวลผลได้ครึ่งหนึ่งบน GPU สมัยใหม่, แต่จะสลับกลับไปใช้ CPU หากไม่มี GPU +- **DeskewFilter** ลบการเอียงที่มักเกิดเมื่อผู้ใช้ถ่ายรูปด้วยโทรศัพท์ +- **Sauvola binarization** สร้างภาพขาว‑ดำคอนทราสต์สูง, เทคนิคคลาสสิกในการเพิ่มความแม่นยำของ OCR บนสคริปต์หนาเช่นภาษาจีน + +> **เคล็ดลับมืออาชีพ:** หากคุณทำงานกับภาพที่แสงน้อย, ให้เพิ่ม `ContrastFilter` ก่อนทำ binarization. ไม่จำเป็นสำหรับตัวอย่างของเรา, แต่มักช่วยลดปัญหาได้หลายกรณี + +![แผนภาพการทำ OCR pipeline](ocr-pipeline.png "แผนภาพการทำ OCR pipeline") + +> *ข้อความแทนภาพ:* แผนภาพการทำ OCR pipeline + +## สกัดข้อความภาษาจีนจากภาพ + +ตอนนี้ engine พร้อมแล้ว, เราโหลดภาพและให้ engine ทำงาน นี่คือหัวใจของ **extract chinese text** + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**สิ่งที่คุณควรเห็น:** +หาก `chinese_sample.jpg` มีข้อความ “中华人民共和国”, ไฟล์ `out.txt` จะมีอักขระเหล่านั้นโดยตรง—ไม่มีช่องว่างเพิ่ม, ไม่มีตัวอักษรละตินที่ผิดรูป + +### ข้อผิดพลาดทั่วไป + +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|--------|--------| +| ตัวอักษรหาย | ภาพมีสัญญาณรบกวนมาก | เพิ่ม `MedianFilter` ก่อนทำ binarization | +| ตรวจจับภาษาผิด | `Language` ตั้งเป็น `English` | ตรวจสอบให้ `Language = Language.ChineseSimplified` | +| ประมวลผลช้า | ไม่ได้เปิด GPU | ยืนยันว่าเครื่องของคุณมีไดรเวอร์ CUDA ที่รองรับ | + +## แปลงภาพเป็น ePub + +หลายคนถามว่า, *“ฉันสามารถแปลงหน้าที่สแกนเป็น e‑book ที่อ่านได้หรือไม่?”* แน่นอน—Aspose OCR มีตัวส่งออก ePub ซึ่งตอบสนองความต้องการ **convert image to epub** + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +ไฟล์ `out.epub` ที่สร้างขึ้นจะมีข้อความภาษาจีนที่สกัดได้, เข้ารหัสเป็น UTF‑8 อย่างถูกต้อง, และสามารถเปิดได้ใน Kindle, Apple Books หรือโปรแกรมอ่าน ePub ใด ๆ + +**ทำไมต้องใช้ ePub?** +- เป็นรูปแบบที่ปรับขนาดได้, ผู้อ่านสามารถเปลี่ยนขนาดฟอนต์โดยไม่ทำลายเลย์เอาต์ +- รูปแบบนี้ทำให้ข้อความสามารถค้นหาได้, มีประโยชน์สำหรับการทำดัชนีในภายหลัง + +## วิธีปรับปรุง OCR – เทคนิคปฏิบัติ + +แม้จะมี pipeline ที่มั่นคง, คุณอาจยังเจอการจดจำผิดบ้าง นี่คือเช็คลิสต์สั้น ๆ สำหรับ **how to improve OCR** บนเอกสารภาษาจีน: + +1. **ทำการพรี‑โปรเซสภาพ** – ใช้ `GaussianBlurFilter` เพื่อลดจุดรบกวน, แล้วตามด้วย `ContrastFilter` เพื่อทำให้ขอบคมชัด +2. **ตั้งค่า DPI สูง** – หากคุณควบคุมกระบวนการสแกน, ควรตั้งที่ 300 dpi หรือสูงกว่า; ภาพความละเอียดต่ำจะสูญเสียรายละเอียดของเส้น +3. **เปิดการตรวจจับภาษา** – Aspose สามารถตรวจจับภาษาอัตโนมัติ; ผสานกับ fallback ไปยัง Simplified Chinese หากการตรวจจับล้มเหลว +4. **ปรับแต่ง binarization** – เปลี่ยนจาก `Sauvola` ไปเป็น `Otsu` หากพื้นหลังเป็นสีอ่อนสม่ำเสมอ +5. **ประมวลผลเป็นชุด** – ประมวลผลหลายหน้าแบบขนานด้วย `Parallel.ForEach` เพื่อใช้ประโยชน์จาก CPU หลายคอร์ + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## จดจำ Simplified Chinese – กรณีขอบเขต + +วลี **recognize simplified Chinese** มักทำให้ผู้เริ่มต้นสับสน เพราะ engine เดียวกันสามารถจัดการ Traditional Chinese, Japanese, หรือ Korean ได้ เพื่อให้ผลลัพธ์เป็นแบบกำหนดได้: + +- **ตั้งค่าภาษาอย่างชัดเจน** (เช่นในขั้นตอนที่ 1) +- **หลีกเลี่ยงหน้าที่มีหลายภาษา**; หากหน้าหนึ่งผสม Simplified Chinese กับ English, ควรทำสองรอบ: หนึ่งรอบกับ `Language.ChineseSimplified`, อีกรอบกับ `Language.English` +- **ตรวจสอบผลลัพธ์** – หลังการจดจำ, รัน regex ง่าย ๆ เพื่อตรวจสอบว่าอักขระทั้งหมดอยู่ในช่วง Unicode `\u4E00‑\u9FFF` + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +หากการตรวจสอบล้มเหลว, คุณสามารถบันทึกหน้าดังกล่าวเพื่อการตรวจสอบด้วยมือ + +## ตัวอย่างทำงานเต็มรูปแบบ + +รวมทุกอย่างเข้าด้วยกัน, นี่คือไฟล์เดียวที่คุณสามารถคัดลอก‑วางลงในโปรเจกต์คอนโซลใหม่ (`Program.cs`). มีทุกขั้นตอน, การปรับแต่งเสริม, และบรรทัดสถานะสุดท้าย + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**ผลลัพธ์ที่คาดว่าจะเห็นในคอนโซล (ตัวอย่าง):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +รันโปรแกรม, เปิด `out.txt` หรือ `out.epub`, คุณจะเห็นอักขระภาษาจีนที่สะอาด, ค้นหาได้, พร้อมสำหรับการประมวลผลต่อไป + +## สรุป + +เราได้อธิบาย **how to perform OCR** บนรูปภาพภาษาจีนตั้งแต่ต้นจนจบ, แสดงวิธี **extract Chinese text**, **convert the result to an ePub**, และนำเสนอเคล็ดลับหลายอย่าง + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/text-recognition/_index.md b/ocr/thai/net/text-recognition/_index.md index 7001ea592..5f55de12d 100644 --- a/ocr/thai/net/text-recognition/_index.md +++ b/ocr/thai/net/text-recognition/_index.md @@ -55,9 +55,18 @@ url: /th/net/text-recognition/ ปลดล็อกศักยภาพของ OCR ใน .NET ด้วย Aspose.OCR แยกข้อความจาก PDF ได้อย่างง่ายดาย ดาวน์โหลดทันทีเพื่อประสบการณ์การบูรณาการที่ราบรื่น ### [จดจำตารางในการจดจำรูปภาพ OCR](./recognize-table/) ปลดล็อกศักยภาพของ Aspose.OCR สำหรับ .NET ด้วยคำแนะนำที่ครอบคลุมเกี่ยวกับการจดจำตารางในการจดจำรูปภาพ OCR +### [จดจำข้อความภาษาฮินดีใน C# – คู่มือ Aspose OCR ฉบับสมบูรณ์](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +เรียนรู้วิธีจดจำข้อความภาษาฮินดีใน C# ด้วย Aspose OCR อย่างละเอียดและครบถ้วน +### [จดจำข้อความจากรูปภาพใน C# – คู่มือ Aspose OCR ฉบับสมบูรณ์](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +เรียนรู้วิธีจดจำข้อความจากรูปภาพใน C# อย่างละเอียดด้วย Aspose OCR พร้อมขั้นตอนครบถ้วน +### [ดึงข้อความจาก PNG ใน C# – คู่มือ OCR ฉบับเต็ม](./extract-text-from-png-in-c-full-ocr-guide/) +### [วิธีสร้าง ePub จากรูปภาพใน C# – คู่มือขั้นตอนต่อขั้นตอน](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +### [วิธีใช้ OCR ใน C# – ดึงข้อความจากรูปภาพแบบออฟไลน์](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +เรียนรู้วิธีใช้ Aspose.OCR ใน C# เพื่อดึงข้อความจากรูปภาพโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต ด้วยขั้นตอนง่าย ๆ + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/thai/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..d1319a53b --- /dev/null +++ b/ocr/thai/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,253 @@ +--- +category: general +date: 2026-03-07 +description: ดึงข้อความจากไฟล์ PNG ด้วย C# เรียนรู้วิธีแปลงภาพเป็นข้อความด้วย C# และอ่านข้อความจากภาพสแกนได้อย่างรวดเร็ว +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: th +og_description: ดึงข้อความจากไฟล์ PNG ด้วย C#. คู่มือนี้แสดงวิธีแปลงภาพเป็นข้อความด้วย + C# และอ่านข้อความจากภาพสแกนด้วย Aspose OCR. +og_title: สกัดข้อความจากไฟล์ PNG ด้วย C# – คู่มือ OCR ฉบับเต็ม +tags: +- OCR +- C# +- Aspose +- Image Processing +title: ดึงข้อความจาก PNG ด้วย C# – คู่มือ OCR แบบเต็ม +url: /th/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# ดึงข้อความจาก PNG ใน C# – คู่มือ OCR ฉบับเต็ม + +เคยต้องการ **extract text from PNG** ไฟล์แต่ไม่แน่ใจว่าจะเริ่มต้นอย่างไรหรือไม่? คุณไม่ได้อยู่คนเดียว—นักพัฒนาส่วนใหญ่เคยเจออุปสรรคนี้เมื่อต้องเผชิญกับกราฟิกที่สแกนหรือภาพหน้าจอที่ต้องการแปลงเป็นข้อความที่ค้นหาได้ ข่าวดีคือ? ด้วยไม่กี่บรรทัดของ C# และ Aspose OCR คุณสามารถเปลี่ยน PNG ใดก็ได้เป็นสตริงที่แก้ไขได้ในพริบตา + +ในบทแนะนำนี้เราจะเดินผ่านกระบวนการทั้งหมด: ตั้งแต่การค้นหา PNG บนดิสก์, การเปิดใช้งานงาน OCR แบบขนาน, ไปจนถึงการแสดงตัวอย่างที่เรียบร้อยของแต่ละผลลัพธ์. เมื่อเสร็จคุณจะรู้วิธี **convert image to text C#** แบบ, คุณจะสามารถ **read text from scanned images** อย่างมีประสิทธิภาพ, และคุณยังจะเห็นวิธีที่ดีที่สุดในการ **run OCR on images** โดยไม่ทำให้ UI thread ของคุณพัง + +## สิ่งที่คุณต้องการ + +- .NET 6.0 หรือใหม่กว่า (โค้ดทำงานบน .NET Core และ .NET Framework ด้วยเช่นกัน) +- แพ็กเกจ NuGet ของ Aspose.OCR (`Install-Package Aspose.OCR`) +- โฟลเดอร์ที่เต็มไปด้วยไฟล์ *.png* ที่คุณต้องการประมวลผล +- IDE ใดก็ได้ที่คุณชอบ (Visual Studio, VS Code, Rider…) + +ไม่จำเป็นต้องกำหนดค่าเพิ่มเติม; ไลบรารีมาพร้อมกับทุกอย่างที่จำเป็นสำหรับการถอดรหัส PNG, JPEG, TIFF, หรืออะไรก็ตามที่คุณต้องการ + +## ขั้นตอนที่ 1: ค้นหาไฟล์ PNG ทั้งหมด – เริ่ม “Extract Text from PNG” + +ก่อนอื่นเราต้องค้นหา PNG ทุกไฟล์ที่เราตั้งใจจะทำ OCR. การใช้ `Directory.GetFiles` เป็นวิธีที่รวดเร็วและเชื่อถือได้. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*ทำไมเรื่องนี้ถึงสำคัญ:* การสแกนไดเรกทอรีครั้งเดียวทำให้ส่วนที่เหลือของ pipeline ง่ายขึ้น, และการตรวจสอบตั้งแต่ต้นป้องกันสถานการณ์ “no‑output” ที่เงียบซึ่งอาจแก้ไขได้ยากในภายหลัง. + +## ขั้นตอนที่ 2: สร้างงาน OCR แบบขนาน – อย่างมีประสิทธิภาพ **run OCR on images** + +การทำ OCR อย่างต่อเนื่องนั้นเหมาะสำหรับไฟล์จำนวนไม่มาก, แต่โครงการในโลกจริงมักต้องจัดการกับหลายสิบหรือหลายร้อยไฟล์. โดยการเปิด `Task` ต่อภาพ เราจะทำให้ CPU ทำงานอย่างเต็มที่ในขณะที่ไลบรารีทำงานหนักของมัน. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*เคล็ดลับ:* `Task.Run` ย้ายงานไปยัง thread pool, ซึ่งหมายความว่า UI ของคุณ (หากมี) จะตอบสนองได้. หากคุณอยู่บนเซิร์ฟเวอร์, รูปแบบเดียวกันจะขยายได้ดีบนหลายคอร์. + +## ขั้นตอนที่ 3: รอทุก Task – รวบรวมผลลัพธ์ + +ตอนนี้เรารอให้ทุกการทำ OCR เสร็จสิ้น. `Task.WhenAll` ส่งกลับอาเรย์ที่เรียงตามลำดับไฟล์เดิม, ทำให้จับคู่ผลลัพธ์กับชื่อไฟล์ได้ง่าย. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*หมายเหตุกรณีขอบ:* หากภาพใดภาพหนึ่งทำให้เกิดข้อผิดพลาด (ไฟล์เสีย, ฟอร์แมตที่ไม่รองรับ) `WhenAll` ทั้งหมดจะส่งต่อข้อยกเว้น. คุณสามารถห่อ `Task.Run` ภายในด้วย try/catch และคืนค่าเป็นสตริงว่างหรือข้อความวินิจฉัยหากต้องการความทนทานต่อข้อผิดพลาด. + +## ขั้นตอนที่ 4: แสดงตัวอย่าง – ตรวจสอบผลลัพธ์ **convert image to text C#** + +การแสดงตัวอย่างอย่างรวดเร็วช่วยให้คุณยืนยันว่า OCR ทำงานได้ก่อนที่คุณจะเริ่มบันทึกข้อมูลที่อื่น. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +ผลลัพธ์คอนโซลทั่วไปจะเป็นเช่นนี้: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +หากตัวอย่างแสดงข้อความไร้สาระ, ตรวจสอบคุณภาพของภาพอีกครั้งหรือพิจารณาการประมวลผลล่วงหน้า (เช่น การทำไบนารี) – แต่สำหรับ PNG ที่สะอาดส่วนใหญ่ Aspose OCR จะทำได้ถูกต้องตั้งแต่ครั้งแรก. + +## ตัวเลือก: บันทึกผลลัพธ์เป็น CSV – กรณีใช้งานจริง + +โครงการส่วนใหญ่ต้องการข้อความที่ดึงออกมาในรูปแบบโครงสร้าง. ด้านล่างเป็นตัวช่วยขนาดเล็กที่เขียนชื่อไฟล์และข้อความ OCR ทั้งหมดลงในไฟล์ CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +ตอนนี้คุณสามารถนำเข้า CSV ไปยัง Excel, Power BI, หรือระบบ downstream ใด ๆ ที่คาดหวัง **read text from scanned images**. + +## คำถามที่พบบ่อย + +**ถ้า PNG ของฉันมีขนาดใหญ่ (เกิน 5 MB) จะทำอย่างไร?** +Aspose OCR จะทำการ down‑sample ภาพขนาดใหญ่โดยอัตโนมัติเพื่อให้การใช้หน่วยความจำอยู่ในระดับที่เหมาะสม, แต่คุณสามารถปรับขนาดด้วยตนเองโดยใช้ `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` เพื่อจำกัดความกว้างที่ 2000 px พร้อมคงอัตราส่วน. + +**ฉันสามารถรันนี้บน Linux ได้หรือไม่?** +ได้. Aspose OCR เป็นแบบข้ามแพลตฟอร์ม; เพียงตรวจสอบให้แน่ใจว่าติดตั้ง dependencies เนทีฟ (`libgdiplus` บนบางดิสโทร) แล้ว. + +**ภาษาของ OCR ตั้งค่าเป็นอังกฤษโดยค่าเริ่มต้นหรือไม่?** +ถูกต้อง. หากคุณต้องการภาษาอื่น, ตั้งค่า `engine.Language = OcrLanguage.French;` (หรือ enum ที่รองรับใด ๆ) ก่อนเรียก `Recognize()`. + +**ฉันจะจัดการกับ PDF ที่ป้องกันด้วยรหัสผ่านและมี PNG อย่างไร?** +แปลงหน้าของ PDF เป็นภาพก่อน (โดยใช้ Aspose PDF หรือไลบรารีอื่น), จากนั้นส่ง PNG เหล่านั้นเข้าสู่ pipeline เดียวกัน. หลักการของ **how to run OCR on images** ยังคงเหมือนเดิม. + +## ตัวอย่างทำงานเต็ม (Async Main) + +ด้านล่างเป็นโปรแกรมแบบ self‑contained ที่คุณสามารถคัดลอกและวางลงในโปรเจกต์คอนโซล. มันรวมทุกส่วนที่กล่าวมาข้างต้น, พร้อมตัวช่วยขนาดเล็กเพื่อยืนยันโฟลเดอร์อินพุต. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**ผลลัพธ์ที่คาดหวัง** (ตัวอย่างสำหรับ PNG สองไฟล์): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## สรุป + +เราได้ครอบคลุมทุกอย่างที่คุณต้องการเพื่อ **extract text from PNG** ไฟล์โดยใช้ C#. ตั้งแต่การค้นหาไฟล์, การเปิดงาน OCR แบบขนาน, การแสดงตัวอย่างสตริง, จนถึงการบันทึกลง CSV—คู่มือนี้ให้รูปแบบพร้อมใช้งานในผลิตภัณฑ์สำหรับสถานการณ์ **convert image to text C#**. + +หากคุณพร้อมสำหรับขั้นตอนต่อไป, ลองป้อนไฟล์ JPEG หรือ TIFF ผ่าน pipeline เดียวกัน, ทดลองใช้ภาษาต่าง ๆ ของ OCR, หรือเชื่อมผลลัพธ์เข้ากับดัชนีการค้นหาเพื่อที่คุณจะสามารถ **read text from scanned images** ได้ทันที. + +มีคำถามเกี่ยวกับกรณีขอบ, การปรับประสิทธิภาพ, หรือการให้สิทธิ์ใช้งาน? แสดงความคิดเห็นหรือทักคอมมูนิตี้ของ Aspose — โค้ดให้สนุก! + +![Extract text from PNG example](extract-text-png.png "Extract text from PNG using Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/thai/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..a524eca6a --- /dev/null +++ b/ocr/thai/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,232 @@ +--- +category: general +date: 2026-03-07 +description: วิธีสร้าง ePub จากภาพสแกนโดยใช้ Aspose OCR – เรียนรู้การแปลงภาพเป็น ePub, + การดึงข้อความจากภาพ, การเพิ่มผู้เขียนลงใน ePub, และการโหลดภาพสำหรับ OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: th +og_description: วิธีสร้าง ePub จากภาพสแกนใน C# บทเรียนนี้จะแสดงวิธีแปลงภาพเป็น ePub, + ดึงข้อความจากภาพ, เพิ่มผู้เขียนลงใน ePub, และโหลดภาพเพื่อทำ OCR. +og_title: วิธีสร้าง ePub จากรูปภาพด้วย C# – คู่มือฉบับสมบูรณ์ +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: วิธีสร้าง ePub จากรูปภาพใน C# – คู่มือขั้นตอนต่อขั้นตอน +url: /th/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีสร้าง ePub จากรูปภาพใน C# – คู่มือฉบับสมบูรณ์ + +เคยสงสัยไหมว่า **how to create ePub** จากชุดของหน้าที่สแกน? บางทีคุณอาจมี PNG จำนวนไม่กี่ไฟล์ของนวนิยายคลาสสิกและต้องการแปลงให้เป็น ePub ที่เรียบร้อยซึ่งสามารถอ่านได้บนอุปกรณ์ใดก็ได้ ข่าวดีคือด้วย Aspose OCR คุณสามารถ **load image for OCR**, ดึงข้อความออกมา, แล้ว **convert image to ePub** เพียงไม่กี่บรรทัดของ C#. + +ในบทแนะนำนี้เราจะเดินผ่านกระบวนการทั้งหมด: โหลดรูปภาพ, ดึงข้อความ, เติม metadata บางส่วน (ใช่, เราจะ **add author to epub**), และสุดท้ายเขียนไฟล์ ePub ที่เป็นไปตามมาตรฐาน. เมื่อเสร็จคุณจะมี ePub พร้อมเผยแพร่และเข้าใจแต่ละขั้นตอนอย่างชัดเจน, เพื่อให้คุณสามารถปรับโค้ดสำหรับหนังสือหลายหน้า, ฟอนต์กำหนดเอง, หรือแม้กระทั่งการแจกจ่ายแบบไม่มี DRM. + +## สิ่งที่คุณต้องเตรียม + +- **.NET 6** หรือใหม่กว่า (API ทำงานกับ .NET Standard 2.0+ ด้วย) +- **Aspose.OCR for .NET** – คุณสามารถดาวน์โหลดเวอร์ชันทดลองฟรีจากเว็บไซต์ของ Aspose. +- ภาพสแกนเช่น `book_page.png` ที่จัดเก็บไว้ที่ใดที่หนึ่งบนดิสก์. +- IDE ที่คุณชื่นชอบ (Visual Studio, Rider, หรือ VS Code – ฉันจะใช้ Visual Studio ในภาพหน้าจอ). + +ไม่จำเป็นต้องติดตั้งแพ็คเกจ NuGet เพิ่มเติม; Aspose.OCR มีทุกอย่างที่คุณต้องการสำหรับการส่งออก ePub อยู่ในตัว. + +--- + +![วิธีสร้าง ePub จากภาพสแกน](/images/how-to-create-epub.png "วิธีสร้าง ePub จากภาพสแกนโดยใช้ Aspose OCR") + +## ขั้นตอนที่ 1 – ตั้งค่าโปรเจกต์และติดตั้ง Aspose.OCR + +เริ่มต้นกันก่อน. สร้างแอปคอนโซลใหม่: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +เพิ่มแพคเกจ Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +เท่านี้ – ไลบรารีมาพร้อมกับความสามารถ OCR และการส่งออก ePub, ดังนั้นคุณจะไม่ต้องการ dependencies เพิ่มเติม. + +## ขั้นตอนที่ 2 – Load Image for OCR + +ก่อนที่เราจะ **extract text from image**, เราต้องให้เครื่อง OCR มีสิ่งที่อ่าน. ตัวช่วย `ImageStream.FromFile` ทำให้เรื่องนี้ง่ายมาก: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro tip:** หากภาพของคุณอยู่ใน resource ที่ฝังไว้, ให้ใช้ `ImageStream.FromResource` แทน `FromFile`. + +## ขั้นตอนที่ 3 – Extract Text from Image + +ตอนนี้เครื่องจะอ่านพิกเซลและแปลงเป็นสตริง Unicode. เมธอด `Recognize` ทำงานหนักส่วนนี้. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +ทำไมต้องเรียก `Recognize` แยกออก? มันทำให้คุณตรวจสอบผลลัพธ์ OCR ดิบ, ปรับตั้งค่าภาษา, หรือแม้กระทั่งทำการตรวจสอบการสะกดก่อนที่จะไปสู่การสร้าง ePub. + +## ขั้นตอนที่ 4 – Prepare ePub Export Options (Add Author to ePub) + +การสร้าง ePub ที่เรียบร้อยไม่ใช่แค่การใส่ข้อความ; คุณยังต้องการ metadata ที่เหมาะสม. คลาส `EpubExportOptions` ให้วิธีที่สะอาดในการ **add author to epub**, ตั้งชื่อเรื่อง, และกำหนดว่าจะฝังภาพต้นฉบับหรือไม่. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +หากคุณมีหลายหน้า, คุณสามารถเรียก `ocrEngine.Image = …` และ `ocrEngine.Recognize()` ภายในลูปต่อเนื่อง; ทุกการเรียกจะเพิ่มเนื้อหาของหน้าที่ใหม่ลงในเอกสาร ePub เดียวกัน. + +## ขั้นตอนที่ 5 – Convert Image to ePub and Export + +เมื่อดึงข้อความและตั้งค่า metadata แล้ว, ขั้นตอนสุดท้ายคือบรรทัดเดียวที่เขียนไฟล์ ePub ลงดิสก์: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +ไฟล์ `book.epub` ที่ได้สามารถเปิดใน Calibre, Apple Books, หรือโปรแกรมอ่าน EPUB ใดก็ได้. เนื่องจากเราตั้งค่า `IncludeImages = true`, PNG ต้นฉบับจะปรากฏเป็นหน้าภาพ, รักษาลักษณะของแหล่งสแกน. + +## ตัวอย่างการทำงานเต็มรูปแบบ + +เมื่อนำทั้งหมดมารวมกัน, นี่คือโปรแกรมที่สมบูรณ์พร้อมรัน: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### ผลลัพธ์ที่คาดหวัง + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +เปิด `book.epub` ในโปรแกรมอ่านที่คุณชื่นชอบและคุณจะเห็นหน้าปก, บรรทัดผู้เขียน (แม้จะเป็น “Unknown”), และภาพสแกนที่แสดงพร้อมกับข้อความที่สามารถเลือกได้. + +## คำถามทั่วไปและกรณีขอบ + +### ถ้าภาษา OCR ไม่ใช่ภาษาอังกฤษ? + +Aspose.OCR รองรับมากกว่า 70 ภาษา. เพียงตั้งค่า property `Language` ก่อนเรียก `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### จะจัดการหนังสือหลายหน้าอย่างไร? + +ห่อหุ้มตรรกะการโหลด/การจดจำในลูป `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +แต่ละรอบจะเพิ่มข้อความที่จดจำใหม่ลงใน ePub เดียวกัน, รักษาลำดับหน้า. + +### ฉันสามารถยกเว้นภาพต้นฉบับได้หรือไม่? + +ได้ – ตั้งค่า `IncludeImages = false` ใน `EpubExportOptions`. ePub ที่ได้จะเป็นข้อความที่ไหลได้อย่างเดียว, ซึ่งทำให้ขนาดไฟล์ลดลงอย่างมาก. + +### แล้วฟอนต์หรือสไตล์ที่กำหนดเองล่ะ? + +ตัวส่งออก ePub ของ Aspose.OCR ให้คุณระบุไฟล์สไตล์ CSS ผ่าน property `Css` ของ `EpubExportOptions`. วิธีนี้คุณสามารถบังคับใช้ฟอนต์ที่กำหนด, ความสูงบรรทัด, หรือระยะขอบ. + +## สรุป + +ตอนนี้คุณรู้ **how to create ePub** จากภาพสแกนโดยใช้ Aspose OCR ใน C# แล้ว. บทแนะนำครอบคลุมทุกอย่างตั้งแต่ **load image for OCR**, ผ่าน **extract text from image**, ไปจนถึง **add author to epub**, และสุดท้าย **convert image to epub** ด้วยการเรียกส่งออกครั้งเดียว. ด้วยตัวอย่างโค้ดเต็มคุณสามารถขยายโซลูชันเพื่อประมวลผลหลายไฟล์ในชุด, ใส่ภาพปกที่กำหนดเอง, หรือแม้กระทั่งรวม workflow นี้เข้าใน Web API. + +พร้อมสำหรับความท้าทายต่อไปหรือยัง? ลองแปลง PDF เป็น ePub, หรือทดลองปรับค่าเกณฑ์ความเชื่อมั่นของ OCR เพื่อเพิ่มความแม่นยำบนสแกนที่มีเสียงรบกวน. ไม่มีขีดจำกัดเมื่อคุณผสาน OCR ที่ทรงพลังกับการสร้าง ePub ที่ยืดหยุ่น. + +ขอให้เขียนโค้ดอย่างสนุกสนาน, และเพลิดเพลินกับการอ่าน ePub ที่คุณสร้างใหม่! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/thai/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..c494fb2f2 --- /dev/null +++ b/ocr/thai/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-03-07 +description: เรียนรู้วิธีใช้ OCR ใน C# เพื่อดึงข้อความจากไฟล์รูปภาพ คู่มือนี้แสดงการใช้ + OCR แบบออฟไลน์ การแปลงรูปภาพเป็นข้อความ และการโหลดรูปภาพสำหรับ OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: th +og_description: วิธีใช้ OCR ใน C# เพื่อดึงข้อความจากภาพแบบออฟไลน์ โค้ดทีละขั้นตอน + เคล็ดลับ และคำอธิบายเต็มรูปแบบสำหรับการแปลงภาพเป็นข้อความ +og_title: วิธีใช้ OCR ใน C# – คู่มือเต็มรูปแบบแบบออฟไลน์ +tags: +- OCR +- C# +- Aspose +title: วิธีใช้ OCR ใน C# – แยกข้อความจากรูปภาพแบบออฟไลน์ +url: /th/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# วิธีใช้ OCR ใน C# – แยกข้อความจากรูปภาพแบบออฟไลน์ + +เคยสงสัย **how to use OCR** ในโครงการ .NET โดยไม่ต้องส่งข้อมูลไปยังคลาวด์หรือไม่? คุณไม่ได้เป็นคนเดียวที่คิดเช่นนั้น นักพัฒนาจำนวนมากต้องการ *extract text from image* จากไฟล์บนเวิร์กสเตชันที่ปลอดภัย และพวกเขากลัวว่าเครือข่ายอาจเปิดเผยข้อมูลที่ละเอียดอ่อน + +ข่าวดีคืออะไร? ด้วย Aspose.OCR คุณสามารถจดจำข้อความจาก PNG, JPEG หรือ PDF ได้อย่างเต็มรูปแบบแบบออฟไลน์ ในบทแนะนำนี้เราจะอธิบายขั้นตอนการโหลดรูปภาพสำหรับ OCR, การกำหนดค่าเอนจินสำหรับโหมดออฟไลน์, และสุดท้าย **convert image to text** ด้วยเพียงไม่กี่บรรทัดของ C# + +โดยเมื่อจบคู่มือคุณจะสามารถ: + +* ติดตั้งแพ็กเกจ NuGet ของ Aspose.OCR +* ตั้งค่า OCR engine สำหรับการประมวลผลแบบออฟไลน์ +* โหลดรูปภาพสำหรับ OCR และแยกเนื้อหาข้อความออกมา + +ไม่มีบริการภายนอก, ไม่มี API keys—เพียงโค้ด C# แท้ ๆ ที่ทำงานบน Windows หรือ Linux เครื่องใดก็ได้ + +--- + +## ข้อกำหนดเบื้องต้น + +ก่อนที่เราจะลงลึก, โปรดตรวจสอบว่าคุณมี: + +* .NET 6.0 SDK หรือรุ่นใหม่กว่า (โค้ดนี้ทำงานกับ .NET Framework 4.7+ ด้วย) +* Visual Studio 2022, VS Code หรือเครื่องมือแก้ไขใด ๆ ที่รองรับ C# +* สำเนาของไลบรารี **Aspose.OCR** – คุณสามารถดึงได้จาก NuGet (`Aspose.OCR`) +* โฟลเดอร์ทรัพยากร OCR (`Resources`) ที่มาพร้อมกับไลบรารี (มีไฟล์ข้อมูลภาษา) +* รูปภาพตัวอย่าง (เช่น `offline_test.png`) ที่วางไว้ในไดเรกทอรีที่รู้จัก + +> **Pro tip:** เก็บโฟลเดอร์ resources ไว้ข้างไฟล์ executable; จะทำให้การกำหนดค่า `ResourcesPath` ง่ายขึ้น + +## ขั้นตอนที่ 1: ติดตั้งแพ็กเกจ NuGet ของ Aspose.OCR + +แรกเริ่มให้เพิ่มไลบรารีเข้าในโปรเจกต์ของคุณ เปิดเทอร์มินัลในโฟลเดอร์โปรเจกต์และรัน: + +```bash +dotnet add package Aspose.OCR +``` + +หรือหากคุณชอบใช้ UI ของ Visual Studio, คลิกขวา **Dependencies → Manage NuGet Packages**, ค้นหา *Aspose.OCR*, แล้วคลิก **Install** + +> การติดตั้งแพ็กเกจจะดึงไบนารีที่จำเป็นทั้งหมดมาให้, ดังนั้นคุณจะไม่ต้องการ DLL เพิ่มเติมใด ๆ + +## ขั้นตอนที่ 2: สร้างและกำหนดค่า OCR Engine (How to Use OCR – Offline Mode) + +ตอนนี้เราจะสร้างอินสแตนซ์ของ OCR engine และบอกให้ทำงาน **offline** เพื่อให้แน่ใจว่าไม่มีการส่งข้อมูลผ่านเครือข่ายระหว่างการจดจำ + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Why offline?** +เมื่อ `EngineMode` ถูกตั้งเป็น `Online`, เอนจินจะติดต่อคลาวด์ของ Aspose เพื่อดาวน์โหลด language packs แบบเรียลไทม์ ในสภาพแวดล้อมที่มีการควบคุม (การเงิน, การดูแลสุขภาพ) การจราจรนี้มักถูกห้ามโดยนโยบาย การบังคับใช้โหมดออฟไลน์จึงรับประกันว่าทุกอย่างจะอยู่บนเครื่องท้องถิ่นเท่านั้น + +## ขั้นตอนที่ 3: ชี้เอนจินไปยังโฟลเดอร์ OCR Resources + +OCR engine ต้องการข้อมูลภาษา (โมเดลที่ฝึกแล้ว) เพื่อจดจำอักขระ บอกให้มันรู้ว่ามีไฟล์เหล่านั้นอยู่ที่ไหน: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +หากคุณไม่แน่ใจว่าโฟลเดอร์อยู่ที่ไหน, ให้ค้นหาในไดเรกทอรีของแพ็กเกจ NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). คัดลอกโฟลเดอร์ทั้งหมดเข้าไปในโปรเจกต์ของคุณเพื่อความง่ายในการปรับใช้ + +## ขั้นตอนที่ 4: โหลดรูปภาพสำหรับ OCR (Load Image for OCR) + +คุณสามารถป้อนรูปภาพ bitmap ที่รองรับใดก็ได้ ที่นี่เราจะโหลด PNG ที่เก็บบนดิสก์: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Tip:** หากต้องประมวลผลรูปภาพจากสตรีม (เช่นอัปโหลดผ่าน API), ให้ใช้ `ImageStream.FromStream(yourStream)` แทน + +## ขั้นตอนที่ 5: รันกระบวนการจดจำและ Convert Image to Text + +เมื่อทุกอย่างพร้อม, เรียกใช้ OCR. เมธอด `Recognize()` จะทำงานหนัก, และข้อความที่ดึงออกมาจะพร้อมใช้งานผ่านพร็อพเพอร์ตี้ `Text` + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +## ขั้นตอนที่ 6: แสดงข้อความที่ดึงออกมา + +สุดท้าย, แสดงผลลัพธ์. ในแอปคอนโซลคุณสามารถเขียนไปที่คอนโซลได้เลย, แต่ใน Web API คุณอาจคืนสตริงเป็น JSON + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +การรันโปรแกรมควรพิมพ์เนื้อหาข้อความของ `offline_test.png`. ตัวอย่างเช่น หากรูปภาพมีวลี *“Hello, World!”*, คุณจะเห็น: + +``` +=== OCR Result === +Hello, World! +``` + +## ตัวอย่างทำงานเต็มรูปแบบ + +ด้านล่างเป็นโปรแกรมที่พร้อมรันเต็มรูปแบบ คัดลอกและวางลงในโปรเจกต์คอนโซลใหม่ (`dotnet new console`) แล้วปรับเส้นทางให้ตรงกับสภาพแวดล้อมของคุณ + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Expected output:** คอนโซลจะแสดงข้อความที่อยู่ในไฟล์ PNG อย่างแม่นยำ หากรูปภาพเบลอ ผลลัพธ์อาจมีอักขระที่จดจำผิด — ดูส่วนการแก้ปัญหาต่อไปนี้ + +## Common Pitfalls & Tips (Recognize Text from PNG Efficiently) + +| ปัญหา | สาเหตุ | วิธีแก้ | +|-------|--------|----------| +| **Empty output** | ResourcesPath ชี้ไปยังโฟลเดอร์ผิดหรือไฟล์ภาษาไม่มี | ตรวจสอบว่าโฟลเดอร์มี `eng.traineddata` (หรือไฟล์ภาษาอื่น) และตรวจสอบสตริงพาธอีกครั้ง | +| **Garbage characters** | ความละเอียดของภาพต่ำเกินไปหรือภาพไม่ได้ทำการไบนาริซ์ | ทำการพรี‑โปรเซสภาพ (เพิ่ม DPI, ใช้ `ImageProcessor` เพื่อทำให้คม) | +| **Performance lag** | ภาพขนาดใหญ่ถูกประมวลผลที่ความละเอียดเต็ม | ปรับขนาดภาพให้กว้างสูงสุด 2000 px ก่อนส่งให้ OCR | +| **Unsupported format** | ใช้ BMP ที่มีรูปแบบพิกเซลแปลก | แปลงภาพเป็น PNG หรือ JPEG ก่อน (`System.Drawing.Image.Save`) | + +**Pro tip:** หากต้องจดจำหลายภาษา, ตั้งค่า `ocrEngine.Settings.Language = Language.English | Language.French;` ก่อนเรียก `Recognize()` + +## Frequently Asked Questions + +**Q: สามารถใช้โค้ดนี้บน Linux ได้หรือไม่?** +แน่นอน. Aspose.OCR รองรับหลายแพลตฟอร์ม; เพียงให้แน่ใจว่ามีไลบรารีเนทีฟอยู่ (รวมอยู่ในแพ็กเกจ NuGet) + +**Q: ถ้าไม่มีโฟลเดอร์ Resources จะทำอย่างไร?** +คุณสามารถดาวน์โหลด language pack ฟรีจากเว็บไซต์ของ Aspose หรือสกัดไฟล์จากแพ็กเกจ NuGet (`.../aspose.ocr//resources`) + +**Q: มีวิธีรับคะแนนความเชื่อมั่นหรือไม่?** +มี. หลังจาก `Recognize()`, ตรวจสอบ `ocrEngine.RecognizedWords` – แต่ละคำจะมีพร็อพเพอร์ตี้ `Confidence` + +## Conclusion + +เราได้ครอบคลุม **how to use OCR** ใน C# เพื่อ *extract text from image* อย่างเต็มรูปแบบแบบออฟไลน์ โดยการติดตั้ง Aspose.OCR, ตั้งค่า `EngineMode.Offline`, ชี้ไปยัง resources, โหลดรูปภาพ, และเรียก `Recognize()`, คุณสามารถ **convert image to text** ได้อย่างมั่นใจโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต + +นำโค้ดด้านบนไปปรับใช้กับเส้นทางรูปภาพของคุณเอง, แล้วเริ่มสร้างฟีเจอร์เช่น PDF ที่ค้นหาได้, ระบบอัตโนมัติการกรอกข้อมูล, หรือเครื่องมือเพื่อการเข้าถึงต่อไป. ครั้งต่อไปคุณอาจสำรวจ **recognize text from PNG** แบบเป็นกลุ่ม, หรือรวมเอนจินเข้ากับ ASP.NET Core API เพื่อให้บริการผล OCR แก่แอปพลิเคชันฝั่งหน้า + +Happy coding, and feel free to experiment—OCR is surprisingly forgiving once the engine is set up correctly! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/thai/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..796dfabde --- /dev/null +++ b/ocr/thai/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,226 @@ +--- +category: general +date: 2026-03-07 +description: เรียนรู้วิธีจดจำข้อความภาษาฮินดีและโหลดภาพสำหรับ OCR ด้วย Aspose.OCR + ใน C# การตั้งค่าแบบขั้นตอนต่อขั้นตอน โค้ดและเคล็ดลับ +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: th +og_description: ค้นพบวิธีการจดจำข้อความภาษาฮินดีด้วย Aspose OCR ใน C# รวมถึงการโหลดภาพสำหรับ + OCR การตั้งค่าแพ็คเกจภาษา และเคล็ดลับการปฏิบัติที่ดีที่สุด +og_title: การจดจำข้อความฮินดี – บทเรียน Aspose OCR ฉบับเต็ม +tags: +- C# +- OCR +- Aspose +- Hindi +title: จดจำข้อความฮินดีใน C# – คู่มือ Aspose OCR ฉบับสมบูรณ์ +url: /th/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# จดจำข้อความฮินดี – คู่มือ Aspose OCR ฉบับเต็ม + +เคยต้องการ **recognize Hindi text** จากใบเสร็จที่สแกนแล้วแต่ไม่แน่ใจว่าจะเริ่มต้นอย่างไร? คุณไม่ได้เป็นคนเดียว ในหลายแอปที่มุ่งเน้นอินเดีย การดึงอักขระฮินดีอย่างแม่นยำอาจรู้สึกเหมือนตามเป้าหมายที่เคลื่อนที่ อย่างไรก็ตาม Aspose.OCR ทำให้เป็นเรื่องง่าย—เมื่อคุณรู้ขั้นตอนที่ถูกต้องเพื่อ **load image for OCR** และชี้เครื่องยนต์ไปที่ทรัพยากรภาษา Hindi + +ในคู่มือนี้เราจะพาคุณผ่านทุกอย่างที่ต้องการเพื่อสร้าง pipeline OCR ที่ทำงานได้ใน C# จนจบคุณจะได้โปรแกรมที่รันได้ซึ่งดาวน์โหลด Hindi language pack, โหลดภาพ, ทำการจดจำ, และพิมพ์ข้อความที่ได้ลงคอนโซล ไม่ต้องอ้างอิง “ดูเอกสาร” ที่คลุมเครือ—เพียงโซลูชันที่พร้อมใช้ที่คุณสามารถใส่ลงในโปรเจกต์ .NET ใดก็ได้ + +## สิ่งที่คุณต้องการ + +- **.NET 6+** (หรือ .NET Framework 4.7.2+) API เหมือนกันทุกเวอร์ชัน แต่ runtime ใหม่ให้ประสิทธิภาพดีกว่า +- **Aspose.OCR for .NET** NuGet package ติดตั้งด้วย `dotnet add package Aspose.OCR` +- **Hindi language pack** – Aspose แจกเป็นทรัพยากรที่ดาวน์โหลดได้ ไม่ได้รวมมาในแพคเกจโดยอัตโนมัติ +- ไฟล์ภาพที่มีข้อความฮินดี (เช่น `hindi_receipt.jpg`) รองรับฟอร์แมตทั่วไป (JPG, PNG, BMP) +- IDE ที่ดี (Visual Studio, Rider, หรือ VS Code) + +แค่นั้น—ไม่มี OCR engine ภายนอก, ไม่มีคีย์คลาวด์, เพียงไลบรารีโลคัล + +## Step 1: Download the Hindi Language Pack – Set Up Resources + +ก่อนที่ OCR engine จะเข้าใจอักขระ Devanagari คุณต้องดึง Hindi language resources นี้เป็นการทำงานครั้งเดียว ปกติทำระหว่างการติดตั้งแอปหรือในขั้นตอน CI/CD + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Why this matters:** OCR engine พึ่งพาโมเดลเฉพาะภาษาเพื่อแมปแพทเทิร์นพิกเซลเป็นอักขระ Unicode หากไม่มี Hindi pack คุณจะได้ผลลัพธ์เป็นอักขระละตินที่บิดเบือนหรือไม่มีเลย + +> **Pro tip:** แคชแพคไว้ในโฟลเดอร์ที่สามารถเขียนได้บนเครื่องเป้าหมาย หากคุณกำลังดีพลอยไปยัง Azure App Service ให้ใช้โฟลเดอร์ `D:\home\site\wwwroot\Resources` + +## Step 2: Configure the OCR Engine – Point to Resources + +เมื่อทรัพยากรพร้อมแล้ว สร้างอินสแตนซ์ `OcrEngine` และบอกให้มันรู้ตำแหน่งไฟล์ภาษา นี่คือจุดที่เราตั้ง **primary language** สำหรับการจดจำ + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Why we do this:** `ResourcesPath` เป็นสะพานเชื่อมระหว่าง engine กับไฟล์ที่ดาวน์โหลด หากข้ามขั้นตอนนี้ engine จะย้อนกลับไปใช้โมเดลในตัว (เฉพาะอังกฤษ) และคุณจะไม่สามารถ **recognize Hindi text** ได้อย่างถูกต้อง + +## Step 3: Load Image for OCR – Feed the Engine the Right Input + +เมื่อ engine พร้อม ขั้นตอนต่อไปคือ **load image for OCR** Aspose มี helper `ImageStream.FromFile` ที่รองรับฟอร์แมตภาพส่วนใหญ่ + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Large images** ทำให้การประมวลผลช้า หากต้องจัดการสแกนความละเอียดสูง ควรลดขนาดก่อน (`ImageProcessor.Resize`) +- **Incorrect orientation** (ภาพสแกนที่หมุน) จะทำให้ผลลัพธ์แย่ ใช้ `ocrEngine.Image.Rotate(90)` หากจำเป็น + +## Step 4: Run the Recognition – Extract the Text + +ตอนนี้เราจะสั่ง engine อ่านพิกเซลและแปลงเป็นสตริง Unicode + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**What to expect:** หากภาพชัดเจน คุณจะเห็นอักขระฮินดีพิมพ์ออกมาตรงตามที่ปรากฏบนใบเสร็จ ตัวอย่างใบเสร็จอาจแสดงผลดังนี้ + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +หากได้ผลเป็นอักขระไร้ความหมาย ตรวจสอบว่าแพคภาษาได้ดาวน์โหลดอย่างถูกต้องและ `ocrEngine.Settings.Language` ตั้งเป็น `Language.Hindi` + +## Step 5: Wrap It All Up – Complete, Runnable Program + +ด้านล่างเป็นไฟล์ซอร์สเต็มที่คุณสามารถคัดลอก‑วางลงในโปรเจกต์คอนโซล รวมทุกขั้นตอนข้างต้นพร้อมการจัดการข้อผิดพลาดขั้นพื้นฐาน + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +บันทึกเป็น `Program.cs` รัน `dotnet run` แล้วคุณควรเห็นข้อความฮินดีพิมพ์ออกที่คอนโซล + +## Frequently Asked Questions (FAQ) + +### Can I recognize multiple languages in one run? + +ได้ คุณสามารถตั้ง `ocrEngine.Settings.Language` เป็นอาเรย์ เช่น `new[] { Language.Hindi, Language.English }` engine จะพยายามตรวจจับอักขระจากทั้งสองสคริปต์ + +### What if my image is blurry? + +ลองทำพรี‑โปรเซสด้วย `ImageProcessor`—ใช้การชาร์ปหรือเพิ่มคอนทราสต์ก่อนกำหนดให้ `ocrEngine.Image` + +### Does this work on Linux/macOS? + +แน่นอน Aspose.OCR รองรับหลายแพลตฟอร์ม; เพียงตรวจสอบให้มี native dependencies อยู่ (โดยทั่วไปรวมอยู่ใน NuGet package) + +### How do I improve accuracy for low‑resolution receipts? + +เพิ่ม DPI (dots per inch) ระหว่างสแกน หรือทำการรีแซมพล์ภาพโปรแกรมให้มีอย่างน้อย 300 DPI ก่อน OCR + +## Conclusion + +เราได้ครอบคลุมทุกอย่างที่คุณต้องการเพื่อ **recognize Hindi text** ด้วย Aspose.OCR—from การดาวน์โหลด Hindi language pack, การตั้งค่า engine, การ **load image for OCR** อย่างถูกต้อง, ไปจนถึงการดึงและพิมพ์ผลลัพธ์ โค้ดเต็มที่แสดงด้านบนพร้อมใช้ในแอปคอนโซล C# ใดก็ได้ และเคล็ดลับเสริมช่วยจัดการกรณีขอบทั่วไปเช่นภาพเบลอหรือเอกสารหลายภาษา + +พร้อมก้าวต่อไปหรือยัง? ลองส่งผลลัพธ์ OCR ไปยัง API แปลภาษา, หรือเก็บข้อมูลที่ดึงมาไว้ในฐานข้อมูลเพื่อวิเคราะห์ คุณยังสามารถทดลองกับภาษาภาษาอินเดียอื่น ๆ—Aspose รองรับ Tamil, Bengali, และอื่น ๆ—โดยเปลี่ยน `Language.Hindi` เป็นค่า enum ที่ต้องการ + +ขอให้เขียนโค้ดสนุกและผลลัพธ์ OCR ของคุณคมชัดเสมอ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/thai/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/thai/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..f1daa2e7e --- /dev/null +++ b/ocr/thai/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,225 @@ +--- +category: general +date: 2026-03-07 +description: จดจำข้อความจากภาพอย่างรวดเร็วด้วย Aspose OCR. เรียนรู้วิธีแปลง djvu เป็นข้อความ, + ดึงข้อความจากภาพ, และโหลดภาพสำหรับ OCR ในบทแนะนำ C# ทีละขั้นตอน. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: th +og_description: จดจำข้อความจากภาพใน C# ด้วย Aspose OCR คู่มือนี้แสดงวิธีแปลง djvu + เป็นข้อความ ดึงข้อความจากภาพ และโหลดภาพสำหรับ OCR พร้อมเคล็ดลับที่เป็นประโยชน์ +og_title: แยกข้อความจากภาพ – บทเรียน OCR ด้วย Aspose เต็มรูปแบบสำหรับ C# +tags: +- C# +- Aspose OCR +- Document Processing +title: แยกข้อความจากภาพใน C# – คู่มือ Aspose OCR ฉบับสมบูรณ์ +url: /th/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# จดจำข้อความจากรูปภาพ – คู่มือเต็ม C# Aspose OCR + +เคยต้องการ **recognize text from image** แต่ไม่แน่ใจว่าห้องสมุดใดจะให้ผลลัพธ์ที่เชื่อถือได้หรือไม่? คุณไม่ได้อยู่คนเดียว ไม่ว่าจะเป็นใบแจ้งหนี้ที่สแกน, ไฟล์ DJVU เก่า, หรือภาพ PNG อย่างง่าย การสกัดตัวอักษรที่แม่นยำอาจรู้สึกเหมือนการถอดรหัสสคริปต์โบราณ + +เรื่องคือ—Aspose OCR ทำให้กระบวนการทั้งหมดง่ายเหมือนเค้ก ในคู่มือนี้เราจะอธิบายวิธี **convert djvu to text**, **extract text from image**, และ **load image for OCR** ด้วยโปรแกรม C# สั้น ๆ เมื่อเสร็จคุณจะมีแอปคอนโซลที่รันได้ซึ่งพิมพ์สตริงที่จดจำได้ลงคอนโซล และคุณจะเข้าใจ “เหตุผล” เบื้องหลังแต่ละบรรทัด + +## สิ่งที่คุณจะได้เรียนรู้ + +- วิธีตั้งค่า Aspose OCR engine ในโครงการ .NET. +- โค้ดที่จำเป็นเพื่อ **load image for OCR** จากไฟล์ DJVU. +- ทำไมคุณต้องเรียก `Recognize()` ก่อนอ่าน `Text`. +- ข้อผิดพลาดทั่วไป (DJVU หลายหน้า, ฟอร์แมตที่ไม่รองรับ) และวิธีหลีกเลี่ยง. +- วิธีรวดเร็วในการ **convert djvu to text** สำหรับการประมวลผลแบบกลุ่ม + +คุณต้องการเพียง .NET SDK ล่าสุด (≥ 6.0) และใบอนุญาต Aspose OCR (รุ่นทดลองฟรีใช้สำหรับการทดสอบ) ไม่ต้องใช้บริการภายนอก, ไม่ต้องเรียก REST—เพียง C# ธรรมดา + +## ข้อกำหนดเบื้องต้น + +| Requirement | Reason | +|-------------|--------| +| .NET 6 SDK or later | ฟีเจอร์ภาษาใหม่และประสิทธิภาพที่ดีกว่า. | +| Aspose.OCR NuGet package (`Install-Package Aspose.OCR`) | ให้คลาส `OcrEngine` ที่เราจะใช้. | +| A DJVU file (e.g., `sample.djvu`) | แสดงตัวอย่าง **convert djvu to text**. | +| Basic familiarity with C# console apps | ทำให้ขั้นตอนดำเนินไปอย่างเป็นธรรมชาติ. | + +หากขาดอย่างใดอย่างหนึ่ง ให้หยุดและติดตั้งตอนนี้; มิฉะนั้นโค้ดจะไม่คอมไพล์ + +## ขั้นตอนที่ 1 – ติดตั้ง Aspose.OCR และสร้างโปรเจกต์ + +แรกเริ่ม สร้างโปรเจกต์คอนโซลใหม่และดึงไลบรารี OCR เข้ามา + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*เคล็ดลับ:* ใช้แฟล็ก `--framework net6.0` หากคุณต้องการระบุเฟรมเวิร์กเป้าหมายอย่างชัดเจน. + +## ขั้นตอนที่ 2 – เริ่มต้น OCR Engine และโหลดภาพ DJVU + +Engine ต้องการแหล่งภาพ Aspose.OCR สามารถอ่านหลายฟอร์แมต รวมถึง DJVU ดังนั้นเราจึงชี้ไปที่เส้นทางไฟล์ + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**ทำไมเรื่องนี้สำคัญ:** +- `OcrEngine` เป็นจุดเริ่มต้น; การสร้างครั้งเดียวและใช้ซ้ำช่วยลดการใช้หน่วยความจำ. +- `ImageStream.FromFile` ทำให้ไม่ต้องกังวลฟอร์แมตไฟล์, ดังนั้นคุณสามารถเปลี่ยนไฟล์ DJVU เป็น PNG หรือ TIFF ภายหลังโดยไม่ต้องแก้โค้ดอื่น—เหมาะสำหรับ “how to extract text from image” ในสถานการณ์ต่าง ๆ. + +## ขั้นตอนที่ 3 – เรียกกระบวนการจดจำ + +การเรียก `Recognize()` จะเริ่มทำงานหนัก ภายใน Aspose ใช้ตัวจำแนกแบบเครือข่ายประสาทที่ทำงานกับข้อความพิมพ์และลายมือได้ + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*หมายเหตุกรณีขอบ:* หาก DJVU ของคุณมีหลายหน้า, `ImageStream.FromFile` จะโหลดเฉพาะหน้าที่หนึ่งเท่านั้น. เพื่อประมวลผลทุกหน้า คุณต้องวนลูป `ImageStream.FromFile(...).Pages`. สำหรับงานดูอย่างเร็ว ส่วนใหญ่หน้าแรกก็พอ. + +## ขั้นตอนที่ 4 – ดึงและแสดงข้อความที่จดจำได้ + +หลังการจดจำ, engine จะใส่ค่าใน property `Text` เป็นสตริงข้อความธรรมดา. ตอนนี้คุณสามารถเขียนลงคอนโซล, ไฟล์, หรือส่งต่อไปยังระบบอื่นได้ + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +ผลลัพธ์ทั่วไปจะเป็นเช่นนี้: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +หากผลลัพธ์เป็นอักขระผิดรูป, ตรวจสอบว่าภาพต้นทางไม่ใช่ความละเอียดต่ำ; Aspose แนะนำ 300 dpi หรือสูงกว่าเพื่อความแม่นยำสูงสุด + +## ตัวอย่างทำงานเต็มรูปแบบ + +รวมทั้งหมดเข้าด้วยกัน นี่คือไฟล์เดียว (`Program.cs`) ที่คุณสามารถวางลงในโปรเจกต์ที่สร้างไว้ก่อนหน้า + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +รันด้วย: + +```bash +dotnet run +``` + +คุณควรเห็นสตริงที่สกัดออกมาพิมพ์บนเทอร์มินัล นี่คือวิธีที่ง่ายที่สุดในการ **recognize text from image** ด้วย Aspose OCR + +## ขั้นตอนที่ 5 – ขั้นสูง: แปลงหลายหน้าของ DJVU เป็นไฟล์ข้อความ + +หากคุณต้องการ **convert djvu to text** เป็นจำนวนมาก, ขยายโค้ดก่อนหน้าด้วยลูป: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*ทำไมวิธีนี้ถึงได้ผล:* `GetPage(i)` คืนค่าอ็อบเจกต์ `Image` ของหน้าที่ร้องขอ, ทำให้คุณใช้ `OcrEngine` เดียวกันซ้ำได้. ข้อความของแต่ละหน้าจะบันทึกลงไฟล์ `.txt` ของตนเอง, ให้คุณมี pipeline **convert djvu to text** ที่สะอาด + +## คำถามทั่วไป & สิ่งที่ควรระวัง + +- **สามารถสกัดข้อความจาก JPEG แทน DJVU ได้หรือไม่?** + แน่นอน. เพียงเปลี่ยนส่วนขยายไฟล์ใน `FromFile`. โค้ดเดียวกัน **how to extract text from image** ใช้ได้เพราะ Aspose ทำให้ฟอร์แมตเป็นนามธรรม. + +- **ถ้าผลลัพธ์ OCR มีการขึ้นบรรทัดใหม่เกินไปจะทำอย่างไร?** + ใช้ `String.Replace("\r\n", " ")` หรือ regular expression เพื่อทำให้ช่องว่างเป็นมาตรฐาน. + +- **ต้องการใบอนุญาตสำหรับการใช้งานในผลิตจริงหรือไม่?** + รุ่นทดลองฟรีใช้ได้ถึง 100 หน้า. หากต้องการไม่จำกัด ให้ซื้อใบอนุญาตและเรียก `License license = new License(); license.SetLicense("Aspose.OCR.lic");` ก่อนสร้าง engine. + +- **Engine นี้ปลอดภัยต่อการทำงานหลายเธรดหรือไม่?** + ไม่. สร้าง `OcrEngine` แยกสำหรับแต่ละเธรดหรือปกป้องการเข้าถึงด้วย lock. + +## เคล็ดลับเพื่อความแม่นยำที่ดียิ่งขึ้น + +1. **เพิ่ม DPI** – หากคุณควบคุมการแปลงต้นทาง, ส่งออกภาพที่ 300 dpi หรือสูงกว่า. +2. **ทำการประมวลผลล่วงหน้าภาพ** – การทำ binarization อย่างง่าย (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) สามารถปรับปรุงผลลัพธ์บนสแกนที่มีเสียงรบกวน. +3. **ระบุภาษา** – `ocrEngine.Language = Language.English;` จะจำกัดชุดอักขระและเร่งการจดจำ. + +## สรุป + +ตอนนี้คุณมีตัวอย่างที่ครบถ้วนและพร้อมรันที่ **recognize text from image** ด้วย Aspose OCR, และคุณได้เห็นวิธี **convert djvu to text**, **how to extract text from image**, และวิธีที่ถูกต้องในการ **load image for OCR**. โค้ดเป็นอิสระ, ทำงานบน .NET 6+ ใดก็ได้, และสามารถขยายเพื่อประมวลผลหลายหน้าของเอกสาร DJVU เป็นชุดได้ + +ต่อไปคุณอาจสำรวจ: + +- เพิ่ม **language detection** สำหรับไฟล์ DJVU หลายภาษา. +- รวมผลลัพธ์ OCR กับดัชนีการค้นหา (เช่น Elasticsearch). +- ใช้การแปลง PDF ของ Aspose เพื่อเปลี่ยนข้อความที่สกัดเป็น PDF ที่ค้นหาได้. + +ลองทำดู, ปรับ DPI, ทดลองกับฟอร์แมตภาพต่าง ๆ, แล้วให้ OCR engine ทำงานหนักให้คุณ. ขอให้เขียนโค้ดอย่างสนุก! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/ocr-configuration/_index.md b/ocr/turkish/net/ocr-configuration/_index.md index 876063bfd..c4516b97c 100644 --- a/ocr/turkish/net/ocr-configuration/_index.md +++ b/ocr/turkish/net/ocr-configuration/_index.md @@ -62,6 +62,8 @@ Aspose.OCR ile .NET’te OCR görüntü tanıma gücünü keşfedin. Görüntül Aspose.OCR for .NET ile güçlü OCR yeteneklerini açığa çıkarın. Görüntülerden sorunsuz bir şekilde metin çıkarın. ### [OCROperation with List in OCR Image Recognition](./ocr-operation-with-list/) Aspose.OCR for .NET’in potansiyelini ortaya çıkarın. Listelerle OCR görüntü tanımını zahmetsizce gerçekleştirin. Uygulamalarınızda üretkenliği ve veri çıkarımını artırın. +### [png'den metin oku – Aspose OCR ile Kiril metni çıkarma](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) +Aspose OCR kullanarak PNG dosyalarından Kiril alfabesindeki metni doğru ve hızlı bir şekilde çıkarın. ### Yaygın Kullanım Senaryoları - **Taralı faturalardan metin çıkarma** ile otomatik muhasebe. @@ -100,4 +102,4 @@ C: Evet, `OcrResult` nesnesi programatik olarak inceleyebileceğiniz güven değ {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/turkish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..0f42b637e --- /dev/null +++ b/ocr/turkish/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR kullanarak PNG'den metin okuma ve Kiril metni çıkarma, görüntüyü + metne dönüştürme ve Kiril dil paketini indirme konusunda bilgi edinin. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: tr +og_description: Aspose OCR'i C#'ta kullanarak PNG'den metin okuma, Kiril alfabesi + metnini çıkarma ve görüntüyü metne dönüştürmeyi öğrenin. +og_title: png'den metin oku – Aspose OCR ile Kiril metni çıkar +tags: +- Aspose OCR +- C# +- Image Processing +title: png'den metin oku – Aspose OCR ile Kiril metnini çıkar +url: /tr/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# png'den metin oku – Aspose OCR ile Kiril alfabesi metnini çıkar + +png dosyalarından **metin okumak** ve Kiril karakterlerini çıkarmak mı istiyorsunuz? Bu rehberde, Aspose OCR kullanarak png'den metin nasıl okunur, Kiril metni nasıl çıkarılır ve **görüntüyü metne dönüştürür** sadece birkaç C# satırıyla gösteriyoruz. + +Eğer bir Rus faturasının ekran görüntüsüne bakıp kelimeleri aranabilir bir dizeye nasıl dönüştüreceğinizi merak ettiyseniz, doğru yerdesiniz. Ayrıca **Kiril dil paketini** otomatik olarak **indirmenizi** de anlatacağız, böylece ekstra dosyalar aramanıza gerek kalmayacak. + +## Ne elde edeceksiniz + +Bu öğreticinin sonunda şunları yapabilecek durumdasınız: + +* **OCR için bir görüntü yükleyin** doğrudan diskten ya da bir akıştan. +* Motoru **Kiril dili** olarak ayarlayın, manuel indirme yapmadan. +* Tanıma çalıştırın ve bir PNG dosyasından **Kiril metnini çıkarın**. +* Tanınan metni konsola yazdırın – veritabanlarına, arama indekslerine veya başka herhangi bir iş akışına aktarabileceğiniz temiz, düz‑metin bir sonuç. + +Harici hizmetler, bulut anahtarları yok, sadece Aspose OCR NuGet paketi ve birkaç C# satırı. + +## Önkoşullar + +* .NET 6.0 veya üzeri (kod .NET Core, .NET Framework ve .NET 5+ üzerinde çalışır). +* Visual Studio 2022 veya tercih ettiğiniz herhangi bir editör. +* Aspose.OCR NuGet paketi (`dotnet add package Aspose.OCR`). +* Kiril karakterleri içeren bir PNG görüntüsü – örneğin `cyrillic_sample.png` adlı dosya `YOUR_DIRECTORY` klasöründe bulunmalı. + +> **İpucu:** Visual Studio kullanıyorsanız, proje üzerine sağ‑tıklayın → **Manage NuGet Packages** → “Aspose.OCR” aratın ve en son stabil sürümü kurun. + +--- + +## Adım 1 – Aspose OCR'ı kurun ve motoru oluşturun + +İlk olarak OCR motoru örneğine ihtiyacımız var. `OcrEngine` sınıfı tüm işlemler için giriş noktasıdır. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Neden önemli:** Motor dil paketlerini, görüntü verisini ve tanıma seçeneklerini kapsüleler. Tek bir kez örnekleyip birden çok görüntüde yeniden kullanmak performansı artırabilir. + +--- + +## Adım 2 – **ocr için görüntü yükle** ve dili ayarla + +Şimdi motorun hangi görüntüyü işleyeceğini ve hangi dili arayacağını belirtiyoruz. `Language.Cyrillic` ayarı, ilk çalıştırmada gerekli dil paketini otomatik olarak indirir. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Köşe durumu:** PNG dosyanız çok büyükse (5 MB üzeri) tanıma süresini hızlandırmak için önce yeniden boyutlandırmak isteyebilirsiniz. `Image` özelliği aynı zamanda bir `Stream` de kabul eder; böylece bellekte, bir web isteğinde ya da Azure Blob’da dosya sistemine dokunmadan yükleyebilirsiniz. + +--- + +## Adım 3 – **görüntüyü metne dönüştür** tek bir çağrı ile + +Tanıma, `Recognize()` metodunu çağırmak kadar basittir. Bu çağrıdan sonra `Text` özelliği çıkarılan dizeyi tutar. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Arka planda ne oluyor?** Aspose, milyonlarca Kiril glifi üzerinde eğitilmiş bir sinir‑ağ‑tabanlı sınıflandırıcı çalıştırır. Kütüphane tüm bu karmaşıklığı soyutlar, siz sadece temiz Unicode alırsınız. + +--- + +## Adım 4 – Sonucu çıktı olarak ver (ya da başka bir yere yönlendir) + +Demo amaçlı metni konsola yazdıracağız, ancak kolayca bir dosyaya, veritabanına ya da bir arama indeksine yazdırabilirsiniz. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Beklenen çıktı** (`cyrillic_sample.png` dosyası “Привет мир” ifadesini içeriyorsa): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Eğer çıktı bozuk görünüyorsa, görüntünün net olduğundan ve `Language.Cyrillic` ayarını yaptığınızdan emin olun. Motor varsayılan olarak İngilizce’yi kullanır; bu durumda Kiril karakterleri bilinmeyen semboller olarak değerlendirilir. + +--- + +## Adım 5 – Tam, çalıştırılabilir örnek + +Hepsini bir araya getirdiğimizde, yeni bir konsol projesine kopyalayıp yapıştırabileceğiniz bağımsız bir program elde ederiz. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Dosyayı `Program.cs` olarak kaydedin, `dotnet run` komutunu çalıştırın ve Kiril metninin konsola yazdırıldığını görmelisiniz. + +--- + +## Sık sorulan sorular & sorun giderme + +| Soru | Cevap | +|----------|--------| +| **Dil paketi indirilemezse ne yapmalı?** | Makinenin internet erişimi olduğundan emin olun. Paket `%USERPROFILE%\.Aspose\OCR\Languages` içinde önbelleğe alınır. Bu klasörü silmek yeni bir indirme başlatır. | +| **Kiril dışındaki dilleri de okuyabilir miyim?** | Tabii ki – `Language.Cyrillic` yerine `Language.English`, `Language.Arabic` vb. kullanın. Aynı otomatik indirme mantığı geçerli olur. | +| **PNG çok gürültülü – sonuçlar kötü. Ne yapabilirim?** | Görüntüyü ön‑işleme tabi tutun: kontrastı artırın, gri tonlamaya çevirin veya medyan filtresi uygulayın. Aspose OCR ayrıca `Settings.ImagePreprocess` seçenekleri sunar. | +| **Her kelime için sınırlayıcı kutular (bounding box) almak mümkün mü?** | Evet, `Recognize()` sonrası `ocrEngine.Regions` özelliğini inceleyerek tespit edilen her kelimenin dikdörtgenini alabilirsiniz. | +| **Üretim ortamında lisansa ihtiyacım var mı?** | Ücretsiz değerlendirme sürümü 100 sayfaya kadar çalışır. Ticari projeler için lisans satın alın – değerlendirme filigranını kaldırır ve yüksek‑hızlı toplu işleme özelliğini açar. | + +--- + +## Sonraki adımlar – çözümü genişletmek + +* **Toplu işleme:** Bir klasördeki PNG dosyalarını döngüye alıp tüm metinleri bir CSV dosyasına toplayın. +* **Azure Cognitive Search entegrasyonu:** Çıkarılan Kiril dizelerini hızlı arama için indeksleyin. +* **PDF dönüşümüyle birleştirme:** Aspose.PDF kullanarak taranmış PDF'leri önce PNG'ye dönüştürün, ardından aynı OCR akışını çalıştırın. + +Tüm bu senaryolar, az önce ele aldığımız temel deseni yeniden kullanır: **OCR için görüntü yükle → dili ayarla → tanı → metni kullan**. + +--- + +## Sonuç + +Artık **png'den metin okuma**, **Kiril metni çıkarma** ve **görüntüyü metne dönüştürme** işlemlerini Aspose OCR ile C# içinde nasıl yapacağınızı biliyorsunuz. Temel adımlar motoru oluşturmak, görüntüyü yüklemek, doğru dili seçmek (bu da otomatik olarak **Kiril dil paketini indirir**), ve son olarak `Recognize()` çağrısını yapmak. + +Farklı görüntülerle deneyin, `Settings` seçenekleriyle oynayın ve uygulamalarınızın aranabilir, çok dilli ve çok daha akıllı hale geldiğini izleyin. + +İyi kodlamalar, herhangi bir sorunla karşılaşırsanız yorum bırakmaktan çekinmeyin! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/ocr-optimization/_index.md b/ocr/turkish/net/ocr-optimization/_index.md index 12ce2f053..d52536e33 100644 --- a/ocr/turkish/net/ocr-optimization/_index.md +++ b/ocr/turkish/net/ocr-optimization/_index.md @@ -74,6 +74,12 @@ Aspose.OCR for .NET’ü keşfedin. Ön işleme filtreleriyle OCR doğruluğunu Aspose.OCR for .NET ile OCR doğruluğunu artırın. Yazım hatalarını düzeltin, sözlükleri özelleştirin ve hatasız metin tanımayı zahmetsizce sağlayın. ### [Save Multipage Result as Document in OCR Image Recognition](./save-multipage-result-as-document/) Aspose.OCR for .NET’ün potansiyelini ortaya çıkarın. Bu kapsamlı adım adım rehberle çok sayfalı OCR sonuçlarını belgeler olarak zahmetsizce kaydedin. +### [C# ile Görüntüyü Düzleştir ve OCR Çalıştırma – Tam Kılavuz](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Görüntüyü eğriltme hatasından arındırıp, Aspose.OCR for .NET ile C# içinde tam OCR sürecini adım adım uygulayın. +### [Aspose OCR Örneği – C#'ta Yazım Denetimini Etkinleştir ve Hataları Düzelt](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +C# ile Aspose OCR kullanarak yazım denetimini etkinleştirip tanıma hatalarını otomatik düzeltin. +### [Çince Görüntülerde OCR Nasıl Yapılır – Tam C# Kılavuzu](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Aspose.OCR for .NET ile Çince görüntülerde yüksek doğruluklu OCR yapın ve adım adım rehberimizi izleyin. ## Sıkça Sorulan Sorular diff --git a/ocr/turkish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/turkish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..06f7d588a --- /dev/null +++ b/ocr/turkish/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR örneği, yazım denetimini nasıl etkinleştireceğinizi, özel + bir sözlük ekleyeceğinizi, görüntü OCR'sini yükleyeceğinizi ve OCR hatalarını hızlıca + nasıl düzelteceğinizi gösterir. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: tr +og_description: Aspose OCR örneği, yazım denetimini etkinleştirme, özel bir sözlük + ekleme, OCR için bir görüntü yükleme ve yaygın OCR hatalarını düzeltme konusunda + size rehberlik eder. +og_title: Aspose OCR Örneği – Yazım Denetimini Etkinleştir ve Hataları Düzelt +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Aspose OCR Örneği – C#'ta Yazım Denetimini Etkinleştir ve Hataları Düzelt +url: /tr/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Aspose OCR Örneği – C#'ta Yazım Denetimini Etkinleştir ve Hataları Düzelt + +Ever needed an **Aspose OCR örneği** that not only reads text from an image but also cleans up those pesky spelling mistakes? You're not the only one. In many real‑world projects the raw OCR output is riddled with typos, especially when the source image contains low‑contrast fonts or handwritten notes. + +The good news? With Aspose.OCR you can **enable spellcheck**, plug in your own dictionary, and get a polished string in just a few lines of code. Below you’ll see exactly **how to enable spellcheck**, **how to add a dictionary**, and **how to load image OCR** so you can finally **fix OCR errors** without pulling your hair out. + +In this tutorial we’ll cover everything you need—from NuGet installation to a complete, runnable program that prints corrected text. By the end you’ll have a solid **Aspose OCR example** you can drop straight into any .NET project. + +## Önkoşullar + +- .NET 6.0 SDK veya daha yenisi (kod .NET Core ve .NET Framework ile de çalışır) +- Visual Studio 2022 veya herhangi bir C# uyumlu IDE +- Açık, yazılmış İngilizce metin içeren bir görüntü dosyası (`typed_text.png`) +- Aspose.OCR NuGet paketini indirmek için internet erişimi + +Başka üçüncü‑taraf kütüphanelerine gerek yok. + +--- + +## 1. Adım – Aspose.OCR NuGet Paketini Yükleyin (Load Image OCR) + +Kod yazmadan önce, OCR motorunu çalıştıran kütüphaneye ihtiyacımız var. + +```bash +dotnet add package Aspose.OCR +``` + +> **Pro tip:** Visual Studio kullanıyorsanız, projeye sağ‑tıklayın → *Manage NuGet Packages* → **Aspose.OCR** aratın ve *Install*'a tıklayın. + +Paketi kurmak, `OcrEngine`, `ImageStream` ve daha sonra kullanacağımız yerleşik yazım denetimi araçlarına erişmenizi sağlar. Paket yerinde olduğunda, **load image OCR**'ye hazırsınız. + +## 2. Adım – OCR Motoru Örneğini Oluşturun + +Motoru oluşturmak, herhangi bir **Aspose OCR example**'da ilk somut adımdır. `OcrEngine`'i, bitmap'i analiz edip metin üreten bir beyin olarak düşünün. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +## 3. Adım – Spellcheck'i Nasıl Etkinleştirirsiniz (Ve Neden Önemlidir) + +Ham OCR çıktısı genellikle “teh” gibi “the” yerine yanlış tanınan kelimeler içerir. Yerleşik yazım denetleyiciyi etkinleştirmek, Aspose'un bu hataları en muhtemel doğru yazımla otomatik olarak değiştirmesini sağlar. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Neden spellcheck'i etkinleştirirsiniz?** +> - **Doğruluk:** Bir son‑işlem yazım denetimi, basılı belgeler için genel metin doğruluğunu %10‑15 artırabilir. +> - **Kullanıcı deneyimi:** Temiz metin, sonucu arama indekslerine veya analiz boru hatlarına beslediğinizde daha az temizlik anlamına gelir. + +## 4. Adım – Sözlük Nasıl Eklenir (Özel Kelimeler) + +Bazen varsayılan sözlük, marka adlarınızı, ürün kodlarınızı veya alan‑spesifik jargonunuzu bilmez. İşte **how to add dictionary** burada devreye girer. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Bir dizi, bir liste ya da büyük bir özel kelime hazineniz varsa bir dosyadan okuyarak besleyebilirsiniz. Yazım denetleyici artık bu girdileri geçerli kabul edecek ve yanlış düzeltmeleri önleyecektir. + +## 5. Adım – OCR İçin Görüntüyü Yükleyin (Load Image OCR) + +Motor yapılandırıldıktan sonra, okumak istediğimiz resme işaret etmemiz gerekiyor. `ImageStream.FromFile` yardımcı işlevi dosya okuma detaylarını soyutlar. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **İpucu:** Görüntünüz projenin bir alt klasöründe ise, *Copy to Output Directory* özelliğini *Copy always* olarak ayarlayın, böylece yol çalışma zamanında çözülür. + +## 6. Adım – Tanıma Yapın ve OCR Hatalarını Düzeltin + +Her şey ayarlandığında, `Recognize()`'a tek bir çağrı OCR boru hattını çalıştırır, yazım denetimini uygular ve temizlenmiş sonucu `ocrEngine.Text` içinde saklar. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Beklenen Çıktı + +`typed_text.png` dosyasının `The quick brown fox jumps over teh lazy dog` cümlesini içerdiğini varsayarsak, konsol şu çıktıyı verir: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +“teh” kelimesinin otomatik olarak “the” olarak düzeltildiğine dikkat edin. Eğer özel sözlüğe “OCRify” eklemiş olsaydınız ve görüntü bu kelimeyi içeriyorsa, motor onu dokunulmamış bırakacaktı. + +--- + +## Tam Çalışan Örnek (Kopyala‑Yapıştır Hazır) + +Aşağıda, yeni bir konsol projesine ekleyebileceğiniz tam program bulunmaktadır. Yukarıdaki tüm adımları ve açıklık için birkaç yorum içerir. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Bunu `Program.cs` olarak kaydedin, `dotnet run` komutunu çalıştırın ve konsolda düzeltilmiş cümleyi görmelisiniz. + +--- + +## Sık Sorulan Sorular & Kenar Durumları + +| Question | Answer | +|----------|--------| +| **Görüntü çok sayfalı bir PDF ise ne olur?** | Aspose.OCR, PDF sayfalarını görüntü olarak işleyebilir. `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` kullanın ve sayfalar arasında döngü yapın. | +| **Dilini İngilizce dışındaki bir dile değiştirebilir miyim?** | Kesinlikle. `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (veya desteklenen herhangi bir dil) olarak ayarlayın. | +| **Özel sözlüğüm çok büyük—performansı etkiler mi?** | Binlerce kelime eklemek başlangıçta küçük bir maliyet getirir, ancak arama, alt yapıda bir hash‑set sayesinde O(1) zaman alır. Çok büyük sözlükler için, uygulama başlangıcında bir kez yüklemeyi düşünün. | +| **OCR motoru bozuk bir görüntüde istisna fırlatırsa ne olur?** | `Recognize()` çağrısını try‑catch bloğuna alın ve `ocrEngine.LastError`'ı inceleyin. Ayrıca `ocrEngine.Image.Width` ve `Height` ile görüntü boyutlarını önceden doğrulayabilirsiniz. | +| **Üretim kullanımında lisansa ihtiyacım var mı?** | Ücretsiz değerlendirme testi için çalışır, ancak ticari lisans değerlendirme filigranını kaldırır ve tam performansı açar. | + +## Sonuç + +Artık **tam bir Aspose OCR example**'a sahipsiniz; bu örnek **spellcheck'in nasıl etkinleştirileceğini**, **sözlüğün nasıl ekleneceğini**, **image OCR'nin nasıl yükleneceğini** ve **OCR hatalarının nasıl düzeltileceğini** temiz ve üretim‑hazır bir şekilde gösterir. Yazım denetleyiciyi yapılandırıp özel bir kelime listesi sağlayarak, çıkarılan metnin kalitesini post‑processing mantığı yazmadan büyük ölçüde artırırsınız. + +Bir sonraki adıma hazır mısınız? Dili İspanyolcaya değiştirin, çok sayfalı bir PDF besleyin veya çıktıyı aranabilir bir Azure Cognitive Search indeksine entegre edin. Aynı desen geçerlidir—sadece dil bayrağını ayarlayın ve belki özel sözlüğü genişletin. + +Bu rehberi faydalı bulduysanız, GitHub'da yıldız verin, ekip arkadaşlarınızla paylaşın veya aşağıya bir yorum bırakın. Kodlamanız keyifli olsun ve OCR sonuçlarınız her zaman hatasız olsun! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/turkish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..43899ab6d --- /dev/null +++ b/ocr/turkish/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,219 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR kullanarak görüntünün eğriliğini düzeltmeyi, kontrastı artırmayı + ve taramadan metin çıkarmayı öğrenin. Tam bir C# örneğiyle görüntü üzerinde OCR + gerçekleştirin ve OCR için görüntüyü kolayca yükleyin. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: tr +og_description: Aspose OCR'i C#'ta kullanarak görüntüyü eğriltmeyi düzeltmeyi, kontrastı + artırmayı ve taramadan metin çıkarmayı öğrenin. Görüntü üzerinde adım adım kodla + OCR gerçekleştirin. +og_title: C#'ta Görüntüyü Eğikliği Düzeltme ve OCR Çalıştırma – Tam Kılavuz +tags: +- C# +- OCR +- Image Processing +title: C#'ta Görüntünün Eğikliğini Düzeltme ve OCR Çalıştırma – Tam Rehber +url: /tr/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Görüntüyü Eğriltmeyi Düzeltme ve C#'ta OCR Çalıştırma – Tam Kılavuz + +Eğer OCR çalıştırmadan önce **görüntüyü eğriltmeyi düzeltme** hakkında hiç merak ettiyseniz, doğru yerdesiniz. Bu öğreticide kontrast artırma, OCR için bir görüntüyü yükleme ve sonunda Aspose OCR ile **taramadan metin çıkarma** adımlarını göstereceğiz. + +İster eski makbuzları dijitalleştiriyor olun, taranmış sözleşmeleri temizliyor olun, ya da sadece eğri bir fotoğraftan metin okumanın güvenilir bir yoluna ihtiyacınız olsun, aşağıdaki adımlar ihtiyacınız olan her şeyi kapsıyor. Gereksiz ayrıntı yok—sadece Visual Studio'ya kopyalayıp‑yapıştırabileceğiniz çalışan bir örnek. + +## Başaracaklarınız + +* Eğriltmeyi 30°'ye kadar düzeltebilme (bu **görüntüyü eğriltmeyi düzeltme** kısmıdır). +* Daha keskin karakter kenarları için görüntü kontrastını artırma (**kontrastı artırma**). +* Resminizi OCR motoruna yükleme (**OCR için görüntü yükleme**). +* Tanıma sürecini çalıştırma ve **taramadan metin çıkarma**. + +Tüm bunlar, yazı zamanı itibarıyla en son Aspose.OCR .NET NuGet paketi (v23.11) ile çalışır. + +--- + +![Görüntüyü eğriltmeyi düzeltme örneği](/images/deskew-example.png "görüntüyü eğriltmeyi düzeltme") + +*Yukarıdaki görüntü, taranmış bir belgenin eğriltme öncesi ve sonrası halini gösterir.* + +## Önkoşullar + +* .NET 6.0 veya daha yeni bir sürüm (kod ayrıca .NET Framework 4.7+ üzerinde de çalışır). +* Visual Studio 2022 (veya tercih ettiğiniz herhangi bir C# IDE). +* Aspose.OCR NuGet paketi – `dotnet add package Aspose.OCR` komutuyla kurun. + +Hepsi bu. Harici hizmet yok, API anahtarı yok. + +--- + +## Aspose OCR ile Görüntüyü Eğriltmeyi Düzeltme + +İlk adım olarak bir **ImageProcessingPipeline** oluşturup `DeskewFilter` ekliyoruz. Bu filtre, baskın metin satırı açısını otomatik olarak algılar ve görüntüyü yataya döndürür. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Neden önemli:** +Eğri bir tarama, karakterler artık temel çizgiye hizalanmadığı için OCR motorunu şaşırtır. `DeskewFilter` görüntü histogramını analiz eder, açıyı bulur ve döndürür, tanıma doğruluğunu büyük ölçüde artırır. + +> **Pro ipucu:** Belgelerinizin 15°'den fazla eğilmediğini biliyorsanız, işleme hızını artırmak için `MaxAngle = 15` ayarlayın. + +--- + +## Daha İyi Tanıma İçin Kontrastı Artırma + +Eğriltmeyi düzelttikten sonra, bir sonraki adım metni öne çıkarmaktır. `ContrastBoostFilter`, piksel yoğunluğu aralığını genişletir; bu, solmuş baskılar için özellikle faydalıdır. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Neden yardımcı olur:** +Düşük kontrastlı taramalar, ikilileştiricinin arka plan olarak yorumlayabileceği gri tonlu karakterler üretir. Kontrastı artırmak, koyu pikselleri daha koyu, açık pikselleri daha açık hale getirir ve sonraki `BinarizationFilter` için daha temiz bir tuval sağlar. + +--- + +## Görüntü Üzerinde OCR Çalıştırma – Dosyayı Yükleme + +Görüntü ön‑işlemden geçtiğine göre, **OCR için görüntü yükleme** yapmamız gerekiyor. Aspose, kullanışlı bir `ImageStream.FromFile` yardımcı fonksiyonu sunar. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Görüntünüz bir akışta (ör. bir web API üzerinden yüklenmiş) bulunuyorsa, bunun yerine `ImageStream.FromStream(yourStream)` kullanabilirsiniz. Motor BMP, JPEG, PNG, TIFF ve daha birçok formatı kabul eder. + +--- + +## Tanıma Sürecini Çalıştırma ve Taramadan Metin Çıkarma + +Her şey bağlandıktan sonra, `Recognize()` çağrısı işi halleder. Çağrıdan sonra tanınan metin `ocrEngine.Text` üzerinden erişilebilir. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Beklenen çıktı** (basit bir fatura örneği): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Çıktı bozuk görünüyorsa, pipeline sırasını iki kez kontrol edin—önce eğriltmeyi düzelt, ardından gürültü azaltma, kontrast artırma ve son olarak ikilileştirme. Sıralamayı değiştirmek sonuçları kötüleştirebilir. + +--- + +## Yaygın Tuzaklar ve Kenar Durumları + +| Sorun | Neden Oluşur | Çözüm | +|-------|--------------|-------| +| **Boş sonuç** | Görüntü, varsayılan ikilileştirme yöntemi için çok karanlık ya da çok aydınlık. | `ContrastBoostFilter.Strength` değerini artırın veya `BinarizationMethod.Otsu`'ya geçin. | +| **Kısmi metin eksik** | Gürültü, gürültü azaltmadan sonra hâlâ kalıyor. | Daha hafif görüntüler için `DenoiseLevel.Medium` kullanın veya ikinci bir `DenoiseFilter` ekleyin. | +| **Yanlış döndürme yönü** | Belge karışık bir yönlendirmeye sahip (ör. döndürülmüş bir sayfanın fotoğrafı). | `DeskewFilter.MaxAngle` değerini daha düşük ayarlayın ve görüntüyü `ImageProcessor.Rotate` ile önceden döndürün. | +| **Performans yavaşlaması** | Yüksek çözünürlüklü büyük bir görüntü topluluğu. | Pipeline'dan önce görüntüleri (`ImageProcessor.Resize`) küçültün veya paralel işleyin (`Parallel.ForEach`). | + +--- + +## Tam Çalışan Örnek (Kopyala‑Yapıştır Hazır) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +`Program.cs` olarak kaydedin, `dotnet run` komutunu çalıştırın ve konsolun **taramadan metin çıkarma** sonucunu yazdırmasını izleyin. + +--- + +## Sonraki Adımlar ve İlgili Konular + +* **Toplu işleme** – Yukarıdaki mantığı bir döngüye sararak onlarca dosyayı işleyin. +* **Özel dil paketleri** – Latin dışı scriptleri okumak gerekiyorsa, `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;` ile bir dil modeli yükleyin. +* **PDF çıktısı** – Aspose.PDF'yi OCR ile birleştirerek aranabilir metni doğrudan bir PDF dosyasına gömün. +* **Performans ayarı** – `ImageProcessingPipeline` sırasını deneyin; bazen gürültü azaltma, eğriltmeyi düzeltmeden önce yapıldığında gürültülü fotoğraflarda daha hızlı sonuç verir. + +Bunların tümü, ele aldığımız temel kavramlar üzerine kuruludur: **görüntüyü eğriltmeyi düzeltme**, **kontrastı artırma**, **OCR için görüntü yükleme**, **görüntü üzerinde OCR çalıştırma** ve sonunda **taramadan metin çıkarma**. + +--- + +## Özet + +C#'ta **görüntüyü eğriltmeyi düzeltme** ve OCR çalıştırma için eksiksiz, üretime hazır bir yöntemi yeni gösterdik. Bir eğriltme filtresi, bir gürültü azaltma adımı, bir kontrast artırma ve bir ikilileştiriciyi zincirleyerek, Aspose OCR'nin güvenilir bir şekilde **taramadan metin çıkarma** yapmasını sağlayan temiz bir girdi elde edersiniz. + +Kodu çalıştırın, filtre parametrelerini kendi belgeleriniz için ayarlayın ve tanıma doğruluğunun ne kadar hızlı arttığını görün. Sorularınız mı var? Yorum bırakın, iyi kodlamalar! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/turkish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..d042656db --- /dev/null +++ b/ocr/turkish/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR kullanarak Çince görüntülerde OCR nasıl yapılır. Bir öğreticide + Çince metni nasıl çıkaracağınızı, görüntüyü ePub’a nasıl dönüştüreceğinizi ve OCR + doğruluğunu nasıl artıracağınızı öğrenin. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: tr +og_description: Aspose OCR ile Çince görüntülerde OCR nasıl yapılır. Çince metni çıkarmak, + OCR'ı geliştirmek ve ePub olarak dışa aktarmak için adım adım kod alın. +og_title: Çin Görüntülerinde OCR Nasıl Yapılır – Tam C# Rehberi +tags: +- OCR +- C# +- Aspose +title: Çin Görüntülerinde OCR Nasıl Yapılır – Tam C# Rehberi +url: /tr/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Çince Görüntülerde OCR Nasıl Yapılır – Tam C# Rehberi + +Hiç **OCR nasıl yapılır** sorusunu bir resimdeki Çince karakterler için merak ettiniz mi? Tek başınıza değilsiniz. Birçok uygulamada—makbuz tarama, ders kitabı dijitalleştirme veya çok dilli bir arama motoru oluşturma—bir görüntüden temiz metin elde etmek, özelliğin başarısı ya da başarısızlığı anlamına gelir. + +Bu öğreticide, **Çince metin çıkaran** gerçek bir çözümü adım adım inceleyecek, sonucu düz metin dosyasına kaydedecek ve hatta **görseli e‑reader’lar için bir ePub’a dönüştüreceğiz**. Yol boyunca **OCR doğruluğunu nasıl artırabileceğinizi**, GPU modunu neden etkinleştirmeniz gerektiğini ve **basitleştirilmiş Çince’yi** doğru şekilde tanımanız için neler yapmanız gerektiğini ele alacağız. + +Rehberin sonunda tamamen çalıştırılabilir bir C# programına, birkaç pratik ipucuya ve bir sonraki adımlar için net bir fikre (örneğin dil algılama eklemek ya da toplu işleme) sahip olacaksınız. Harici belgeler gerekmez—gereken her şey burada. + +## Gereksinimler + +- .NET 6+ (veya .NET Core 3.1 + Aspose OCR for .NET) +- Geçerli bir Aspose OCR for .NET lisansı (deneme sürümü deneyler için yeterlidir) +- Basitleştirilmiş Çince karakterler içeren bir görüntü dosyası (ör. `chinese_sample.jpg`) +- Visual Studio 2022 veya tercih ettiğiniz herhangi bir C# editörü + +Eğer bunlardan birine sahip değilseniz, NuGet paketini şimdi alın: + +```bash +dotnet add package Aspose.OCR +``` + +Hepsi bu—ekstra yerel kütüphane, COM interop yok, sadece tek bir .NET paketi. + +## OCR Nasıl Yapılır – Aspose OCR Motorunu Kurma + +İlk yapmanız gereken OCR motorunu oluşturup yapılandırmaktır. Bu adım kritiktir çünkü motor ayarları **Çince karakterlerde OCR’un ne kadar iyi çalıştığını** ve ne kadar hızlı olduğunu belirler. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Neden önemli:** +- **Language = ChineseSimplified** Aspose’un basitleştirilmiş Çince karakter setini yüklemesini sağlar ve hatalı tanıma oranını büyük ölçüde düşürür. +- **EngineMode.Gpu** modern bir GPU’da işleme süresini yarıya indirebilir, GPU yoksa sorunsuzca CPU’ya geçer. +- **DeskewFilter** telefonla fotoğraf çekerken sıkça ortaya çıkan eğikliği ortadan kaldırır. +- **Sauvola binarizasyonu** yüksek kontrastlı siyah‑beyaz bir görüntü oluşturur; bu, yoğun script’lerde (ör. Çince) OCR doğruluğunu artıran klasik bir hiledir. + +> **Pro ipucu:** Düşük ışıklı fotoğraflarla çalışıyorsanız, binarizasyondan önce bir `ContrastFilter` ekleyin. Örnek için zorunlu değil, ama sık sık baş ağrısını azaltır. + +![How to perform OCR pipeline diagram](ocr-pipeline.png "How to perform OCR pipeline diagram") + +> *Alt metin:* OCR işlem hattı diyagramı + +## Görüntüden Çince Metin Çıkarma + +Motor hazır olduğuna göre, görüntüyü yükleyip motorun sihrini çalıştıralım. Bu, **Çince metin çıkarma** işleminin kalbidir. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Görmeniz gereken:** +Eğer `chinese_sample.jpg` içinde “中华人民共和国” ifadesi varsa, `out.txt` dosyası tam olarak bu karakterleri içerecek—ekstra boşluk ya da bozuk Latin harfleri olmayacak. + +### Yaygın Tuzaklar + +| Sorun | Neden Oluşur | Çözüm | +|-------|--------------|------| +| Karakter eksikliği | Görüntü çok gürültülü | Binarizasyondan önce bir `MedianFilter` ekleyin | +| Yanlış dil algılandı | `Language` `English` olarak ayarlı | `Language = Language.ChineseSimplified` olduğundan emin olun | +| Yavaş işleme | GPU etkin değil | Makinenizde uyumlu bir CUDA sürücüsü olduğundan emin olun | + +## Görüntüyü ePub’a Dönüştürme + +Birçok geliştirici sorar: *“Taralı sayfayı okunabilir bir e‑kitaba dönüştürebilir miyim?”* Kesinlikle—Aspose OCR bir ePub dışa aktarıcıyla birlikte gelir. Bu, **görseli ePub’a dönüştür** ihtiyacını karşılar. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +Oluşturulan `out.epub`, çıkarılan Çince metni UTF‑8 olarak doğru şekilde kodlar ve Kindle, Apple Books ya da herhangi bir ePub okuyucusunda açılabilir. + +**Neden ePub?** +- Yeniden akışlıdır, böylece okuyucular yazı tipi boyutunu düzenleyebilir ve düzen bozulmaz. +- Metin aranabilir kalır, bu da sonraki indeksleme işlemleri için kullanışlıdır. + +## OCR’u İyileştirme – Pratik Ayarlamalar + +Sağlam bir işlem hattına sahip olsanız bile zaman zaman hatalı tanıma görebilirsiniz. İşte **OCR’u nasıl iyileştirirsiniz** konusunda hızlı bir kontrol listesi: + +1. **Görüntüyü ön‑işleyin** – `GaussianBlurFilter` ile lekeleri yumuşatın, ardından `ContrastFilter` ile kenarları belirginleştirin. +2. **Daha yüksek DPI ayarlayın** – Tarama sürecini kontrol edebiliyorsanız, 300 dpi veya daha yüksek hedefleyin; düşük çözünürlükteki görüntüler çizgi detayını kaybeder. +3. **Dil algılamayı etkinleştirin** – Aspose dili otomatik algılayabilir; algılama başarısız olursa fallback olarak Basitleştirilmiş Çince’yi kullanın. +4. **Binarizasyonu ince ayarlayın** – Arka plan tekdüze açık ise `Sauvola` yerine `Otsu` kullanın. +5. **Toplu işleme** – `Parallel.ForEach` ile birden fazla sayfayı paralel çalıştırarak çok çekirdekli CPU’ları değerlendirin. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Basitleştirilmiş Çince Tanıma – Kenar Durumları + +**Basitleştirilmiş Çince tanıma** ifadesi yeni başlayanları sık sık zorlar çünkü aynı OCR motoru Geleneksel Çince, Japonca veya Korece de işleyebilir. İşlemi deterministik tutmak için: + +- **Dili açıkça ayarlayın** (Adım 1’de yaptığımız gibi). +- **Karışık‑dil sayfalardan kaçının**; bir sayfa Basitleştirilmiş Çince ile İngilizce karıştırıyorsa, iki geçiş yapın: biri `Language.ChineseSimplified`, diğeri `Language.English`. +- **Çıktıyı doğrulayın** – Tanıma sonrası basit bir regex çalıştırarak tüm karakterlerin `\u4E00‑\u9FFF` Unicode aralığında olduğundan emin olun. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Kontrol başarısız olursa, sayfayı manuel inceleme için kaydedebilirsiniz. + +## Tam Çalışan Örnek + +Her şeyi bir araya getirerek, yeni bir konsol projesine (`Program.cs`) kopyalayıp yapıştırabileceğiniz tek bir dosya sunuyoruz. Tüm adımlar, isteğe bağlı ayarlamalar ve son durum satırı dahildir. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Beklenen konsol çıktısı (örnek):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Programı çalıştırın, `out.txt` ya da `out.epub` dosyasını açın; temiz, aranabilir Çince karakterlerin akıcı bir şekilde işlendiğini göreceksiniz. + +## Sonuç + +Başlangıçtan sona **Çince görüntülerde OCR nasıl yapılır** konusunu ele aldık; **Çince metin çıkarma**, **sonucu ePub’a dönüştürme** ve bir dizi pratik ipucu uyguladık. + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/text-recognition/_index.md b/ocr/turkish/net/text-recognition/_index.md index 5ddf0e83d..02129ee45 100644 --- a/ocr/turkish/net/text-recognition/_index.md +++ b/ocr/turkish/net/text-recognition/_index.md @@ -21,7 +21,7 @@ url: /tr/net/text-recognition/ Bu eğitimde, görüntü tanıma yeteneklerinizi geliştirmek için Aspose.OCR for .NET'in gücünden yararlanmanız konusunda size rehberlik edeceğiz. Uygulamalarınızda doğruluk ve verimlilik sağlayarak, tanınan karakterlere ilişkin seçimleri nasıl alacağınızı adım adım öğrenin. Aspose.OCR'ın üstün özellikleriyle OCR deneyiminizi geliştirin. -## OCR Görüntü Tanıma'da Tanıma Sonucunu Alın +## OCR Görüntü Tanıma'da Tanıma Sonucunu Al Aspose.OCR for .NET'in yeteneklerini keşfedin ve görüntülerdeki metin tanıma yönteminizi dönüştürün. Kapsamlı kılavuzumuzla tanıma sonuçları elde etmenin inceliklerini ortaya çıkarın. İster deneyimli bir geliştirici olun ister yeni başlıyor olun, bu eğitim OCR'yi projelerinize sorunsuz bir şekilde entegre etmenize yardımcı olacaktır. @@ -55,9 +55,20 @@ Etkili görüntü metni tanıma için .NET uygulamalarınızı Aspose.OCR ile ge Aspose.OCR ile .NET'te OCR'nin potansiyelini ortaya çıkarın. PDF'lerden metni zahmetsizce çıkarın. Sorunsuz bir entegrasyon deneyimi için hemen indirin. ### [OCR Görüntü Tanıma'da Tabloyu Tanıma](./recognize-table/) OCR görüntü tanımada tabloları tanımaya ilişkin kapsamlı kılavuzumuzla Aspose.OCR for .NET'in potansiyelini ortaya çıkarın. +### [C#'ta Hint Metnini Tanıma – Tam Aspose OCR Kılavuzu](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Aspose.OCR for .NET ile C# uygulamanızda Hint dilinde metin tanımayı adım adım öğrenin. +### [C#'ta Görsellerden ePub Oluşturma – Adım Adım Kılavuz](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +C# kullanarak görüntülerden ePub dosyası oluşturmayı adım adım öğrenin ve uygulamanıza e-kitap desteği ekleyin. +### [C#'ta Görüntüden Metin Tanıma – Tam Aspose OCR Kılavuzu](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Aspose.OCR for .NET ile C# uygulamanızda görüntülerden metin tanımayı adım adım öğrenin. +### [C#'ta PNG'den Metin Çıkarma – Tam Aspose OCR Kılavuzu](./extract-text-from-png-in-c-full-ocr-guide/) +Aspose.OCR for .NET ile C# uygulamanızda PNG dosyalarından metin çıkarmayı adım adım öğrenin. +### [C#'ta OCR Kullanımı – Görsellerden Çevrimdışı Metin Çıkarma](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +C# ile çevrimdışı olarak görüntülerden metin çıkarmayı adım adım öğrenin ve Aspose.OCR'ın gücünden faydalanın. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/turkish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..e5233bb10 --- /dev/null +++ b/ocr/turkish/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,255 @@ +--- +category: general +date: 2026-03-07 +description: C# kullanarak PNG dosyalarından metin çıkarın. Görüntüyü metne dönüştürmeyi + C# ile öğrenin ve taranmış görüntülerden metni hızlıca okuyun. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: tr +og_description: C# kullanarak PNG dosyalarından metin çıkarın. Bu kılavuz, görüntüyü + C# ile metne dönüştürmeyi ve Aspose OCR ile taranmış görüntülerden metin okumayı + gösterir. +og_title: C#'ta PNG'den Metin Çıkarma – Tam OCR Rehberi +tags: +- OCR +- C# +- Aspose +- Image Processing +title: C#'ta PNG'den Metin Çıkarma – Tam OCR Rehberi +url: /tr/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# PNG'den Metin Çıkarma C# – Tam OCR Rehberi + +Hiç **PNG'den metin çıkarmak** gerekti ama nereden başlayacağınızı bilemediniz mi? Yalnız değilsiniz—çoğu geliştirici, taranmış grafikler veya ekran görüntüleriyle ilk karşılaştıklarında bu duvara çarpar ve bunların aranabilir metin haline gelmesi gerekir. İyi haber? Birkaç satır C# ve Aspose OCR ile herhangi bir PNG'yi anında düzenlenebilir string'lere dönüştürebilirsiniz. + +Bu öğreticide tüm süreci adım adım inceleyeceğiz: diskteki PNG'leri bulmaktan, OCR görevlerini paralel olarak başlatmaya, her sonucun düzenli bir önizlemesini göstermeye kadar. Sonuna geldiğinizde **convert image to text C#** tarzında nasıl **görüntüyü metne dönüştüreceğinizi**, **tarama görüntülerinden metin okuma** konusunda nasıl verimli olacağınızı ve UI iş parçacığınızı yormadan **run OCR on images** en iyi yolunu göreceksiniz. + +## Gereksinimler + +- .NET 6.0 veya daha yeni (kod .NET Core ve .NET Framework'te de çalışır) +- Aspose.OCR NuGet paketi (`Install-Package Aspose.OCR`) +- İşlemek istediğiniz *.png* dosyalarıyla dolu bir klasör +- Tercih ettiğiniz herhangi bir IDE (Visual Studio, VS Code, Rider…) + +Ek bir yapılandırma gerekmez; kütüphane PNG, JPEG, TIFF gibi tüm formatları çözmek için gereken her şeyi içerir. + +## Adım 1: Tüm PNG Dosyalarını Bulun – “Extract Text from PNG” Başlıyor + +İlk olarak OCR çalıştırmak istediğimiz her PNG'yi bulmamız gerekiyor. `Directory.GetFiles` kullanmak hızlı ve güvenilirdir. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*Neden önemli:* Dizini bir kez taramak, geri kalan işlem hattını basit tutar ve erken kontrol, daha sonra hata ayıklaması zor olabilecek sessiz bir “çıktı yok” durumunu önler. + +## Adım 2: Paralel OCR Görevlerini Başlatın – Verimli bir şekilde **run OCR on images** + +OCR'yi sıralı çalıştırmak birkaç dosya için yeterlidir, ancak gerçek dünyadaki projeler genellikle onlarca ya da yüzlerce dosyayla uğraşır. Görüntü başına bir `Task` başlatarak CPU'yu meşgul tutarız, kütüphane ise ağır işini yapar. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Pro ipucu:* `Task.Run` işi iş parçacığı havuzuna devreder, bu da UI'nizin (varsa) yanıt vermeye devam etmesi anlamına gelir. Bir sunucuda iseniz, aynı desen çekirdekler arasında güzel bir şekilde ölçeklenir. + +## Adım 3: Tüm Görevleri Bekleyin – Sonuçları Toplayın + +Şimdi her OCR işleminin bitmesini bekliyoruz. `Task.WhenAll` orijinal dosya sırasına uyan bir dizi döndürür, böylece sonuçları dosya adlarıyla eşleştirmek kolay olur. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Köşe durum notu:* Tek bir görüntü hata verirse (bozuk dosya, desteklenmeyen format) tüm `WhenAll` istisna fırlatır. İç `Task.Run`'ı try/catch ile sarabilir ve hata toleransı gerekiyorsa boş bir string ya da tanılayıcı mesaj döndürebilirsiniz. + +## Adım 4: Önizleme Göster – **convert image to text C#** çıktısını doğrulayın + +Hızlı bir önizleme, verileri başka bir yere kaydetmeye başlamadan OCR'nin çalıştığını doğrulamanıza yardımcı olur. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Tipik konsol çıktısı şu şekildedir: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Eğer önizleme anlamsız karakterler gösteriyorsa, görüntü kalitesini iki kez kontrol edin veya ön işleme (ör. ikileştirme) düşünün – ancak çoğu temiz PNG için Aspose OCR ilk denemede doğru sonucu verir. + +## Opsiyonel: Sonuçları CSV'ye Kaydedin – Gerçek Dünya Kullanım Durumu + +Çoğu proje, çıkarılan metni yapılandırılmış bir formatta ihtiyaç duyar. Aşağıda dosya adını ve tam OCR metnini bir CSV dosyasına yazan küçük bir yardımcı bulunmaktadır. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Artık CSV'yi Excel, Power BI veya **read text from scanned images** bekleyen herhangi bir downstream sisteme aktarabilirsiniz. + +## Sık Sorulan Sorular + +**PNG'lerim çok büyük (5 MB'den fazla) olursa ne olur?** +Aspose OCR büyük görüntüleri otomatik olarak alt örnek alarak bellek kullanımını makul tutar, ancak `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` ile genişliği 2000 px olarak sınırlayıp en boy oranını koruyarak manuel olarak yeniden boyutlandırabilirsiniz. + +**Bunu Linux'ta çalıştırabilir miyim?** +Evet. Aspose OCR çapraz platformdur; sadece yerel bağımlılıkların (`libgdiplus` gibi bazı dağıtımlarda) kurulu olduğundan emin olun. + +**OCR dili varsayılan olarak İngilizce mi?** +Doğru. Başka bir dile ihtiyacınız varsa, `engine.Language = OcrLanguage.French;` (veya desteklenen herhangi bir enum) şeklinde `Recognize()` çağırmadan önce ayarlayın. + +**PNG içeren şifre korumalı PDF'leri nasıl ele alırım?** +Önce PDF sayfalarını görüntülere dönüştürün (Aspose PDF veya başka bir kütüphane kullanarak), ardından bu PNG'leri aynı işlem hattına besleyin. **how to run OCR on images** prensibi değişmez. + +## Tam Çalışan Örnek (Async Main) + +Aşağıda bir konsol projesine kopyalayıp yapıştırabileceğiniz bağımsız bir program var. Yukarıdaki tüm parçaları ve giriş klasörünü doğrulayan küçük bir yardımcı içerir. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Beklenen çıktı** (iki PNG için örnek): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Sonuç + +C# kullanarak **PNG'den metin çıkarma** dosyaları için ihtiyacınız olan her şeyi ele aldık. Dosyaları bulmaktan, paralel OCR görevlerini başlatmaya, string'leri önizlemeye ve CSV'ye kaydetmeye kadar—bu rehber **convert image to text C#** senaryoları için üretim hazır bir desen sunar. + +Bir sonraki adıma hazırsanız, aynı işlem hattına JPEG veya TIFF dosyalarını da beslemeyi deneyin, farklı OCR dilleriyle deney yapın veya sonuçları bir arama indeksine bağlayarak **read text from scanned images** anında okuyun. + +Köşe durumları, performans ayarı veya lisanslama hakkında sorularınız mı var? Bir yorum bırakın ya da Aspose topluluğuna mesaj gönderin—iyi kodlamalar! + +![PNG'den metin çıkarma örneği](extract-text-png.png "Aspose OCR kullanarak PNG'den metin çıkarma") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/turkish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..f3a9480b4 --- /dev/null +++ b/ocr/turkish/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR kullanarak taranmış görüntülerden ePub nasıl oluşturulur – + görüntüyü ePub’a dönüştürmeyi, görüntüden metin çıkarmayı, ePub’a yazar eklemeyi + ve OCR için görüntüyü yüklemeyi öğrenin. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: tr +og_description: C#'ta taranmış görüntülerden ePub nasıl oluşturulur. Bu öğreticide, + görüntüyü ePub'a dönüştürmeyi, görüntüden metin çıkarmayı, ePub'a yazar eklemeyi + ve OCR için görüntüyü yüklemeyi gösterir. +og_title: C#'ta Görsellerden ePub Nasıl Oluşturulur – Tam Kılavuz +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: C# ile Görsellerden ePub Nasıl Oluşturulur – Adım Adım Rehber +url: /tr/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Görsellerden ePub Nasıl Oluşturulur C# ile – Tam Kılavuz + +Hiç **ePub nasıl oluşturulur** sorusunu aklınıza getirdiniz mi? Belki klasik bir romanın birkaç PNG'sine sahipsiniz ve bunları herhangi bir cihazda okuyabileceğiniz düzenli bir ePub'a dönüştürmek istiyorsunuz. İyi haber, Aspose OCR ile **load image for OCR**, metni çıkarabilir ve ardından **convert image to ePub** işlemini sadece birkaç C# satırıyla gerçekleştirebilirsiniz. + +Bu öğreticide tüm süreci adım adım inceleyeceğiz: resmi yükleme, metni çıkarma, biraz meta veri ekleme (evet, **add author to epub** yapacağız) ve sonunda standartlara uygun bir ePub dosyası yazma. Sonunda yayımlamaya hazır bir ePub ve her adımı derinlemesine anlayışa sahip olacaksınız; böylece kodu çok sayfalı kitaplar, özel yazı tipleri ya da DRM‑siz dağıtım için uyarlayabilirsiniz. + +## What You’ll Need + +- **.NET 6** veya daha yeni bir sürüm (API, .NET Standard 2.0+ ile de çalışır) +- **Aspose.OCR for .NET** – Aspose web sitesinden ücretsiz deneme sürümünü alabilirsiniz. +- Diskte bir yerde bulunan `book_page.png` gibi taranmış bir görüntü. +- Sevdiğiniz bir IDE (Visual Studio, Rider veya VS Code – ekran görüntülerinde Visual Studio kullanacağım). + +Ek bir NuGet paketi gerekmez; Aspose.OCR, ePub dışa aktarma için ihtiyacınız olan her şeyi içinde barındırır. + +--- + +![Taranmış görüntüden ePub oluşturma](/images/how-to-create-epub.png "Aspose OCR kullanarak taranmış bir görüntüden ePub oluşturma") + +## Step 1 – Set Up the Project and Install Aspose.OCR + +First things first. Create a new console app: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Add the Aspose.OCR package: + +```bash +dotnet add package Aspose.OCR +``` + +That’s it – the library ships with both OCR and ePub export capabilities, so you won’t need any extra dependencies. + +## Step 2 – Load Image for OCR + +Before we can **extract text from image**, we have to give the OCR engine something to read. The `ImageStream.FromFile` helper makes this trivial: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Pro ipucu:** Görüntünüz gömülü bir kaynakta bulunuyorsa, `FromFile` yerine `ImageStream.FromResource` kullanın. + +## Step 3 – Extract Text from Image + +Now the engine actually reads the pixels and turns them into Unicode strings. The `Recognize` method does the heavy lifting. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Why call `Recognize` separately? It lets you inspect the raw OCR output, tweak language settings, or even run a spell‑check before you move on to ePub creation. + +## Step 4 – Prepare ePub Export Options (Add Author to ePub) + +Creating a polished ePub isn’t just about dumping text; you also want proper metadata. The `EpubExportOptions` class gives you a clean way to **add author to ePub**, set a title, and decide whether to embed the original images. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +If you have multiple pages, you can keep calling `ocrEngine.Image = …` and `ocrEngine.Recognize()` inside a loop; each call appends the new page’s content to the same ePub document. + +## Step 5 – Convert Image to ePub and Export + +With text extracted and metadata set, the final step is a one‑liner that writes the ePub file to disk: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +The resulting `book.epub` can be opened in Calibre, Apple Books, or any EPUB‑compatible reader. Because we set `IncludeImages = true`, the original PNG will appear as a picture‑page, preserving the look of the scanned source. + +## Full Working Example + +Putting it all together, here’s the complete, ready‑to‑run program: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Expected Output + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Open `book.epub` in your favorite reader and you’ll see a title page, the author line (even if it says “Unknown”), and the scanned image displayed alongside selectable text. + +## Common Questions & Edge Cases + +### What if the OCR language isn’t English? + +Aspose.OCR supports over 70 languages. Just set the `Language` property before calling `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### How do I handle multi‑page books? + +Wrap the loading/recognition logic in a `foreach` loop: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Each iteration appends the newly recognized text to the same ePub, preserving page order. + +### Can I exclude the original images? + +Sure – set `IncludeImages = false` in `EpubExportOptions`. The resulting ePub will be pure reflowable text, which reduces file size dramatically. + +### What about custom fonts or styling? + +Aspose.OCR’s ePub exporter lets you supply a CSS stylesheet via the `Css` property on `EpubExportOptions`. That way you can enforce a specific font family, line height, or margin. + +## Conclusion + +You now know **how to create ePub** from a scanned image using Aspose OCR in C#. The tutorial covered everything from **load image for OCR**, through **extract text from image**, to **add author to epub**, and finally **convert image to epub** with a single export call. With the full code sample in hand, you can extend the solution to batch‑process whole libraries, inject custom cover art, or even integrate the workflow into a web API. + +Ready for the next challenge? Try converting a PDF to ePub, or experiment with OCR confidence thresholds to improve accuracy on noisy scans. The sky’s the limit when you combine powerful OCR with flexible ePub generation. + +Happy coding, and enjoy reading your newly minted ePub! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/turkish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..f5ab52755 --- /dev/null +++ b/ocr/turkish/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,247 @@ +--- +category: general +date: 2026-03-07 +description: C#'ta OCR kullanarak görüntü dosyalarından metin çıkarmayı öğrenin. Bu + kılavuz, çevrim dışı OCR, görüntüyü metne dönüştürme ve OCR için görüntü yüklemeyi + gösterir. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: tr +og_description: C#'ta OCR'yi çevrim dışı olarak görüntülerden metin çıkarmak için + nasıl kullanılır. Adım adım kod, ipuçları ve görüntüyü metne dönüştürme konusunda + tam açıklama. +og_title: C#'de OCR Nasıl Kullanılır – Tam Offline Kılavuz +tags: +- OCR +- C# +- Aspose +title: C#'ta OCR Nasıl Kullanılır – Görüntülerden Çevrimdışı Metin Çıkarma +url: /tr/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# C#’ta OCR Nasıl Kullanılır – Görüntülerden Metin Çıkarma (Çevrimdışı) + +Hiç **OCR nasıl kullanılır** sorusunu, verileri buluta göndermeden bir .NET projesinde merak ettiniz mi? Tek başınıza değilsiniz. Birçok geliştirici, güvenli bir iş istasyonunda *görüntü dosyalarından metin çıkarmak* istiyor ve ağ trafiğinin hassas bilgileri ifşa edebileceğinden korkuyor. + +İyi haber? Aspose.OCR ile PNG, JPEG veya PDF dosyalarından tamamen çevrimdışı metin tanıyabilirsiniz. Bu öğreticide bir görüntüyü OCR için yüklemeyi, motoru çevrimdışı moda yapılandırmayı ve son olarak **görüntüyü metne dönüştürmeyi** sadece birkaç C# satırıyla göstereceğiz. + +Bu rehberin sonunda şunları yapabilecek durumdasınız: + +* Aspose.OCR NuGet paketini kurun. +* OCR motorunu çevrimdışı işleme için ayarlayın. +* Bir görüntüyü OCR için yükleyin ve metin içeriğini çıkarın. + +Harici hizmet yok, API anahtarı yok—herhangi bir Windows ya da Linux makinede çalışan saf C# kodu. + +--- + +## Önkoşullar + +Başlamadan önce şunların yüklü olduğundan emin olun: + +* .NET 6.0 SDK veya daha yeni bir sürüm (kod .NET Framework 4.7+ ile de çalışır). +* Visual Studio 2022, VS Code veya C# destekleyen herhangi bir editör. +* **Aspose.OCR** kütüphanesinin bir kopyası – NuGet üzerinden (`Aspose.OCR`) alabilirsiniz. +* Kütüphaneyle birlikte gelen OCR kaynakları klasörü (`Resources`) (dil veri dosyalarını içerir). +* Bilinen bir dizine yerleştirilmiş örnek bir görüntü (ör. `offline_test.png`). + +> **Pro ipucu:** Kaynaklar klasörünü çalıştırılabilir dosyanızın yanına koyun; bu, `ResourcesPath` yapılandırmasını basitleştirir. + +--- + +## 1. Adım: Aspose.OCR NuGet Paketini Kurun + +İlk olarak kütüphaneyi projenize ekleyin. Proje klasöründe bir terminal açın ve çalıştırın: + +```bash +dotnet add package Aspose.OCR +``` + +Ya da Visual Studio arayüzünü tercih ediyorsanız, **Dependencies → Manage NuGet Packages** üzerine sağ‑tıklayın, *Aspose.OCR* aratın ve **Install** düğmesine basın. + +> Paketi kurmak, gerekli tüm ikili dosyaları getirir; ek bir DLL’ye ihtiyacınız kalmaz. + +--- + +## 2. Adım: OCR Motorunu Oluşturun ve Yapılandırın (OCR Nasıl Kullanılır – Çevrimdışı Mod) + +Şimdi OCR motorunu örnekleyip **çevrimdışı** çalışmasını söyleyeceğiz. Bu, tanıma sırasında ağ trafiği oluşmayacağını garantiler. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Neden çevrimdışı?** +`EngineMode` `Online` olarak ayarlandığında, motor Aspose’un bulutuna bağlanarak dil paketlerini anlık indirir. Düzenlenmiş ortamlar (finans, sağlık) bu trafiği genellikle yasaklar. Çevrimdışı modu zorlayarak her şeyin yerel makinede kalmasını sağlarsınız. + +--- + +## 3. Adım: Motoru OCR Kaynakları Klasörüne Yönlendirin + +OCR motorunun karakterleri tanıyabilmesi için dil verilerine (eğitilmiş modellere) ihtiyacı vardır. Bu dosyaların nerede olduğunu ona söyleyin: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Klasörün nerede olduğunu bilmiyorsanız, NuGet paket dizini altında (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`) bulabilirsiniz. Dağıtımı kolaylaştırmak için tüm klasörü projenize kopyalayın. + +--- + +## 4. Adım: Görüntüyü OCR İçin Yükleyin (Load Image for OCR) + +Motor, desteklediği herhangi bir bitmap’i işleyebilir. Burada diskteki bir PNG’yi yükleyeceğiz: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**İpucu:** Bir API üzerinden gelen akıştan (stream) görüntü işlemek isterseniz, `ImageStream.FromStream(yourStream)` kullanın. + +--- + +## 5. Adım: Tanıma İşlemini Çalıştırın ve Görüntüyü Metne Dönüştürün + +Her şey hazır olduğunda OCR’u tetikleyin. `Recognize()` metodu ağır işi yapar ve çıkarılan metin `Text` özelliği üzerinden erişilebilir olur. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## 6. Adım: Çıkarılan Metni Görüntüleyin + +Son olarak sonucu gösterin. Konsol uygulamasında sadece konsola yazdırabilirsiniz; bir web API’da ise string’i JSON olarak dönebilirsiniz. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Programı çalıştırdığınızda `offline_test.png` dosyasının metin içeriği ekrana basılacaktır. Örneğin, görüntü *“Hello, World!”* ifadesini içeriyorsa şu çıktıyı görürsünüz: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Tam Çalışan Örnek + +Aşağıda tamamen çalışır durumda bir program yer alıyor. Yeni bir konsol projesine (`dotnet new console`) kopyalayıp yapıştırın ve ortamınıza uygun yolları düzenleyin. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Beklenen çıktı:** Konsol, PNG dosyasının içinde bulunan tam metni yazdırır. Görüntü bulanıksa, sonuçta hatalı karakterler olabilir—aşağıdaki sorun giderme bölümüne bakın. + +--- + +## Yaygın Tuzaklar ve İpuçları (PNG’den Metin Tanıma Verimli Hale Getirme) + +| Sorun | Neden Oluşur | Çözüm | +|-------|--------------|-------| +| **Boş çıktı** | `ResourcesPath` yanlış klasöre işaret ediyor veya dil dosyaları eksik. | Klasörün `eng.traineddata` (veya diğer dil dosyaları) içerdiğini doğrulayın ve yol dizesini tekrar kontrol edin. | +| **Garip karakterler** | Görüntü çözünürlüğü çok düşük veya ikili (binarize) edilmemiş. | Görüntüyü ön‑işleme tabi tutun (DPI artırın, `ImageProcessor` ile keskinleştirin). | +| **Performans gecikmesi** | Büyük görüntüler tam çözünürlükte işleniyor. | OCR’a vermeden önce görüntüyü maksimum 2000 px genişliğe yeniden boyutlandırın. | +| **Desteklenmeyen format** | Alışılmadık piksel formatına sahip bir BMP kullanılıyor. | Görüntüyü önce PNG veya JPEG’e dönüştürün (`System.Drawing.Image.Save`). | + +**Pro ipucu:** Birden fazla dili tanımanız gerekiyorsa, `ocrEngine.Settings.Language = Language.English | Language.French;` satırını `Recognize()` çağrısından önce ekleyin. + +--- + +## Sık Sorulan Sorular + +**S: Bu kodu Linux’ta da kullanabilir miyim?** +Evet. Aspose.OCR çapraz‑platformdur; yalnızca yerel kütüphanelerin mevcut olduğundan emin olun (NuGet paketi içinde zaten bulunur). + +**S: Resources klasörüm yoksa ne yapmalıyım?** +Aspose web sitesinden ücretsiz dil paketlerini indirebilir veya NuGet paketinden (`.../aspose.ocr//resources`) çıkarabilirsiniz. + +**S: Güven skorlarını alabilir miyim?** +Evet. `Recognize()` sonrası `ocrEngine.RecognizedWords` koleksiyonunu inceleyin – her kelime bir `Confidence` özelliği içerir. + +--- + +## Sonuç + +**OCR nasıl kullanılır** sorusunu C#’ta *görüntü dosyalarından metin çıkarmak* için tamamen çevrimdışı bir şekilde yanıtladık. Aspose.OCR’u kurarak, `EngineMode.Offline` ayarını yaparak, kaynakları işaretleyerek, bir görüntüyü yükleyip `Recognize()` çağırarak internetle hiç temas etmeden **görüntüyü metne dönüştürebilirsiniz**. + +Yukarıdaki kodu alın, kendi görüntü yollarınızı ekleyin ve arama yapılabilir PDF’ler, veri girişi otomasyonu veya erişilebilirlik araçları gibi özellikler geliştirmeye başlayın. Sonraki adımda **PNG’den toplu metin tanıma** ya da OCR motorunu bir ASP.NET Core API’ye entegre ederek OCR sonuçlarını ön‑uç uygulamalarına sunabilirsiniz. + +İyi kodlamalar, deney yapmaktan çekinmeyin—motor kurulduğunda OCR şaşırtıcı derecede hoşgörülüdür! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "çevrimdışı OCR akış diyagramı – güvenli bir ortamda OCR nasıl kullanılır") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/turkish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..3f891c31f --- /dev/null +++ b/ocr/turkish/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: Aspose.OCR'i C#'ta kullanarak Hint metnini tanımayı ve OCR için görüntü + yüklemeyi öğrenin. Adım adım kurulum, kod ve ipuçları. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: tr +og_description: Aspose OCR ile C#’ta Hint metnini nasıl tanıyacağınızı keşfedin. OCR + için görüntü yükleme, dil paketi kurulumu ve en iyi uygulama ipuçlarını içerir. +og_title: Hintçe metni tanıma – Tam Aspose OCR Eğitimi +tags: +- C# +- OCR +- Aspose +- Hindi +title: C#'ta Hint metnini tanıma – Tam Aspose OCR Rehberi +url: /tr/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Hint metnini tanıma – Tam Aspose OCR Öğreticisi + +Hiç taranmış bir makbuzdan **Hint metnini tanıma** ihtiyacı duydunuz ama nereden başlayacağınızı bilemediniz mi? Yalnız değilsiniz. Birçok Hint odaklı uygulamada, Hint karakterlerini güvenilir bir şekilde çıkarmak, hareket eden bir hedefi kovalamak gibi hissettirebilir. Neyse ki, Aspose.OCR bunu çocuk oyuncağı haline getiriyor—tek yapmanız gereken doğru adımları **load image for OCR** ve motoru Hint dil kaynaklarına yönlendirmek. + +Bu rehberde C#'ta çalışan bir OCR hattı oluşturmak için ihtiyacınız olan her şeyi adım adım göstereceğiz. Sonunda, Hint dil paketini indiren, bir görseli yükleyen, tanıma işlemini gerçekleştiren ve sonucu konsola yazdıran çalıştırılabilir bir programınız olacak. Belirsiz “belgelere bak” bağlantıları yok—herhangi bir .NET projesine ekleyebileceğiniz, bağımsız bir çözüm. + +## İhtiyacınız Olanlar + +- **.NET 6+** (or .NET Framework 4.7.2+). API tüm sürümlerde aynı, ancak yeni çalışma zamanı daha iyi performans sağlar. +- **Aspose.OCR for .NET** NuGet paketi. `dotnet add package Aspose.OCR` komutuyla kurun. +- Bir **Hindi language pack** – Aspose bunu varsayılan olarak paketlemez, indirilebilir bir kaynak olarak sunar. +- Hint metni içeren bir görüntü dosyası (örnek: `hindi_receipt.jpg`). Herhangi bir yaygın format (JPG, PNG, BMP) çalışır. +- İyi bir IDE (Visual Studio, Rider veya VS Code). + +Hepsi bu kadar—harici OCR motorları, bulut anahtarları yok, sadece yerel bir kütüphane. + +## Adım 1: Hindi Dil Paketini İndirin – Kaynakları Ayarlayın + +OCR motorunun Devanagari karakterlerini anlayabilmesi için önce Hindi dil kaynaklarını indirmeniz gerekir. Bu tek seferlik bir işlemdir ve genellikle uygulama kurulumu ya da CI/CD sırasında yapılır. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Neden önemli:** OCR motoru, piksel desenlerini Unicode karakterlerine eşlemek için dile özgü modellere dayanır. Hindi paketi olmadan, bozuk Latin çıktısı alırsınız ya da hiç çıktı olmaz. + +> **Pro ipucu:** Paketi, hedef makinede yazılabilir bir klasörde önbelleğe alın. Azure App Service'e dağıtıyorsanız, `D:\home\site\wwwroot\Resources` klasörünü kullanın. + +## Adım 2: OCR Motorunu Yapılandırın – Kaynakları Gösterin + +Kaynaklar yerinde olduğuna göre, bir `OcrEngine` örneği oluşturun ve ona dil dosyalarını nerede arayacağını söyleyin. Aynı zamanda tanıma için **primary language** (birincil dil) ayarını da burada yapıyoruz. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Neden bunu yapıyoruz:** `ResourcesPath`, motor ile indirilen dosyalar arasındaki köprüdür. Bu adımı atlamanız durumunda motor, yerleşik (yalnızca İngilizce) modellerine geri dönecek ve **recognize Hindi text** (Hint metnini tanıma) doğru şekilde gerçekleşmeyecektir. + +## Adım 3: Görseli OCR için Yükleyin – Motoru Doğru Girdiyle Besleyin + +Motor hazır olduğunda, bir sonraki adım **load image for OCR** (görseli OCR için yüklemek) işlemidir. Aspose, çoğu yaygın görüntü formatını destekleyen kullanışlı bir `ImageStream.FromFile` yardımcı metodunu sunar. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Common pitfalls:** +- **Büyük görüntüler** işleme süresini yavaşlatabilir. Yüksek çözünürlüklü taramalarla çalışıyorsanız, önce (`ImageProcessor.Resize`) ile yeniden örneklemeyi düşünün. +- **Yanlış yönlendirme** (döndürülmüş taramalar) kötü sonuçlara yol açar. Gerekirse `ocrEngine.Image.Rotate(90)` kullanın. + +## Adım 4: Tanıma Çalıştırın – Metni Çıkarın + +Şimdi motoru pikselleri okuyup Unicode dizgilerine dönüştürmesi için gerçekten istekte bulunuyoruz. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Beklenen:** Görüntü net ise, makbupta göründüğü gibi Hint karakterlerini tam olarak konsola yazdırmalısınız. Örneğin, örnek bir makbup şu şekilde bir çıktı verebilir: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Eğer anlamsız karakterler alırsanız, dil paketinin doğru indirildiğini ve `ocrEngine.Settings.Language` değerinin `Language.Hindi` olarak ayarlandığını tekrar kontrol edin. + +## Adım 5: Her Şeyi Birleştirin – Tam, Çalıştırılabilir Program + +Aşağıda, bir konsol projesine kopyalayıp yapıştırabileceğiniz tam kaynak dosyası yer alıyor. Yukarıdaki tüm adımları ve minimal hata yönetimini içerir. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Bunu `Program.cs` olarak kaydedin, `dotnet run` komutunu çalıştırın ve konsolda Hint metninin yazdırıldığını görmelisiniz. + +## Sık Sorulan Sorular (SSS) + +### Tek bir çalıştırmada birden fazla dili tanıyabilir miyim? +Evet. `ocrEngine.Settings.Language` değerini bir dizi olarak ayarlayın, örneğin `new[] { Language.Hindi, Language.English }`. Motor, her iki betikten de karakterleri tespit etmeye çalışacaktır. + +### Görüntüm bulanıksa ne yapmalıyım? +`ImageProcessor` ile ön işleme yapmayı düşünün—keskinleştirme veya kontrast artırma uygulayıp ardından `ocrEngine.Image`'a atayın. + +### Bu Linux/macOS'ta çalışır mı? +Kesinlikle. Aspose.OCR çapraz platformdur; sadece yerel bağımlılıkların mevcut olduğundan emin olun (genellikle NuGet paketiyle birlikte gelir). + +### Düşük çözünürlüklü makbup için doğruluğu nasıl artırabilirim? +Taramada DPI (inç başına nokta) değerini artırın veya OCR'dan önce programatik olarak görüntüyü en az 300 DPI'ye yeniden örnekleyin. + +## Sonuç + +**recognize Hindi text** (Hint metnini tanıma) için Aspose.OCR kullanarak ihtiyacınız olan her şeyi ele aldık—Hindi dil paketini indirmek, motoru yapılandırmak, doğru **load image for OCR** (görseli OCR için yüklemek) ve sonucu çıkarmak ve yazdırmak. Yukarıdaki tam kod parçacığı herhangi bir C# konsol uygulamasına eklenmeye hazır ve isteğe bağlı ipuçları, bulanık taramalar veya çok dilli belgeler gibi yaygın kenar durumlarıyla başa çıkmanıza yardımcı olur. + +Sonraki adım için hazırsanız? OCR çıktısını bir çeviri API'sine beslemeyi deneyin veya çıkarılan verileri analiz için bir veritabanına kaydedin. Ayrıca diğer Hint dilleriyle de deney yapabilirsiniz—Aspose Tamil, Bengali ve daha fazlasını destekler—`Language.Hindi` değerini istediğiniz enum değeriyle değiştirerek. + +Kodlamaktan keyif alın ve OCR sonuçlarınız her zaman net olsun! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/turkish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/turkish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..de102e541 --- /dev/null +++ b/ocr/turkish/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Aspose OCR ile görüntüden metni hızlıca tanıyın. Djvu'yu metne dönüştürmeyi, + görüntüden metin çıkarmayı ve OCR için görüntüyü yüklemeyi adım adım C# öğreticisinde + öğrenin. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: tr +og_description: Aspose OCR kullanarak C#'ta görüntüden metin tanıma. Bu rehber, djvu'yu + metne dönüştürmeyi, görüntüden metin çıkarmayı ve OCR için görüntüyü yüklemeyi pratik + ipuçlarıyla gösterir. +og_title: görüntüden metin tanıma – Tam C# Aspose OCR Öğreticisi +tags: +- C# +- Aspose OCR +- Document Processing +title: C#'ta görüntüden metin tanıma – Tam Aspose OCR Rehberi +url: /tr/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# görüntüden metin tanıma – Tam C# Aspose OCR Öğreticisi + +Hiç **görüntüden metin tanıma** ihtiyacı duydunuz ama hangi kütüphanenin güvenilir sonuçlar vereceğinden emin değildiniz? Yalnız değilsiniz. Tarama faturaları, tarihi DJVU dosyaları ya da basit bir PNG ekran görüntüsüyle uğraşıyor olun, tam karakterleri çıkarmak eski bir metni çözmek gibi hissettirebilir. + +Şöyle ki—Aspose OCR tüm süreci çocuk oyuncağı haline getiriyor. Bu rehberde **convert djvu to text**, **extract text from image**, ve **load image for OCR** nasıl yapılır, kısa bir C# programı kullanarak göstereceğiz. Sonunda tanınan dizeyi konsola yazdıran çalıştırılabilir bir konsol uygulamanız olacak ve her satırın “neden”ini anlayacaksınız. + +## Öğrenecekleriniz + +- Bir .NET projesinde Aspose OCR motorunu nasıl kuracağınızı. +- DJVU dosyasından **load image for OCR** için gereken tam kod. +- `Recognize()` metodunu `Text`'i okumadan önce neden çağırmanız gerektiği. +- Ortak tuzaklar (çok sayfalı DJVU, desteklenmeyen formatlar) ve bunlardan nasıl kaçınılacağı. +- Toplu işleme için **convert djvu to text** hızlı yolları. + +İhtiyacınız olan tek şey, son bir .NET SDK (≥ 6.0) ve bir Aspose OCR lisansıdır (ücretsiz deneme test için çalışır). Harici hizmetler yok, REST çağrıları yok—sadece saf C#. + +## Önkoşullar + +| Gereksinim | Sebep | +|-------------|--------| +| .NET 6 SDK veya daha yeni | Modern dil özellikleri ve daha iyi performans. | +| Aspose.OCR NuGet paketi (`Install-Package Aspose.OCR`) | `OcrEngine` sınıfını sağlar, kullanacağız. | +| Bir DJVU dosyası (örn., `sample.djvu`) | **convert djvu to text** işlemini gösterir. | +| C# konsol uygulamaları hakkında temel bilgi | Adımların doğal akmasını sağlar. | + +Eğer bunlardan biri eksikse, durun ve şimdi kurun; aksi takdirde kod derlenmez. + +## Adım 1 – Aspose.OCR'yi Kurun ve Projeyi Oluşturun + +İlk olarak, yeni bir konsol projesi oluşturun ve OCR kütüphanesini ekleyin. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro ipucu:* Hedef çerçeveyi açıkça kilitlemek istiyorsanız `--framework net6.0` bayrağını kullanın. + +## Adım 2 – OCR Motorunu Başlatın ve DJVU Görüntüsünü Yükleyin + +Motorun bir görüntü kaynağına ihtiyacı var. Aspose.OCR birçok formatı okuyabilir, DJVU dahil, bu yüzden dosya yolunu ona gösteriyoruz. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Neden önemli:** +- `OcrEngine` giriş noktasıdır; bir kez oluşturup yeniden kullanmak bellek tüketimini azaltır. +- `ImageStream.FromFile` dosya formatını soyutlar, böylece DJVU dosyasını daha sonra PNG veya TIFF ile değiştirebilir, başka bir kodu değiştirmeden—farklı senaryolarda **how to extract text from image** için mükemmeldir. + +## Adım 3 – Tanıma İşlemini Çalıştırın + +`Recognize()` çağrısı ağır işi başlatır. Aspose, hem basılı hem de el yazısı metin üzerinde çalışan bir sinir‑ağ‑tabanlı sınıflandırıcı çalıştırır. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Köşe durum notu:* DJVU dosyanız birden fazla sayfa içeriyorsa, `ImageStream.FromFile` hâlâ yalnızca ilk sayfayı yükler. Tüm sayfaları işlemek için `ImageStream.FromFile(...).Pages` üzerinde döngü oluşturmanız gerekir. Çoğu hızlı inceleme görevi için ilk sayfa yeterlidir. + +## Adım 4 – Tanınan Metni Alın ve Görüntüleyin + +Tanıma sonrası motor, `Text` özelliğini düz metin bir dizeyle doldurur. Artık bunu konsola, bir dosyaya yazabilir veya başka bir sisteme besleyebilirsiniz. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Tipik çıktı şu şekildedir: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Eğer çıktı bozuk ise, kaynak görüntünün düşük çözünürlükte olmadığını tekrar kontrol edin; Aspose en iyi doğruluk için 300 dpi veya daha yüksek önerir. + +## Tam Çalışan Örnek + +Hepsini bir araya getirerek, işte tek bir dosya (`Program.cs`) — önceki oluşturduğunuz projeye yapıştırabilirsiniz. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Şöyle çalıştırın: + +```bash +dotnet run +``` + +Terminalde çıkarılan dizeyi yazdırdığını göreceksiniz. Bu, Aspose OCR kullanarak **recognize text from image** yapmanın en basit yoludur. + +## Adım 5 – İleri Seviye: Çoklu DJVU Sayfalarını Metin Dosyalarına Dönüştürme + +Eğer toplu olarak **convert djvu to text** yapmanız gerekiyorsa, önceki kodu bir döngü ile genişletin: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Neden çalışır:* `GetPage(i)` istenen sayfa için bir `Image` nesnesi döndürür, aynı `OcrEngine` örneğini yeniden kullanmanıza izin verir. Her sayfanın metni kendi .txt dosyasına kaydedilir, size temiz bir **convert djvu to text** hattı sağlar. + +## Yaygın Sorular & Dikkat Edilmesi Gerekenler + +- **DJVU yerine JPEG'den metin çıkarabilir miyim?** + Kesinlikle. `FromFile` içindeki dosya uzantısını değiştirin. Aynı kod **how to extract text from image** geçerlidir çünkü Aspose formatı soyutlar. + +- **OCR sonucu ekstra satır sonları içerirse ne olur?** + Boşlukları normalleştirmek için `String.Replace("\r\n", " ")` ya da bir düzenli ifade kullanın. + +- **Üretim kullanımı için lisansa ihtiyacım var mı?** + Ücretsiz deneme 100 sayfaya kadar çalışır. Sınırsız kullanım için bir lisans satın alın ve motoru oluşturmadan önce `License license = new License(); license.SetLicense("Aspose.OCR.lic");` kodunu çağırın. + +- **Motor thread‑safe mi?** + Hayır. Her thread için ayrı bir `OcrEngine` oluşturun veya erişimi bir kilitle koruyun. + +## Daha İyi Doğruluk İçin İpuçları + +1. **DPI'yi artırın** – Kaynak dönüşümünü kontrol ediyorsanız, görüntüleri 300 dpi veya daha yüksek çıkartın. +2. **Görüntüyü ön‑işleyin** – Basit ikilileştirme (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) gürültülü taramalarda sonuçları iyileştirebilir. +3. **Dili belirtin** – `ocrEngine.Language = Language.English;` karakter kümesini daraltır ve tanıma hızını artırır. + +## Sonuç + +Artık Aspose OCR kullanarak **recognize text from image** yapan eksiksiz, çalıştırmaya hazır bir örneğiniz var ve **convert djvu to text**, **how to extract text from image**, ve **load image for OCR** nasıl yapılır gördünüz. Kod bağımsızdır, herhangi bir .NET 6+ çalışma zamanında çalışır ve çok sayfalı DJVU belgelerini toplu işlemek için genişletilebilir. + +Sonra şunları keşfedebilirsiniz: + +- **language detection** eklemek çok dilli DJVU dosyaları için. +- OCR çıktısını bir arama indeksine (örn., Elasticsearch) entegre etmek. +- Aspose'un PDF dönüşümünü kullanarak çıkarılan metni aranabilir PDF'lere dönüştürmek. + +Deneyin, DPI'yi ayarlayın, farklı görüntü formatlarıyla denemeler yapın ve OCR motorunun ağır işi sizin yerinize yapmasına izin verin. Kodlamanın tadını çıkarın! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/ocr-configuration/_index.md b/ocr/vietnamese/net/ocr-configuration/_index.md index b9a6ce6fa..0e61941b7 100644 --- a/ocr/vietnamese/net/ocr-configuration/_index.md +++ b/ocr/vietnamese/net/ocr-configuration/_index.md @@ -62,6 +62,7 @@ Mở khóa sức mạnh của nhận dạng hình ảnh OCR trong .NET với Asp Mở khóa các khả năng OCR mạnh mẽ với Aspose.OCR cho .NET. Trích xuất văn bản từ hình ảnh một cách liền mạch. ### [OCROperation with List in OCR Image Recognition](./ocr-operation-with-list/) Mở khóa tiềm năng của Aspose.OCR cho .NET. Thực hiện nhận dạng hình ảnh OCR với danh sách một cách dễ dàng. Tăng năng suất và việc trích xuất dữ liệu trong các ứng dụng của bạn. +### [Đọc văn bản từ PNG – trích xuất văn bản Cyrillic bằng Aspose OCR](./read-text-from-png-extract-cyrillic-text-with-aspose-ocr/) ### Các trường hợp sử dụng phổ biến - **Extract text images** từ hóa đơn đã quét để tự động kế toán. @@ -102,4 +103,4 @@ A: Có, đối tượng `OcrResult` cung cấp các giá trị confidence mà 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/vietnamese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md b/ocr/vietnamese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md new file mode 100644 index 000000000..c1113b020 --- /dev/null +++ b/ocr/vietnamese/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/_index.md @@ -0,0 +1,202 @@ +--- +category: general +date: 2026-03-07 +description: Tìm hiểu cách đọc văn bản từ file PNG và trích xuất văn bản Cyrillic + bằng Aspose OCR, chuyển đổi hình ảnh thành văn bản và tải xuống gói ngôn ngữ Cyrillic. +draft: false +keywords: +- read text from png +- extract cyrillic text +- convert image to text +- load image for ocr +- download cyrillic language pack +language: vi +og_description: Tìm hiểu cách đọc văn bản từ file PNG, trích xuất văn bản Cyrillic + và chuyển đổi hình ảnh thành văn bản bằng Aspose OCR trong C#. +og_title: đọc văn bản từ png – trích xuất văn bản Cyrillic bằng Aspose OCR +tags: +- Aspose OCR +- C# +- Image Processing +title: Đọc văn bản từ PNG – Trích xuất văn bản Cyrillic bằng Aspose OCR +url: /vi/net/ocr-configuration/read-text-from-png-extract-cyrillic-text-with-aspose-ocr/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# đọc văn bản từ png – trích xuất văn bản Cyrillic với Aspose OCR + +Cần **đọc văn bản từ file png** và lấy ra các ký tự Cyrillic? Trong hướng dẫn này chúng tôi sẽ chỉ cho bạn cách đọc văn bản từ png bằng Aspose OCR, trích xuất văn bản Cyrillic, và **chuyển đổi hình ảnh thành văn bản** chỉ trong vài dòng C#. + +Nếu bạn từng nhìn vào một ảnh chụp hoá đơn tiếng Nga và tự hỏi làm sao đưa các từ vào một chuỗi có thể tìm kiếm, bạn đang ở đúng chỗ. Chúng tôi cũng sẽ hướng dẫn cách **tự động tải gói ngôn ngữ Cyrillic** để bạn không phải tìm kiếm các tệp bổ sung. + +## Những gì bạn sẽ đạt được + +Kết thúc tutorial này, bạn sẽ có thể: + +* **Tải một hình ảnh để OCR** trực tiếp từ đĩa hoặc một luồng. +* Đặt engine sang **ngôn ngữ Cyrillic** mà không cần tải thủ công. +* Thực hiện nhận dạng và **trích xuất văn bản Cyrillic** từ một file PNG. +* Xem văn bản đã nhận dạng được in ra console – kết quả văn bản thuần túy, sạch sẽ mà bạn có thể đưa vào cơ sở dữ liệu, chỉ mục tìm kiếm, hoặc bất kỳ quy trình nào khác. + +Không cần dịch vụ bên ngoài, không cần khóa cloud, chỉ cần gói NuGet Aspose OCR và vài dòng C#. + +## Yêu cầu trước + +* .NET 6.0 hoặc mới hơn (mã chạy được trên .NET Core, .NET Framework và .NET 5+). +* Visual Studio 2022 hoặc bất kỳ trình soạn thảo nào bạn thích. +* Gói NuGet Aspose.OCR (`dotnet add package Aspose.OCR`). +* Một ảnh PNG chứa ký tự Cyrillic – ví dụ `cyrillic_sample.png` đặt trong thư mục có tên `YOUR_DIRECTORY`. + +> **Mẹo chuyên nghiệp:** Nếu bạn đang dùng Visual Studio, nhấp chuột phải vào dự án → **Manage NuGet Packages** → tìm “Aspose.OCR” và cài đặt phiên bản ổn định mới nhất. + +--- + +## Bước 1 – Cài đặt Aspose OCR và tạo engine + +Đầu tiên chúng ta cần một thể hiện của engine OCR. Lớp `OcrEngine` là điểm vào cho mọi thao tác. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Create an OCR engine – this object holds all settings and results +var ocrEngine = new OcrEngine(); +``` + +> **Tại sao lại quan trọng:** Engine bao gồm các gói ngôn ngữ, dữ liệu hình ảnh và tùy chọn nhận dạng. Khởi tạo một lần và tái sử dụng cho nhiều ảnh có thể cải thiện hiệu năng. + +--- + +## Bước 2 – **tải hình ảnh cho ocr** và đặt ngôn ngữ + +Bây giờ chúng ta chỉ cho engine biết ảnh nào sẽ được xử lý và ngôn ngữ nào cần tìm. Đặt `Language.Cyrillic` sẽ tự động tải gói ngôn ngữ cần thiết lần đầu chạy. + +```csharp +// 1️⃣ Load the PNG that contains Cyrillic text +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + +// 2️⃣ Tell Aspose we want to read Cyrillic characters +ocrEngine.Settings.Language = Language.Cyrillic; // downloads pack if missing +``` + +> **Trường hợp đặc biệt:** Nếu PNG của bạn quá lớn (hơn 5 MB) bạn có thể muốn thay đổi kích thước trước để tăng tốc nhận dạng. Thuộc tính `Image` cũng chấp nhận một `Stream`, vì vậy bạn có thể tải từ bộ nhớ, yêu cầu web, hoặc Azure Blob mà không cần chạm tới hệ thống tệp. + +--- + +## Bước 3 – **chuyển đổi hình ảnh thành văn bản** chỉ bằng một lời gọi + +Nhận dạng đơn giản như gọi `Recognize()`. Sau lời gọi này, thuộc tính `Text` sẽ chứa chuỗi đã trích xuất. + +```csharp +// Run the OCR engine – this does the heavy lifting +ocrEngine.Recognize(); + +// Grab the result; it’s plain Unicode text +string extractedText = ocrEngine.Text; +``` + +> **Bên trong thực tế:** Aspose chạy một bộ phân loại dựa trên mạng nơ-ron đã được huấn luyện trên hàng triệu glyph Cyrillic. Thư viện ẩn đi toàn bộ độ phức tạp, vì vậy bạn chỉ nhận được Unicode sạch sẽ. + +--- + +## Bước 4 – Xuất kết quả (hoặc chuyển tiếp tới nơi khác) + +Trong ví dụ này chúng tôi sẽ in văn bản ra console, nhưng bạn hoàn toàn có thể ghi vào file, cơ sở dữ liệu, hoặc đưa vào chỉ mục tìm kiếm. + +```csharp +// Show the OCR result in the console +Console.WriteLine("=== Recognized Cyrillic Text ==="); +Console.WriteLine(extractedText); +``` + +**Kết quả mong đợi** (giả sử `cyrillic_sample.png` chứa câu “Привет мир”): + +``` +=== Recognized Cyrillic Text === +Привет мир +``` + +Nếu kết quả bị rối loạn, hãy kiểm tra lại rằng ảnh rõ ràng và bạn đã đặt `Language.Cyrillic`. Engine mặc định là tiếng Anh, sẽ coi các ký tự Cyrillic là ký hiệu không xác định. + +--- + +## Bước 5 – Ví dụ đầy đủ, có thể chạy ngay + +Kết hợp tất cả lại, đây là một chương trình tự chứa mà bạn có thể sao chép‑dán vào một dự án console mới. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Create the OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // 2️⃣ Load the PNG and select Cyrillic language + // ------------------------------------------------- + // Replace the path with the location of your PNG + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/cyrillic_sample.png"); + ocrEngine.Settings.Language = Language.Cyrillic; // auto‑downloads pack + + // ------------------------------------------------- + // 3️⃣ Perform recognition + // ------------------------------------------------- + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 4️⃣ Output the extracted text + // ------------------------------------------------- + Console.WriteLine("=== Recognized Cyrillic Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Lưu file dưới tên `Program.cs`, chạy `dotnet run`, và bạn sẽ thấy văn bản Cyrillic được in ra. + +--- + +## Các câu hỏi thường gặp & khắc phục sự cố + +| Câu hỏi | Trả lời | +|----------|--------| +| **Nếu gói ngôn ngữ không tải được?** | Đảm bảo máy có kết nối internet. Gói được lưu trong `%USERPROFILE%\.Aspose\OCR\Languages`. Xóa thư mục này sẽ buộc tải lại. | +| **Có thể đọc các ngôn ngữ khác ngoài Cyrillic không?** | Chắc chắn – thay `Language.Cyrillic` bằng `Language.English`, `Language.Arabic`, v.v. Logic tự động tải vẫn áp dụng. | +| **PNG của tôi bị nhiễu – kết quả kém. Tôi nên làm gì?** | Tiền xử lý ảnh: tăng độ tương phản, chuyển sang thang xám, hoặc áp dụng bộ lọc trung vị. Aspose OCR cũng cung cấp các tùy chọn `Settings.ImagePreprocess`. | +| **Có cách lấy hộp bao quanh (bounding box) cho mỗi từ không?** | Có, sau `Recognize()` bạn có thể kiểm tra `ocrEngine.Regions` để lấy các hình chữ nhật cho mỗi từ được phát hiện. | +| **Có cần giấy phép cho môi trường production không?** | Bản đánh giá miễn phí hoạt động tối đa 100 trang. Đối với dự án thương mại, mua giấy phép để loại bỏ watermark và mở khóa xử lý batch tốc độ cao. | + +--- + +## Các bước tiếp theo – mở rộng giải pháp + +* **Xử lý batch:** Duyệt qua một thư mục PNG, thu thập tất cả văn bản vào file CSV. +* **Tích hợp với Azure Cognitive Search:** Đánh chỉ mục các chuỗi Cyrillic đã trích xuất để tra cứu nhanh. +* **Kết hợp với chuyển đổi PDF:** Dùng Aspose.PDF để chuyển PDF scan sang PNG trước, sau đó chạy quy trình OCR giống nhau. + +Tất cả các kịch bản này đều tái sử dụng mẫu cốt lõi chúng ta vừa học: **tải hình ảnh cho OCR → đặt ngôn ngữ → nhận dạng → sử dụng văn bản**. + +--- + +## Kết luận + +Bây giờ bạn đã biết cách **đọc văn bản từ png**, **trích xuất văn bản Cyrillic**, và **chuyển đổi hình ảnh thành văn bản** với Aspose OCR trong C#. Các bước chính là tạo engine, tải hình ảnh, chọn ngôn ngữ phù hợp (tự động **tải gói ngôn ngữ Cyrillic**), và cuối cùng gọi `Recognize()`. + +Hãy thử với các ảnh khác nhau, khám phá các tùy chọn `Settings`, và xem ứng dụng của bạn trở nên tìm kiếm được, đa ngôn ngữ, và thông minh hơn rất nhiều. + +Chúc lập trình vui vẻ, và đừng ngại để lại bình luận nếu gặp bất kỳ khó khăn nào! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/ocr-optimization/_index.md b/ocr/vietnamese/net/ocr-optimization/_index.md index e65f42655..e7f3162c0 100644 --- a/ocr/vietnamese/net/ocr-optimization/_index.md +++ b/ocr/vietnamese/net/ocr-optimization/_index.md @@ -74,6 +74,12 @@ Khám phá Aspose.OCR for .NET. Tăng cường độ chính xác OCR với các Cải thiện độ chính xác OCR với Aspose.OCR for .NET. Sửa lỗi chính tả, tùy chỉnh từ điển và đạt được nhận dạng văn bản không lỗi một cách dễ dàng. ### [Save Multipage Result as Document in OCR Image Recognition](./save-multipage-result-as-document/) Mở khóa tiềm năng của Aspose.OCR for .NET. Lưu dễ dàng kết quả OCR đa trang dưới dạng tài liệu với hướng dẫn chi tiết từng bước này. +### [Cách chỉnh góc ảnh và chạy OCR trong C# – Hướng dẫn đầy đủ](./how-to-deskew-image-and-run-ocr-in-c-complete-guide/) +Hướng dẫn chi tiết cách loại bỏ nghiêng ảnh và thực hiện OCR bằng C# với Aspose.OCR, nâng cao độ chính xác. +### [Ví dụ Aspose OCR – Bật Kiểm tra Chính tả và Sửa Lỗi trong C#](./aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/) +Hướng dẫn cách bật tính năng kiểm tra chính tả và sửa lỗi OCR trong C# bằng Aspose.OCR, nâng cao độ chính xác kết quả. +### [Cách thực hiện OCR trên ảnh tiếng Trung – Hướng dẫn đầy đủ C#](./how-to-perform-ocr-on-chinese-images-complete-c-guide/) +Hướng dẫn chi tiết cách nhận dạng ký tự tiếng Trung trong ảnh bằng Aspose.OCR và C#, nâng cao độ chính xác. ## Câu hỏi thường gặp diff --git a/ocr/vietnamese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md b/ocr/vietnamese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md new file mode 100644 index 000000000..71c0cfe9e --- /dev/null +++ b/ocr/vietnamese/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/_index.md @@ -0,0 +1,218 @@ +--- +category: general +date: 2026-03-07 +description: Ví dụ Aspose OCR cho thấy cách bật kiểm tra chính tả, thêm từ điển tùy + chỉnh, tải OCR hình ảnh và nhanh chóng sửa lỗi OCR. +draft: false +keywords: +- aspose ocr example +- how to enable spellcheck +- how to add dictionary +- load image ocr +- how to fix ocr errors +language: vi +og_description: Ví dụ Aspose OCR hướng dẫn bạn cách bật kiểm tra chính tả, thêm từ + điển tùy chỉnh, tải hình ảnh để OCR và sửa các lỗi OCR thường gặp. +og_title: Ví dụ OCR Aspose – Bật kiểm tra chính tả & Sửa lỗi +tags: +- Aspose +- OCR +- C# +- SpellCheck +title: Ví dụ Aspose OCR – Bật kiểm tra chính tả và sửa lỗi trong C# +url: /vi/net/ocr-optimization/aspose-ocr-example-enable-spellcheck-and-fix-errors-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Ví dụ Aspose OCR – Bật Kiểm tra Chính tả và Sửa Lỗi trong C# + +Bạn đã bao giờ cần một **ví dụ Aspose OCR** không chỉ đọc văn bản từ hình ảnh mà còn làm sạch những lỗi chính tả phiền phức chưa? Bạn không phải là người duy nhất. Trong nhiều dự án thực tế, đầu ra OCR thô đầy những lỗi đánh máy, đặc biệt khi hình ảnh nguồn chứa phông chữ ít tương phản hoặc ghi chú viết tay. + +Tin tốt? Với Aspose.OCR bạn có thể **bật kiểm tra chính tả**, tích hợp từ điển của riêng mình, và nhận được một chuỗi đã được làm sạch chỉ trong vài dòng mã. Dưới đây bạn sẽ thấy chính xác **cách bật kiểm tra chính tả**, **cách thêm từ điển**, và **cách tải OCR hình ảnh** để cuối cùng **sửa lỗi OCR** mà không phải đau đầu. + +Trong hướng dẫn này, chúng ta sẽ bao phủ mọi thứ bạn cần—từ cài đặt NuGet đến một chương trình hoàn chỉnh, có thể chạy được và in ra văn bản đã được sửa. Khi kết thúc, bạn sẽ có một **ví dụ Aspose OCR** vững chắc mà bạn có thể chèn ngay vào bất kỳ dự án .NET nào. + +## Yêu cầu trước + +- .NET 6.0 SDK hoặc phiên bản mới hơn (mã hoạt động với .NET Core và .NET Framework cũng được) +- Visual Studio 2022 hoặc bất kỳ IDE nào hỗ trợ C# +- Một tệp hình ảnh (`typed_text.png`) chứa văn bản tiếng Anh rõ ràng, được gõ +- Kết nối Internet để tải gói NuGet Aspose.OCR + +Không cần thư viện bên thứ ba nào khác. + +--- + +## Bước 1 – Cài đặt Gói NuGet Aspose.OCR (Tải OCR Hình ảnh) + +Trước khi chúng ta có thể viết bất kỳ mã nào, chúng ta cần thư viện cung cấp động cơ OCR. + +```bash +dotnet add package Aspose.OCR +``` + +> **Mẹo chuyên nghiệp:** Nếu bạn đang dùng Visual Studio, nhấp chuột phải vào dự án → *Manage NuGet Packages* → tìm **Aspose.OCR** và nhấn *Install*. + +Cài đặt gói sẽ cho bạn quyền truy cập vào `OcrEngine`, `ImageStream`, và các tiện ích kiểm tra chính tả tích hợp mà chúng ta sẽ dùng sau. Khi gói đã sẵn sàng, bạn đã sẵn sàng để **tải OCR hình ảnh**. + +## Bước 2 – Tạo Instance cho Engine OCR + +Tạo engine là bước cụ thể đầu tiên trong bất kỳ **ví dụ Aspose OCR** nào. Hãy nghĩ về `OcrEngine` như bộ não sẽ phân tích bitmap và xuất ra văn bản. + +```csharp +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +// Step 2: Initialize the OCR engine +var ocrEngine = new OcrEngine(); +``` + +Constructor của `OcrEngine` không yêu cầu bất kỳ tham số nào, giúp nó gọn gàng và tiện lợi cho các prototype nhanh. + +## Bước 3 – Cách Bật Kiểm tra Chính tả (và Tại sao Điều này Quan trọng) + +Đầu ra OCR thô thường chứa các từ bị nhận dạng sai như “teh” thay vì “the”. Bật bộ kiểm tra chính tả tích hợp cho phép Aspose tự động thay thế những lỗi đó bằng cách viết đúng nhất có thể. + +```csharp +// Step 3: Turn on spell checking and set the language to English +ocrEngine.Settings.SpellCheck.Enabled = true; +ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; +``` + +> **Tại sao bật kiểm tra chính tả?** +> - **Độ chính xác:** Kiểm tra chính tả sau xử lý có thể tăng độ chính xác tổng thể của văn bản lên 10‑15 % cho tài liệu in. +> - **Trải nghiệm người dùng:** Văn bản sạch sẽ đồng nghĩa với việc giảm công việc làm sạch ở các bước tiếp theo khi bạn đưa kết quả vào chỉ mục tìm kiếm hoặc pipeline phân tích. + +## Bước 4 – Cách Thêm Từ điển (Từ ngữ Tùy chỉnh) + +Đôi khi từ điển mặc định không nhận biết các tên thương hiệu, mã sản phẩm, hoặc thuật ngữ chuyên ngành của bạn. Đó là lúc **cách thêm từ điển** trở nên cần thiết. + +```csharp +// Step 4: Add custom words that the spell checker should accept +ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] +{ + "AsposeOCR", // our library name + "OCRify", // a fictional product + "CSharpify" // another custom term +}); +``` + +Bạn có thể cung cấp một mảng, một danh sách, hoặc thậm chí đọc từ tệp nếu có một từ vựng tùy chỉnh lớn. Bộ kiểm tra chính tả sẽ coi những mục này là hợp lệ, ngăn ngừa các sửa chữa sai. + +## Bước 5 – Tải Hình ảnh cho OCR (Tải OCR Hình ảnh) + +Bây giờ engine đã được cấu hình, chúng ta cần chỉ định nó tới hình ảnh muốn đọc. Trợ giúp `ImageStream.FromFile` ẩn đi các chi tiết đọc tệp. + +```csharp +// Step 5: Load the image that contains the text to be recognized +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); +``` + +> **Mẹo:** Nếu hình ảnh của bạn nằm trong thư mục con của dự án, đặt thuộc tính *Copy to Output Directory* thành *Copy always* để đường dẫn được giải quyết khi chạy. + +## Bước 6 – Thực hiện Nhận dạng và Sửa Lỗi OCR + +Khi mọi thứ đã sẵn sàng, một lần gọi `Recognize()` sẽ chạy pipeline OCR, áp dụng kiểm tra chính tả, và lưu kết quả đã làm sạch vào `ocrEngine.Text`. + +```csharp +// Step 6: Run OCR and let the spell checker clean the output +ocrEngine.Recognize(); + +// Step 7: Output the corrected text to the console +Console.WriteLine("Corrected text:"); +Console.WriteLine(ocrEngine.Text); +``` + +### Kết quả Dự kiến + +Giả sử `typed_text.png` chứa câu `The quick brown fox jumps over teh lazy dog`, console sẽ hiển thị: + +``` +Corrected text: +The quick brown fox jumps over the lazy dog +``` + +Chú ý cách “teh” đã được tự động sửa thành “the”. Nếu bạn đã thêm “OCRify” vào từ điển tùy chỉnh và hình ảnh chứa từ đó, engine sẽ giữ nguyên nó. + +--- + +## Ví dụ Hoàn chỉnh (Sẵn sàng Sao chép‑Dán) + +Dưới đây là chương trình đầy đủ mà bạn có thể chèn vào một dự án console mới. Nó bao gồm tất cả các bước ở trên, cộng thêm một vài chú thích để rõ ràng. + +```csharp +// --------------------------------------------------------------- +// Aspose OCR Example – Enable Spellcheck and Fix Errors +// --------------------------------------------------------------- + +using System; +using Aspose.OCR; +using Aspose.OCR.SpellCheck; + +namespace AsposeOcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create the OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Enable spell checking (how to enable spellcheck) + ocrEngine.Settings.SpellCheck.Enabled = true; + ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.English; + + // 3️⃣ Add custom words (how to add dictionary) + ocrEngine.Settings.SpellCheck.CustomDictionary.AddWords(new[] + { + "AsposeOCR", + "OCRify", + "CSharpify" + }); + + // 4️⃣ Load the image (load image OCR) + // Replace the path with the actual location of your image file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/typed_text.png"); + + // 5️⃣ Run OCR – this also fixes common OCR errors (how to fix ocr errors) + ocrEngine.Recognize(); + + // 6️⃣ Show the corrected result + Console.WriteLine("Corrected text:"); + Console.WriteLine(ocrEngine.Text); + } + } +} +``` + +Lưu tệp này dưới tên `Program.cs`, chạy `dotnet run`, và bạn sẽ thấy câu đã được sửa được in ra console. + +--- + +## Câu hỏi Thường gặp & Trường hợp Đặc biệt + +| Câu hỏi | Trả lời | +|----------|--------| +| **Nếu hình ảnh là PDF đa trang thì sao?** | Aspose.OCR có thể xử lý các trang PDF dưới dạng hình ảnh. Sử dụng `ocrEngine.Image = ImageStream.FromPdf("file.pdf", pageNumber: 1);` và lặp qua các trang. | +| **Tôi có thể đổi ngôn ngữ sang thứ khác ngoài tiếng Anh không?** | Chắc chắn. Đặt `ocrEngine.Settings.SpellCheck.Language = SpellCheckLanguage.French;` (hoặc bất kỳ ngôn ngữ nào được hỗ trợ). | +| **Từ điển tùy chỉnh của tôi rất lớn—sẽ ảnh hưởng tới hiệu năng không?** | Thêm hàng ngàn từ sẽ tốn một chi phí ban đầu nhỏ, nhưng việc tra cứu là O(1) nhờ hash‑set bên trong. Đối với từ vựng rất lớn, hãy cân nhắc tải chúng một lần khi ứng dụng khởi động. | +| **Nếu engine OCR ném ngoại lệ khi hình ảnh bị hỏng thì sao?** | Bao bọc `Recognize()` trong khối try‑catch và kiểm tra `ocrEngine.LastError`. Bạn cũng có thể kiểm tra trước kích thước hình ảnh bằng `ocrEngine.Image.Width` và `Height`. | +| **Tôi có cần giấy phép cho việc sử dụng trong môi trường production không?** | Bản đánh giá miễn phí hoạt động cho việc thử nghiệm, nhưng giấy phép thương mại sẽ loại bỏ watermark đánh giá và mở khóa hiệu năng đầy đủ. | + +--- + +## Kết luận + +Bây giờ bạn đã có một **ví dụ Aspose OCR hoàn chỉnh** thể hiện **cách bật kiểm tra chính tả**, **cách thêm từ điển**, **tải OCR hình ảnh**, và **cách sửa lỗi OCR** một cách sạch sẽ, sẵn sàng cho production. Bằng cách cấu hình bộ kiểm tra chính tả và cung cấp danh sách từ tùy chỉnh, bạn cải thiện đáng kể chất lượng văn bản đã trích xuất mà không cần viết bất kỳ logic xử lý hậu kỳ nào. + +Sẵn sàng cho bước tiếp theo? Hãy thử đổi ngôn ngữ sang tiếng Tây Ban Nha, đưa vào một PDF đa trang, hoặc tích hợp kết quả vào chỉ mục Azure Cognitive Search có khả năng tìm kiếm. Mẫu tương tự vẫn áp dụng—chỉ cần điều chỉnh cờ ngôn ngữ và có thể mở rộng từ điển tùy chỉnh. + +Nếu bạn thấy hướng dẫn này hữu ích, hãy đánh dấu sao trên GitHub, chia sẻ với đồng nghiệp, hoặc để lại bình luận bên dưới. Chúc lập trình vui vẻ, và hy vọng kết quả OCR của bạn luôn không lỗi! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md b/ocr/vietnamese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md new file mode 100644 index 000000000..470d45edd --- /dev/null +++ b/ocr/vietnamese/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/_index.md @@ -0,0 +1,221 @@ +--- +category: general +date: 2026-03-07 +description: Tìm hiểu cách chỉnh thẳng hình ảnh, tăng độ tương phản và trích xuất + văn bản từ bản quét bằng Aspose OCR. Thực hiện OCR trên hình ảnh với ví dụ C# đầy + đủ và dễ dàng tải hình ảnh để OCR. +draft: false +keywords: +- how to deskew image +- extract text from scan +- how to boost contrast +- perform ocr on image +- load image for OCR +language: vi +og_description: Tìm hiểu cách chỉnh nghiêng ảnh, tăng độ tương phản và trích xuất + văn bản từ bản quét bằng Aspose OCR trong C#. Thực hiện OCR trên ảnh với mã hướng + dẫn từng bước. +og_title: Cách chỉnh nghiêng ảnh và chạy OCR trong C# – Hướng dẫn đầy đủ +tags: +- C# +- OCR +- Image Processing +title: Cách chỉnh nghiêng ảnh và chạy OCR trong C# – Hướng dẫn toàn diện +url: /vi/net/ocr-optimization/how-to-deskew-image-and-run-ocr-in-c-complete-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Cân Chỉnh Ảnh và Chạy OCR trong C# – Hướng Dẫn Toàn Diện + +Nếu bạn từng thắc mắc **cách cân chỉnh ảnh** trước khi chạy OCR, bạn đang ở đúng nơi. Trong tutorial này chúng tôi sẽ hướng dẫn bạn tăng độ tương phản, tải ảnh lên để OCR, và cuối cùng **trích xuất văn bản từ bản quét** bằng Aspose OCR. + +Dù bạn đang số hoá các biên lai cũ, làm sạch hợp đồng đã quét, hay chỉ cần một cách đáng tin cậy để đọc văn bản từ một bức ảnh nghiêng, các bước dưới đây bao gồm mọi thứ bạn cần. Không có phần thừa—chỉ có một ví dụ hoạt động mà bạn có thể sao chép‑dán vào Visual Studio. + +## Những Điều Bạn Sẽ Đạt Được + +Khi hoàn thành hướng dẫn này, bạn sẽ có thể: + +* Sửa độ nghiêng lên tới 30° (đó là phần **cách cân chỉnh ảnh**). +* Tăng độ tương phản ảnh để các ký tự sắc nét hơn (**cách tăng độ tương phản**). +* Tải hình ảnh của bạn vào engine OCR (**tải ảnh cho OCR**). +* Chạy quá trình nhận dạng và **trích xuất văn bản từ bản quét**. + +Tất cả đều hoạt động với gói NuGet Aspose.OCR .NET mới nhất (v23.11 tại thời điểm viết). + +--- + +![Ví dụ cách cân chỉnh ảnh](/images/deskew-example.png "cách cân chỉnh ảnh") + +*Hình ảnh trên hiển thị một tài liệu đã quét trước và sau khi cân chỉnh.* + +## Yêu Cầu Trước + +* .NET 6.0 hoặc mới hơn (mã cũng chạy trên .NET Framework 4.7+). +* Visual Studio 2022 (hoặc bất kỳ IDE C# nào bạn thích). +* Gói NuGet Aspose.OCR – cài đặt bằng `dotnet add package Aspose.OCR`. + +Đó là tất cả. Không cần dịch vụ bên ngoài, không cần khóa API. + +--- + +## Cách Cân Chỉnh Ảnh với Aspose OCR + +Điều đầu tiên chúng ta làm là tạo một **ImageProcessingPipeline** và thêm một `DeskewFilter`. Bộ lọc này tự động phát hiện góc dòng văn bản chiếm ưu thế và xoay ảnh trở lại ngang. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; + +// Create the OCR engine +var ocrEngine = new OcrEngine(); + +// Build a pipeline – Deskew is the first filter +var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize + +// Attach the pipeline to the engine +ocrEngine.Settings.ImageProcessing = processingPipeline; +``` + +**Tại sao điều này quan trọng:** +Một bản quét nghiêng làm rối loạn engine OCR vì các ký tự không còn căn chỉnh với đường cơ sở. `DeskewFilter` phân tích histogram của ảnh, tìm góc, và xoay ảnh, cải thiện đáng kể độ chính xác nhận dạng. + +> **Mẹo chuyên nghiệp:** Nếu bạn biết tài liệu của mình không bao giờ nghiêng quá 15°, hãy đặt `MaxAngle = 15` để tăng tốc xử lý. + +--- + +## Cách Tăng Độ Tương Phản Để Nhận Diện Tốt Hơn + +Sau khi cân chỉnh, bước tiếp theo là làm cho văn bản nổi bật. `ContrastBoostFilter` kéo dài dải cường độ pixel, rất hữu ích cho các bản in đã phai. + +```csharp +// The ContrastBoostFilter is already in the pipeline above. +// You can tweak the Strength value (1.0 = no change, >1.0 = stronger boost) +.Add(new ContrastBoostFilter { Strength = 1.5 }) +``` + +**Lý do nó hữu ích:** +Các bản quét có độ tương phản thấp tạo ra các ký tự màu xám mà bộ nhị phân hoá có thể hiểu nhầm là nền. Tăng độ tương phản làm cho pixel tối hơn và pixel sáng hơn, cung cấp cho `BinarizationFilter` một nền sạch hơn. + +--- + +## Thực Hiện OCR trên Ảnh – Tải Tệp + +Bây giờ ảnh đã được tiền xử lý, chúng ta cần **tải ảnh cho OCR**. Aspose cung cấp một helper tiện lợi `ImageStream.FromFile`. + +```csharp +// Load the source image – replace the path with your own file +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); +``` + +Nếu ảnh của bạn nằm trong một stream (ví dụ, được tải lên qua API web), bạn có thể dùng `ImageStream.FromStream(yourStream)` thay thế. Engine hỗ trợ BMP, JPEG, PNG, TIFF và nhiều định dạng khác. + +--- + +## Chạy Quá Trình Nhận Dạng và Trích Xuất Văn Bản Từ Bản Quét + +Khi mọi thứ đã được kết nối, gọi `Recognize()` sẽ thực hiện phần công việc nặng. Sau lệnh này, văn bản đã nhận dạng sẽ có sẵn qua `ocrEngine.Text`. + +```csharp +// Run OCR +ocrEngine.Recognize(); + +// Output the result +Console.WriteLine("=== Extracted Text ==="); +Console.WriteLine(ocrEngine.Text); +``` + +**Kết quả mong đợi** (ví dụ cho một hoá đơn đơn giản): + +``` +=== Extracted Text === +Invoice #12345 +Date: 03/05/2026 +Total: $1,250.00 +Thank you for your business! +``` + +Nếu kết quả trông rối rắm, hãy kiểm tra lại thứ tự của pipeline—đầu tiên cân chỉnh, sau đó giảm nhiễu, tăng độ tương phản, và cuối cùng là nhị phân hoá. Thay đổi thứ tự có thể làm giảm chất lượng kết quả. + +--- + +## Những Sai Lầm Thường Gặp và Các Trường Hợp Đặc Biệt + +| Vấn đề | Nguyên nhân | Giải pháp | +|-------|-------------|-----------| +| **Kết quả rỗng** | Ảnh quá tối hoặc quá sáng đối với phương pháp nhị phân hoá mặc định. | Tăng `ContrastBoostFilter.Strength` hoặc chuyển sang `BinarizationMethod.Otsu`. | +| **Một phần văn bản bị thiếu** | Nhiễu vẫn còn sau khi giảm nhiễu. | Dùng `DenoiseLevel.Medium` cho ảnh nhẹ, hoặc thêm một `DenoiseFilter` thứ hai. | +| **Hướng xoay sai** | Tài liệu có hướng hỗn hợp (ví dụ, ảnh chụp một trang đã xoay). | Thiết lập thủ công `DeskewFilter.MaxAngle` thấp hơn và xoay trước ảnh bằng `ImageProcessor.Rotate`. | +| **Chậm hiệu năng** | Lô lượng lớn ảnh độ phân giải cao. | Thu nhỏ ảnh (`ImageProcessor.Resize`) trước pipeline, hoặc xử lý song song (`Parallel.ForEach`). | + +--- + +## Ví Dụ Hoàn Chỉnh (Sẵn Sàng Sao Chép‑Dán) + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Filters; + +class Program +{ + static void Main() + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Build image‑processing pipeline + var processingPipeline = new ImageProcessingPipeline() + .Add(new DeskewFilter { MaxAngle = 30 }) // how to deskew image up to 30° + .Add(new DenoiseFilter { Level = DenoiseLevel.High }) // remove high‑level noise + .Add(new ContrastBoostFilter { Strength = 1.5 }) // how to boost contrast + .Add(new BinarizationFilter { Method = BinarizationMethod.Sauvola }); // binarize image + + // 3️⃣ Attach pipeline to OCR settings + ocrEngine.Settings.ImageProcessing = processingPipeline; + + // 4️⃣ Load the image you want to OCR + // Replace the path with the location of your own file + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/skewed_noisy.jpg"); + + // 5️⃣ Run the recognition engine + ocrEngine.Recognize(); + + // 6️⃣ Display the extracted text + Console.WriteLine("=== Extracted Text ==="); + Console.WriteLine(ocrEngine.Text); + } +} +``` + +Lưu lại dưới tên `Program.cs`, chạy `dotnet run`, và quan sát console in ra kết quả **trích xuất văn bản từ bản quét**. + +--- + +## Các Bước Tiếp Theo & Chủ Đề Liên Quan + +* **Xử lý hàng loạt** – Đặt logic trên vào một vòng lặp để xử lý hàng chục tệp. +* **Gói ngôn ngữ tùy chỉnh** – Nếu bạn cần đọc các script không phải Latin, tải mô hình ngôn ngữ qua `ocrEngine.Settings.Language = OcrLanguage.ChineseSimplified;`. +* **Xuất PDF** – Kết hợp Aspose.PDF với OCR để nhúng văn bản có thể tìm kiếm trực tiếp vào tệp PDF. +* **Tinh chỉnh hiệu năng** – Thử nghiệm thứ tự của `ImageProcessingPipeline`; đôi khi giảm nhiễu trước khi cân chỉnh cho kết quả nhanh hơn trên ảnh nhiễu. + +Tất cả các mục trên dựa trên các khái niệm cốt lõi chúng ta đã đề cập: **cách cân chỉnh ảnh**, **cách tăng độ tương phản**, **tải ảnh cho OCR**, **thực hiện OCR trên ảnh**, và cuối cùng **trích xuất văn bản từ bản quét**. + +--- + +## Tổng Kết + +Chúng tôi vừa trình bày một cách hoàn chỉnh, sẵn sàng cho môi trường production để **cách cân chỉnh ảnh** và chạy OCR trong C#. Bằng cách xâu chuỗi một bộ lọc cân chỉnh, một bước giảm nhiễu, một bộ tăng độ tương phản, và một bộ nhị phân hoá, bạn sẽ có một đầu vào sạch sẽ giúp Aspose OCR đáng tin cậy **trích xuất văn bản từ bản quét**. + +Hãy thử chạy mã, điều chỉnh các tham số bộ lọc cho tài liệu của bạn, và bạn sẽ thấy độ chính xác nhận dạng cải thiện nhanh chóng. Có câu hỏi? Để lại bình luận, chúc bạn lập trình vui vẻ! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md b/ocr/vietnamese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md new file mode 100644 index 000000000..82a8f6efa --- /dev/null +++ b/ocr/vietnamese/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/_index.md @@ -0,0 +1,267 @@ +--- +category: general +date: 2026-03-07 +description: Cách thực hiện OCR trên hình ảnh tiếng Trung bằng Aspose OCR. Học cách + trích xuất văn bản tiếng Trung, chuyển đổi hình ảnh sang ePub và cải thiện độ chính + xác của OCR trong một hướng dẫn duy nhất. +draft: false +keywords: +- how to perform OCR +- extract chinese text +- convert image to epub +- how to improve OCR +- recognize simplified chinese +language: vi +og_description: Cách thực hiện OCR trên hình ảnh tiếng Trung bằng Aspose OCR. Nhận + mã từng bước để trích xuất văn bản tiếng Trung, cải thiện OCR và xuất ra ePub. +og_title: Cách thực hiện OCR trên hình ảnh tiếng Trung – Hướng dẫn C# đầy đủ +tags: +- OCR +- C# +- Aspose +title: Cách thực hiện OCR trên hình ảnh tiếng Trung – Hướng dẫn đầy đủ C# +url: /vi/net/ocr-optimization/how-to-perform-ocr-on-chinese-images-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Thực Hiện OCR trên Hình Ảnh Tiếng Trung – Hướng Dẫn Đầy Đủ cho C# + +Bạn đã bao giờ tự hỏi **cách thực hiện OCR** trên một bức ảnh chứa ký tự tiếng Trung chưa? Bạn không phải là người duy nhất. Trong nhiều ứng dụng—quét biên lai, số hoá sách giáo khoa, hoặc xây dựng công cụ tìm kiếm đa ngôn ngữ—việc lấy được văn bản sạch từ ảnh là tính năng quyết định thành công hay thất bại. + +Trong tutorial này chúng ta sẽ đi qua một giải pháp thực tế để **trích xuất văn bản tiếng Trung**, lưu kết quả vào file văn bản thuần, và thậm chí **chuyển đổi ảnh thành ePub** cho các thiết bị đọc sách điện tử. Trong quá trình thực hiện, chúng ta sẽ thảo luận **cách cải thiện độ chính xác OCR**, tại sao nên bật chế độ GPU, và những gì cần làm để **nhận dạng tiếng Trung giản thể** một cách chính xác. + +Khi kết thúc hướng dẫn, bạn sẽ có một chương trình C# chạy được đầy đủ, một loạt mẹo thực tiễn, và một ý tưởng rõ ràng về các bước tiếp theo bạn có thể thực hiện (như thêm phát hiện ngôn ngữ hoặc xử lý hàng loạt). Không cần tài liệu bên ngoài—mọi thứ bạn cần đều có ở đây. + +## Những Gì Bạn Cần Chuẩn Bị + +- .NET 6+ (hoặc .NET Core 3.1 với Aspose OCR for .NET) +- Giấy phép Aspose OCR for .NET hợp lệ (bản dùng thử miễn phí đủ cho việc thử nghiệm) +- Một file ảnh chứa ký tự tiếng Trung giản thể (ví dụ: `chinese_sample.jpg`) +- Visual Studio 2022 hoặc bất kỳ trình soạn thảo C# nào bạn thích + +Nếu thiếu bất kỳ mục nào, hãy tải gói NuGet ngay bây giờ: + +```bash +dotnet add package Aspose.OCR +``` + +Xong—không cần thư viện gốc bổ sung, không cần COM interop, chỉ một gói .NET duy nhất. + +## Cách Thực Hiện OCR – Cài Đặt Engine Aspose OCR + +Điều đầu tiên bạn phải làm là tạo và cấu hình engine OCR. Bước này quan trọng vì các thiết lập của engine quyết định **độ hiệu quả của OCR** trên ký tự tiếng Trung và tốc độ xử lý. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +// Step 1: Initialise the OCR engine with Chinese‑specific settings +var ocrEngine = new OcrEngine +{ + Settings = + { + // Primary language – Simplified Chinese + Language = Language.ChineseSimplified, + + // Use GPU when available for a noticeable speed boost + EngineMode = EngineMode.Gpu, + + // Build a processing pipeline to clean up the image first + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) // Fix rotation + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola // Improves contrast for Chinese glyphs + }) + } +}; +``` + +**Tại sao lại quan trọng:** +- **Language = ChineseSimplified** báo cho Aspose tải bộ ký tự cho tiếng Trung giản thể, giảm đáng kể các lỗi nhận dạng. +- **EngineMode.Gpu** có thể giảm thời gian xử lý một nửa trên GPU hiện đại, nhưng sẽ tự động quay lại CPU nếu không có GPU. +- **DeskewFilter** loại bỏ độ nghiêng thường xuất hiện khi người dùng chụp ảnh bằng điện thoại. +- **Sauvola binarization** tạo ảnh đen‑trắng độ tương phản cao, một thủ thuật cổ điển để tăng độ chính xác OCR trên các chữ viết dày như tiếng Trung. + +> **Mẹo chuyên nghiệp:** Nếu bạn đang làm việc với ảnh chụp trong điều kiện ánh sáng yếu, hãy thêm `ContrastFilter` trước khi nhị phân hoá. Không bắt buộc cho mẫu của chúng ta, nhưng thường giúp giảm bớt rắc rối. + +![Sơ đồ quy trình OCR](ocr-pipeline.png "Sơ đồ quy trình OCR") + +> *Alt text:* Sơ đồ quy trình OCR + +## Trích Xuất Văn Bản Tiếng Trung từ Ảnh + +Khi engine đã sẵn sàng, chúng ta tải ảnh và để engine thực hiện phép màu. Đây là phần cốt lõi của **extract chinese text**. + +```csharp +// Step 2: Load the image you want to recognize +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/chinese_sample.jpg"); + +// Step 3: Run the recognition process +ocrEngine.Recognize(); + +// Step 4: Grab the recognized string +string recognizedText = ocrEngine.Text; + +// Optional: Write the text to a .txt file for later analysis +File.WriteAllText(@"YOUR_DIRECTORY/out.txt", recognizedText); +``` + +**Kết quả bạn sẽ thấy:** +Nếu `chinese_sample.jpg` chứa cụm từ “中华人民共和国”, file `out.txt` sẽ chứa chính xác những ký tự đó—không có khoảng trắng thừa, không có chữ Latin bị lỗi. + +### Những Sai Lầm Thường Gặp + +| Vấn đề | Nguyên nhân | Cách khắc phục | +|--------|-------------|----------------| +| Thiếu ký tự | Ảnh quá nhiễu | Thêm `MedianFilter` trước khi nhị phân hoá | +| Nhận dạng ngôn ngữ sai | `Language` được đặt thành `English` | Đảm bảo `Language = Language.ChineseSimplified` | +| Xử lý chậm | GPU chưa được bật | Kiểm tra máy của bạn đã cài driver CUDA tương thích | + +## Chuyển Đổi Ảnh Thành ePub + +Nhiều nhà phát triển hỏi, *“Có thể biến trang quét thành sách điện tử đọc được không?”* Chắc chắn—Aspose OCR đi kèm bộ xuất ePub. Điều này đáp ứng yêu cầu **convert image to epub**. + +```csharp +// Step 5: Export the OCR result as an ePub file +ocrEngine.ExportToEpub( + @"YOUR_DIRECTORY/out.epub", + new EpubExportOptions { Title = "Chinese Sample" }); +``` + +File `out.epub` được tạo sẽ chứa văn bản tiếng Trung đã trích xuất, mã hoá đúng UTF‑8, và có thể mở trong Kindle, Apple Books, hoặc bất kỳ trình đọc ePub nào. + +**Tại sao nên dùng ePub?** +- Nó có khả năng tái luồng, cho phép người đọc thay đổi kích thước phông chữ mà không làm hỏng bố cục. +- Định dạng giữ được văn bản có thể tìm kiếm, rất tiện cho việc lập chỉ mục sau này. + +## Cách Cải Thiện OCR – Những Điều Điều Chỉnh Thực Tế + +Ngay cả với quy trình vững chắc, bạn vẫn có thể gặp một vài lỗi nhận dạng. Dưới đây là danh sách nhanh cho **how to improve OCR** trên tài liệu tiếng Trung: + +1. **Tiền xử lý ảnh** – Dùng `GaussianBlurFilter` để làm mịn các đốm, sau đó `ContrastFilter` để tăng độ nét cạnh. +2. **Tăng DPI** – Nếu bạn kiểm soát quá trình quét, hãy hướng tới 300 dpi hoặc cao hơn; ảnh độ phân giải thấp sẽ mất chi tiết nét. +3. **Bật phát hiện ngôn ngữ** – Aspose có thể tự động phát hiện ngôn ngữ; kết hợp với fallback sang tiếng Trung giản thể nếu phát hiện thất bại. +4. **Tinh chỉnh nhị phân hoá** – Thay `Sauvola` bằng `Otsu` nếu nền ảnh đồng nhất và sáng. +5. **Xử lý hàng loạt** – Xử lý nhiều trang đồng thời bằng `Parallel.ForEach` để tận dụng CPU đa nhân. + +```csharp +// Example: Adding a Gaussian blur before binarization +ocrEngine.Settings.ImageProcessing + .Add(new GaussianBlurFilter { Radius = 1.2 }) + .Add(new BinarizationFilter { Method = BinarizationMethod.Otsu }); +``` + +## Nhận Diện Tiếng Trung Giản Thể – Các Trường Hợp Cực Đoan + +Cụm từ **recognize simplified Chinese** thường làm người mới bối rối vì cùng một engine OCR cũng có thể xử lý tiếng Trung truyền thống, Nhật Bản hoặc Hàn Quốc. Để giữ tính quyết định: + +- **Cài đặt ngôn ngữ một cách rõ ràng** (như chúng ta đã làm ở Bước 1). +- **Tránh các trang hỗn hợp ngôn ngữ**; nếu một trang chứa cả tiếng Trung giản thể và tiếng Anh, hãy chạy hai lần: một lần với `Language.ChineseSimplified`, lần còn lại với `Language.English`. +- **Xác thực đầu ra** – Sau khi nhận dạng, chạy một regex đơn giản để đảm bảo mọi ký tự đều nằm trong khoảng Unicode `\u4E00‑\u9FFF`. + +```csharp +bool IsSimplifiedChinese(string text) +{ + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); +} +``` + +Nếu kiểm tra thất bại, bạn có thể ghi lại trang để xem lại thủ công. + +## Ví Dụ Hoàn Chỉnh + +Kết hợp mọi thứ lại, dưới đây là một file duy nhất bạn có thể sao chép‑dán vào một dự án console mới (`Program.cs`). Nó bao gồm tất cả các bước, các tinh chỉnh tùy chọn, và một dòng trạng thái cuối cùng. + +```csharp +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Filters; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // 1️⃣ Initialise OCR engine – Chinese‑specific settings + // ------------------------------------------------- + var ocrEngine = new OcrEngine + { + Settings = + { + Language = Language.ChineseSimplified, + EngineMode = EngineMode.Gpu, + ImageProcessing = new ImageProcessingPipeline() + .Add(new DeskewFilter()) + .Add(new BinarizationFilter + { + Method = BinarizationMethod.Sauvola + }) + } + }; + + // ------------------------------------------------- + // 2️⃣ Load image and run recognition + // ------------------------------------------------- + string imgPath = @"YOUR_DIRECTORY/chinese_sample.jpg"; + ocrEngine.Image = ImageStream.FromFile(imgPath); + ocrEngine.Recognize(); + + // ------------------------------------------------- + // 3️⃣ Save plain‑text output + // ------------------------------------------------- + string txtPath = @"YOUR_DIRECTORY/out.txt"; + File.WriteAllText(txtPath, ocrEngine.Text); + Console.WriteLine($"✅ Text saved to {txtPath}"); + + // ------------------------------------------------- + // 4️⃣ Export to ePub + // ------------------------------------------------- + string epubPath = @"YOUR_DIRECTORY/out.epub"; + ocrEngine.ExportToEpub(epubPath, + new EpubExportOptions { Title = "Chinese Sample" }); + Console.WriteLine($"✅ ePub generated at {epubPath}"); + + // ------------------------------------------------- + // 5️⃣ Quick verification – length and charset + // ------------------------------------------------- + Console.WriteLine($"Done – extracted text length: {ocrEngine.Text.Length}"); + Console.WriteLine($"Contains only Simplified Chinese? " + + $"{IsSimplifiedChinese(ocrEngine.Text)}"); + } + + // Helper to ensure only Simplified Chinese characters were extracted + static bool IsSimplifiedChinese(string text) + { + return System.Text.RegularExpressions.Regex.IsMatch( + text, @"^[\u4E00-\u9FFF\s]+$"); + } +} +``` + +**Kết quả console mong đợi (ví dụ):** + +``` +✅ Text saved to C:\Images\out.txt +✅ ePub generated at C:\Images\out.epub +Done – extracted text length: 128 +Contains only Simplified Chinese? True +``` + +Chạy chương trình, mở `out.txt` hoặc `out.epub`, và bạn sẽ thấy các ký tự tiếng Trung sạch, có thể tìm kiếm, sẵn sàng cho các quy trình xử lý tiếp theo. + +## Kết Luận + +Chúng ta vừa hoàn thành **cách thực hiện OCR** trên hình ảnh tiếng Trung từ đầu đến cuối, cho bạn biết cách **extract Chinese text**, **convert the result to an ePub**, và áp dụng một loạt mẹo để nâng cao độ chính xác. + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/text-recognition/_index.md b/ocr/vietnamese/net/text-recognition/_index.md index 205befdea..e8452a814 100644 --- a/ocr/vietnamese/net/text-recognition/_index.md +++ b/ocr/vietnamese/net/text-recognition/_index.md @@ -55,9 +55,20 @@ Nâng cao các ứng dụng .NET của bạn với Aspose.OCR để nhận dạn Khai phá tiềm năng của OCR trong .NET với Aspose.OCR. Trích xuất văn bản từ tệp PDF một cách dễ dàng. Tải xuống ngay để có trải nghiệm tích hợp liền mạch. ### [Nhận dạng bảng trong nhận dạng hình ảnh OCR](./recognize-table/) Khai phá tiềm năng của Aspose.OCR cho .NET với hướng dẫn toàn diện của chúng tôi về nhận dạng bảng trong nhận dạng hình ảnh OCR. +### [Nhận dạng văn bản từ hình ảnh trong C# – Hướng dẫn đầy đủ Aspose OCR](./recognize-text-from-image-in-c-complete-aspose-ocr-guide/) +Khám phá cách nhận dạng văn bản từ hình ảnh trong C# bằng Aspose OCR qua hướng dẫn chi tiết, giúp bạn tích hợp OCR một cách dễ dàng. +### [Nhận dạng văn bản Hindi trong C# – Hướng dẫn đầy đủ Aspose OCR](./recognize-hindi-text-in-c-complete-aspose-ocr-guide/) +Khám phá cách nhận dạng văn bản Hindi trong C# bằng Aspose OCR qua hướng dẫn chi tiết, giúp bạn tích hợp OCR Hindi một cách dễ dàng. +### [Cách tạo ePub từ hình ảnh trong C# – Hướng dẫn từng bước](./how-to-create-epub-from-images-in-c-step-by-step-guide/) +Hướng dẫn chi tiết cách chuyển hình ảnh thành file ePub bằng C#, giúp bạn tạo sách điện tử một cách nhanh chóng và dễ dàng. +### [Trích xuất văn bản từ PNG trong C# – Hướng dẫn OCR đầy đủ](./extract-text-from-png-in-c-full-ocr-guide/) +Khám phá cách trích xuất văn bản từ tệp PNG trong C# bằng Aspose.OCR qua hướng dẫn chi tiết, giúp bạn tích hợp OCR một cách dễ dàng. +### [Cách sử dụng OCR trong C# – Trích xuất văn bản từ hình ảnh offline](./how-to-use-ocr-in-c-extract-text-from-images-offline/) +Khám phá cách sử dụng Aspose.OCR trong C# để trích xuất văn bản từ hình ảnh mà không cần kết nối internet. + {{< /blocks/products/pf/tutorial-page-section >}} {{< /blocks/products/pf/main-container >}} {{< /blocks/products/pf/main-wrap-class >}} -{{< blocks/products/products-backtop-button >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md b/ocr/vietnamese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md new file mode 100644 index 000000000..c583b8d82 --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/_index.md @@ -0,0 +1,256 @@ +--- +category: general +date: 2026-03-07 +description: Trích xuất văn bản từ các tệp PNG bằng C#. Tìm hiểu cách chuyển đổi hình + ảnh thành văn bản trong C# và đọc văn bản từ các hình ảnh đã quét một cách nhanh + chóng. +draft: false +keywords: +- extract text from png +- convert image to text c# +- read text from scanned images +- how to run ocr on images +language: vi +og_description: Trích xuất văn bản từ các tệp PNG bằng C#. Hướng dẫn này chỉ cách + chuyển đổi hình ảnh thành văn bản trong C# và đọc văn bản từ các hình ảnh đã quét + bằng Aspose OCR. +og_title: Trích xuất văn bản từ PNG trong C# – Hướng dẫn OCR đầy đủ +tags: +- OCR +- C# +- Aspose +- Image Processing +title: Trích xuất văn bản từ PNG trong C# – Hướng dẫn OCR đầy đủ +url: /vi/net/text-recognition/extract-text-from-png-in-c-full-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Trích xuất văn bản từ PNG trong C# – Hướng dẫn OCR đầy đủ + +Bạn đã bao giờ cần **extract text from PNG** nhưng không chắc bắt đầu từ đâu? Bạn không đơn độc—hầu hết các nhà phát triển gặp khó khăn này khi lần đầu đối mặt với đồ họa đã quét hoặc ảnh chụp màn hình cần chuyển thành văn bản có thể tìm kiếm. Tin tốt? Chỉ với vài dòng C# và Aspose OCR, bạn có thể biến bất kỳ PNG nào thành chuỗi có thể chỉnh sửa ngay lập tức. + +Trong tutorial này, chúng ta sẽ đi qua toàn bộ quy trình: từ việc tìm vị trí các PNG trên đĩa, khởi chạy các tác vụ OCR song song, đến việc hiển thị một bản xem trước gọn gàng cho mỗi kết quả. Khi kết thúc, bạn sẽ biết cách **convert image to text C#**, bạn sẽ có thể **read text from scanned images** một cách hiệu quả, và bạn cũng sẽ thấy cách tốt nhất để **run OCR on images** mà không làm treo UI thread. + +## Những gì bạn cần + +- .NET 6.0 hoặc mới hơn (mã hoạt động trên .NET Core và .NET Framework cũng được) +- Gói NuGet Aspose.OCR (`Install-Package Aspose.OCR`) +- Một thư mục chứa các tệp *.png* bạn muốn xử lý +- Bất kỳ IDE nào bạn thích (Visual Studio, VS Code, Rider…) + +Không cần cấu hình bổ sung; thư viện đã bao gồm mọi thứ cần thiết để giải mã PNG, JPEG, TIFF, bạn gọi tên. + +## Bước 1: Tìm tất cả các tệp PNG – “Extract Text from PNG” bắt đầu + +Đầu tiên chúng ta phải tìm mọi PNG mà chúng ta dự định chạy OCR. Sử dụng `Directory.GetFiles` nhanh chóng và đáng tin cậy. + +```csharp +// Step 1: Find all PNG images in the input folder +string[] imageFiles = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); + +// Quick sanity check – throw if nothing was found +if (imageFiles.Length == 0) + throw new FileNotFoundException("No PNG files found in the specified folder."); +``` + +*​Tại sao điều này quan trọng:* Quét thư mục một lần giúp phần còn lại của pipeline đơn giản, và kiểm tra sớm ngăn ngừa tình huống “không có đầu ra” im lặng mà sau này khó debug. + +## Bước 2: Khởi động các tác vụ OCR song song – Hiệu quả **run OCR on images** + +Chạy OCR tuần tự là ổn cho một vài tệp, nhưng các dự án thực tế thường phải xử lý hàng chục hoặc hàng trăm. Bằng cách khởi chạy một `Task` cho mỗi ảnh, chúng ta giữ CPU bận trong khi thư viện thực hiện công việc nặng. + +```csharp +// Step 2: Prepare a list to hold OCR tasks (one per image) +var ocrTasks = new List>(); + +// Step 3: Launch a parallel task for each image +foreach (var filePath in imageFiles) +{ + ocrTasks.Add(Task.Run(() => + { + // Load the image and run OCR + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; // This is the extracted string + })); +} +``` + +*Mẹo chuyên nghiệp:* `Task.Run` chuyển công việc sang thread pool, nghĩa là UI của bạn (nếu có) sẽ vẫn phản hồi nhanh. Nếu bạn đang chạy trên server, mẫu này cũng mở rộng tốt trên các lõi. + +## Bước 3: Đợi tất cả các tác vụ – Thu thập kết quả + +Bây giờ chúng ta chờ mọi thao tác OCR hoàn thành. `Task.WhenAll` trả về một mảng sắp xếp theo thứ tự tệp gốc, giúp dễ dàng ghép kết quả với tên tệp. + +```csharp +// Step 4: Await all tasks and gather the recognized texts +string[] ocrResults = await Task.WhenAll(ocrTasks); +``` + +*Lưu ý trường hợp biên:* Nếu bất kỳ ảnh nào gây lỗi (tệp hỏng, định dạng không hỗ trợ) toàn bộ `WhenAll` sẽ truyền lên ngoại lệ. Bạn có thể bao bọc `Task.Run` bên trong bằng try/catch và trả về chuỗi rỗng hoặc thông báo chẩn đoán nếu cần chịu lỗi. + +## Bước 4: Hiển thị bản xem trước – Xác minh đầu ra **convert image to text C#** + +Một bản xem trước nhanh giúp bạn xác nhận OCR đã hoạt động trước khi lưu dữ liệu ở nơi khác. + +```csharp +// Step 5: Show a short preview of each result +for (int i = 0; i < ocrResults.Length; i++) +{ + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); +} +``` + +Đầu ra console điển hình trông như sau: + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +``` + +Nếu bản xem trước hiển thị ký tự rối, hãy kiểm tra lại chất lượng ảnh hoặc cân nhắc tiền xử lý (ví dụ: nhị phân hoá) – nhưng đối với hầu hết PNG sạch, Aspose OCR sẽ cho kết quả đúng ngay lần đầu. + +## Tùy chọn: Lưu kết quả vào CSV – Trường hợp thực tế + +Hầu hết các dự án cần văn bản đã trích xuất ở định dạng có cấu trúc. Dưới đây là một helper nhỏ ghi tên tệp và toàn bộ văn bản OCR vào tệp CSV. + +```csharp +string csvPath = Path.Combine("YOUR_DIRECTORY", "ocr-results.csv"); +using var writer = new StreamWriter(csvPath); +writer.WriteLine("FileName,ExtractedText"); + +for (int i = 0; i < imageFiles.Length; i++) +{ + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); +} +Console.WriteLine($"All results saved to {csvPath}"); +``` + +Bây giờ bạn có thể nhập CSV vào Excel, Power BI, hoặc bất kỳ hệ thống downstream nào cần **read text from scanned images**. + +## Câu hỏi thường gặp + +**Nếu các PNG của tôi quá lớn (hơn 5 MB)?** +Aspose OCR tự động giảm mẫu các ảnh lớn để giữ mức sử dụng bộ nhớ hợp lý, nhưng bạn có thể tự tay thay đổi kích thước bằng `engine.Image = ImageStream.FromFile(filePath).Resize(2000, 0);` để giới hạn chiều rộng ở 2000 px trong khi giữ tỷ lệ. + +**Có thể chạy trên Linux không?** +Có. Aspose OCR hỗ trợ đa nền tảng; chỉ cần đảm bảo các phụ thuộc gốc (`libgdiplus` trên một số distro) đã được cài đặt. + +**Ngôn ngữ OCR mặc định có phải là tiếng Anh không?** +Đúng. Nếu bạn cần ngôn ngữ khác, hãy đặt `engine.Language = OcrLanguage.French;` (hoặc bất kỳ enum hỗ trợ nào) trước khi gọi `Recognize()`. + +**Làm thế nào để xử lý PDF có mật khẩu bảo vệ chứa PNG?** +Chuyển các trang PDF thành ảnh trước (sử dụng Aspose PDF hoặc thư viện khác), sau đó đưa các PNG đó vào cùng pipeline. Nguyên tắc của **how to run OCR on images** vẫn không thay đổi. + +## Ví dụ hoạt động đầy đủ (Async Main) + +Dưới đây là một chương trình tự chứa mà bạn có thể sao chép và dán vào dự án console. Nó bao gồm tất cả các phần ở trên, cộng với một helper nhỏ để xác thực thư mục đầu vào. + +```csharp +using Aspose.OCR; +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static async Task Main() + { + // ------------------------------------------------- + // 1️⃣ Locate PNGs – the heart of “extract text from png” + // ------------------------------------------------- + const string folder = @"YOUR_DIRECTORY"; // <-- change this + if (!Directory.Exists(folder)) + { + Console.WriteLine($"Folder not found: {folder}"); + return; + } + + string[] imageFiles = Directory.GetFiles(folder, "*.png"); + if (imageFiles.Length == 0) + { + Console.WriteLine("No PNG files found – nothing to do."); + return; + } + + // ------------------------------------------------- + // 2️⃣ Fire off OCR tasks – best way to “run OCR on images” + // ------------------------------------------------- + var ocrTasks = new List>(); + foreach (var filePath in imageFiles) + { + ocrTasks.Add(Task.Run(() => + { + var engine = new OcrEngine(); + engine.Image = ImageStream.FromFile(filePath); + engine.Recognize(); + return engine.Text; + })); + } + + // ------------------------------------------------- + // 3️⃣ Await results + // ------------------------------------------------- + string[] ocrResults = await Task.WhenAll(ocrTasks); + + // ------------------------------------------------- + // 4️⃣ Show previews + // ------------------------------------------------- + for (int i = 0; i < ocrResults.Length; i++) + { + string fileName = Path.GetFileName(imageFiles[i]); + string preview = ocrResults[i].Length > 100 + ? ocrResults[i][..100] + "..." + : ocrResults[i]; + Console.WriteLine($"{fileName}: {preview}"); + } + + // ------------------------------------------------- + // 5️⃣ Optional: write CSV – perfect for “read text from scanned images” + // ------------------------------------------------- + string csvPath = Path.Combine(folder, "ocr-results.csv"); + using var writer = new StreamWriter(csvPath); + writer.WriteLine("FileName,ExtractedText"); + for (int i = 0; i < imageFiles.Length; i++) + { + string escaped = ocrResults[i].Replace("\"", "\"\""); + writer.WriteLine($"\"{Path.GetFileName(imageFiles[i])}\",\"{escaped}\""); + } + + Console.WriteLine($"✅ OCR complete – results saved to {csvPath}"); + } +} +``` + +**Kết quả mong đợi** (ví dụ cho hai PNG): + +``` +invoice-001.png: Invoice Number: 2025-07-14 Date: 07/14/2025 Total: $1,250.00... +receipt-202.png: Thank you for your purchase! Order #12345 Amount: $89.99... +✅ OCR complete – results saved to C:\MyImages\ocr-results.csv +``` + +## Tổng kết + +Chúng tôi vừa bao quát mọi thứ bạn cần để **extract text from PNG** bằng C#. Từ việc tìm tệp, khởi chạy các công việc OCR song song, xem trước các chuỗi, đến việc lưu chúng vào CSV—hướng dẫn này cung cấp mẫu sẵn sàng cho sản xuất cho các trường hợp **convert image to text C#**. + +Nếu bạn đã sẵn sàng bước tiếp, hãy thử đưa các tệp JPEG hoặc TIFF vào cùng pipeline, thử nghiệm các ngôn ngữ OCR khác nhau, hoặc kết nối kết quả vào chỉ mục tìm kiếm để bạn có thể **read text from scanned images** ngay lập tức. + +Có câu hỏi về các trường hợp biên, tối ưu hiệu năng, hoặc giấy phép? Để lại bình luận hoặc liên hệ cộng đồng Aspose—chúc lập trình vui! + +![Extract text from PNG example](extract-text-png.png "Extract text from PNG using Aspose OCR") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md b/ocr/vietnamese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md new file mode 100644 index 000000000..70598d0a7 --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/_index.md @@ -0,0 +1,234 @@ +--- +category: general +date: 2026-03-07 +description: Cách tạo ePub từ hình ảnh đã quét bằng Aspose OCR – học cách chuyển đổi + hình ảnh sang ePub, trích xuất văn bản từ hình ảnh, thêm tác giả vào ePub và tải + hình ảnh để OCR. +draft: false +keywords: +- how to create epub +- convert image to epub +- extract text from image +- add author to epub +- load image for ocr +language: vi +og_description: Cách tạo ePub từ hình ảnh đã quét trong C#. Hướng dẫn này cho bạn + biết cách chuyển đổi hình ảnh sang ePub, trích xuất văn bản từ hình ảnh, thêm tác + giả vào ePub và tải hình ảnh để OCR. +og_title: Cách tạo ePub từ hình ảnh trong C# – Hướng dẫn đầy đủ +tags: +- C# +- Aspose OCR +- ePub +- Document Conversion +title: Cách tạo ePub từ hình ảnh trong C# – Hướng dẫn từng bước +url: /vi/net/text-recognition/how-to-create-epub-from-images-in-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Tạo ePub Từ Hình Ảnh trong C# – Hướng Dẫn Toàn Diện + +Bạn đã bao giờ tự hỏi **cách tạo ePub** từ một bộ sưu tập các trang đã quét chưa? Có thể bạn có một vài tệp PNG của một tiểu thuyết cổ điển và muốn biến chúng thành một ePub gọn gàng để đọc trên bất kỳ thiết bị nào. Tin tốt là với Aspose OCR, bạn có thể **load image for OCR**, trích xuất văn bản, và sau đó **convert image to ePub** chỉ trong vài dòng C#. + +Trong tutorial này, chúng ta sẽ đi qua toàn bộ quy trình: tải ảnh, trích xuất văn bản, thêm một số metadata (đúng vậy, chúng ta sẽ **add author to epub**), và cuối cùng ghi một tệp ePub tuân thủ chuẩn. Khi hoàn thành, bạn sẽ có một ePub sẵn sàng xuất bản và hiểu rõ từng bước, để có thể tùy chỉnh mã cho sách đa trang, phông chữ tùy chỉnh, hoặc thậm chí phân phối không DRM. + +## Những Gì Bạn Cần Chuẩn Bị + +- **.NET 6** trở lên (API cũng hoạt động với .NET Standard 2.0+) +- **Aspose.OCR for .NET** – bạn có thể tải bản dùng thử miễn phí từ trang web Aspose. +- Một ảnh đã quét như `book_page.png` được lưu ở đâu đó trên đĩa. +- Một IDE yêu thích (Visual Studio, Rider, hoặc VS Code – tôi sẽ dùng Visual Studio trong các ảnh chụp màn hình). + +Không cần thêm bất kỳ gói NuGet nào; Aspose.OCR đã bao gồm mọi thứ bạn cần để xuất ePub. + +--- + +![Cách tạo ePub từ ảnh đã quét](/images/how-to-create-epub.png "Cách tạo ePub từ một ảnh đã quét bằng Aspose OCR") + +## Bước 1 – Thiết Lập Dự Án và Cài Đặt Aspose.OCR + +Đầu tiên, tạo một ứng dụng console mới: + +```bash +dotnet new console -n OcrToEpubDemo +cd OcrToEpubDemo +``` + +Thêm gói Aspose.OCR: + +```bash +dotnet add package Aspose.OCR +``` + +Xong – thư viện đã tích hợp cả OCR và khả năng xuất ePub, vì vậy bạn không cần phụ thuộc nào khác. + +## Bước 2 – Load Image for OCR + +Trước khi chúng ta có thể **extract text from image**, cần cung cấp cho engine OCR một thứ để đọc. Trợ giúp `ImageStream.FromFile` làm cho việc này trở nên đơn giản: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Load the PNG (or JPG, TIFF, etc.) you want to process +// This is the “load image for OCR” step. +ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); +``` + +> **Mẹo chuyên nghiệp:** Nếu ảnh của bạn nằm trong một tài nguyên nhúng, hãy dùng `ImageStream.FromResource` thay vì `FromFile`. + +## Bước 3 – Extract Text from Image + +Bây giờ engine thực sự đọc các pixel và chuyển chúng thành chuỗi Unicode. Phương thức `Recognize` thực hiện phần công việc nặng. + +```csharp +// Run the OCR process – this will fill ocrEngine.RecognitionResult +ocrEngine.Recognize(); + +// Optional: inspect the raw text +string rawText = ocrEngine.RecognitionResult.Text; +Console.WriteLine("Extracted text (first 200 chars):"); +Console.WriteLine(rawText.Substring(0, Math.Min(200, rawText.Length))); +``` + +Tại sao lại gọi `Recognize` riêng? Điều này cho phép bạn kiểm tra đầu ra OCR thô, điều chỉnh cài đặt ngôn ngữ, hoặc thậm chí chạy kiểm tra chính tả trước khi chuyển sang tạo ePub. + +## Bước 4 – Prepare ePub Export Options (Add Author to ePub) + +Tạo một ePub hoàn chỉnh không chỉ là đổ văn bản; bạn cũng cần metadata đúng. Lớp `EpubExportOptions` cung cấp cách sạch sẽ để **add author to ePub**, đặt tiêu đề, và quyết định có nhúng ảnh gốc hay không. + +```csharp +var epubExportOptions = new EpubExportOptions +{ + Title = "Scanned Book", // Title shown in eReader libraries + Author = "Unknown", // This is where we “add author to epub” + IncludeImages = true // Embeds the original PNGs for visual fidelity +}; +``` + +Nếu bạn có nhiều trang, có thể tiếp tục gọi `ocrEngine.Image = …` và `ocrEngine.Recognize()` trong một vòng lặp; mỗi lần gọi sẽ thêm nội dung trang mới vào cùng một tài liệu ePub. + +## Bước 5 – Convert Image to ePub and Export + +Với văn bản đã trích xuất và metadata đã thiết lập, bước cuối cùng chỉ là một dòng lệnh ghi tệp ePub ra đĩa: + +```csharp +// Export the recognized content to an ePub file +ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + +// Confirmation for the user +Console.WriteLine("ePub created."); +``` + +Tệp `book.epub` tạo ra có thể mở trong Calibre, Apple Books, hoặc bất kỳ trình đọc EPUB nào. Vì chúng ta đã đặt `IncludeImages = true`, PNG gốc sẽ xuất hiện như một trang hình ảnh, giữ nguyên giao diện của nguồn quét. + +## Ví Dụ Hoàn Chỉnh + +Kết hợp tất cả lại, đây là chương trình hoàn chỉnh, sẵn sàng chạy: + +```csharp +using Aspose.OCR; +using Aspose.OCR.Export; + +class Program +{ + static void Main() + { + // Step 1: Create an OCR engine instance + var ocrEngine = new OcrEngine(); + + // Step 2: Load the image you want to process + // This is the “load image for OCR” step. + ocrEngine.Image = ImageStream.FromFile("YOUR_DIRECTORY/book_page.png"); + + // Step 3: Run the OCR recognition – we now “extract text from image” + ocrEngine.Recognize(); + + // (Optional) Print a snippet of the extracted text + string snippet = ocrEngine.RecognitionResult.Text.Substring(0, + Math.Min(200, ocrEngine.RecognitionResult.Text.Length)); + Console.WriteLine("Extracted text preview:"); + Console.WriteLine(snippet); + Console.WriteLine(); + + // Step 4: Set up ePub export options – we “add author to epub” here + var epubExportOptions = new EpubExportOptions + { + Title = "Scanned Book", + Author = "Unknown", + IncludeImages = true // embed the original images in the ePub + }; + + // Step 5: Export the recognized content – this is how we “convert image to epub” + ocrEngine.ExportToEpub("YOUR_DIRECTORY/book.epub", epubExportOptions); + + // Step 6: Inform the user that the ePub has been created + Console.WriteLine("ePub created."); + } +} +``` + +### Kết Quả Dự Kiến + +``` +Extracted text preview: +Chapter 1 +It was a bright cold day in April, and the... + +ePub created. +``` + +Mở `book.epub` trong trình đọc yêu thích và bạn sẽ thấy trang tiêu đề, dòng tác giả (ngay cả khi nó hiển thị “Unknown”), và ảnh đã quét được hiển thị cùng với văn bản có thể chọn. + +## Các Câu Hỏi Thường Gặp & Trường Hợp Đặc Biệt + +### Nếu ngôn ngữ OCR không phải tiếng Anh thì sao? + +Aspose.OCR hỗ trợ hơn 70 ngôn ngữ. Chỉ cần đặt thuộc tính `Language` trước khi gọi `Recognize`: + +```csharp +ocrEngine.Language = OcrLanguage.French; // or OcrLanguage.Spanish, etc. +``` + +### Làm sao xử lý sách đa trang? + +Bao bọc logic tải/nhận dạng trong một vòng `foreach`: + +```csharp +string[] pages = Directory.GetFiles("YOUR_DIRECTORY", "*.png"); +foreach (var pagePath in pages) +{ + ocrEngine.Image = ImageStream.FromFile(pagePath); + ocrEngine.Recognize(); +} +ocrEngine.ExportToEpub("YOUR_DIRECTORY/full_book.epub", epubExportOptions); +``` + +Mỗi vòng lặp sẽ thêm văn bản mới nhận dạng được vào cùng một ePub, giữ thứ tự trang. + +### Tôi có thể loại bỏ ảnh gốc không? + +Chắc chắn – đặt `IncludeImages = false` trong `EpubExportOptions`. ePub kết quả sẽ chỉ chứa văn bản có thể cuộn lại, giảm đáng kể kích thước tệp. + +### Còn về phông chữ tùy chỉnh hoặc kiểu dáng? + +Trình xuất ePub của Aspose.OCR cho phép bạn cung cấp một stylesheet CSS qua thuộc tính `Css` trên `EpubExportOptions`. Nhờ đó bạn có thể áp dụng một họ phông chữ, khoảng cách dòng, hoặc lề cụ thể. + +## Kết Luận + +Bây giờ bạn đã biết **cách tạo ePub** từ một ảnh đã quét bằng Aspose OCR trong C#. Tutorial đã bao quát mọi thứ từ **load image for OCR**, qua **extract text from image**, đến **add author to epub**, và cuối cùng **convert image to epub** chỉ bằng một lời gọi xuất. Với mẫu mã đầy đủ trong tay, bạn có thể mở rộng giải pháp để xử lý hàng loạt thư viện, chèn ảnh bìa tùy chỉnh, hoặc thậm chí tích hợp quy trình vào một API web. + +Sẵn sàng cho thử thách tiếp theo? Hãy thử chuyển đổi PDF sang ePub, hoặc thử nghiệm ngưỡng độ tin cậy OCR để cải thiện độ chính xác trên các bản quét nhiễu. Khi kết hợp OCR mạnh mẽ với khả năng tạo ePub linh hoạt, khả năng của bạn là vô hạn. + +Chúc lập trình vui vẻ, và chúc bạn thưởng thức ePub mới tạo ra! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md b/ocr/vietnamese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md new file mode 100644 index 000000000..a448d6d98 --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/_index.md @@ -0,0 +1,246 @@ +--- +category: general +date: 2026-03-07 +description: Học cách sử dụng OCR trong C# để trích xuất văn bản từ các tệp hình ảnh. + Hướng dẫn này trình bày OCR ngoại tuyến, chuyển đổi hình ảnh thành văn bản và tải + hình ảnh cho OCR. +draft: false +keywords: +- how to use OCR +- extract text from image +- recognize text from png +- convert image to text +- load image for ocr +language: vi +og_description: Cách sử dụng OCR trong C# để trích xuất văn bản từ hình ảnh offline. + Mã từng bước, mẹo và giải thích đầy đủ về việc chuyển đổi hình ảnh thành văn bản. +og_title: Cách sử dụng OCR trong C# – Hướng dẫn toàn diện offline +tags: +- OCR +- C# +- Aspose +title: Cách sử dụng OCR trong C# – Trích xuất văn bản từ hình ảnh ngoại tuyến +url: /vi/net/text-recognition/how-to-use-ocr-in-c-extract-text-from-images-offline/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Cách Sử Dụng OCR trong C# – Trích Xuất Văn Bản từ Hình Ảnh Offline + +Bạn đã bao giờ tự hỏi **cách sử dụng OCR** trong một dự án .NET mà không cần gửi dữ liệu lên đám mây chưa? Bạn không phải là người duy nhất. Nhiều nhà phát triển cần *trích xuất văn bản từ file hình ảnh* trên một máy trạm bảo mật, và họ lo ngại lưu lượng mạng có thể lộ thông tin nhạy cảm. + +Tin tốt là gì? Với Aspose.OCR bạn có thể nhận dạng văn bản từ PNG, JPEG hoặc PDF hoàn toàn offline. Trong hướng dẫn này chúng ta sẽ đi qua việc tải một hình ảnh để OCR, cấu hình engine ở chế độ offline, và cuối cùng **chuyển đổi hình ảnh sang văn bản** chỉ với vài dòng C#. + +Khi đọc xong hướng dẫn này, bạn sẽ có thể: + +* Cài đặt gói NuGet Aspose.OCR. +* Thiết lập engine OCR để xử lý offline. +* Tải một hình ảnh để OCR và trích xuất nội dung văn bản của nó. + +Không cần dịch vụ bên ngoài, không cần API key—chỉ cần mã C# thuần chạy trên bất kỳ máy Windows hoặc Linux nào. + +--- + +## Các Điều Kiện Cần Có + +Trước khi bắt đầu, hãy chắc chắn rằng bạn có: + +* .NET 6.0 SDK hoặc mới hơn (mã cũng hoạt động với .NET Framework 4.7+). +* Visual Studio 2022, VS Code, hoặc bất kỳ trình soạn thảo nào hỗ trợ C#. +* Một bản sao của thư viện **Aspose.OCR** – bạn có thể lấy từ NuGet (`Aspose.OCR`). +* Thư mục tài nguyên OCR (`Resources`) đi kèm với thư viện (chứa các file dữ liệu ngôn ngữ). +* Một hình ảnh mẫu (ví dụ: `offline_test.png`) được đặt trong một thư mục đã biết. + +> **Pro tip:** Đặt thư mục resources cạnh file thực thi của bạn; điều này giúp đơn giản hoá cấu hình `ResourcesPath`. + +--- + +## Bước 1: Cài Đặt Gói NuGet Aspose.OCR + +Đầu tiên, thêm thư viện vào dự án của bạn. Mở terminal trong thư mục dự án và chạy: + +```bash +dotnet add package Aspose.OCR +``` + +Hoặc, nếu bạn thích giao diện Visual Studio, chuột phải vào **Dependencies → Manage NuGet Packages**, tìm *Aspose.OCR*, và nhấn **Install**. + +> Cài đặt gói sẽ kéo toàn bộ các binary cần thiết, vì vậy bạn không cần thêm bất kỳ DLL nào khác. + +--- + +## Bước 2: Tạo và Cấu Hình Engine OCR (Cách Sử Dụng OCR – Chế Độ Offline) + +Bây giờ chúng ta sẽ khởi tạo engine OCR và chỉ định nó làm việc **offline**. Điều này đảm bảo không có lưu lượng mạng nào xảy ra trong quá trình nhận dạng. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Settings; + +// Initialize the OCR engine +var ocrEngine = new OcrEngine(); + +// Switch the engine to offline mode – crucial for privacy‑first apps +ocrEngine.Settings.EngineMode = EngineMode.Offline; +``` + +**Tại sao lại offline?** +Khi `EngineMode` được đặt thành `Online`, engine sẽ liên hệ với cloud của Aspose để tải các gói ngôn ngữ ngay lập tức. Trong các môi trường được quy định (tài chính, y tế) lưu lượng này thường bị cấm. Bằng cách ép buộc chế độ offline, bạn đảm bảo mọi thứ chỉ diễn ra trên máy cục bộ. + +--- + +## Bước 3: Chỉ Định Thư Mục Tài Nguyên OCR cho Engine + +Engine OCR cần dữ liệu ngôn ngữ (mô hình đã được huấn luyện) để nhận dạng ký tự. Hãy cho nó biết vị trí các file này: + +```csharp +// Replace with the absolute or relative path to your Resources folder +ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; +``` + +Nếu bạn không chắc thư mục nằm ở đâu, hãy tìm trong thư mục gói NuGet (`%USERPROFILE%\.nuget\packages\aspose.ocr\*\resources`). Sao chép toàn bộ thư mục này vào dự án của bạn để dễ dàng triển khai hơn. + +--- + +## Bước 4: Tải Hình Ảnh Để OCR (Load Image for OCR) + +Bạn có thể đưa bất kỳ bitmap nào được hỗ trợ vào engine. Ở đây chúng ta sẽ tải một PNG lưu trên đĩa: + +```csharp +// Load the image you want to recognize – this is the “load image for OCR” step +ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); +``` + +**Mẹo:** Nếu bạn cần xử lý hình ảnh từ một stream (ví dụ, tải lên qua API), hãy dùng `ImageStream.FromStream(yourStream)` thay thế. + +--- + +## Bước 5: Thực Hiện Quá Trình Nhận Dạng và Chuyển Đổi Hình Ảnh Sang Văn Bản + +Khi mọi thứ đã sẵn sàng, kích hoạt OCR. Phương thức `Recognize()` sẽ thực hiện phần lớn công việc, và văn bản đã trích xuất sẽ có sẵn qua thuộc tính `Text`. + +```csharp +// Perform OCR – this is where the engine reads the pixels and produces text +ocrEngine.Recognize(); + +// Grab the result – now you have “convert image to text” completed +string extractedText = ocrEngine.Text; +``` + +--- + +## Bước 6: Xuất Văn Bản Đã Trích Xuất + +Cuối cùng, hiển thị kết quả. Trong một ứng dụng console bạn có thể đơn giản ghi ra console, nhưng trong một web API bạn sẽ trả về chuỗi dưới dạng JSON. + +```csharp +Console.WriteLine("=== OCR Result ==="); +Console.WriteLine(extractedText); +``` + +Chạy chương trình sẽ in ra nội dung văn bản của `offline_test.png`. Ví dụ, nếu hình ảnh chứa câu *“Hello, World!”*, bạn sẽ thấy: + +``` +=== OCR Result === +Hello, World! +``` + +--- + +## Ví Dụ Hoàn Chỉnh + +Dưới đây là chương trình đầy đủ, sẵn sàng chạy. Sao chép‑dán vào một dự án console mới (`dotnet new console`) và điều chỉnh các đường dẫn cho phù hợp với môi trường của bạn. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Settings; + +class Program +{ + static void Main() + { + // ------------------------------------------------- + // Step 1: Initialize OCR engine + // ------------------------------------------------- + var ocrEngine = new OcrEngine(); + + // ------------------------------------------------- + // Step 2: Set offline mode – no network traffic + // ------------------------------------------------- + ocrEngine.Settings.EngineMode = EngineMode.Offline; + + // ------------------------------------------------- + // Step 3: Provide path to OCR resource files + // ------------------------------------------------- + ocrEngine.Settings.ResourcesPath = @"C:\MyProject\Resources"; + + // ------------------------------------------------- + // Step 4: Load the image you want to recognize + // ------------------------------------------------- + ocrEngine.Image = ImageStream.FromFile(@"C:\MyProject\offline_test.png"); + + // ------------------------------------------------- + // Step 5: Run recognition and extract text + // ------------------------------------------------- + ocrEngine.Recognize(); + string extractedText = ocrEngine.Text; + + // ------------------------------------------------- + // Step 6: Show the result + // ------------------------------------------------- + Console.WriteLine("=== OCR Result ==="); + Console.WriteLine(extractedText); + } +} +``` + +> **Kết quả mong đợi:** Console in ra chính xác văn bản có trong file PNG. Nếu hình ảnh mờ, kết quả có thể chứa các ký tự nhận dạng sai—xem phần khắc phục sự cố bên dưới. + +--- + +## Những Sai Lầm Thường Gặp & Mẹo (Nhận Dạng Văn Bản Từ PNG Hiệu Quả) + +| Vấn đề | Nguyên nhân | Cách khắc phục | +|-------|-------------|----------------| +| **Kết quả rỗng** | `ResourcesPath` trỏ sai thư mục hoặc thiếu file ngôn ngữ. | Kiểm tra thư mục có chứa `eng.traineddata` (hoặc các file ngôn ngữ khác) và xác nhận lại chuỗi đường dẫn. | +| **Ký tự rác** | Độ phân giải hình ảnh quá thấp hoặc chưa được binarize. | Tiền xử lý ảnh (tăng DPI, áp dụng `ImageProcessor` để làm nét). | +| **Độ trễ hiệu suất** | Hình ảnh lớn được xử lý ở độ phân giải đầy đủ. | Thu nhỏ ảnh xuống tối đa 2000 px chiều rộng trước khi đưa vào OCR. | +| **Định dạng không hỗ trợ** | Sử dụng BMP với định dạng pixel bất thường. | Chuyển đổi ảnh sang PNG hoặc JPEG trước (`System.Drawing.Image.Save`). | + +**Pro tip:** Nếu cần nhận dạng đa ngôn ngữ, đặt `ocrEngine.Settings.Language = Language.English | Language.French;` trước khi gọi `Recognize()`. + +--- + +## Câu Hỏi Thường Gặp + +**H: Có thể chạy mã này trên Linux không?** +Đáp: Hoàn toàn có thể. Aspose.OCR hỗ trợ đa nền tảng; chỉ cần đảm bảo các thư viện native có sẵn (được đóng gói trong gói NuGet). + +**H: Nếu tôi không có thư mục Resources thì sao?** +Bạn có thể tải các gói ngôn ngữ miễn phí từ trang web của Aspose hoặc giải nén chúng từ gói NuGet (`.../aspose.ocr//resources`). + +**H: Có cách lấy điểm tin cậy (confidence scores) không?** +Có. Sau khi gọi `Recognize()`, kiểm tra `ocrEngine.RecognizedWords` — mỗi từ đều có thuộc tính `Confidence`. + +--- + +## Kết Luận + +Chúng ta đã tìm hiểu **cách sử dụng OCR** trong C# để *trích xuất văn bản từ file hình ảnh* hoàn toàn offline. Bằng cách cài đặt Aspose.OCR, cấu hình `EngineMode.Offline`, chỉ định thư mục resources, tải ảnh, và gọi `Recognize()`, bạn có thể chuyển đổi hình ảnh sang văn bản một cách đáng tin cậy mà không cần kết nối internet. + +Hãy lấy đoạn mã ở trên, thay đổi đường dẫn ảnh của bạn, và bắt đầu xây dựng các tính năng như PDF có thể tìm kiếm, tự động nhập dữ liệu, hoặc công cụ trợ năng. Tiếp theo, bạn có thể khám phá **nhận dạng văn bản từ PNG** hàng loạt, hoặc tích hợp engine vào một API ASP.NET Core để cung cấp kết quả OCR cho các ứng dụng front‑end. + +Chúc lập trình vui vẻ, và đừng ngại thử nghiệm—OCR thực sự linh hoạt khi engine đã được thiết lập đúng cách! + +--- + +![Diagram showing offline OCR workflow – how to use OCR in a secure environment](https://example.com/ocr-workflow.png "how to use OCR diagram") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md b/ocr/vietnamese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..3a9aac9e6 --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,222 @@ +--- +category: general +date: 2026-03-07 +description: Tìm hiểu cách nhận dạng văn bản Hindi và tải hình ảnh để OCR bằng Aspose.OCR + trong C#. Hướng dẫn cài đặt, mã nguồn và các mẹo từng bước. +draft: false +keywords: +- recognize Hindi text +- load image for OCR +- Aspose OCR C# +- Hindi language pack +- OCR engine settings +language: vi +og_description: Khám phá cách nhận dạng văn bản Hindi bằng Aspose OCR trong C#. Bao + gồm tải ảnh cho OCR, cài đặt gói ngôn ngữ và các mẹo thực hành tốt nhất. +og_title: Nhận dạng văn bản Hindi – Hướng dẫn đầy đủ Aspose OCR +tags: +- C# +- OCR +- Aspose +- Hindi +title: Nhận dạng văn bản Hindi trong C# – Hướng dẫn đầy đủ về Aspose OCR +url: /vi/net/text-recognition/recognize-hindi-text-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# Nhận dạng văn bản Hindi – Hướng dẫn đầy đủ Aspose OCR + +Bạn đã bao giờ cần **nhận dạng văn bản Hindi** từ một biên lai đã quét nhưng không chắc bắt đầu từ đâu? Bạn không phải là người duy nhất. Trong nhiều ứng dụng tập trung vào Ấn Độ, việc trích xuất các ký tự Hindi một cách đáng tin cậy có thể giống như việc truy đuổi một mục tiêu đang di chuyển. May mắn là Aspose.OCR làm cho việc này trở nên dễ dàng—ngay khi bạn biết các bước đúng để **load image for OCR** và chỉ định engine tới các tài nguyên ngôn ngữ Hindi. + +Trong hướng dẫn này, chúng tôi sẽ đi qua mọi thứ bạn cần để có một pipeline OCR hoạt động trong C#. Khi kết thúc, bạn sẽ có một chương trình có thể chạy được, tải xuống gói ngôn ngữ Hindi, tải ảnh, thực hiện nhận dạng và in văn bản kết quả ra console. Không có các liên kết mơ hồ “xem tài liệu”—chỉ một giải pháp tự chứa mà bạn có thể đưa vào bất kỳ dự án .NET nào. + +## Những gì bạn cần + +- **.NET 6+** (hoặc .NET Framework 4.7.2+). API giống nhau trên mọi phiên bản, nhưng runtime mới hơn mang lại hiệu năng tốt hơn. +- **Aspose.OCR for .NET** gói NuGet. Cài đặt bằng `dotnet add package Aspose.OCR`. +- Một **gói ngôn ngữ Hindi** – Aspose cung cấp nó như một tài nguyên có thể tải xuống, không được đóng gói mặc định. +- Một tệp ảnh chứa văn bản Hindi (ví dụ, `hindi_receipt.jpg`). Bất kỳ định dạng phổ biến nào (JPG, PNG, BMP) đều hoạt động. +- Một IDE tốt (Visual Studio, Rider, hoặc VS Code). + +Chỉ vậy—không cần engine OCR bên ngoài, không cần khóa cloud, chỉ một thư viện cục bộ. + +## Bước 1: Tải gói ngôn ngữ Hindi – Thiết lập tài nguyên + +Trước khi engine OCR có thể hiểu các ký tự Devanagari, bạn phải tải về các tài nguyên ngôn ngữ Hindi. Đây là một thao tác một lần, thường được thực hiện trong quá trình cài đặt ứng dụng hoặc CI/CD. + +```csharp +using Aspose.OCR; +using Aspose.OCR.Resources; + +// Define where you want to keep the language files +string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + +// Download the Hindi pack if it isn’t already there +if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) +{ + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); +} +else +{ + Console.WriteLine("🔄 Hindi language pack already present."); +} +``` + +**Tại sao điều này quan trọng:** Engine OCR dựa vào các mô hình riêng cho ngôn ngữ để ánh xạ các mẫu pixel thành ký tự Unicode. Nếu không có gói Hindi, bạn sẽ nhận được đầu ra Latin rối loạn hoặc không có gì cả. + +> **Mẹo chuyên nghiệp:** Lưu trữ gói trong một thư mục có quyền ghi trên máy mục tiêu. Nếu bạn triển khai lên Azure App Service, hãy sử dụng thư mục `D:\home\site\wwwroot\Resources`. + +## Bước 2: Cấu hình Engine OCR – Chỉ tới tài nguyên + +Bây giờ các tài nguyên đã sẵn sàng, tạo một thể hiện `OcrEngine` và cho nó biết nơi tìm các tệp ngôn ngữ. Đây cũng là nơi chúng ta thiết lập **ngôn ngữ chính** cho việc nhận dạng. + +```csharp +// Initialize the OCR engine +OcrEngine ocrEngine = new OcrEngine(); + +// Tell the engine where the language resources live +ocrEngine.Settings.ResourcesPath = resourcesPath; + +// Select Hindi as the active language +ocrEngine.Settings.Language = Language.Hindi; + +// Optional: tweak accuracy settings (e.g., enable word‑level detection) +ocrEngine.Settings.EnableWordDetection = true; +``` + +**Tại sao chúng ta làm điều này:** `ResourcesPath` là cầu nối giữa engine và các tệp đã tải xuống. Nếu bỏ qua bước này, engine sẽ quay lại các mô hình tích hợp sẵn (chỉ tiếng Anh), và bạn sẽ không thể **nhận dạng văn bản Hindi** một cách chính xác. + +## Bước 3: Tải ảnh cho OCR – Cung cấp đầu vào đúng cho Engine + +Khi engine đã sẵn sàng, bước tiếp theo là **load image for OCR**. Aspose cung cấp một tiện ích `ImageStream.FromFile` thuận tiện hỗ trợ hầu hết các định dạng ảnh phổ biến. + +```csharp +// Path to the image containing Hindi text +string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + +// Load the image into the OCR engine +ocrEngine.Image = ImageStream.FromFile(imagePath); +Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); +``` + +**Những lỗi thường gặp:** +- **Ảnh lớn** có thể làm chậm quá trình xử lý. Nếu bạn đang xử lý các bản quét độ phân giải cao, hãy cân nhắc giảm mẫu trước (`ImageProcessor.Resize`). +- **Định hướng không đúng** (quét bị xoay) sẽ gây kết quả kém. Sử dụng `ocrEngine.Image.Rotate(90)` nếu cần. + +## Bước 4: Chạy nhận dạng – Trích xuất văn bản + +Bây giờ chúng ta thực sự yêu cầu engine đọc các pixel và chuyển chúng thành chuỗi Unicode. + +```csharp +// Perform OCR +ocrEngine.Recognize(); + +// Retrieve the recognized text +string recognizedText = ocrEngine.Text; + +// Output to console +Console.WriteLine("\n--- Recognized Hindi Text ---"); +Console.WriteLine(recognizedText); +Console.WriteLine("--- End of Output ---"); +``` + +**Điều gì sẽ nhận được:** Nếu ảnh rõ ràng, bạn sẽ thấy các ký tự Hindi được in chính xác như trên biên lai. Ví dụ, một biên lai mẫu có thể xuất ra: + +``` +बिल क्रमांक: 12345 +तारीख: 05/03/2026 +रकम: ₹ 1,250.00 +धन्यवाद! +``` + +Nếu bạn nhận được kết quả rối loạn, hãy kiểm tra lại rằng gói ngôn ngữ đã được tải xuống đúng và `ocrEngine.Settings.Language` được đặt thành `Language.Hindi`. + +## Bước 5: Hoàn thiện – Chương trình hoàn chỉnh, có thể chạy + +Dưới đây là tệp nguồn đầy đủ mà bạn có thể sao chép‑dán vào một dự án console. Nó bao gồm tất cả các bước ở trên, cộng với xử lý lỗi tối thiểu. + +```csharp +// Program.cs +using System; +using System.IO; +using Aspose.OCR; +using Aspose.OCR.Resources; + +class Program +{ + static void Main() + { + // 1️⃣ Define paths + string resourcesPath = Path.Combine(Environment.CurrentDirectory, "Resources"); + string imagePath = Path.Combine(Environment.CurrentDirectory, "hindi_receipt.jpg"); + + // 2️⃣ Download Hindi language pack if missing + if (!Directory.Exists(Path.Combine(resourcesPath, "Hindi"))) + { + ResourceManager.Download(Language.Hindi, resourcesPath); + Console.WriteLine("✅ Hindi language pack downloaded."); + } + + // 3️⃣ Set up OCR engine + OcrEngine ocrEngine = new OcrEngine + { + Settings = + { + ResourcesPath = resourcesPath, + Language = Language.Hindi, + EnableWordDetection = true + } + }; + + // 4️⃣ Load the image (this is where we **load image for OCR**) + if (!File.Exists(imagePath)) + { + Console.WriteLine($"❌ Image not found: {imagePath}"); + return; + } + ocrEngine.Image = ImageStream.FromFile(imagePath); + Console.WriteLine($"🖼️ Loaded image: {Path.GetFileName(imagePath)}"); + + // 5️⃣ Recognize Hindi text + ocrEngine.Recognize(); + + // 6️⃣ Show results + Console.WriteLine("\n--- Recognized Hindi Text ---"); + Console.WriteLine(ocrEngine.Text); + Console.WriteLine("--- End of Output ---"); + } +} +``` + +Lưu tệp này dưới tên `Program.cs`, chạy `dotnet run`, và bạn sẽ thấy văn bản Hindi được in ra console. + +## Câu hỏi thường gặp (FAQ) + +### Tôi có thể nhận dạng nhiều ngôn ngữ trong một lần chạy không? +Có. Đặt `ocrEngine.Settings.Language` thành một mảng, ví dụ `new[] { Language.Hindi, Language.English }`. Engine sẽ cố gắng phát hiện ký tự từ cả hai chữ viết. + +### Nếu ảnh của tôi bị mờ thì sao? +Xem xét tiền xử lý bằng `ImageProcessor`—áp dụng tăng độ nét hoặc tăng cường độ tương phản trước khi gán nó cho `ocrEngine.Image`. + +### Điều này có hoạt động trên Linux/macOS không? +Chắc chắn. Aspose.OCR là đa nền tảng; chỉ cần đảm bảo các phụ thuộc gốc có sẵn (thường được đóng gói cùng gói NuGet). + +### Làm sao để cải thiện độ chính xác cho biên lai độ phân giải thấp? +Tăng DPI (dots per inch) khi quét, hoặc lập trình lại mẫu ảnh lên ít nhất 300 DPI trước khi OCR. + +## Kết luận + +Chúng tôi đã bao phủ mọi thứ bạn cần để **nhận dạng văn bản Hindi** bằng Aspose.OCR—từ việc tải xuống gói ngôn ngữ Hindi, cấu hình engine, **load image for OCR** đúng cách, đến việc trích xuất và in kết quả. Đoạn mã hoàn chỉnh ở trên đã sẵn sàng để đưa vào bất kỳ ứng dụng console C# nào, và các mẹo tùy chọn giúp bạn xử lý các trường hợp thường gặp như ảnh mờ hoặc tài liệu đa ngôn ngữ. + +Sẵn sàng cho bước tiếp theo? Hãy thử đưa đầu ra OCR vào một API dịch, hoặc lưu dữ liệu đã trích xuất vào cơ sở dữ liệu để phân tích. Bạn cũng có thể thử nghiệm với các ngôn ngữ Ấn Độ khác—Aspose hỗ trợ Tamil, Bengali và nhiều hơn nữa—bằng cách thay `Language.Hindi` bằng giá trị enum mong muốn. + +Chúc lập trình vui vẻ, và hy vọng kết quả OCR của bạn luôn sắc nét! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/ocr/vietnamese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md b/ocr/vietnamese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md new file mode 100644 index 000000000..ff1a2b19e --- /dev/null +++ b/ocr/vietnamese/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/_index.md @@ -0,0 +1,227 @@ +--- +category: general +date: 2026-03-07 +description: Nhận dạng văn bản từ hình ảnh nhanh chóng với Aspose OCR. Tìm hiểu cách + chuyển đổi djvu sang văn bản, trích xuất văn bản từ hình ảnh và tải hình ảnh cho + OCR trong một hướng dẫn C# từng bước. +draft: false +keywords: +- recognize text from image +- convert djvu to text +- how to extract text from image +- extract text from djvu +- load image for OCR +language: vi +og_description: Nhận dạng văn bản từ hình ảnh trong C# bằng Aspose OCR. Hướng dẫn + này chỉ cách chuyển đổi djvu sang văn bản, trích xuất văn bản từ hình ảnh và tải + hình ảnh cho OCR với các mẹo thực tế. +og_title: Nhận dạng văn bản từ hình ảnh – Hướng dẫn đầy đủ C# Aspose OCR +tags: +- C# +- Aspose OCR +- Document Processing +title: Nhận dạng văn bản từ hình ảnh trong C# – Hướng dẫn đầy đủ Aspose OCR +url: /vi/net/text-recognition/recognize-text-from-image-in-c-complete-aspose-ocr-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# nhận dạng văn bản từ hình ảnh – Hướng dẫn đầy đủ C# Aspose OCR + +Bạn đã bao giờ cần **nhận dạng văn bản từ hình ảnh** nhưng không chắc thư viện nào sẽ cho kết quả đáng tin cậy? Bạn không đơn độc. Dù bạn đang làm việc với hoá đơn đã quét, các tệp DJVU lịch sử, hay một ảnh chụp màn hình PNG đơn giản, việc trích xuất các ký tự chính xác có thể giống như giải mã một bản thảo cổ. + +Thực tế là—Aspose OCR làm cho toàn bộ quá trình trở nên dễ dàng. Trong hướng dẫn này, chúng ta sẽ đi qua cách **convert djvu to text**, **extract text from image**, và **load image for OCR** bằng một chương trình C# ngắn gọn. Khi kết thúc, bạn sẽ có một ứng dụng console có thể chạy được, in chuỗi đã nhận dạng ra console, và hiểu “tại sao” mỗi dòng lại cần thiết. + +## Bạn sẽ học được gì + +- Cách thiết lập engine Aspose OCR trong dự án .NET. +- Mã chính xác để **load image for OCR** từ tệp DJVU. +- Lý do bạn nên gọi `Recognize()` trước khi đọc `Text`. +- Những lỗi thường gặp (DJVU đa trang, định dạng không hỗ trợ) và cách tránh chúng. +- Các cách nhanh để **convert djvu to text** cho xử lý hàng loạt. + +Bạn chỉ cần một .NET SDK mới (≥ 6.0) và giấy phép Aspose OCR (bản dùng thử miễn phí đủ cho việc thử nghiệm). Không cần dịch vụ bên ngoài, không có cuộc gọi REST—chỉ thuần C#. + +## Yêu cầu trước + +| Yêu cầu | Lý do | +|-------------|--------| +| .NET 6 SDK hoặc mới hơn | Các tính năng ngôn ngữ hiện đại và hiệu năng tốt hơn. | +| Gói NuGet Aspose.OCR (`Install-Package Aspose.OCR`) | Cung cấp lớp `OcrEngine` mà chúng ta sẽ dùng. | +| Một tệp DJVU (ví dụ: `sample.djvu`) | Minh họa **convert djvu to text**. | +| Kiến thức cơ bản về ứng dụng console C# | Giúp các bước diễn ra một cách tự nhiên. | + +Nếu bất kỳ mục nào còn thiếu, hãy tạm dừng và cài đặt ngay; nếu không, mã sẽ không biên dịch. + +## Bước 1 – Cài đặt Aspose.OCR và Tạo dự án + +Đầu tiên, tạo một dự án console mới và thêm thư viện OCR vào. + +```bash +dotnet new console -n OcrDemo +cd OcrDemo +dotnet add package Aspose.OCR +``` + +*Pro tip:* Sử dụng tham số `--framework net6.0` nếu bạn muốn khóa phiên bản framework mục tiêu một cách rõ ràng. + +## Bước 2 – Khởi tạo OCR Engine và Tải ảnh DJVU + +Engine cần một nguồn ảnh. Aspose.OCR có thể đọc nhiều định dạng, bao gồm DJVU, vì vậy chúng ta chỉ cần chỉ đường dẫn tới tệp. + +```csharp +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +// Step 2: Create the OCR engine instance +var ocrEngine = new OcrEngine(); + +// Load the DJVU file – the first page is used by default +// This demonstrates “load image for OCR” and also “convert djvu to text” +ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); +``` + +**Tại sao điều này quan trọng:** +- `OcrEngine` là điểm vào; tạo một lần và tái sử dụng giúp giảm tải bộ nhớ. +- `ImageStream.FromFile` trừu tượng hoá định dạng tệp, vì vậy bạn có thể thay đổi tệp DJVU bằng PNG hoặc TIFF mà không cần sửa đổi mã khác—hoàn hảo cho “how to extract text from image” trong các kịch bản khác nhau. + +## Bước 3 – Chạy quá trình nhận dạng + +Gọi `Recognize()` sẽ kích hoạt phần công việc nặng. Bên trong, Aspose chạy một bộ phân loại dựa trên mạng nơ‑ron, hoạt động với cả văn bản in và viết tay. + +```csharp +// Step 3: Perform OCR on the loaded image +ocrEngine.Recognize(); +``` + +*Edge case note:* Nếu DJVU của bạn chứa nhiều trang, `ImageStream.FromFile` vẫn chỉ tải trang đầu tiên. Để xử lý tất cả các trang, bạn cần lặp qua `ImageStream.FromFile(...).Pages`. Đối với hầu hết các tác vụ nhanh, trang đầu đủ. + +## Bước 4 – Lấy và Hiển thị Văn bản Đã Nhận dạng + +Sau khi nhận dạng, engine sẽ điền thuộc tính `Text` bằng một chuỗi plain‑text. Bạn có thể ghi nó ra console, file, hoặc truyền vào hệ thống khác. + +```csharp +// Step 4: Get the OCR result +string recognizedText = ocrEngine.Text; + +// Output the result +Console.WriteLine("=== Recognized Text ==="); +Console.WriteLine(recognizedText); +``` + +Kết quả mẫu thường trông như sau: + +``` +=== Recognized Text === +This is a sample DJVU page. +It contains several lines of text, +including numbers like 12345. +``` + +Nếu đầu ra bị rối, hãy kiểm tra lại xem ảnh nguồn có độ phân giải thấp không; Aspose khuyến nghị 300 dpi hoặc cao hơn để đạt độ chính xác tốt nhất. + +## Ví dụ Hoạt động Đầy đủ + +Kết hợp tất cả lại, đây là một file duy nhất (`Program.cs`) bạn có thể dán vào dự án đã tạo ở trên. + +```csharp +// Program.cs +using System; +using Aspose.OCR; +using Aspose.OCR.Image; + +namespace OcrDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Create OCR engine + var ocrEngine = new OcrEngine(); + + // 2️⃣ Load the DJVU file (first page only) + // Replace the path with your actual file location + ocrEngine.Image = ImageStream.FromFile(@"YOUR_DIRECTORY/input.djvu"); + + // 3️⃣ Run the recognition + ocrEngine.Recognize(); + + // 4️⃣ Retrieve and print the text + string recognizedText = ocrEngine.Text; + + Console.WriteLine("=== Recognized Text ==="); + Console.WriteLine(recognizedText); + } + } +} +``` + +Chạy nó bằng: + +```bash +dotnet run +``` + +Bạn sẽ thấy chuỗi đã trích xuất được in ra terminal. Đây là cách đơn giản nhất để **recognize text from image** bằng Aspose OCR. + +## Bước 5 – Nâng cao: Chuyển đổi Nhiều Trang DJVU thành File Văn bản + +Nếu bạn cần **convert djvu to text** hàng loạt, mở rộng mã trên bằng một vòng lặp: + +```csharp +var djvuPath = @"YOUR_DIRECTORY/multi_page.djvu"; +var stream = ImageStream.FromFile(djvuPath); + +for (int i = 0; i < stream.PageCount; i++) +{ + ocrEngine.Image = stream.GetPage(i); + ocrEngine.Recognize(); + + var pageText = ocrEngine.Text; + System.IO.File.WriteAllText( + $"page_{i + 1}.txt", + pageText); +} +``` + +*Why this works:* `GetPage(i)` trả về một đối tượng `Image` cho trang được yêu cầu, cho phép bạn tái sử dụng cùng một instance của `OcrEngine`. Văn bản của mỗi trang sẽ được lưu vào file `.txt` riêng, tạo ra một pipeline **convert djvu to text** sạch sẽ. + +## Câu hỏi Thường gặp & Những Lưu ý + +- **Tôi có thể trích xuất văn bản từ JPEG thay vì DJVU không?** + Chắc chắn. Chỉ cần đổi phần mở rộng trong `FromFile`. Mã **how to extract text from image** vẫn áp dụng vì Aspose trừu tượng hoá định dạng. + +- **Nếu kết quả OCR chứa các dấu ngắt dòng thừa thì sao?** + Dùng `String.Replace("\r\n", " ")` hoặc biểu thức chính quy để chuẩn hoá khoảng trắng. + +- **Tôi có cần giấy phép cho môi trường production không?** + Bản dùng thử miễn phí hỗ trợ tới 100 trang. Đối với sử dụng không giới hạn, mua giấy phép và gọi `License license = new License(); license.SetLicense("Aspose.OCR.lic");` trước khi tạo engine. + +- **Engine có hỗ trợ đa luồng không?** + Không. Tạo một `OcrEngine` riêng cho mỗi luồng hoặc bảo vệ truy cập bằng một lock. + +## Mẹo để Cải thiện Độ chính xác + +1. **Tăng DPI** – Nếu bạn kiểm soát quá trình chuyển đổi nguồn, xuất ảnh ở 300 dpi hoặc cao hơn. +2. **Tiền xử lý ảnh** – Binarization đơn giản (`ocrEngine.Image = ImageProcessing.Binarize(ocrEngine.Image)`) có thể cải thiện kết quả trên các bản quét nhiễu. +3. **Chỉ định ngôn ngữ** – `ocrEngine.Language = Language.English;` thu hẹp bộ ký tự và tăng tốc nhận dạng. + +## Kết luận + +Bây giờ bạn đã có một ví dụ hoàn chỉnh, có thể chạy ngay để **recognize text from image** bằng Aspose OCR, và bạn đã thấy cách **convert djvu to text**, **how to extract text from image**, và cách **load image for OCR** đúng chuẩn. Mã tự chứa, chạy trên bất kỳ runtime .NET 6+ nào và có thể mở rộng để xử lý hàng loạt tài liệu DJVU đa trang. + +Tiếp theo, bạn có thể khám phá: + +- Thêm **phát hiện ngôn ngữ** cho các tệp DJVU đa ngôn ngữ. +- Tích hợp đầu ra OCR với một chỉ mục tìm kiếm (ví dụ: Elasticsearch). +- Sử dụng chuyển đổi PDF của Aspose để biến văn bản đã trích xuất thành PDF có thể tìm kiếm. + +Hãy thử, điều chỉnh DPI, thử nghiệm với các định dạng ảnh khác nhau, và để engine OCR thực hiện phần việc nặng cho bạn. Chúc bạn lập trình vui! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file