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

iTextSharp 読み取りPDFの代替案(開発者チュートリアル)

PDF(ポータブルドキュメントフォーマット)は、一貫して安全にドキュメントを共有するための広く使用されているファイル形式です。 C#でこのようなファイルを読み取り、操作することは、ドキュメント管理システム、レポートツールなど、さまざまなアプリケーションでよく求められます。 この記事では、C#でPDFファイルを読み取るための2つの人気ライブラリ、IronPDFとiTextSharp(最新の.NETライブラリiText)を比較します。

IronPDF is a comprehensive C# library from Iron Softwareから提供される、PDFファイルを扱うための広範な機能を持つ包括的なC#ライブラリです。 開発者は、PDFドキュメントをシームレスに作成、編集、操作することができます。 IronPDFはそのシンプルさと使いやすさで知られており、開発者が迅速にアプリケーションにPDF機能を統合するための優れた選択肢です。

iTextSharpは、C#でPDFファイルを扱うためのもう一つの人気のあるライブラリです。 長い間存在しており、業界で広く使用されています。 iTextは、PDFドキュメントを作成し、操作するための豊富な機能セットを提供します。 それは柔軟性と拡張性で知られており、複雑なPDF関連タスクに適しています。

IronPDFとiTextSharpでPDFを読む方法 (C#)

  1. Visual StudioでIronPDFとiTextSharpを比較するために、新しいC#プロジェクトを作成します。
  2. プロジェクトにIronPDFとiTextSharpのライブラリをインストールします。
  3. IronPDFを使用してPDFファイルを読み取ります。
  4. iTextSharpを使用してPDFファイルを読み取ります。

前提条件

  1. Visual Studio: Visual Studio または他の C# 開発環境がインストールされていることを確認します。
  2. NuGetパッケージマネージャー: プロジェクトでNuGetを使用してパッケージを管理できることを確認してください。

ステップ1: IronPDFとiTextSharpのPDF読み込みを比較するために新しいC#プロジェクトをVisual Studioで作成する

C#コンソールアプリケーションを設定して始めます。 Visual Studioを開き、新しいプロジェクトを作成を選択します。 コンソールアプリケーションタイプを選択します。

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図1 - コンソールアプリ

プロジェクト名を以下のように提供します。

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図2 - プロジェクト設定

プロジェクトの必要な.NETバージョンを選択します。

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図3 - フレームワーク

これが完了すると、Visual Studioは新しいプロジェクトを生成します。

ステップ2: プロジェクトにIronPDFとiTextSharpのライブラリをインストールする

iTextSharpは、iTextのNuGetパッケージマネージャからインストールできます。 最新バージョンはiTextパッケージとして利用できます。

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図4 - iText

または、以下に示すようにVisual Studioパッケージマネージャからインストールします。 パッケージマネージャでiTextを検索し、インストールをクリックします。

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図5 - NuGetパッケージマネージャ

IronPDF can be installed from the IronPDFのNuGetパッケージマネージャからインストールできます。

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図6 - IronPDF

または、以下に示すようにVisual Studioパッケージマネージャからインストールします。 パッケージマネージャでIronPDF: C# PDF Libraryを検索し、インストールをクリックします。

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図7 - IronPDFのインストール

ステップ3: IronPDFを使用してPDFファイルからテキストを読み取る

Program.csファイルに以下のコードを追加し、指定された内容を持つサンプルPDFドキュメントを提供します。

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図8 - PDF入力

using IronPdf;

// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");

// Read PDF using IronPDF
ReadUsingIronPDF.Read();

public class ReadUsingIronPDF
{
    public static void Read()
    {
        // Specify the path to the PDF document
        string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";

        // Create a PDF Reader instance to read the PDF
        var pdfReader = PdfDocument.FromFile(filename);

        // Extract all text from the PDF
        var allText = pdfReader.ExtractAllText();
        Console.WriteLine("------------------Text From PDF-----------------");
        Console.WriteLine(allText);
        Console.WriteLine("------------------Text From PDF-----------------");

        // Extract all images from the PDF
        var allImages = pdfReader.ExtractAllImages();
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine($"Total Images = {allImages.Count()}");
        Console.WriteLine("------------------Image Count From PDF-----------------");

        // Iterate through each page to extract text from them
        Console.WriteLine("------------------One Page Text From PDF-----------------");
        var pageCount = pdfReader.PageCount;
        for (int page = 0; page < pageCount; page++)
        {
            string text = pdfReader.ExtractTextFromPage(page);
            Console.WriteLine(text);
        }
    }
}
using IronPdf;

// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");

// Read PDF using IronPDF
ReadUsingIronPDF.Read();

public class ReadUsingIronPDF
{
    public static void Read()
    {
        // Specify the path to the PDF document
        string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";

        // Create a PDF Reader instance to read the PDF
        var pdfReader = PdfDocument.FromFile(filename);

        // Extract all text from the PDF
        var allText = pdfReader.ExtractAllText();
        Console.WriteLine("------------------Text From PDF-----------------");
        Console.WriteLine(allText);
        Console.WriteLine("------------------Text From PDF-----------------");

        // Extract all images from the PDF
        var allImages = pdfReader.ExtractAllImages();
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine($"Total Images = {allImages.Count()}");
        Console.WriteLine("------------------Image Count From PDF-----------------");

        // Iterate through each page to extract text from them
        Console.WriteLine("------------------One Page Text From PDF-----------------");
        var pageCount = pdfReader.PageCount;
        for (int page = 0; page < pageCount; page++)
        {
            string text = pdfReader.ExtractTextFromPage(page);
            Console.WriteLine(text);
        }
    }
}
Imports IronPdf

' Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#")

' Read PDF using IronPDF
ReadUsingIronPDF.Read()

'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingIronPDF
'{
'	public static void Read()
'	{
'		' Specify the path to the PDF document
'		string filename = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
'
'		' Create a PDF Reader instance to read the PDF
'		var pdfReader = PdfDocument.FromFile(filename);
'
'		' Extract all text from the PDF
'		var allText = pdfReader.ExtractAllText();
'		Console.WriteLine("------------------Text From PDF-----------------");
'		Console.WriteLine(allText);
'		Console.WriteLine("------------------Text From PDF-----------------");
'
'		' Extract all images from the PDF
'		var allImages = pdfReader.ExtractAllImages();
'		Console.WriteLine("------------------Image Count From PDF-----------------");
'		Console.WriteLine(string.Format("Total Images = {0}", allImages.Count()));
'		Console.WriteLine("------------------Image Count From PDF-----------------");
'
'		' Iterate through each page to extract text from them
'		Console.WriteLine("------------------One Page Text From PDF-----------------");
'		var pageCount = pdfReader.PageCount;
'		for (int page = 0; page < pageCount; page++)
'		{
'			string text = pdfReader.ExtractTextFromPage(page);
'			Console.WriteLine(text);
'		}
'	}
'}
$vbLabelText   $csharpLabel

コードの説明

  1. Wordドキュメントを作成: 最初に、希望するテキスト内容でWordドキュメントを作成し、それをExample.pdfという名前のPDFドキュメントとして保存します。
  2. PDFReaderインスタンス: コードはテキストや画像を抽出するためにPDFファイルパスを使用してPdfDocumentオブジェクトを作成します。
  3. テキストと画像の抽出: ExtractAllTextメソッドはドキュメント内の全テキストを取得し、ExtractAllImagesは画像を抽出します。
  4. ページごとのテキスト抽出: 各ページからテキストはExtractTextFromPageメソッドを使用して抽出されます。

出力

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図9 - IronPDFを使用したPDF読み込み出力

ステップ3: iTextSharpを使用してPDFファイルからテキストを読み取る

次に、iTextSharpから読み取ったテキストを比較するために、同じProgram.csファイルに以下のコードを追加します。簡単のために、クラスは異なるファイルに分けていません。

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

// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");

// Call method to read PDF using iTextSharp library
ReadUsingITextSharp.Read();

public class ReadUsingITextSharp
{
    public static void Read()
    {
        // Specify the path to the PDF document
        string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";

        // Create a PDF Reader instance
        PdfReader pdfReader = new PdfReader(pdfFile);

        // Initialize a new PDF Document
        iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);

        // Use a text extraction strategy to extract plain text from the PDF
        LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
        string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);

        // Display the extracted text
        Console.WriteLine(pdfText);
    }
}
using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;

// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");

// Call method to read PDF using iTextSharp library
ReadUsingITextSharp.Read();

public class ReadUsingITextSharp
{
    public static void Read()
    {
        // Specify the path to the PDF document
        string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";

        // Create a PDF Reader instance
        PdfReader pdfReader = new PdfReader(pdfFile);

        // Initialize a new PDF Document
        iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);

        // Use a text extraction strategy to extract plain text from the PDF
        LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
        string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);

        // Display the extracted text
        Console.WriteLine(pdfText);
    }
}
Imports IronPdf
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser

' Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#")

' Call method to read PDF using iTextSharp library
ReadUsingITextSharp.Read()

'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingITextSharp
'{
'	public static void Read()
'	{
'		' Specify the path to the PDF document
'		string pdfFile = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
'
'		' Create a PDF Reader instance
'		PdfReader pdfReader = New PdfReader(pdfFile);
'
'		' Initialize a new PDF Document
'		iText.Kernel.Pdf.PdfDocument pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfReader);
'
'		' Use a text extraction strategy to extract plain text from the PDF
'		LocationTextExtractionStrategy strategy = New LocationTextExtractionStrategy();
'		string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
'
'		' Display the extracted text
'		Console.WriteLine(pdfText);
'	}
'}
$vbLabelText   $csharpLabel

出力

iTextSharp PDF読み込みの代替案 (開発者チュートリアル): 図10 - iTextSharpを使用したPDF読み取り出力

iTextSharpの制限

  1. 学習曲線: iTextSharpは、特に初心者にとって学習曲線が急です。
  2. ライセンス: iTextSharpのライセンスモデルは、特に予算が限られているプロジェクトには適していないかもしれません。

IronPDFの利点

  1. 使いやすさ: IronPDFはそのシンプルなAPIで知られており、開発者がすぐに始めやすいです。
  2. ドキュメントレンダリング: IronPDFはPDFドキュメントを正確にレンダリングし、抽出されたテキストが元のものと忠実であることを保証します。

ライセンス (無料トライアル利用可能)

あなたのappsettings.jsonファイルにIronPDFライセンスキーを挿入します。

"IronPdf.LicenseKey": "your license key"

トライアルライセンスを受け取るには、メールアドレスを提供してください。

結論

IronPDFとiTextSharpのどちらを選ぶかは、プロジェクトの特定の要件に依存します。 一般的なPDF操作のためのシンプルで使いやすいライブラリが必要な場合は、IronPDFがより良い選択となるかもしれません。アプリケーションの複雑さ、予算、学習曲線などの要因を考慮して決めてください。 IronPDFは、フォーマットされたドキュメントのPDF化をアプリケーションにシームレスに統合するように設計されています。 この多用途なツールを使って、ウェブフォーム、ローカルHTMLページ、その他のウェブコンテンツを.NETを使用してPDFに変換できます。 ユーザーはドキュメントを便利にダウンロード、メール送信、またはクラウドに保存できます。 請求書、見積もり、レポート、契約書、その他のプロフェッショナルドキュメントを生成する必要がある場合、IronPDFのPDF生成能力がカバーします。 IronPDFの直感的で効率的なPDF生成機能であなたのアプリケーションを高めてください。

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

よくある質問

C#でPDFファイルをどのように読みますか?

PDFファイルを読むために、IronPDFライブラリを使用してPdfDocumentインスタンスを作成し、ExtractAllTextExtractAllImagesなどのメソッドを使用してPDFからコンテンツを抽出できます。

C#用のPDFライブラリを選ぶ際に考慮すべき点は何ですか?

C#でのPDF操作には、IronPDFやiTextSharpのようなライブラリを選ぶ際に、使いやすさ、ライセンス、学習曲線、特定のプロジェクト要件などの要素を考慮してください。

自分のC#プロジェクトにPDFライブラリをどのようにインストールしますか?

IronPDFはVisual StudioのNuGetパッケージマネージャーを通じて、『IronPDF: C# PDF Library』を検索し、『インストール』ボタンを押すことでインストールできます。

IronPDFをPDF操作に利用する利点は何ですか?

IronPDFは使いやすさ、シンプルなAPI、正確な文書レンダリングを提供し、開発者がアプリケーションに迅速にPDF機能を統合するのに最適です。

IronPDFとiTextSharpを使う際の複雑さに違いがありますか?

はい、IronPDFはそのシンプルさで知られていますが、iTextSharpはより柔軟で拡張性があり、学習曲線が急になる可能性があります。

IronPDFはHTMLコンテンツをPDFに変換できますか?

はい、IronPDFはウェブフォームやページなどのHTMLコンテンツをPDFドキュメントにシームレスに変換でき、PDFのダウンロードやメール送信のタスクを容易にします。

iTextSharpを使ったPDFタスクの制限はありますか?

iTextSharpは学習曲線が急になることがあり、ライセンスモデルがすべてのプロジェクト予算に適合しない場合があります。特にシンプルなソリューションを求めている場合です。

IronPDFはアプリケーション機能をどのように拡張しますか?

IronPDFはアプリケーションにPDF生成と操作機能を統合することを可能にし、ウェブコンテンツをPDFに変換し、請求書や報告書といったプロフェッショナルな文書を扱うことができます。

Curtis Chau
テクニカルライター

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

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