製品比較

iTextSharpとIronPDFを使用してC#でPDFからテキストを抽出する

公開済み 2023年11月14日
共有:

デジタル文書管理のダイナミックな環境において、PDFファイルからデータを簡単に抽出する能力は、多くのアプリケーションの基盤となる基本的なタスクです。 抽出テキストプロセスは、包括的なデータ分析、コンテンツのインデックス付け、商業利用、およびテキスト操作などの目的にとって非常に重要です。 利用可能なツールの中で、C#ライブラリとして高く評価されているiTextSharpは、PDFファイルからのテキスト抽出において優れたソリューションとして際立っています。

この記事では、iTextSharpの豊富な機能に深く入り込み、この強力で多用途なパーサーライブラリが、C#プログラミング言語を使用してPDFドキュメントからテキストコンテンツを効率的に抽出する方法を探ります。 私たちは、テキスト抽出のためにiTextSharpを効果的に活用するために必要な知識を開発者に装備するための基本的方法、サンプル技術、およびベストプラクティスを解明します。 この記事では、最良かつ最も強力なPDFライブラリであるIronPDFを検討し、比較します。

PDFからテキストを抽出する方法 C#

  1. PDFからテキストを抽出するためのC#ライブラリをダウンロードしてください。

  2. PdfReaderオブジェクトをインスタンス化して既存のPDFを読み込む。

  3. GetTextFromPage メソッドを使用して PdfDocument オブジェクトからテキストを抽出します。

  4. foreachループをインスタンス化して、行を繰り返し処理します。

  5. WriteLine メソッドを使用してファイルに行を書き込んでください。

IronPDFとは何ですか?

IronPDFの概要.NET開発の分野で著名で充実した機能を備えたライブラリであるIronPDFは、PDFの生成と操作に革命をもたらします。 開発者に包括的なツールスイートを提供するIronPDFは、C#アプリケーションにシームレスに統合され、PDFドキュメントの作成、変更、およびレンダリングを容易に行えるようにします。 直感的なAPIと堅牢な機能を備えたこの多機能ライブラリは、HTML、画像、コンテンツから高品質なPDFを生成するための多くの可能性を広げます。 この記事では、IronPDFの機能を探求し、その主な特徴に触れながら、C#内でPDF関連のタスクを効率的に処理する方法を示します。

iTextSharpライブラリ

iTextSharpは、C#を使用してPDFを操作する分野で高く評価されている強力なライブラリであり、開発者がPDFドキュメントを扱う方法を革新しました。 それは、PDFファイルの作成、変更、および内容の抽出を容易にする多用途で堅牢なツールです。 iTextSharp は、開発者に対し、洗練されたPDFの生成、画像の抽出、既存ドキュメントの操作、データの抽出を可能にし、幅広いアプリケーションのための頼れるソリューションとなっています。 この記事では、iTextSharpの機能と特徴について掘り下げ、C#プログラミング環境内でPDFを効果的に管理および操作する方法を探ります。

IronPDF をインストール

IronPDFのインストールは簡単なプロセスです。以下に、IronPDFをC#プロジェクトにインストールして統合する手順を示します。

  1. Visual Studioを開き、新しいプロジェクトを作成するか、既存のプロジェクトを開いてください。

  2. ツールに移動して、ドロップダウンメニューからNuGetパッケージマネージャーを選択します。

  3. 新しいサイドメニューで、NuGet Package Manager for Solutionを選択します。

    C#でiTextSharp VS IronPDFを使用してPDFからテキストを抽出   図 1 - NuGetパッケージマネージャ

  4. 「NuGet パッケージ マネージャー」ウィンドウで、「参照」タブを選択します。

  5. 検索バーに「IronPDF」と入力し、Enterキーを押します。

  6. IronPDFのインスタンスのリストが表示されるので、最新バージョンを選択し、インストールをクリックしてください。

    iTextSharp と IronPDF を使用して C# で PDF からテキストを抽出する 図 2 - IronPDF インストール

    これで、IronPDFがインストールされ、C#プロジェクトで利用できるようになります。

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

iTextSharp PDFライブラリのインストールは、IronPDFのインストールと同じです。 上記の手順を全て繰り返し、ブラウズウィンドウで「iTextSharp」を検索し、パッケージのリストから選択して、インストールをクリックし、iTextSharp PDFライブラリをプロジェクトに統合してください。

iTextSharpとIronPDFを使用してC#でPDFからテキストを抽出する 図3 - iTextSharp

IronPDFを使用してPDFファイルからテキストを抽出する

IronPDFは、特定のページに基づいてテキストを自動的に抽出する機能や、すべてのPDFからテキストを抽出する機能を提供します。 以下のコード例では、サンプルPDFドキュメントの特定のページからテキストを抽出する方法を確認します。

using IronPdf;
using System;
using PdfDocument PDF = PdfDocument.FromFile("Watermarked.pdf");
string Text = PDF.ExtractTextFromPage(1);
Console.Write(Text);
using IronPdf;
using System;
using PdfDocument PDF = PdfDocument.FromFile("Watermarked.pdf");
string Text = PDF.ExtractTextFromPage(1);
Console.Write(Text);
Imports IronPdf
Imports System
Private PdfDocument As using
Private Text As String = PDF.ExtractTextFromPage(1)
Console.Write(Text)
VB   C#

上記のコードは、C#でIronPDFライブラリを使用してPDFファイルからテキストを抽出し、それをコンソールに表示します。 まず、必要な名前空間(IronPDFおよびSystemを含む)がインポートされます。 コードは次に「Watermarked.pdf」というタイトルのPDFドキュメントをFromFileメソッドを使用してPdfDocumentオブジェクトに読み込みます。 その後、ExtractTextFromPage を使用してPDFの2ページ目からテキストを抽出し、Textという名前の文字列変数に格納します。 最後に、抽出されたテキストが Console.Write を使用してコンソールに表示されます。

C#でiTextSharpとIronPDFを使用してPDFからテキストを抽出する 図4 - 出力

iTextSharpライブラリを使用してPDFファイルからテキストを抽出する

iTextSharpを使用してPDFファイルからテキストを抽出することもできます。以下はiTextSharpライブラリを使用した例です。

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

namespace PDFApp2
{
    class Program
    {
        static void Main(string [] args)
        {
            string filePath = @"C:\Users\buttw\OneDrive\Desktop\highlighted PDF.pdf";
            string outPath = @"C:\Users\buttw\OneDrive\Desktop\name.txt";
            int pagesToScan = 2;

            string strText = string.Empty;
            try
            {
                PdfReader reader = new PdfReader(filePath);
                for (int page = 1; page <= pagesToScan; page++) 
                {
                    ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
                    strText = PdfTextExtractor.GetTextFromPage(reader, page, its);

                    strText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(strText)));
                    string [] lines = strText.Split('\n');
                    foreach (string line in lines)
                    {
                        using (System.IO.StreamWriter file = new System.IO.StreamWriter(outPath, true))
                        {
                            file.WriteLine(line);
                        }
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
        }
    }
}
using System;
using System.Text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;

namespace PDFApp2
{
    class Program
    {
        static void Main(string [] args)
        {
            string filePath = @"C:\Users\buttw\OneDrive\Desktop\highlighted PDF.pdf";
            string outPath = @"C:\Users\buttw\OneDrive\Desktop\name.txt";
            int pagesToScan = 2;

            string strText = string.Empty;
            try
            {
                PdfReader reader = new PdfReader(filePath);
                for (int page = 1; page <= pagesToScan; page++) 
                {
                    ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
                    strText = PdfTextExtractor.GetTextFromPage(reader, page, its);

                    strText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(strText)));
                    string [] lines = strText.Split('\n');
                    foreach (string line in lines)
                    {
                        using (System.IO.StreamWriter file = new System.IO.StreamWriter(outPath, true))
                        {
                            file.WriteLine(line);
                        }
                    }
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }
        }
    }
}
Imports Microsoft.VisualBasic
Imports System
Imports System.Text
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser

Namespace PDFApp2
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim filePath As String = "C:\Users\buttw\OneDrive\Desktop\highlighted PDF.pdf"
			Dim outPath As String = "C:\Users\buttw\OneDrive\Desktop\name.txt"
			Dim pagesToScan As Integer = 2

			Dim strText As String = String.Empty
			Try
				Dim reader As New PdfReader(filePath)
				For page As Integer = 1 To pagesToScan
					Dim its As ITextExtractionStrategy = New iTextSharp.text.pdf.parser.LocationTextExtractionStrategy()
					strText = PdfTextExtractor.GetTextFromPage(reader, page, its)

					strText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(strText)))
					Dim lines() As String = strText.Split(ControlChars.Lf)
					For Each line As String In lines
						Using file As New System.IO.StreamWriter(outPath, True)
							file.WriteLine(line)
						End Using
					Next line
				Next page
				reader.Close()
			Catch ex As Exception
				Console.Write(ex)
			End Try
		End Sub
	End Class
End Namespace
VB   C#

以下の内容を日本語に翻訳してください:

提供されたコードは、iTextSharpライブラリを使用してPDFドキュメントの特定のページからテキストを抽出し、テキストファイルに保存するC#プログラムです。まず、必要な名前空間をインポートします。System.TextiTextSharp.text.pdf、およびiTextSharp.text.pdf.parserが含まれています。 プログラムは、ファイル名、入力PDFファイルのパス、出力テキストファイルのパス、およびスキャンするページ数を指定します。 次に、iTextSharpのPdfReaderを利用してPDFファイルを読み込みます。指定されたページごとに、iTextSharpの新しいLocationTextExtractionStrategyを使用してテキストを抽出し、エンコーディングをUTF-8に変換します。抽出されたテキストは行に分割され、PDFコードからの新しいStringBuilderテキストは正しい方向に動作します。 処理中に発生した例外はすべてキャッチされ、コンソールに表示されます。 プログラムは PdfReader を閉じることで終了します。

iTextSharp VS IronPDF を使用して C# で PDF からテキストを抽出する 図 5 - iTextSharp を使用してテキストを抽出する

結論

iTextSharpは強力で多機能なC#ライブラリであり、PDF操作を革新し、シームレスなコンテンツの作成、修正、および抽出を可能にします。 その強力な機能により、開発者にとって主要なソリューションとなり、洗練されたPDFの生成やPDF内のテキストコンテンツの効果的な管理が可能になります。 さらに、.NETドメインで著名なライブラリであるIronPDFは、PDFの生成や画像操作に関する包括的なツール群を提供し、開発者がさまざまなソースから高品質のPDFを簡単に作成、修正、およびレンダリングできるようにします。 これら2つのPDFライブラリを比較した場合、IronPdfはドキュメントが充実しており、使いやすいAPIを備えているため、わずか数行のコードですべてのテキスト抽出を行うことができます;

詳細についてはIronPdfの特徴およびその機能については、公式ウェブページをご覧ください。 IronPDFを使用してテキストを抽出するための完全なチュートリアルは、こちらで見つけることができますIronPDF テキスト抽出チュートリアル. IronPDFとiTextSharpの完全なチュートリアルについては、こちらをご覧ください。IronPDFとiTextSharpの比較.

< 以前
ITの技術文書レビュー:iTextSharpとIronPDFの比較 IronPDFとiTextSharpの機能を比較すると、両者ともPDFファイルの生成と操作に優れた能力を発揮します。しかし、IronPDFは特にユーザーフレンドリーなAPIと直感的な操作性に優れています。加えて、IronPDFは多機能なHTML to PDFコンバーターを備えており、開発者がウェブページのPDFを簡単に生成できるようにします。 一方で、iTextSharpはより柔軟で強力なPDF処理機能を提供するものの、学習曲線が急であり、新しいユーザーには複雑に感じられることがあります。 IronPDFの長所: - 簡単なインストールとセットアップ - フレンドリーなAPIデザイン - 効率的なHTML to PDF変換機能 iTextSharpの長所: - 高度なカスタマイズオプション - 詳細なドキュメンテーション - 強力なPDF処理機能 総じて、IronPDFは迅速な開発と簡易なPDF生成を求めるユーザーに最適です。iTextSharpは強力でカスタマイズ可能なソリューションを必要とする高度なユーザーに適しています。
次へ >
IronPDFとPuppeteer C#: 比較