スキャンされたレポートには、ドキュメントに編集したり追加したりしたいテキストが含まれている場合があります。OCR を使用してテキストを認識し、Markdown として保存すれば、Python アプリケーションでのレビューや再利用が容易になります。

この記事では、Aspose.OCR for Python via .NET を使用して、Python で PNG または JPG 画像を Markdown に変換する方法を学びます。また、生成されたコンテンツを確認し、ドキュメントの表や図をチェックする方法も紹介します。

Python OCR ライブラリ:画像からMarkdownへの変換

Aspose.OCR for Python via .NET は、画像内のテキストを認識し、OCR 結果を Markdown として保存できます。そのドキュメント レイアウト検出モードは、テキスト ブロック、テーブル、画像などの要素を識別できます。

pip を使用してパッケージのバージョン 26.10.0 をインストールします:

python -m pip install aspose-ocr-python-net

サポートされている Python のインストール、読み取り可能な PNG または JPG 画像、そして出力ファイルを書き込む権限が必要です。例を実行するには、report.png という名前の画像をスクリプトを実行するディレクトリに配置してください。別途 .NET ランタイムのインストールは不要です。サポートされているプラットフォームについては、システム要件 を参照してください。

トライアル版は認識できるテキストの量に制限があります。評価中にこの制限を解除するには、一時ライセンス をリクエストし、認識前に適用してください。詳細については、ライセンス ドキュメント を参照してください。

Pythonで画像をMarkdownに変換

画像を認識し、結果を Markdown として保存する手順は次のとおりです:

  1. AsposeOcr クラスのインスタンスを作成します。
  2. OcrInput オブジェクトを単一画像用に作成し、画像ファイルを追加します。
  3. RecognitionSettings オブジェクトを作成し、detect_areas_mode を DOCUMENT_LAYOUT に設定します。
  4. 画像を処理するために recognize() メソッドを呼び出します。
  5. save() と SaveFormat.MD を使用して結果を保存します。

この例では、見出し、テキスト、表、イラストが含まれるレポート画像を使用します。次のコードを image_to_markdown.py という名前のファイルに保存してください。

import aspose.ocr as ocr

# Create the OCR engine.
api = ocr.AsposeOcr()

# Add the image to the input.
ocr_input = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
ocr_input.add("report.png")

# Enable document layout detection.
settings = ocr.RecognitionSettings()
settings.detect_areas_mode = ocr.DetectAreasMode.DOCUMENT_LAYOUT

# Recognize the image.
results = api.recognize(ocr_input, settings)

# Save the recognition result as Markdown.
results.save("report.md", ocr.SaveFormat.MD)

report.png を含むディレクトリからスクリプトを実行してください:

python image_to_markdown.py

スクリプトは report.png を読み取り、認識結果を report.md として保存します。両方のパスは現在の作業ディレクトリに対して相対的です。JPG 画像に変換するには、入力パスを .jpg ファイルに変更してください。認識およびエクスポートの手順は同じままです。

DOCUMENT_LAYOUT モードは、出力で構造が重要なドキュメントを対象としています。検出はソース画像に依存するため、生成された Markdown を元のレポートと比較して確認してください。

生成されたMarkdownのレビュー

テキストエディタまたは Markdown ビューアで report.md を開きます。認識されたテキスト、読み順、およびテーブルの内容がソース画像と一致しているか確認してください。その後、ドキュメントに追加する前に Markdown を編集できます。

たとえば、Markdown の表は次のようになります。これは 実際の OCR 出力ではなく、例示的な構文 です:

| Product | Units Sold | Revenue (USD) |
| --- | --- | --- |
| Product A | 120 | $18,000 |

生成されたMarkdownに抽出された画像への参照が含まれている場合、参照されたファイルが存在し、Markdownビューアに表示されることを確認してください。Markdownファイルを移動する際は、パスをそのまま保ってください。

Markdown はコンテンツと構造を記述しますが、必ずしも元のレポートの正確な外観を再現するわけではありません。

OCR結果を改善するためのヒント

  • 明瞭なソース画像を使用してください。 テキストや表の枠線は元の画像で読み取れる必要があります。
  • 適切な認識言語を選択してください。 必要に応じて RecognitionSettings.language を設定します。利用可能なオプションについては、language documentation を参照してください。
  • 重要な詳細を確認してください。 名前、番号、表のセル、読み取り順序をソースと比較します。
  • 画像参照を検証してください。 出力が抽出された画像を参照している場合、Markdown をビューアで開き、画像が表示されることを確認してください。
  • 代表的な文書でテストしてください。 複雑な表やレイアウトは手動で修正が必要になることがあるため、出力を自動化ワークフローで使用する前にサンプルを確認してください。

よくある質問

PythonでPNGとJPGの両方の画像をMarkdownに変換できますか?

はい。PNG または JPG ファイルを OcrInput に追加し、認識して、結果を SaveFormat.MD で保存します。

Python OCRは画像内のテーブルを検出できますか?

はい。DOCUMENT_LAYOUT モードは、テーブルを含むドキュメント要素を検出するように設計されています。生成された Markdown を確認して、テーブルとそのセルがどのように表現されているかを確認してください。

Markdown ファイルで参照されている画像はどう扱いますか?

Markdownファイルは元のページレイアウトを正確に保持していますか?

注: Markdownはコンテンツと構造をページ画像とは異なる形で表現します。生成されたファイルを確認し、必要に応じて構造を調整してください。

結論

このワークフローを、独自のレポート画像を Python で Markdown に変換するための出発点として使用してください。結果をドキュメントに追加する前に、認識されたテキスト、テーブル、および画像参照を元のものと比較してください。

詳細については、認識ドキュメントをご覧ください。サポートが必要な場合は、Aspose.OCR サポートフォーラムへアクセスしてください。

参照