C#でIronOCRを使ってスキャンされたドキュメントから文字起こし・テキスト抽出を行う
IronOCRはC#の開発者がOCR技術を使ってスキャンしたPDFや画像からテキスト抽出・文字認識を行い、検索不可能な画像ベースのドキュメントをわずか数行のコードで検索可能でアクセス可能なコンテンツに変換することを可能にします。
多くの PDF には、検索できない画像ベースのテキストが含まれています。 IronOCRはこれを検索可能なコンテンツに変換することで、特定の情報を見つけやすくし、特に視覚障害者のために文書のアクセシビリティを向上させます。
テキストや画像を手動でコピーまたは再作成する代わりに、自動抽出によって正確性と効率性が確保されます。 これは、PDFの特定の部分を再利用することが一般的な研究、法律文書、コンテンツ作成に特に役立ちます。
企業は分析やシステム統合のために PDF から重要なデータを抽出し、ワークフローを合理化できます。 デザイナーやマーケティング担当者は、さまざまなプロジェクトで強化および再利用するために画像を抽出することもできます。
このチュートリアルでは、OcrPdfInput メソッドについて説明し、使用可能なオプションとパラメータを説明して、 IronOCR がさまざまなアプリケーションで PDF テキストと画像の抽出を簡素化する方法を紹介します。
この機能を使用するには、 IronOcr.Extensions.AdvancedScanパッケージもインストールする必要があります。
クイックスタート: スキャンした PDF または画像からテキストを抽出する
わずか数秒で開始できます。1 行のコードで、IronOCR の OcrInput.LoadPdf または LoadImage を使用してスキャンした PDF または画像を読み込み、ReadDocument を介してテキストを即座に抽出します。 OCR をすぐに起動して実行したい開発者に最適です。
最小限のワークフロー(5ステップ)
- スキャンした文書を読み取るためのC#ライブラリをダウンロードする
- 処理のためにスキャンされたドキュメントをインポート
- 画像の場合は`LoadImage`メソッド、スキャンしたPDFの場合は`LoadPdf`を使用します。
- `ReadDocument`メソッドを使用してテキストを抽出する
- 抽出されたテキストを必要に応じて保存またはエクスポートして、さらなる利用に役立てる
スキャンしたドキュメントからテキストを抽出するには?
ドキュメント内のすべての画像からテキストを抽出するには、ReadDocument メソッドを使用します。 このメソッドはドキュメントを処理し、抽出されたテキストを含むオブジェクトを返します。このオブジェクトには、Text プロパティを通じてアクセスできます。 以下の例はファイルでこの方法を使用する方法を示しています。
IronOCRは様々な文書フォーマットのスキャンに対応しています。 画像については、JPG、PNG、GIF、TIFF、および BMP フォーマットで作業でき、PDF サポートには、シングル ページ ドキュメントとマルチ ページ ドキュメントの両方が含まれます。 このライブラリは、高度なTesseract 5テクノロジーを使用しており、サポートされているすべてのフォーマットにおいて高い精度を保証します。
[{私:(
- この方法は現在、英語、中国語、日本語、韓国語、ラテン語アルファベットでのみ機能します。
- .NET Framework で詳細スキャンを使用するには、プロジェクトを x64 アーキテクチャで実行する必要があります。
)}]
入力ドキュメントはどのようなものですか?

OCRコードはどのように実装しますか?
:path=/static-assets/ocr/content-code-examples/how-to/read-scanned-document-read-scanned-document.cs
using IronOcr;
using System;
// Instantiate OCR engine
var ocr = new IronTesseract();
// Configure OCR engine
using var input = new OcrInput();
input.LoadImage("potter.tiff");
// Perform OCR
OcrResult result = ocr.ReadDocument(input);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
' Configure OCR engine
Private input = New OcrInput()
input.LoadImage("potter.tiff")
' Perform OCR
Dim result As OcrResult = ocr.ReadDocument(input)
Console.WriteLine(result.Text)
OCR処理にはどのような結果が期待できますか?

代わりに PDF ファイルで OCR を実行する必要がある場合は、LoadImage メソッドを LoadPdf に置き換えるだけです。 これにより、IronOCR はスキャンされた PDF から同じ方法でテキストを処理および抽出できるようになります。
高度な文書処理オプション
スキャンした文書を扱う場合、OCRプロセスをより詳細に制御する必要があります。 IronOCRはテキスト抽出の結果を向上させるいくつかの高度な機能を提供します。
複数ページのドキュメントを処理する
IronOCRは複数ページのドキュメントを効率的にバッチ処理します:
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load a multi-page PDF
input.LoadPdf("multi-page-document.pdf");
// Process all pages
OcrResult result = ocr.ReadDocument(input);
// Access individual page results
foreach (var page in result.Pages)
{
Console.WriteLine($"Page {page.PageNumber}: {page.Text}");
}
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load a multi-page PDF
input.LoadPdf("multi-page-document.pdf");
// Process all pages
OcrResult result = ocr.ReadDocument(input);
// Access individual page results
foreach (var page in result.Pages)
{
Console.WriteLine($"Page {page.PageNumber}: {page.Text}");
}
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
' Load a multi-page PDF
input.LoadPdf("multi-page-document.pdf")
' Process all pages
Dim result As OcrResult = ocr.ReadDocument(input)
' Access individual page results
For Each page In result.Pages
Console.WriteLine($"Page {page.PageNumber}: {page.Text}")
Next
End Using
OCRのパフォーマンスを最適化する
スキャン文書の品質は、OCRの精度に直接影響します。 IronOCRはテキスト認識を強化するために画像最適化フィルターを内蔵しています:
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load and enhance image quality
input.LoadImage("low-quality-scan.jpg");
input.Deskew(); // Correct image skew
input.DeNoise(); // Remove background noise
input.Binarize(); // Convert to black and white
OcrResult result = ocr.ReadDocument(input);
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load and enhance image quality
input.LoadImage("low-quality-scan.jpg");
input.Deskew(); // Correct image skew
input.DeNoise(); // Remove background noise
input.Binarize(); // Convert to black and white
OcrResult result = ocr.ReadDocument(input);
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
' Load and enhance image quality
input.LoadImage("low-quality-scan.jpg")
input.Deskew() ' Correct image skew
input.DeNoise() ' Remove background noise
input.Binarize() ' Convert to black and white
Dim result As OcrResult = ocr.ReadDocument(input)
End Using
検索可能なPDFの作成
スキャンした文書を処理するときに最も価値のある機能の1つは、検索可能なPDFを作成する機能です。 これは、テキストレイヤーを追加しながら、元の文書の外観を維持します:
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("scanned-document.pdf");
// Process and save as searchable PDF
OcrResult result = ocr.ReadDocument(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("scanned-document.pdf");
// Process and save as searchable PDF
OcrResult result = ocr.ReadDocument(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
input.LoadPdf("scanned-document.pdf")
' Process and save as searchable PDF
Dim result As OcrResult = ocr.ReadDocument(input)
result.SaveAsSearchablePdf("searchable-output.pdf")
End Using
さまざまなドキュメントタイプでの作業
IronOCRはビジネス環境でよく遭遇する様々なドキュメントタイプの処理を得意としています。 請求書、契約書、過去の文書など、さまざまなソースからデータを抽出するための専門的な機能を提供します。
レガシー ドキュメントの処理
多くの組織には、古いフォーマットのスキャン文書のアーカイブがあります。 IronOcrは、文書管理システムでよく使われる複数ページのTIFFファイルのサポートを含め、これらを効率的に処理します。
言語サポート
この例では英語のテキストに焦点を当てていますが、IronOCRは125以上の国際言語をサポートしています。 そのため、多言語文書や英語以外の言語の文書の処理に最適です。
ドキュメント スキャニングのベスト プラクティス
スキャン文書を処理する際に最適な結果を得ること:
1.スキャン品質:最良の結果を得るためには、最低解像度300DPIを使用してください。 2.ファイル形式: TIFFとPNG形式は、テキスト文書ではJPEGよりも品質を保持します。 3.前処理:文書の条件に基づいて適切なフィルタを適用します。 4.パフォーマンス:大きなバッチでは、マルチスレッド機能の使用を検討してください。
一般的な問題のトラブルシューティング
スキャンした文書を扱う場合、さまざまな課題に遭遇する可能性があります。 よくある問題の解決策をご紹介します:
- 質の悪いスキャン:OCR処理の前にエンハンスメントフィルターを適用する
-傾いた文書:
Deskew()メソッドを使用して方向を修正します - 混合コンテンツ:ドキュメントにテキスト要素と非テキスト要素の両方が含まれている場合、特定の領域を処理します。
より詳細なガイダンスについては、包括的な C# OCR チュートリアルをご覧になるか、簡単な OCR サンプルをチェックして、すぐに始められるようにしてください。
次のステップ
スキャンしたドキュメントからテキストを抽出する方法を理解したところで、任意の PDF を検索可能にする、ウェブ アプリケーション用に PDF ストリームを処理するなど、より高度な機能を探求することができます。 IronOCRの柔軟性は、単純な文書の電子化から複雑なエンタープライズ文書処理ワークフローまで、あらゆる用途に適しています。
よくある質問
C#でスキャンしたPDFからテキストを抽出するには?
IronOcrはC#でスキャンされたPDFからテキストを抽出することを簡単にします。LoadPdfメソッドを使用してスキャンしたPDFを取り込み、ReadDocumentを呼び出してテキストを抽出します。例えば: var text = new IronOcr.IronTesseract().ReadDocument(new IronOcr.OcrInput().LoadPdf("scanned.pdf")).Text; この1行のコードでPDFを読み込み、すべてのテキスト内容を抽出します。
OCRライブラリは、テキスト抽出のためにどのようなファイル形式をサポートしていますか?
IronOCRはOCRスキャニングのための包括的な文書フォーマットをサポートしています。画像については、JPG、PNG、GIF、TIFF、BMPフォーマットで動作します。PDFについては、単一ページと複数ページの両方のドキュメントを扱えます。このライブラリーは高度なTesseract 5テクノロジーを使用しており、サポートされている全てのフォーマットにおいて高い精度を保証します。
OCR機能のために追加パッケージをインストールする必要がありますか?
はい、IronOCRで完全なOCR機能を使用するには、メインのIronOCRライブラリに加えてIronOcr.Extensions.AdvancedScanパッケージをインストールする必要があります。この拡張パッケージはスキャンされたドキュメントを処理するための拡張スキャン機能を提供します。
PDFだけでなく、スキャンした画像からもテキストを抽出できますか?
はい、IronOCRはスキャンした画像もPDFも同じように扱えます。画像ファイル(JPG, PNG, GIF, TIFF, BMP)にはLoadImageメソッドを、PDF文書にはLoadPdfメソッドを使用してください。ReadDocumentメソッドは両方の入力タイプで動作し、テキストコンテンツを抽出します。
OCRは、検索不可能なPDF文書にどのように役立ちますか?
IronOcrは、OCR技術を使用してテキストを抽出することにより、検索不可能な画像ベースのPDFを検索可能なコンテンツに変換します。この変換により、文書内の特定の情報を見つけやすくなり、特に視覚障害者にとって文書のアクセシビリティが大幅に向上します。
OCRテキスト抽出の主なビジネス用途は何ですか?
IronOcrは、企業がPDFから重要なデータを抽出し、分析とシステム統合を行い、ワークフローを合理化することを可能にします。特に法律文書や研究論文の処理、データ入力の自動化に役立ちます。また、デザイナーやマーケティング担当者は、様々なプロジェクトで強化・再利用するために画像を抽出することができます。

