製品比較

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

チペゴ
チペゴ・カリンダ
2024年4月3日
共有:

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

IronPDF は、PDFファイルを操作するための幅広い機能を備えた Iron Software の包括的なC#ライブラリです。 開発者がPDFドキュメントをシームレスに作成、編集、および操作できるようにします。 IronPDFはそのシンプルさと使いやすさで知られており、PDF機能をアプリケーションに素早く統合する必要がある開発者に最適です。

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

IronPDF と iTextSharp を使用して C# で PDF を読む方法

  1. Visual Studioで新しいC#プロジェクトを作成し、PDFファイルを読むためのIronPDFとiTextSharpを比較してください。

  2. プロジェクトにIronPDFとiTextSharpライブラリをインストールします。

  3. IronPDFを使用してPDFファイルを読み取る。

  4. iTextSharpを使用してPDFファイルを読み取る。

前提条件

  1. Visual Studio: Visual Studio またはその他の C# 開発環境がインストールされていることを確認してください。

  2. NuGet パッケージ マネージャー: プロジェクトでパッケージを管理するために NuGet を使用できるようにしてください。

手順 1: Visual Studio で新しい C# 17 プロジェクトを作成して、IronPDF と iTextSharp の PDF ファイル読み取りを比較します。

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

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

以下に示すようにプロジェクト名を提供してください。

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

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

iTextSharp PDF 読み取り代替 (開発者向けチュートリアル): 図3 - フレームワーク

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

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

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

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

以下に示すように、Visual Studio パッケージ マネージャーからもインストールできます。 パッケージマネージャーで iText を検索し、インストールをクリックしてください。

iTextSharp Read PDF Alternatives (開発者チュートリアル):図5 - NuGetパッケージマネージャー

IronPDF は、以下に示すように NuGet パッケージマネージャー for IronPDF からインストールできます。

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

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

iTextSharp Read PDF Alternatives (開発者向けチュートリアル): 図7 - IronPDFのインストール

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

プログラム.csファイルに以下のコードを追加し、以下の内容を持つサンプルPDF文書を提供してください。

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

using IronPdf;
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// pdfreader reader
ReadUsingIronPDF.Read();
public class ReadUsingIronPDF
{
    public static void Read()
    {
        // read from specific location
        string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
        var pdfReader = PdfDocument.FromFile(filename);
        // Get all text to put in a search index using new simpletextextractionstrategy
        var allText = pdfReader.ExtractAllText();
        Console.WriteLine("------------------Text From PDF-----------------");
        Console.WriteLine(allText);
        Console.WriteLine("------------------Text From PDF-----------------");
        var allIMages = pdfReader.ExtractAllImages();
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine($"Total Images={allIMages.Count()}");
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine("------------------one Page Text From PDF page-----------------");
        var pageCount = pdfReader.PageCount;
        for (int page = 0; page < pageCount; page++)
        {
            string Text = pdfReader.ExtractTextFromPage(page);
            Console.WriteLine(Text);
        }
    }
}
using IronPdf;
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// pdfreader reader
ReadUsingIronPDF.Read();
public class ReadUsingIronPDF
{
    public static void Read()
    {
        // read from specific location
        string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
        var pdfReader = PdfDocument.FromFile(filename);
        // Get all text to put in a search index using new simpletextextractionstrategy
        var allText = pdfReader.ExtractAllText();
        Console.WriteLine("------------------Text From PDF-----------------");
        Console.WriteLine(allText);
        Console.WriteLine("------------------Text From PDF-----------------");
        var allIMages = pdfReader.ExtractAllImages();
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine($"Total Images={allIMages.Count()}");
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine("------------------one Page Text From PDF page-----------------");
        var pageCount = pdfReader.PageCount;
        for (int page = 0; page < pageCount; page++)
        {
            string Text = pdfReader.ExtractTextFromPage(page);
            Console.WriteLine(Text);
        }
    }
}
Imports IronPdf
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#")
' pdfreader reader
ReadUsingIronPDF.Read()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingIronPDF
'{
'	public static void Read()
'	{
'		' read from specific location
'		string filename = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
'		var pdfReader = PdfDocument.FromFile(filename);
'		' Get all text to put in a search index using new simpletextextractionstrategy
'		var allText = pdfReader.ExtractAllText();
'		Console.WriteLine("------------------Text From PDF-----------------");
'		Console.WriteLine(allText);
'		Console.WriteLine("------------------Text From 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-----------------");
'		Console.WriteLine("------------------one Page Text From PDF page-----------------");
'		var pageCount = pdfReader.PageCount;
'		for (int page = 0; page < pageCount; page++)
'		{
'			string Text = pdfReader.ExtractTextFromPage(page);
'			Console.WriteLine(Text);
'		}
'	}
'}
$vbLabelText   $csharpLabel

コードの説明

  1. テキストのPDFを作成するには、Word文書を作成し、上記のテキストをWord文書に追加し、Example.pdfという名前のPDF文書として保存します。

  2. コード内で、PDFファイルパスからPDFReaderを作成し、すべてのテキストを抽出します。

  3. PDF内の画像はExtractImagesメソッドを使用して抽出できます。

  4. PDFドキュメントの各ページは、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;
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
//ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read();
public class ReadUsingITextSharp
{
    public static void Read()
    {
        string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
        // Create a PDF reader
        PdfReader pdfReader = new PdfReader(pdfFile);
        iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);
        // Extract plain text from the PDF
        LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
        string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
        // Display or manipulate the extracted text as needed
        Console.WriteLine(pdfText);
    }
}
using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
//ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read();
public class ReadUsingITextSharp
{
    public static void Read()
    {
        string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
        // Create a PDF reader
        PdfReader pdfReader = new PdfReader(pdfFile);
        iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);
        // Extract plain text from the PDF
        LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
        string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
        // Display or manipulate the extracted text as needed
        Console.WriteLine(pdfText);
    }
}
Imports IronPdf
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#")
'ReadUsingIronPDF.Read();
ReadUsingITextSharp.Read()
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'public class ReadUsingITextSharp
'{
'	public static void Read()
'	{
'		string pdfFile = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf";
'		' Create a PDF reader
'		PdfReader pdfReader = New PdfReader(pdfFile);
'		iText.Kernel.Pdf.PdfDocument pdfDocument = New iText.Kernel.Pdf.PdfDocument(pdfReader);
'		' Extract plain text from the PDF
'		LocationTextExtractionStrategy strategy = New LocationTextExtractionStrategy();
'		string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(1), strategy);
'		' Display or manipulate the extracted text as needed
'		Console.WriteLine(pdfText);
'	}
'}
$vbLabelText   $csharpLabel

出力

iTextSharp PDF読み込みの代替 (開発者チュートリアル): 図10 - iTextSharp出力によるPDFの読み込み

iTextSharpの制限事項

  1. 学習曲線: iTextSharpは、特に初心者にとって学習曲線が急です。

  2. ライセンス: iTextSharpのライセンスモデルは、特に予算制約のあるプロジェクトには適していない場合があります。

IronPDFのメリット

  1. 使いやすさ: IronPDFは、そのわかりやすいAPIで知られており、開発者が簡単に始められます。

  2. ドキュメントレンダリング: IronPDFは、抽出されたテキストが元のものに忠実であることを保証するPDFドキュメントの正確なレンダリングを提供します。

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

あなたのIronPDF ライセンスキーを appsettings.json ファイルに挿入してください。

"IronPdf.LicenseKey": "your license key"

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

結論

IronPDFとiTextSharpのどちらを選ぶかは、プロジェクトの具体的な要件によります。 一般的なPDF操作のためのシンプルで使いやすいライブラリが必要な場合、IronPDFがより良い選択かもしれません。意思決定の際には、アプリケーションの複雑さ、予算、学習曲線などの要因を考慮してください。

IronPDFは、フォーマットされたドキュメントをPDFに変換する作業を簡単に処理し、アプリケーションにPDF生成をシームレスに統合できるように設計されています。 この多用途ツールを使用すると、.NETを使用してウェブフォーム、ローカルHTMLページ、およびその他のウェブコンテンツをPDFに変換できます。 ユーザーは文書を簡単にダウンロード、メール送信、またはクラウドに保存できます。 請求書、見積書、レポート、契約書、その他のプロフェッショナルなドキュメントを作成する必要がある場合、IronPDFのPDF生成機能が対応します。 IronPDFの直感的で効率的なPDF生成機能で、アプリケーションをさらに向上させましょう。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
iTextSharpを使用してC#でPDF文書を読む方法:
次へ >
PDFsharp対iTextSharp(C# PDFライブラリ比較)