フッターコンテンツにスキップ
製品比較

iText7でC#でPDFを読むための代替方法(VS IronPDF)

PDF は、Adobe Acrobat Reader によって作成されたポータブル ドキュメント フォーマットであり、インターネットを介してデジタルで情報を共有するために広く使用されています。 それはデータのフォーマットを保持し、セキュリティ パーミッションの設定やパスワード保護などの機能を提供します。 C# 開発者として、ソフトウェア アプリケーションに PDF 機能を統合する必要があるシナリオに遭遇したかもしれません。 ゼロから構築することは、時間がかかり面倒な作業になる可能性があります。 したがって、アプリケーションのパフォーマンス、効果的性、効率性を考慮し、ゼロから新しいサービスを作成するのと、市販のライブラリを使用するのとの間のトレードオフは重要です。

C# 用にはいくつかの PDF ライブラリが利用可能です。 この記事では、C# で PDF ドキュメントを読み取るための 2 つの人気のある PDF ライブラリを紹介します。

iText ソフトウェア

iText 7 は、かつて iText 7 Core という名称で知られた .NET C# と Java 用の PDF ライブラリです。 これはオープン ソース ライセンス (AGPL) として利用でき、商業アプリケーションにライセンスされることがあります。

iText Core は、PDF をさまざまな方法で簡単に生成および編集する高レベルの API です。 iText 7 Core を使用すると、PDF ファイルを分割、結合、注釈、フォーム入力、デジタル署名などが可能です。 iText 7 は HTML to PDF コンバーター を提供します。

IronPDF

IronPDF についてもっと学ぶ は、URL、HTML ファイル、または HTML 文字列から PDF ドキュメントを生成するために使用される .NET および .NET Framework C# および Java API です。 IronPDF を使用すると、既存の PDF ファイルを分割、結合、注釈、デジタル署名などが可能です。

IronPDF には、PDF ファイルの作成、読み取り、編集を行うための 50 以上の機能が付いています。 高品質でピクセル完璧なプロフェッショナルな PDF ファイルを Adobe Acrobat Reader で納品する必要がある場合、速度、使いやすさ、精度を優先します。 API はよく文書化されており、コード例ページに多数のサンプルソースコードがあります。

コンソールアプリケーションを作成する

最初のアプリケーションを作成するために Visual Studio 2022 IDE を使用します。 Visual Studio は C# 開発の公式 IDE であり、インストールされている必要があります。 マイクロソフト Visual Studio のウェブサイトからダウンロードできます。

次の手順で「DemoApp」という新しいプロジェクトを作成します。

  1. Visual Studio を開き、「新しいプロジェクトを作成」をクリックします。

    Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 1 - 新規プロジェクト

  2. "コンソール アプリケーション" を選択し、「次へ」 をクリックします。

    Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 2

  3. プロジェクト名を設定します。

    Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 3

  4. .NET バージョンを選択します。 安定版バージョン.NET 6.0を選択します。

    Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 4

IronPDF ライブラリのインストール

プロジェクトが作成されたら、プロジェクトに IronPDF ライブラリをインストールして使用できるようにする必要があります。 それをインストールするために次のステップに従います。

  1. ソリューションエクスプローラーまたはツールから NuGet パッケージ マネージャーを開きます。

    Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 5

  2. IronPDF ライブラリを検索し、現在のプロジェクトに選択します。 インストールをクリックします。

    Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 6

Program.cs ファイルの一番上に次の名前空間を追加します。

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

iText 7 ライブラリのインストール

プロジェクトが作成されたら、プロジェクトに iText 7 ライブラリをインストールして使用する必要があります。 インストール手順に従ってください。

  1. ソリューションエクスプローラーまたはツールから NuGet パッケージ マネージャーを開きます。

    Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 7

  2. iText 7 ライブラリを検索し、現在のプロジェクトに選択します。 インストールをクリックします。

    Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 8

Program.cs ファイルの一番上に次の名前空間を追加します。

using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf
$vbLabelText   $csharpLabel

PDF ファイルを開く

次の PDF ファイルを使用してテキストを抽出します。 これは 2 ページの PDF ドキュメントです。

Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 9

iText ライブラリを使用する

iText ライブラリを使用して PDF ファイルを開くのは、2 ステップのプロセスです。 まず、PdfReader オブジェクトを作成し、ファイルの場所をパラメーターとして渡します。 次に、PdfDocument クラスを使用して新しい PDF ドキュメントを作成します。 コードは次の通りです:

// Initialize a reader instance by specifying the path of the PDF file
PdfReader pdfReader = new PdfReader("sample.pdf");

// Initialize a document instance using the PdfReader
PdfDocument pdfDoc = new PdfDocument(pdfReader);
// Initialize a reader instance by specifying the path of the PDF file
PdfReader pdfReader = new PdfReader("sample.pdf");

// Initialize a document instance using the PdfReader
PdfDocument pdfDoc = new PdfDocument(pdfReader);
' Initialize a reader instance by specifying the path of the PDF file
Dim pdfReader As New PdfReader("sample.pdf")

' Initialize a document instance using the PdfReader
Dim pdfDoc As New PdfDocument(pdfReader)
$vbLabelText   $csharpLabel

IronPDFを使用する

IronPDF を使用して PDF ファイルを開くのは簡単です。 PdfDocument クラスの FromFile メソッドを使用して、任意のファイルの場所から PDF を開きます。 次の単一行のコードで、PDF ファイルを開いてデータを読み取ります。

// Open a PDF file using IronPDF and create a PdfDocument instance
var pdf = PdfDocument.FromFile("sample.pdf");
// Open a PDF file using IronPDF and create a PdfDocument instance
var pdf = PdfDocument.FromFile("sample.pdf");
' Open a PDF file using IronPDF and create a PdfDocument instance
Dim pdf = PdfDocument.FromFile("sample.pdf")
$vbLabelText   $csharpLabel

PDF ファイルからデータを読み取る

iText7 ライブラリを使用する

iText 7 ライブラリで PDF データを読み取るのは、あまり単純な作業ではありません。 PDF ドキュメントの各ページを手動でループして、各ページからテキストを抽出する必要があります。 次のソース コードは、PDF ドキュメントからページごとにテキストを抽出するのに役立ちます。

// Iterate through each page and extract text
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    // Define the text extraction strategy
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();

    // Extract text from the current page using the strategy
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);

    // Output the extracted text to the console
    Console.WriteLine(pageContent);
}

// Close document and reader to release resources
pdfDoc.Close();
pdfReader.Close();
// Iterate through each page and extract text
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    // Define the text extraction strategy
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();

    // Extract text from the current page using the strategy
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);

    // Output the extracted text to the console
    Console.WriteLine(pageContent);
}

// Close document and reader to release resources
pdfDoc.Close();
pdfReader.Close();
' Iterate through each page and extract text
Dim page As Integer = 1
Do While page <= pdfDoc.GetNumberOfPages()
	' Define the text extraction strategy
	Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()

	' Extract text from the current page using the strategy
	Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)

	' Output the extracted text to the console
	Console.WriteLine(pageContent)
	page += 1
Loop

' Close document and reader to release resources
pdfDoc.Close()
pdfReader.Close()
$vbLabelText   $csharpLabel

上記のコードには多くのことが含まれています。 最初にテキスト抽出戦略を宣言し、次に PdfExtractor クラスの GetTextFromPage メソッドを使用してテキストを読み取ります。 このメソッドは 2 つのパラメータを受け入れます: 1 つ目は PDF ドキュメント ページで、2 つ目は戦略です。 PDF ドキュメント ページを取得するには、PdfDocument のインスタンスを使用して GetPage メソッドを呼び出し、ページ番号をパラメータとして渡します。 出力は文字列として返され、コンソール出力画面に表示されます。 最後に、PDFReaderPdfDocument オブジェクトは閉じられます。 iText7 を使用して PDF からテキストを抽出するコード例も参照してください。

出力

Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 10

IronPDFを使用する

PDF ファイルを開くのが 1 行のコードだったのと同様に、PDF ファイルからテキストを読み取るのも 1 行のプロセスです。 PDFDocument クラスは、PDF から全内容を読み取るための ExtractAllText メソッドを提供します。 Console.WriteLine を使用して、画面にテキストを表示します。 コードは次のようになります:

// Extract all text from the PDF document
string text = pdf.ExtractAllText();

// Display the extracted text
Console.WriteLine(text);
// Extract all text from the PDF document
string text = pdf.ExtractAllText();

// Display the extracted text
Console.WriteLine(text);
' Extract all text from the PDF document
Dim text As String = pdf.ExtractAllText()

' Display the extracted text
Console.WriteLine(text)
$vbLabelText   $csharpLabel

出力

Itext7 Read PDF in C# Alternatives (VS IronPDF) 図 11

出力は正確で誤りはありません。 ただし、ExtractAllText メソッドを使用するには、ライセンスが必要です。それは、本番モードでのみ機能します。 IronPDF トライアル ライセンス ページから 30 日間の試用ライセンス キーを取得できます。

比較

比較すると、両方のライブラリは PDF ドキュメントからテキストを抽出する際に 100% の正確性を提供します。 正確さに関しては同一です。 しかし、IronPDF はパフォーマンスとコードの可読性の面でより効率的です。

IronPDF は同じタスクを成し遂げるためにわずか 2 行のコードしか必要としません。 追加のロジックを実装せずに、開箱即用のテキスト抽出方法を提供します。 iText のコードは少しトリッキーであり、PDF ドキュメントを開く際に作成された 2 つのインスタンスを閉じる必要があります。 一方、IronPDF はタスクが完了すると自動的にメモリをクリアします。

まとめ

この記事では、C# で iText ライブラリを使用して PDF ドキュメントを読み取る方法について説明し、その後 IronPDF と比較しました。 両方のライブラリは、正確な結果を提供し、操作するためのさまざまな PDF 操作メソッドを提供します。 これら両方のライブラリを使用して、PDF ファイルを作成、編集、およびデータを読み取ることができます。

iText はオープンソースであり、使用は無料ですが、制限があります。 商業利用にはライセンスが取得できます。 IronPDF is also free to use and can be licensed for commercial activities with a 30-day free trial available.

IronPDF をダウンロードして試してみてください

このサイトはiText 7と提携、承認、または後援されていません。すべての製品名、ロゴ、およびブランドはそれぞれの所有者の財産です。} このサイトは iText 7 と提携、承認、またはスポンサーされていません。すべての製品名、ロゴ、およびブランドは、それぞれの所有者に属しています。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。)}]

よくある質問

IronPDFとは何か、iText 7とどう比較されるのか?

IronPDFは、HTML、CSS、JavaScriptからPDF文書を生成および操作するために設計された.NETライブラリです。iText 7と比較して、IronPDFは速度、使いやすさ、正確性を重視し、PDFタスクを達成するためのコード行数が少なくて済みます。

C# で HTML を PDF に変換するにはどうすればいいですか?

IronPDFのRenderHtmlAsPdfメソッドを使用してHTML文字列をPDFに変換することができます。また、RenderHtmlFileAsPdfを使用してHTMLファイルをPDFに変換することもできます。

C#プロジェクトにIronPDFをインストールする手順は何ですか?

C#プロジェクトにIronPDFをインストールするには、Visual StudioでNuGetパッケージマネージャーを開き、IronPDFを検索してプロジェクトに選択し、[インストール]をクリックします。C#ファイルの上部にusing IronPdf;を含めます。

IronPDFを使用してPDFからテキストを抽出するにはどうすればよいですか?

IronPDFを使用してPDFからテキストを抽出するには、PdfDocumentクラスのFromFileメソッドを使用してPDFを読み込み、ExtractAllTextメソッドを使用してテキストを取得します。

IronPDFを使用する際のトラブルシューティングのヒントは何ですか?

IronPDFがNuGet経由で正しくインストールされており、C#ファイルに適切な名前空間が含まれていることを確認してください。HTMLをPDFに変換する場合は、ファイルパスを確認し、HTMLコンテンツが適切に形成されていることを確認してください。

IronPDFはPDFフォームと注釈を処理できますか?

はい、IronPDFはフォームの記入やPDFに注釈を追加する機能をサポートしており、インタラクティブでダイナミックなPDF文書を作成できます。

IronPDFは無料で使用できますか?

IronPDFは、制限された機能の無料バージョンと、商用バージョンの30日間の無料トライアルを提供しており、フル機能が利用可能です。

PDF操作におけるiText 7の制限は何ですか?

iText 7は強力なPDFライブラリですが、テキスト抽出などの特定のタスクには追加のロジックが必要で、IronPDFと比較するとより複雑で長いコードになる可能性があります。

Curtis Chau
テクニカルライター

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

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