C#でOCR PDFを読む方法

IronOCR を使って C# で PDF を読む方法

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

PDFは"Portable Document Format"の略です。Adobe社が開発したファイル形式で、作成に使用したアプリケーションやプラットフォームに関係なく、あらゆるソースドキュメントのフォント、画像、グラフィック、レイアウトを保持します。 PDF ファイルは通常、ドキュメントを開くために使用されるソフトウェアやハードウェアに関係なく、一貫した形式でドキュメントを共有および表示するために使用されます。 IronOcr はさまざまなバージョンの PDF ドキュメントを簡単に処理します。

クイックスタート: PDF ファイルを数秒で OCR 処理する

PDF を指す OcrPdfInput を作成し、Read を呼び出すことで、IronOCR で OCR を高速にセットアップできます。複雑な構成は必要ありません。 この 1 行の例は、IronOCR を使用して PDF からテキストを抽出するのがいかに簡単かを示しています。

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

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

    PM > Install-Package IronOcr

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

    using var result = new IronOcr.IronTesseract().Read(new IronOcr.OcrPdfInput("document.pdf", PdfContents.TextAndImages));
  3. 実際の環境でテストするためにデプロイする

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


PDFの例を読む

まず、IronTesseract クラスをインスタンス化して OCR を実行します。 次に、"using"ステートメントを使用してOcrPdfInputオブジェクトを作成し、PDF ファイル パスを渡します。 最後に、 Readメソッドを使用して OCR を実行します。

:path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add PDF
using var pdfInput = new OcrPdfInput("Potter.pdf");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add PDF
Private pdfInput = New OcrPdfInput("Potter.pdf")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(pdfInput)
$vbLabelText   $csharpLabel
PDFファイルを読む

ほとんどの場合、DPI プロパティを指定する必要はありません。 ただし、 OcrPdfInputの構築時に高い DPI 数値を指定すると、読み取り精度が向上します。

PDFページの読み取り例

PDF ドキュメントから特定のページを読み取るときに、ユーザーはインポートするページ インデックス番号を指定できます。 これを行うには、 OcrPdfInputを構築するときに、ページ インデックスのリストを PageIndices パラメータに渡します。 ページ インデックスでは 0 ベースの番号が使用されることに注意してください。

:path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-pdf-pages.cs
using IronOcr;
using System.Collections.Generic;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Create page indices list
List<int> pageIndices = new List<int>() { 0, 2 };

// Add PDF
using var pdfInput = new OcrPdfInput("Potter.pdf", PageIndices: pageIndices);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(pdfInput);
Imports IronOcr
Imports System.Collections.Generic

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Create page indices list
Private pageIndices As New List(Of Integer)() From {0, 2}

' Add PDF
Private pdfInput = New OcrPdfInput("Potter.pdf", PageIndices:= pageIndices)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(pdfInput)
$vbLabelText   $csharpLabel

スキャン領域を指定

読み取るエリアを絞り込むことで、読書効率を大幅に高めることができます。 これを実現するには、インポートした PDF の読み取る必要がある領域を正確に指定できます。 以下のコード例では、IronOcr に章番号とタイトルの抽出のみに集中するように指示しています。

:path=/static-assets/ocr/content-code-examples/how-to/input-pdfs-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Specify crop regions
Rectangle[] scanRegions = { new Rectangle(550, 100, 600, 300) };

// Add PDF
using (var pdfInput = new OcrPdfInput("Potter.pdf", ContentAreas: scanRegions))
{
    // Perform OCR
    OcrResult ocrResult = ocrTesseract.Read(pdfInput);

    // Output the result to console
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Specify crop regions
Private scanRegions() As Rectangle = { New Rectangle(550, 100, 600, 300) }

' Add PDF
Using pdfInput = New OcrPdfInput("Potter.pdf", ContentAreas:= scanRegions)
	' Perform OCR
	Dim ocrResult As OcrResult = ocrTesseract.Read(pdfInput)

	' Output the result to console
	Console.WriteLine(ocrResult.Text)
End Using
$vbLabelText   $csharpLabel

OCR結果

特定の地域を読む

よくある質問

C#でPDFファイルを読むにはどうすればいいですか?

C#でIronOCRを使用してPDFファイルを読むことができます。IronTesseractクラスをインスタンス化することから始め、ファイルパスを使用してOcrPdfInputオブジェクトを作成するための'using'ステートメントを使用します。最後に、Readメソッドを適用してドキュメントにOCRを実行します。

PDFの特定のページにOCRを実行するために必要なステップは何ですか?

IronOCRを使用してPDFの特定のページにOCRを実行するには、OcrPdfInputを構築する際にPageIndicesパラメータにページインデックスのリストを渡します。IronOCRのページインデックスはゼロから始まるため、最初のページは0としてインデックス付けされます。

PDFのOCRの精度を向上させるにはどうすればよいですか?

IronOCRでPDFのOCRの精度を向上させるには、OcrPdfInputの構築中に高いDPIを指定します。通常は必要ありませんが、より高いDPIは読み取り精度を向上させることができます。

PDFの特定の領域をOCR処理することは可能ですか?

はい、IronOCRを使用すると、SelectRegionメソッドを使用してPDFの特定の領域をOCR処理に選択することができます。これにより、定義された領域からコンテンツを抽出することに集中でき、効率が向上します。

PDFページを読む際のゼロベース番号の重要性は何ですか?

IronOCRでは、PDFページを読む際にページインデックスを指定するためにゼロベース番号が使用されます。これは、最初のページが0としてインデックス付けされることを意味し、正確に処理するページを指定するのに役立ちます。

PDFのOCRを行う際にリソースを手動で管理する必要がありますか?

IronOCRを使用する場合、OcrInputオブジェクトを扱う際に'using'ステートメントを使用することをお勧めします。これにより、OCRプロセスが完了した後にリソースが適切に処分されることが保証されます。

IronOCRを使ってPDFを読むにはどうすれば始められますか?

IronOCRでPDFを読むために始めるには、NuGetからC#ライブラリをダウンロードし、PDFを準備し、ファイルパスでOcrPdfInputオブジェクトを構成し、Readメソッドを使用してOCR処理を行います。

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

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

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

レビュー済み
Jeff Fritz
Jeffrey T. Fritz
プリンシパルプログラムマネージャー - .NETコミュニティチーム
Jeffはまた、.NETとVisual Studioチームのプリンシパルプログラムマネージャーです。彼は.NET Conf仮想会議シリーズのエグゼクティブプロデューサーであり、週に二回放送される開発者向けライブストリーム『Fritz and Friends』のホストを務め、テクノロジーについて話すことや視聴者と一緒にコードを書くことをしています。Jeffはワークショップ、プレゼンテーション、およびMicrosoft Build、Microsoft Ignite、.NET Conf、Microsoft MVPサミットを含む最大のMicrosoft開発者イベントのコンテンツを企画しています。
準備はできましたか?
Nuget ダウンロード 5,167,857 | Version: 2025.11 リリース