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

C#でiTextSharpを使用したPDFからのテキスト抽出VS IronPDF

現代のソフトウェアプロジェクトにおいて、PDFドキュメントからテキストを抽出することは一般的な要求です—請求書の処理から、検索エンジンのためのコンテンツマイニングまで。 開発者は、正確な結果を提供するだけでなく、C# .NETアプリケーションにおいて効率的な統合体験を提供する信頼できるライブラリを必要としています。 一部の開発者はOCR(光学式文字認識)ツールを使用してスキャンされたドキュメントや画像からデータを抽出しますが、時には強力なテキスト抽出ツールが必要な場合があります。

しかし、市場にはいくつものPDFライブラリがあるため、適切なツールを選ぶことは圧倒されることもあります。 Two libraries that often come up in the conversation are iTextSharp and IronPDF. どちらもPDFからのテキスト抽出が可能ですが、使いやすさ、サポート、性能、および価格において大きな違いがあります。 この記事では、テキスト抽出処理をどのように取り扱うかを示す異なるコードサンプルを使って、これら2つのライブラリを比較し、プロジェクトに最も適した選択肢を決めるための手助けをします。

IronPDFとiTextSharpライブラリの概要

iTextSharpは長い間、.NET向けの人気のあるオープンソースPDFライブラリであり、コンテンツの生成、操作、および抽出に強力なツールを提供しています。 JavaベースのiTextのC#ポートとして、PDF構造に対する深い制御を提供し、高度なユーザーに理想的です。 しかし、この柔軟性には急な学習曲線とライセンス制約が伴います; 商業利用にはAGPLの義務を避けるための有料ライセンスが必要となることが多いです。

IronPDFの登場—.NET向けに構築された現代的で開発者に優しいPDFライブラリ。 直感的なAPI、明確なドキュメント、そして応答性の高いサポートにより、テキスト抽出のような一般的なタスクを簡素化します。 このツールを使用すると、画像やPDFドキュメントからテキストを簡単に抽出したり、新しいPDFファイルを作成したり、PDFセキュリティを実装したりすることができます。

iTextSharpとは異なり、IronPDFは複雑な低レベル構造を避け、より迅速かつ効率的に作業を行えます。 1ページの処理であれ何百ものPDFであれ、それを簡単に保ちます。

また、定期的な更新とライセンスモデルを採用しており、無料の試用版やチームや個人開発者向けの手頃なプランを提供しています。

IronPDFのインストールと使用

IronPDFは、NuGet Package Manager Consoleで次のコマンドを実行することでNuGet経由でインストールできます。

Install-Package IronPdf

または、NuGetパッケージマネージャでソリューション画面からインストールすることができます。 これを行うには、「ツール > NuGetパッケージマネージャ > ソリューションのNuGetパッケージを管理」へ移動します。 その後、「IronPDF」を検索し、「インストール」をクリックします。

IronPDFでPDFファイルからテキストを抽出

インストール後、テキスト抽出は簡単です:

using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("invoice.pdf");

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

// Output the extracted text
Console.WriteLine(extractedText);
using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("invoice.pdf");

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

// Output the extracted text
Console.WriteLine(extractedText);
Imports IronPdf

' Load the PDF document
Private pdf = PdfDocument.FromFile("invoice.pdf")

' Extract text from the PDF
Private extractedText As String = pdf.ExtractAllText()

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

注:このメソッドは、PDFファイル全体を読み込み、テキストを読み取り順に返し、従来のライブラリと比べて解析時間を数時間節約できます。

エンコーディング、コンテンツストリーム、または手動解析を扱う必要はありません。 IronPDFは内部でこれらすべてを処理し、最小限のセットアップでクリーンで正確な出力を提供します。その後、抽出したテキストを新しいテキストファイルに簡単に保存し、さらなる操作や使用が可能です。

iTextSharp PDFライブラリのインストール

PDF生成のためにiTextSharpのコアパッケージをダウンロードするには、次のコマンドを使用します:

Install-Package iTextSharp

また、Solution画面のPackage ManagerからiTextSharpをインストールすることもできます。 これを行うには、まずツールドロップダウンメニューを開き、「NuGet パッケージ マネージャ > ソリューションの NuGet パッケージを管理」を見つけます。 その後、単にiTextSharpを検索し、「インストール」をクリックします。

iTextSharpでPDF文書からテキストを抽出

単一のPDFページからテキストを抽出するサンプルはこちら:

using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;

// Define the path to your PDF
string path = "sample.pdf";

// Open the PDF reader and document
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
    // Use a simple text extraction strategy
    var strategy = new SimpleTextExtractionStrategy();

    // Extract text from the first page
    string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);

    // Output the extracted text
    Console.WriteLine(pageText);
}
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;

// Define the path to your PDF
string path = "sample.pdf";

// Open the PDF reader and document
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
    // Use a simple text extraction strategy
    var strategy = new SimpleTextExtractionStrategy();

    // Extract text from the first page
    string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);

    // Output the extracted text
    Console.WriteLine(pageText);
}
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Canvas.Parser.Listener

' Define the path to your PDF
Private path As String = "sample.pdf"

' Open the PDF reader and document
Using reader As New PdfReader(path)
Using pdf As New PdfDocument(reader)
	' Use a simple text extraction strategy
	Dim strategy = New SimpleTextExtractionStrategy()

	' Extract text from the first page
	Dim pageText As String = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy)

	' Output the extracted text
	Console.WriteLine(pageText)
End Using
End Using
$vbLabelText   $csharpLabel

この例はiTextSharpの能力を示していますが、単純なタスクを行うために必要な詳細さと追加のオブジェクトに注意してください。

詳細な比較

今やインストールと基本的な使用法をカバーしたので、これらの2ライブラリが多ページのPDFドキュメントからテキストを抽出する方法の詳細な比較を見てみましょう。

高度な例:IronPDFを使用してページ範囲からテキストを抽出

IronPDFはページ選択とレイアウト認識のテキスト抽出に対する細かい制御をサポートします。

using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");

// Define the page numbers to extract text from
int[] pages = new[] { 2, 3, 4 };

// Extract text from the specified pages
var text = pdf.ExtractTextFromPages(pages);

// Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:\n" + text);
using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");

// Define the page numbers to extract text from
int[] pages = new[] { 2, 3, 4 };

// Extract text from the specified pages
var text = pdf.ExtractTextFromPages(pages);

// Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:\n" + text);
Imports Microsoft.VisualBasic
Imports IronPdf

' Load the PDF document
Private pdf = PdfDocument.FromFile("longPdf.pdf")

' Define the page numbers to extract text from
Private pages() As Integer = { 2, 3, 4 }

' Extract text from the specified pages
Private text = pdf.ExtractTextFromPages(pages)

' Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:" & vbLf & text)
$vbLabelText   $csharpLabel

高度な例:iTextSharpを使用してページ範囲からテキストを抽出

iTextSharpでは、ページ範囲を手動で指定してPdfTextExtractorを使用してテキストを抽出する必要があります:

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();

// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
    string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
    textBuilder.AppendLine(pageText);
}

// Output the extracted text
Console.WriteLine(textBuilder.ToString());

// Close the PDF reader
reader.Close();
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();

// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
    string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
    textBuilder.AppendLine(pageText);
}

// Output the extracted text
Console.WriteLine(textBuilder.ToString());

// Close the PDF reader
reader.Close();
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text

' Load the PDF document
Private reader As New PdfReader("longPdf.pdf")
Private textBuilder As New StringBuilder()

' Extract text from pages 2–4
For i As Integer = 2 To 4
	Dim pageText As String = PdfTextExtractor.GetTextFromPage(reader, i, New LocationTextExtractionStrategy())
	textBuilder.AppendLine(pageText)
Next i

' Output the extracted text
Console.WriteLine(textBuilder.ToString())

' Close the PDF reader
reader.Close()
$vbLabelText   $csharpLabel

コード比較の概要

IronPDFとiTextSharpの両方が高度なPDFテキスト抽出が可能ですが、そのアプローチは複雑さと明確さにおいて大きく異なります:

  • IronPDFは、クリーンで誰にでもアクセスしやすいです。 その高レベルのメソッドPdfDocument.ExtractAllText()は、最小限のセットアップで構造化されたコンテンツを抽出できるため、コードがシンプルで、PDF処理の初心者の開発者でも実装が簡単です。

  • iTextSharpは、PDF構造のより深い理解を必要とします。 テキストを抽出するには、カスタムレンダリングリスナーの設定、ページの手動管理、レイアウトデータの行ごとの解釈が必要になります。強力ではありますが、冗長で直感的ではなく、IronPDFがほとんどの.NETプロジェクトにとってより迅速でメンテナンスしやすいオプションとなります。

しかし、我々の比較はここで終わりではありません。 次に、これらの2つのライブラリが他の分野でどのように比較されるかを見ていきましょう。

詳細な比較: IronPDF vs iTextSharp

C#でのPDFテキスト抽出ライブラリを評価する際、開発者はしばしばシンプルさ、性能、長期的サポート間のバランスを考慮します。 IronPDFiTextSharpが実際の使用で比較される際の特にC#でのPDF抽出の観点からの比較を見ていきましょう。

  1. 使いやすさ

IronPDF:クリーンで現代的なAPI

IronPDFは開発者の体験を重視しています。 NuGetから簡単にインストールでき、シンタックスも直感的です:

using IronPdf;

// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");

// Extract all text from every page
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
using IronPdf;

// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");

// Extract all text from every page
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
Imports IronPdf

' Load the PDF
Private pdf = PdfDocument.FromFile("sample.pdf")

' Extract all text from every page
Private extractedText As String = pdf.ExtractAllText()

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

IronPDFは、ExtractAllText()のようなシンプルなメソッド呼び出しの背後に複雑さを抽象化し、ボイラープレートや解析ロジックを必要としません。

iTextSharp:より冗長で低レベル

iTextSharpは各ページの手動解析を必要とし、プレーンテキストを抽出するためにより多くの努力を必要とします。

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}

// Output the extracted text
Console.WriteLine(text.ToString());
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}

// Output the extracted text
Console.WriteLine(text.ToString());
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text

' Load the PDF
Private reader = New PdfReader("sample.pdf")
Private text As New StringBuilder()

For i As Integer = 1 To reader.NumberOfPages
	text.Append(PdfTextExtractor.GetTextFromPage(reader, i))
Next i

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

開発者はページを手動でループする必要があり、エッジケースが発生するとバグの可能性が高まります。

  1. 性能と信頼性
  • IronPDFは現代のレンダリングエンジン(Chromium)に基づいて構築されており、埋め込みフォント、回転テキスト、複数のレイアウトを持つ現代的なPDFに適してします。 テキスト抽出はレイアウト認識があり、より自然にスペースを保ちます。

  • iTextSharpは、強力ではありますが、複雑なフォーマットに苦労する可能性があります。 混在した向きや非標準のエンコーディングを持つPDFファイルは、文字化けや順序の誤ったテキストを生成する可能性があります。
  1. コストとライセンス
機能 IronPDF iTextSharp
ライセンスタイプ 商業(無料トライアルあり) AGPL(無料)/ 商業(有料)
価格の透明性 公開価格 & 永続的ライセンス 複雑な階層と再配布ルール
サポート 専用サポートチーム コミュニティサポート(ライセンスがない限り)
クローズドソースアプリでの使用 はい(ライセンス付き) AGPLでは不可

[(あなたが商用やプロプライエタリソフトウェアを構築している場合、iTextSharp AGPLはあなたのコードをオープンソースにするか、商業ライセンスを購入することを強制します。 IronPDFは、クローズドソースプロジェクトに対してより柔軟なライセンスモデルを提供します。)]

  1. 開発者サポートとドキュメント
  • IronPDF:現代的なドキュメント、ビデオチュートリアル、迅速なチケットベースのサポートを提供します。

  • iTextSharp:良好なドキュメントを持っていますが、無料のサポートは有料顧客でない限り限られています。
  1. クロスライブラリのまとめ
基準 IronPDF iTextSharp
単純さ 高 – ワンライナーのテキスト抽出 中 – 手動でのページ反復
性能 高速で現代的な解析 複雑またはスキャンされたPDFで遅い
商業対応 はい、AGPL制限なし クローズドソースアプリではAGPLが制約
サポートとドキュメント 専用、応答的 コミュニティに依存
.NET Coreサポート 完全 完全

結論

PDFからC#でテキストを抽出する際、IronPDFとiTextSharpはどちらも強力なツールですが、異なる種類の開発者に対応しています。 もし現代的で、統合が簡単で、優れたサポートを持ち、積極的に維持され、レイアウトの保存がスムーズなソリューションを探しているなら、IronPDFが明らかに際立っています。 これは開発時間を短縮し、直感的なAPIを提供し、.NETフレームワーク内のさまざまなアプリケーション、ウェブアプリからエンタープライズシステムにまで広く対応します。

一方で、iTextSharpは、既にそのエコシステムに組み込まれた開発者やテキスト抽出戦略に対する詳細な制御を必要とする開発者には強力なオプションとして残っています。 しかし、その急な学習曲線と商業サポートの欠如は、迅速にスケールする必要があるプロジェクトや清潔なコードベースを維持するプロジェクトを遅らせる可能性があります。

.NET開発者が速度、明確さ、信頼できる結果を重視する場合、IronPDFは未来を見据えた道を提供します。 ドキュメント自動化ツール、検索エンジン、内部ダッシュボードを構築しているかどうかにかかわらず、IronPDFの強力な機能と性能は、より迅速かつスマートな成果を達成するのに役立ちます。

無料トライアル版をダウンロードして、IronPDFを今すぐお試しください。 無料トライアルと開発者に優しいAPIを使えば、数分で始められます。

ご注意iTextSharpはその所有者の登録商標です。 このサイトはiTextSharpと関係がない、または推奨、スポンサーされていません。すべての製品名、ロゴ、およびブランドは、それぞれの所有者の財産です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

最新のライブラリを使用して C# で PDF からテキストを抽出する方法はありますか?

IronPDF を使用して、PdfDocument.ExtractAllText() などのメソッドを活用してPDFからテキストを抽出できます。これにより、プロセスが簡略化され、複雑な文書レイアウトからでも正確な結果が保証されます。

IronPDF と iTextSharp のテキスト抽出における主な違いは何ですか?

IronPDF は、iTextSharp よりも直感的な API と高速なパフォーマンスを提供します。複雑なレイアウトを効率的に処理し、テキスト抽出を簡略化する最新のレンダリング エンジンを備えている一方で、iTextSharp では、PDF 構造の手動コーディングと理解がより多く求められます。

IronPDF は、スキャンされたドキュメントからのテキスト抽出をどのように処理しますか?

IronPDF は標準の PDF からのテキスト抽出をサポートしています。スキャンされたドキュメントの場合には、PDF 内の画像からテキストを抽出するために IronOCR などの OCR ツールを統合できます。

商業プロジェクトで IronPDF を使用することのライセンス上の利点は何ですか?

IronPDF は AGPL 制限のないクリアな商業ライセンスモデルを提供しており、クローズドソースアプリケーションに適しています。また、個々の開発者やチーム向けの手頃なプランも提供しています。

IronPDF は、複雑なレイアウトを持つ PDF からのテキスト抽出に適していますか?

はい、IronPDF は複雑なレイアウトを持つ PDF からのテキスト抽出に適しています。レイアウト感知のテキスト抽出機能により、フォーマットと間隔が正確に保存されます。

PDF 処理ライブラリを C# プロジェクトにどのように統合できますか?

NuGet を介して IronPDF を C# プロジェクトに統合できます。NuGet パッケージマネージャーコンソールで Install-Package IronPdf コマンドを実行してプロジェクトに追加してください。

IronPDF を使用する開発者向けにどのようなサポートとリソースが利用可能ですか?

IronPDF は、最新のドキュメント、ビデオチュートリアル、および迅速なチケットベースの支援を通じて包括的なサポートを提供しており、.NET プロジェクトに統合しやすい開発者向けツールです。

特定の PDF ページからテキストを抽出することはできますか?

はい、IronPDF は PdfDocument.ExtractTextFromPages() などのメソッドを使用して特定のページからテキストを抽出することができ、テキスト抽出プロセスを細かく制御することができます。

なぜ IronPDF は PDF テキスト抽出に不慣れな開発者に推奨されるのですか?

IronPDF は、使いやすい API、簡単な統合プロセス、および詳細なサポートリソースによって、PDF 処理に不慣れな人にもアクセスしやすく推奨されています。

他のライブラリと比べて IronPDF のパフォーマンス上の利点は何ですか?

IronPDF は、モダンなレンダリングエンジンによってテキスト抽出速度を最適化し、複雑な PDF レイアウトを効率的に処理することで、他の多くのライブラリよりも高速です。

Curtis Chau
テクニカルライター

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

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