スキャンされたレポートには、ドキュメントに編集したり追加したりしたい情報が含まれていることがあります。OCR を使用すれば、画像内のテキストを認識し、再入力する代わりに Markdown として保存できます。
この記事では、Aspose.OCR for .NET を使用して C# で PNG または JPG 画像を Markdown に変換する方法を学びます。また、出力に認識されたテーブルや検出された画像が含まれることも確認できます。
C# OCR ライブラリ(画像からMarkdownへの変換)
Aspose.OCR for .NET は、画像内のテキストを認識し、Markdown を含む複数の形式で結果を保存できます。このチュートリアルでは、バージョン 26.10.0 以降 を使用してください。バージョン 26.10 では、例で使用されている DOCUMENT_LAYOUT 設定が導入され、レイアウト情報を含む Markdown エクスポートが強化されました。
.NET コンソール プロジェクトにパッケージをインストールするには、次のコマンドを使用します:
dotnet add package Aspose.OCR --version 26.10.0
読み取り可能な PNG または JPG 画像と、出力ファイルを書き込む権限が必要です。例に従うには、プロジェクト ディレクトリに report.png という名前の画像を配置してください。
トライアル版は認識できるテキストの量に制限があります。評価中にこの制限を解除するには、temporary license をリクエストし、認識前に適用できます。詳細については、licensing documentation を参照してください。
C#で画像をMarkdownに変換する
以下の手順は、画像を認識し、結果を Markdown として保存する方法を示しています:
AsposeOcrクラスのインスタンスを作成します。- 単一画像用の
OcrInputオブジェクトを作成し、画像ファイルを追加します。 RecognitionSettingsオブジェクトでDetectAreasModeをDOCUMENT_LAYOUTに設定します。Recognizeメソッドを呼び出して画像を処理します。OcrOutput.SaveとSaveFormat.Mdを使用して結果を保存します。
この例では、見出し、テキスト、表、イラストが含まれるレポートの画像を使用します。Program.cs の内容を以下のコードに置き換えてください。
using Aspose.OCR;
// Create the OCR engine.
AsposeOcr recognitionEngine = new AsposeOcr();
// Add the image to the input.
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("report.png");
// Enable document layout detection.
RecognitionSettings settings = new RecognitionSettings
{
DetectAreasMode = DetectAreasMode.DOCUMENT_LAYOUT
};
// Recognize the image.
OcrOutput results = recognitionEngine.Recognize(input, settings);
// Save the recognition result as Markdown.
results.Save("report.md", SaveFormat.Md);
プロジェクトディレクトリからアプリケーションを実行してください:
dotnet run
アプリケーションは report.png を読み取り、認識結果を report.md として保存します。両方のパスはアプリケーションの現在の作業ディレクトリに対して相対的です。JPG 画像の場合は、入力パスを JPG ファイルに変更してください。認識およびエクスポート手順は同じままです。
DOCUMENT_LAYOUT は、Markdown 出力を整理するために使用できる文書要素を検出します。結果は画像と認識されたコンテンツに依存するため、元のものと比較して出力を確認してください。例は Aspose.OCR 26.10 release notes に従っています。
生成された Markdown のレビュー
report.md をテキストエディタまたは Markdown ビューアで開きます。認識されたテキストを編集し、必要に応じて構造を調整できます。OCR エンジンがテーブルを認識した場合、エクスポートは Markdown テーブルとして表現されます。
以下の抜粋は、Markdown のテーブルと画像構文を示しています。これは 実際の OCR 出力ではありません; 結果の内容とパスは、元の画像と認識に依存します:
## Quarterly Report
| Product | Sales |
| --- | --- |
| Product A | 120 |

画像が検出されてファイル出力に含まれる場合、Aspose.OCR は生成された Markdown の隣にドキュメント固有の画像ディレクトリに保存し、その参照を追加できます。Markdown ファイルと参照された画像を一緒に保管し、ファイル内のパスを保持することで、Markdown ビューアで画像を表示できるようにします。
Markdown はコンテンツと構造を記述しますが、必ずしも元のレポートの正確な外観を再現するわけではありません。
OCR結果を改善するためのヒント
- 明瞭なソース画像を使用してください。 テキストと表の枠線は元の画像で読み取れる必要があります。
- 適切な認識言語を選択してください。 必要に応じて
RecognitionSettings.Languageを設定してください。いくつかの言語は追加の認識モデルが必要です。詳細は language documentation を参照してください。 - 重要な詳細を確認してください。 名前、数値、表のセル、読み取り順序をソース画像と比較してください。
- 画像参照を検証してください。 ビューアで Markdown を開き、抽出された画像が表示されているか確認してください。
- 代表的な文書でテストしてください。 複雑な表やレイアウトは手動で修正が必要になる場合があります。そのため、出力を自動化されたワークフローで使用する前にサンプルを確認してください。
よくある質問
C#でPNGとJPGの両方の画像をMarkdownに変換できますか?
はい。PNG または JPG ファイルを OcrInput に追加し、認識させ、結果を SaveFormat.Md で保存します。
Markdown の出力にテーブルを含めることはできますか?
はい。認識されたテーブルは Markdown テーブルとしてエクスポートできます。結果は元の画像とテーブルの認識方法に依存します。
検出された画像はどこに保存されますか?
ファイル出力の場合、検出された画像は生成された Markdown の隣にあるドキュメント固有の images ディレクトリに保存できます。Markdown コンテンツはそれらのファイルを参照します。
Markdown ファイルは元のページレイアウトを正確に保持していますか?
No. Markdownは、ページ画像とは異なる形でコンテンツと構造を表現します。生成されたファイルを確認し、必要に応じて構造を調整してください。
結論
このワークフローを、独自のレポートやスキャンしたページを Markdown に変換する出発点として使用してください。結果をドキュメントに追加する前に、テキスト、表、画像参照を元のものと比較してください。
詳細については、認識ドキュメントをご覧ください。ヘルプが必要な場合は、Aspose.OCR サポート フォーラムへアクセスしてください。
