C#でスキャンされたドキュメントを読む方法 | IronOCR

C#でIronOCRを使ってスキャンされたドキュメントを読み取る

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

IronOCRはC#の開発者がOCR技術を使ってスキャンしたPDFや画像からテキストを抽出し、検索不可能な画像ベースのドキュメントをわずか数行のコードで検索可能でアクセス可能なコンテンツに変換することを可能にします。

多くの PDF には、検索できない画像ベースのテキストが含まれています。 IronOCRはこれを検索可能なコンテンツに変換することで、特定の情報を見つけやすくし、特に視覚障害者のために文書のアクセシビリティを向上させます。

テキストや画像を手動でコピーまたは再作成する代わりに、自動抽出によって正確性と効率性が確保されます。 これは、PDFの特定の部分を再利用することが一般的な研究、法律文書、コンテンツ作成に特に役立ちます。

企業は分析やシステム統合のために PDF から重要なデータを抽出し、ワークフローを合理化できます。 デザイナーやマーケティング担当者は、さまざまなプロジェクトで強化および再利用するために画像を抽出することもできます。

このチュートリアルでは、 OcrPdfInputメソッドについて説明し、使用可能なオプションとパラメーターを説明して、IronOCR がさまざまなアプリケーションの PDF テキストと画像の抽出を簡素化する方法を紹介します。

この機能を使用するには、 IronOcr.Extensions.AdvancedScanパッケージもインストールする必要があります。

クイックスタート: スキャンしたPDFまたは画像からテキストを抽出する

たった一行のコードで、IronOCRのOcrInput.LoadPdfまたはLoadImageを使ってスキャンしたPDFや画像を読み込み、ReadDocumentを使ってテキストを即座に抽出することができます。 OCR をすぐに起動して実行したい開発者に最適です。

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

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

    PM > Install-Package IronOcr

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

    var text = new IronOcr.IronTesseract().ReadDocument(new IronOcr.OcrInput().LoadPdf("scanned.pdf")).Text;
  3. 実際の環境でテストするためにデプロイする

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

スキャンしたドキュメントからテキストを抽出するには?

ドキュメント内のすべての画像からテキストを抽出するには、 ReadDocumentメソッドを使用します。 このメソッドはドキュメントを処理し、Textプロパティを通してアクセスできる、抽出されたテキストを含むオブジェクトを返します。 以下の例は、サンプル TIFFファイルでこの方法を使用する方法を示しています。

IronOCRは様々な文書フォーマットのスキャンに対応しています。 画像については、JPG、PNG、GIF、TIFF、および BMP フォーマットで作業でき、PDF サポートには、シングル ページ ドキュメントとマルチ ページ ドキュメントの両方が含まれます。 このライブラリは、高度なTesseract 5テクノロジーを使用しており、サポートされているすべてのフォーマットにおいて高い精度を保証します。

ブラケットオープン

  • この方法は現在、英語、中国語、日本語、韓国語、ラテン語アルファベットでのみ機能します。
  • .NET Framework で詳細スキャンを使用するには、プロジェクトを x64 アーキテクチャで実行する必要があります。
    ブラケットを閉じる

入力ドキュメントはどのようなものですか?

ハリー・ポッターの本の第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);
$vbLabelText   $csharpLabel

OCR処理にはどのような結果が期待できますか?

スキャンしたドキュメントから出力されたOCR処理されたハリー・ポッターのテキストを表示するVisual Studioのデバッグウィンドウの例。

代わりに 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}");
}
$vbLabelText   $csharpLabel

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);
$vbLabelText   $csharpLabel

検索可能な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");
$vbLabelText   $csharpLabel

さまざまなドキュメントタイプでの作業

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から重要なデータを抽出し、分析とシステム統合を行い、ワークフローを合理化することを可能にします。特に法律文書や研究論文の処理、データ入力の自動化に役立ちます。また、デザイナーやマーケティング担当者は、様々なプロジェクトで強化・再利用するために画像を抽出することができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 5,299,091 | バージョン: 2025.12 リリース