C#でIronOCRを使ってスキャンされたドキュメントを読み取る
IronOCRはC#の開発者がOCR技術を使ってスキャンしたPDFや画像からテキストを抽出し、検索不可能な画像ベースのドキュメントをわずか数行のコードで検索可能でアクセス可能なコンテンツに変換することを可能にします。
多くの PDF には、検索できない画像ベースのテキストが含まれています。 IronOCRはこれを検索可能なコンテンツに変換することで、特定の情報を見つけやすくし、特に視覚障害者のために文書のアクセシビリティを向上させます。
テキストや画像を手動でコピーまたは再作成する代わりに、自動抽出によって正確性と効率性が確保されます。 これは、PDFの特定の部分を再利用することが一般的な研究、法律文書、コンテンツ作成に特に役立ちます。
企業は分析やシステム統合のために PDF から重要なデータを抽出し、ワークフローを合理化できます。 デザイナーやマーケティング担当者は、さまざまなプロジェクトで強化および再利用するために画像を抽出することもできます。
このチュートリアルでは、OcrPdfInputメソッドについて解説し、利用可能なオプションやパラメータを網羅することで、IronOCRがさまざまな用途においてPDFのテキストおよび画像抽出をいかに簡素化するかを紹介します。
この機能を使用するには、IronOcr.Extensions.AdvancedScan パッケージもインストールする必要があります。
クイックスタート: スキャンされたPDFや画像からテキストを抽出
数秒で開始できます。1行のコードで、IronOCRのReadDocumentを通じて即座にテキストを抽出できます。 OCR をすぐに起動して実行したい開発者に最適です。
最小限のワークフロー(5ステップ)
- スキャンした文書を読み取るためのC#ライブラリをダウンロードする
- 処理のためにスキャンされたドキュメントをインポート
- 画像の場合は
LoadImageメソッド、スキャンしたPDFの場合はLoadPdfを使用します。 ReadDocumentメソッドを使用してテキストを抽出する- 抽出されたテキストを必要に応じて保存またはエクスポートして、さらなる利用に役立てる
スキャンしたドキュメントからテキストを抽出するには?
ドキュメント内のすべての画像からテキストを抽出するには、ReadDocument メソッドを使用してください。 このメソッドはドキュメントを処理し、抽出されたテキストを含むオブジェクトを返します。このテキストには、Text プロパティを通じてアクセスできます。 以下の例はファイルでこの方法を使用する方法を示しています。
IronOCRは様々な文書フォーマットのスキャンに対応しています。 画像については、JPG、PNG、GIF、TIFF、および BMP フォーマットで作業でき、PDF サポートには、シングル ページ ドキュメントとマルチ ページ ドキュメントの両方が含まれます。 このライブラリは、高度なTesseract 5テクノロジーを使用しており、サポートされているすべてのフォーマットにおいて高い精度を保証します。
[{私:(
- このメソッドは現在、英語、中国語、日本語、韓国語、ラテンアルファベットのみに対応しています。
- .NET Framework で詳細スキャンを使用するには、プロジェクトを x64 アーキテクチャで実行する必要があります。 )}]
入力ドキュメントはどのようなものですか?
<img src="/static-assets/ocr/how-to/read-scanned-document/input.webp" alt=""ハリー・ポッター"シリーズの書籍から、第8章"死の日パーティー"のページ。10月のホグワーツに関する説明文が記載されています">
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処理を行う必要がある場合は、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以上の国際言語をサポートしています。 そのため、多言語文書や英語以外の言語の文書の処理に最適です。
ドキュメント スキャニングのベスト プラクティス
スキャン文書を処理する際に最適な結果を得ること:
- スキャンの品質: 最良の結果を得るために最低でも300 DPIの解像度を使用してください
- ファイル形式: TIFFとPNG形式はテキスト文書の場合、JPEGよりも品質を保持します
- 前処理: ドキュメントの状態に応じて適切なフィルターを適用してください 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から重要なデータを抽出し、分析とシステム統合を行い、ワークフローを合理化することを可能にします。特に法律文書や研究論文の処理、データ入力の自動化に役立ちます。また、デザイナーやマーケティング担当者は、様々なプロジェクトで強化・再利用するために画像を抽出することができます。
IronOCRは既存のアプリケーションに統合できますか?
IronOCRはC#を使用して既存のアプリケーションに簡単に統合できるよう設計されており、開発者がソフトウェアにOCR機能を少ない手間で追加できるようにします。
ドキュメント管理でIronOCRを使用する利点は何ですか?
IronOCRを使用することで、スキャンされた文書を検索可能かつ編集可能なテキストに変換し、手作業によるデータ入力を減らし、文書のアクセス性を向上させることでワークフローを効率化します。
IronOCRはデータ精度をどのように向上させますか?
IronOCRはその高度な認識アルゴリズムと画像補正機能により、信頼性が高く正確なテキスト抽出プロセスを保証します。
IronOCRの無料トライアルを利用できますか?
はい、Iron SoftwareはIronOCRの無料トライアルを提供しており、ユーザーが購入決定をする前にその機能と能力をテストできます。

