hOCRをHTMLファイルとして結果を保存する方法 | IronOCR

IronOCRでOCR結果をC#でhOCR HTMLとして保存する

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCRは、RenderHocrをtrueに設定し、SaveAsHocrFileまたはSaveAsHocrStringメソッドを使用することで、OCR結果をhOCR HTMLファイルとして保存し、構造化されたHTML形式でテキストレイアウトと文字座標を保持することを可能にします。

クイックスタート: OCR出力をhOCR HTMLファイルとして保存

1回のセットアップと1回のメソッド呼び出しで、hOCRレンダリングを有効にし、結果を直接HTMLファイルにエクスポートします。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronOCR をインストールします

    PM > Install-Package IronOcr

  2. このコード スニペットをコピーして実行します。

    var hocr = new IronTesseract { Configuration = { RenderHocr = true } }.Read(new OcrInput("image.png")).SaveAsHocrString();
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronOCR を使い始めましょう
    arrow pointer


hOCRとは何ですか、なぜ使うのですか?

hOCR は"HTML ベースの OCR"の略で、光学式文字認識 (OCR) の結果を構造化された方法で表現するために使用されるファイル形式です。 hOCRファイルはHTMLで記述され、認識したテキスト、レイアウト情報、画像や文書内の各認識文字の座標を保存する方法を提供します。 この構造化されたフォーマットにより、hOCRは、ドキュメントのインデックス作成、アクセシビリティツール、高度な検索実装など、テキスト位置データを必要とするアプリケーションで特に重宝されます。

hOCR形式は、どのようなテキストが存在するかだけでなく、そのテキストが元の文書のどこに表示されているかを理解する必要があるアプリケーションを構築する開発者にとって不可欠です。 この空間情報は、デバッグのためにテキストをハイライトする、元の画像にクリック可能なオーバーレイを作成する、スキャンしたドキュメントをアクセシブルなフォーマットに変換する際にドキュメントのレイアウトの整合性を維持する、といった機能を可能にします。 スキャンされたドキュメントを処理する企業アプリケーションのために、hOCRは高度なドキュメント理解と抽出ワークフローの基盤を提供します。

OCR結果をhOCRファイルとしてエクスポートするにはどうすればよいですか?

. 。 結果をhOCRとしてエクスポートするには、まず**Configuration.RenderHocr**プロパティをtrueに設定して有効にします。 [OcrResultオブジェクト](https://ironsoftware.com/csharp/ocr/examples/results-objects/)を`Read`メソッドから取得した後、`SaveAsHocrFile`メソッドを使用してOCR結果をHTMLとしてエクスポートします。 このメソッドは、入力文書の読み取り結果を含むHTMLファイルを出力します。 以下のコードは、次の[サンプル TIFF](/static-assets/ocr/how-to/html-export/Potter.tiff)ファイルの使用方法を示しています。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/html-export-export-html.cs ``` [OcrInputクラス](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-input-for-iron-tesseract/)は、OCR処理の前に画像を準備するための広範なオプションを提供します。 フィルタを適用したり、関心領域を指定したり、[複数ページのTIFFファイル](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multipage-tiff/)を含むさまざまな入力形式を処理したりできます。 [PDF OCR テキスト抽出](https://ironsoftware.com/csharp/ocr/examples/csharp-pdf-ocr/)で作業する場合、同じ hOCR エクスポート方法がシームレスに適用されます。 ### なぜ RenderHocr の設定が重要なのですか? `RenderHocr`プロパティをtrueに設定すると、IronOCRはOCR処理中に必要なhOCR構造を生成するように指示します。 この設定なしでは、`SaveAsHocrFile`と`SaveAsHocrString`メソッドは、レイアウトを保持した適切なフォーマットのhOCR出力を生成しません。 この設定は、[Tesseractエンジン](https://ironsoftware.com/csharp/ocr/features/tesseract/)が出力データをどのように処理し、構造化するかに影響するため、`Read`メソッドを呼び出す前に設定する必要があります。 hOCRフォーマットは、以下のような重要なメタデータを保持します: - 文字レベルのバウンディングボックス - 単語信頼度スコア - 行と段落の構成 - ページ寸法とDPI情報 - 検出可能なフォントの特徴 このメタデータは、[コンピュータ・ビジョン](https://ironsoftware.com/csharp/ocr/how-to/computer-vision/)ワークフローを実装する場合や、単純なテキスト抽出を超えてドキュメント構造を理解する必要があるシステムを構築する場合に特に役立ちます。 ### どのようなファイル タイプが hOCR エクスポートをサポートしていますか? IronOCRはTIFF、PNG、JPEG、BMP、GIFを含む様々な画像フォーマットからのhOCRエクスポートをサポートします。 [PDFドキュメント](https://ironsoftware.com/csharp/ocr/examples/csharp-pdf-ocr/)は、各ページのテキストとレイアウト情報をHTML構造に保持したまま、hOCRとして処理およびエクスポートすることもできます。 このライブラリは、単一ページの画像と複数ページのドキュメントの両方をシームレスに処理します。 異なるファイルタイプで最適な結果を得るために - **TIFF**:スキャン文書に最適。 - **PDF**:混合コンテンツ(テキストと画像)に最適です。 - **PNG/JPEG**:OCRが必要な写真やスクリーンショットに最適です。 - **BMP**:高画質スキャンに適した非圧縮フォーマット [パスポート](https://ironsoftware.com/csharp/ocr/examples/read-passport/)や[ナンバープレート](https://ironsoftware.com/csharp/ocr/examples/read-license-plate/)のような特殊なドキュメントタイプを扱う場合、hOCRフォーマットは、異なるテキスト要素間の空間的関係を保持するのに役立ち、場所に基づいて特定のフィールドを抽出しやすくします。 ## OCR結果をHTML文字列としてエクスポートするにはどうすればよいですか? . 。 同じTIFFサンプル画像を使って、`SaveAsHocrString`メソッドを利用し、OCR結果をHTML文字列としてエクスポートします。 このメソッドは HTML 文字列を返します。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/html-export-export-html-string.cs ``` 文字列出力には、さらに処理したり、データベースに保存したり、ウェブアプリケーションに統合したりできる完全なhOCRマークアップが含まれています。 このアプローチは、[検索可能なPDFシステム](https://ironsoftware.com/csharp/ocr/examples/make-pdf-searchable/)を構築したり、カスタム文書のインデックス・ソリューションを実装したりする場合に特に役立ちます。 [125の国際言語](https://ironsoftware.com/csharp/ocr/examples/intl-languages/)で作業する開発者のために、hOCRフォーマットは、言語固有のテキスト属性と読み方向情報を保持します。 ### ファイルの代わりに文字列出力を使用するのはどのような場合ですか? 文字列出力は、メモリ内でhOCRデータを処理または操作したり、ウェブサービスと統合したり、結果をデータベースに保存したりする必要がある場合に最適です。 このアプローチにより、ファイルシステムへの依存を回避し、ウェブアプリケーションの動的なHTML生成が可能になります。 一般的な使用例には次のようなものがあります: - **Web API統合**:APIレスポンスでhOCRデータを直接返す - **データベースストレージ**: OCR結果をドキュメントのメタデータとともに保存する - **リアルタイム処理**:ディスクI/Oオーバーヘッドなしで結果を処理 - **クラウド機能**:ファイルアクセスが制限されたサーバーレス環境で作業する - **コンテンツ管理システム**:OCR結果を既存のドキュメントワークフローに統合する [進捗追跡](https://ironsoftware.com/csharp/ocr/examples/progress-tracking/)を必要とするアプリケーションでは、文字列出力により、部分的な結果が利用可能になったときにすぐに処理できます。 これは、複数のドキュメントを同時に処理する[マルチスレッド OCR 処理](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/)を実装する場合に特に有益です。 ### 複数のページを HTML 文字列に処理するにはどうすればよいですか? 複数ページのドキュメントを扱う場合、`SaveAsHocrString`は、すべてのページを適切なページ分割で単一の HTML 文字列に統合します。 各ページのコンテンツは、適切なhOCR要素でラップされ、ドキュメント構造とページの境界が維持されます。 ```csharp // Processing multi-page documents using var multiPageInput = new OcrPdfInput("multi-page-document.pdf"); multiPageInput.Title = "Multi-Page Document"; // Configure for hOCR output IronTesseract tesseract = new IronTesseract(); tesseract.Configuration.RenderHocr = true; // Read all pages OcrResult result = tesseract.Read(multiPageInput); // Export as single HTML string with all pages string fullHocr = result.SaveAsHocrString(); // Or process page by page foreach (var page in result.Pages) { string pageHocr = page.SaveAsHocrString(); // Process individual page hOCR } ``` このアプローチは、[PDF ストリーム](https://ironsoftware.com/csharp/ocr/examples/ocr-for-pdf-stream/)とシームレスに動作し、特定のページ範囲を処理したり、異なるページに異なる OCR 設定を適用したりするような高度なシナリオをサポートします。 ## 高度な hOCR 実装のヒント

. 。 ### hOCRの出力品質のベストプラクティスとは

hOCR出力の品質を最大化するには、処理前に[画像最適化フィルター](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/)を適用することを検討してください: ```csharp var input = new OcrImageInput("document.png"); input.DeNoise(); // Remove image noise input.Deskew(); // Correct image rotation input.Scale(2); // Upscale for better recognition IronTesseract ocr = new IronTesseract(); ocr.Configuration.RenderHocr = true; var result = ocr.Read(input); ``` [低品質スキャン](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/)の場合、前処理ステップを追加することで、hOCRの精度を大幅に向上させることができます。 [フィルタウィザード](https://ironsoftware.com/csharp/ocr/examples/filter-wizard/)は、特定のドキュメントタイプに最適なフィルタの組み合わせを決定するのに役立ちます。 ### hOCR構造はどのように高度な処理をサポートしますか? 生成されたhOCRは、ドキュメント階層を表すネストされたdiv要素を持つ標準仕様に従っています: ```html

Hello World

``` この構造は、正確なテキスト位置の抽出と高度な文書分析機能を可能にし、空間的なテキスト関係やレイアウトの保存を必要とするアプリケーションにとって価値があります。 [テーブル抽出](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/)で作業する場合、hOCR形式は、表構造とセルの関係を維持するのに役立ちます。 bbox(バウンディング・ボックス)属性は、"bbox left top right bottom "のフォーマットで座標を含み、各テキスト要素のピクセル精度の位置データを提供します。 この情報は次のような場合に重要です: - テキスト選択によるインタラクティブなドキュメントビューアの作成 - レイアウトを保持する再編集システムの実装 - 読み順を維持するアクセシビリティツールの構築 - ドキュメント比較システムの開発 さらに詳細な設定オプションを必要とする開発者のために、[Tesseract 詳細設定ガイド](https://ironsoftware.com/csharp/ocr/examples/csharp-configure-setup-tesseract/)では、hOCRの出力品質と構造に影響を与える高度な設定を提供しています。

よくある質問

hOCRとは何か、なぜOCRアプリケーションに有用なのか?

hOCR (HTML-based OCR)はOCR結果を構造化されたHTMLで表現するファイルフォーマットで、認識されたテキストと文字座標のような空間情報の両方を保存します。IronOCRはhOCRエクスポートをサポートしており、テキスト位置データ、ドキュメントのインデックス作成、アクセシビリティツール、スキャンされたドキュメントを処理する際のレイアウトの整合性維持などを必要とするアプリケーションに有用です。

C# OCR アプリケーションで hOCR 出力を有効にするにはどうすればよいですか?

IronOCRでhOCR出力を有効にするには、IronTesseractインスタンスでConfiguration.RenderHocrプロパティをtrueに設定します。これによりIronOCRはOCR結果をhOCRフォーマットで準備し、SaveAsHocrFileまたはSaveAsHocrStringメソッドを使ってエクスポートできるようになります。

hOCRの結果をエクスポートするには、どのような方法がありますか?

IronOCRはhOCR結果をエクスポートするための2つのメソッドを提供します:SaveAsHocrFile() は出力をディスク上のHTMLファイルに直接保存し、SaveAsHocrString() はhOCRのHTMLを文字列として返し、アプリケーションでさらに処理したり保存したりします。

たった1行のコードで、OCR結果をhOCRとしてエクスポートできますか?

はい、IronOCRはメソッドチェイニングを使って1行でhOCRをエクスポートできます。RenderHocrを有効にしたIronTesseractインスタンスを作成し、入力を読み込み、SaveAsHocrString()を呼び出すことができます。}.Read(new OcrInput("image.png")).SaveAsHocrString();

hOCRはOCR結果からどのような空間情報を保存しますか?

hOCRは認識された各文字のレイアウト情報と座標を元の画像や文書内に保持します。IronOCRのhOCRエクスポートはこの空間データを維持し、デバッグのためのテキストハイライト、画像上のクリック可能なオーバーレイの作成、オリジナルドキュメント上のテキストの表示位置の把握などの機能を可能にします。

Chaknith Bin
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeに取り組んでいます。彼はC#と.NETの深い専門知識を持ち、ソフトウェアの改善や顧客サポートに貢献しています。ユーザーとの対話から得られる洞察が、より良い製品、ドキュメント、および全体的な経験に寄与しています。
レビュー済み

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 70

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 70
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

">

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 84

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 84
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once