ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
30日間のフル機能製品をお試しください。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
PDFファイルからデータを抽出することは、C#では非常に難しいことです。 データは、テキスト、画像、チャート、グラフ、表などの形式で存在する場合があります。時々、ビジネスアナリストはデータを抽出し、データ分析を実行して、その結果に基づいて意思決定を行う必要があります。 IronPDF C# PDF LibraryはPDFファイルからデータを抽出するための優れたソリューションです。
この記事では、IronPDFライブラリを使用してC#でPDFドキュメントから表データを抽出する方法を示します。
IronPDFは.NETでPDFを生成するためのC# .NETライブラリソリューションです。, 開発者がソフトウェア アプリケーション内で PDF ドキュメントを簡単に読み取り、作成および編集するのに役立ちます。 そのChromiumエンジンは、PDFドキュメントを高精度かつ高速にレンダリングします。 それにより、開発者はさまざまな形式からPDFへ、またはその逆方向へシームレスに変換することができます。 それは最新の .NET 7 フレームワーク、また .NET フレームワーク 6、5、4、.NET Core、および Standard をサポートしています。
さらに、IronPDF .NET APIは、開発者がPDFを操作および編集し、ヘッダーとフッターを追加し、簡単にPDFからテキスト、画像、テーブルを抽出することも可能にします。
PDFドキュメントから表データを抽出するためには、ローカルコンピュータシステムに以下のコンポーネントがインストールされている必要があります:
Visual Studio - Visual Studio 2022 は C# 開発の公式 IDE であり、コンピュータにインストールする必要があります。 こちらからダウンロードしてインストールしてください:Visual Studioウェブサイト.
プロジェクトの作成 - データ抽出用のコンソールアプリを作成します。 プロジェクトを作成するには、以下の手順に従ってください:
Visual Studio 2022を開き、新しいプロジェクトの作成ボタンをクリックします。
Visual Studio のスタート画面
次に、C# コンソール アプリケーションを選択し、次へをクリックします。
Visual Studioで新しいコンソールアプリケーションを作成する
次に、プロジェクト名 "ReadPDFTable" を入力し、次へをクリックします。
新しく作成されたアプリケーションを構成する
プロジェクトには「.NET Framework 6 長期サポート」を選択してください。
.NETフレームワークを選択してください
IronPDFのインストール - IronPDFライブラリをインストールするには、3つの異なる方法があります。 それらは次の通りです:
Visual Studioの使用 Visual Studio には NuGet パッケージ マネージャーが含まれており、C# アプリケーションにすべての NuGet パッケージをインストールするのに役立ちます。
トップメニューのツールをクリックするか、
ソリューションエクスプローラーでプロジェクトを右クリックします。
ツール & NuGet パッケージの管理
- NuGetパッケージマネージャーが開いたら、IronPDFを検索して以下のようにインストールをクリックします:

ツール & NuGet パッケージの管理
**NuGetパッケージを直接ダウンロードする。NuGetパッケージページ.
何かを作成する前に、IronPDF 名前空間をファイルに追加し、IronPDFライブラリの ExtractText
メソッドを使用するためのライセンスキーを設定する必要があります。
using IronPdf;
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY";
using IronPdf;
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY";
Imports IronPdf
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY"
ここでは、表を含むHTML文字列からPDFドキュメントを作成し、そのデータをIronPDFを使用して抽出します。 HTMLは文字列変数に格納され、コードは以下の通りです:
string HTML = "<html>" +
"<style>" +
"table, th, td {" +
"border:1px solid black;" +
"}" +
"</style>" +
"<body>" +
"<h1>A Simple table example</h2>" +
"<table>" +
"<tr>" +
"<th>Company</th>" +
"<th>Contact</th>" +
"<th>Country</th>" +
"</tr>" +
"<tr>" +
"<td>Alfreds Futterkiste</td>" +
"<td>Maria Anders</td>" +
"<td>Germany</td>" +
"</tr>" +
"<tr>" +
"<td>Centro comercial Moctezuma</td>" +
"<td>Francisco Chang</td>" +
"<td>Mexico</td>" +
"</tr>" +
"</table>" +
"<p>To understand the example better, we have added borders to the table.</p>" +
"</body>" +
"</html>";
string HTML = "<html>" +
"<style>" +
"table, th, td {" +
"border:1px solid black;" +
"}" +
"</style>" +
"<body>" +
"<h1>A Simple table example</h2>" +
"<table>" +
"<tr>" +
"<th>Company</th>" +
"<th>Contact</th>" +
"<th>Country</th>" +
"</tr>" +
"<tr>" +
"<td>Alfreds Futterkiste</td>" +
"<td>Maria Anders</td>" +
"<td>Germany</td>" +
"</tr>" +
"<tr>" +
"<td>Centro comercial Moctezuma</td>" +
"<td>Francisco Chang</td>" +
"<td>Mexico</td>" +
"</tr>" +
"</table>" +
"<p>To understand the example better, we have added borders to the table.</p>" +
"</body>" +
"</html>";
Dim HTML As String = "<html>" & "<style>" & "table, th, td {" & "border:1px solid black;" & "}" & "</style>" & "<body>" & "<h1>A Simple table example</h2>" & "<table>" & "<tr>" & "<th>Company</th>" & "<th>Contact</th>" & "<th>Country</th>" & "</tr>" & "<tr>" & "<td>Alfreds Futterkiste</td>" & "<td>Maria Anders</td>" & "<td>Germany</td>" & "</tr>" & "<tr>" & "<td>Centro comercial Moctezuma</td>" & "<td>Francisco Chang</td>" & "<td>Mexico</td>" & "</tr>" & "</table>" & "<p>To understand the example better, we have added borders to the table.</p>" & "</body>" & "</html>"
次に、ChromePdfRenderer
HTML文字列からPDFを作成するために使用されます。 コードは以下の通りです:
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderHtmlAsPdf(HTML);
pdfDocument.SaveAs("table_example.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdfDocument = renderer.RenderHtmlAsPdf(HTML);
pdfDocument.SaveAs("table_example.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdfDocument As PdfDocument = renderer.RenderHtmlAsPdf(HTML)
pdfDocument.SaveAs("table_example.pdf")
についてSaveAs
メソッドは保存されますPdfDocument(PDFドキュメント)
オブジェクトを「table_example.pdf」という名前のPDFファイルにします。 保存されたファイルは以下の通りです:
NuGet パッケージ マネージャー UI で IronPDF を検索
PDFテーブルからデータを抽出するには、PdfDocument
オブジェクトを使用してドキュメントを開き、その後ExtractAllText
さらなる分析のためにデータを取得するためのメソッド。 次のコードは、このタスクを達成する方法を示しています:
PdfDocument pdfDocument = new PdfDocument("table_example.pdf");
string text = pdfDocument.ExtractAllText();
PdfDocument pdfDocument = new PdfDocument("table_example.pdf");
string text = pdfDocument.ExtractAllText();
Dim pdfDocument As New PdfDocument("table_example.pdf")
Dim text As String = pdfDocument.ExtractAllText()
上記のコードは、ExtractAllText
メソッドを使用してPDF文書全体を分析し、抽出されたデータを文字列変数に返します。これには、表形式のデータも含まれます。 その後、変数の値は表示されたり、後で使用するためにファイルに保存されたりすることができます。 以下のコードは画面に表示します:
Console.WriteLine("The extracted Text is:\n" + text);
Console.WriteLine("The extracted Text is:\n" + text);
Imports Microsoft.VisualBasic
Console.WriteLine("The extracted Text is:" & vbLf & text)
テキストを抽出するPDFファイル
C#には、区切り文字に基づいて文字列を分割するのに役立つString.Split
メソッドが提供されています。 以下のコードは、出力をテーブルデータのみに制限するのに役立ちます。
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
Console.WriteLine(textItem);
}
}
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
Console.WriteLine(textItem);
}
}
Imports Microsoft.VisualBasic
Dim textList() As String = text.Split(vbLf)
For Each textItem As String In textList
If textItem.Contains(".") Then
Continue For
Else
Console.WriteLine(textItem)
End If
Next textItem
このシンプルなコード例は、抽出されたテキストからテーブルセルデータのみを抽出するのに役立ちます。 最初に、テキスト行は分割されて文字列配列に保存されます。 次に、各配列要素が繰り返され、末尾に句点「。」が付いている要素はスキップされます。 ほとんどの場合、抽出されたデータから表形式のデータのみが取得されますが、他の行も取得される場合があります。 出力は以下の通りです:
コンソールに抽出されたテキストが表示されます
上記のスクリーンショットから、Console.WriteLine
メソッドの出力で表データのフォーマットと論理構造が保持されていることが確認できます。 以下のリンクで、IronPDFを使用してPDFドキュメントからデータを抽出する方法の詳細をご覧いただけます。C#でPDFからデータを抽出するコード例.
出力はCSVファイルとして保存することもでき、その後のデータ分析のためにフォーマットや編集を行うことができます。 コードは以下の通りです:
using (StreamWriter file = new StreamWriter("table_example.csv", false))
{
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
file.WriteLine(textItem);
}
}
}
using (StreamWriter file = new StreamWriter("table_example.csv", false))
{
string [] textList = text.Split("\n");
foreach (string textItem in textList)
{
if (textItem.Contains("."))
{
continue;
}
else
{
file.WriteLine(textItem);
}
}
}
Imports Microsoft.VisualBasic
Using file As New StreamWriter("table_example.csv", False)
Dim textList() As String = text.Split(vbLf)
For Each textItem As String In textList
If textItem.Contains(".") Then
Continue For
Else
file.WriteLine(textItem)
End If
Next textItem
End Using
出力は、それぞれの textItem
が一つの列になるCSVファイルとして保存されます。
この記事では、IronPDFを使用してPDFドキュメントからデータやテーブルを抽出する方法を示しました。 IronPDFは、PDFファイルからテキストを抽出するためのいくつかの便利なオプションを提供します。 それを提供しますExtractTextFromPage
特定のページからデータを抽出するためのメソッド。 IronPDFは、異なる形式のファイルをPDFに変換することも可能です。マークダウンファイル or DOCXファイルPDFからさまざまな形式への変換。 これにより、開発者はPDF機能をアプリケーション開発プロセスに簡単に統合することができます。 また、PDFドキュメントを表示および編集するためにAdobe Acrobat Readerを必要としません。
IronPDFは開発には無料で使用でき、商用利用にはライセンスが必要です。 以下を日本語に翻訳してください:
提供しますIronPDFをテストするための無料トライアルライセンスライブラリの全機能を試すために。 詳細情報は、このリンクにてご確認いただけます。
10 の .NET API 製品 オフィス文書用