透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
PDFファイルからデータを抽出することは、C#では非常に難しいことです。 データは、テキスト、画像、チャート、グラフ、表などの形式で存在する場合があります。時々、ビジネスアナリストはデータを抽出し、データ分析を実行して、その結果に基づいて意思決定を行う必要があります。 IronPDF C# PDFライブラリは、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 のウェブサイトからダウンロードしてインストールしてください。
プロジェクトを作成 - データを抽出するためのコンソールアプリを作成します。 プロジェクトを作成するには、以下の手順に従ってください:
!C#でPDFテーブルを読む方法、図1:Visual Studioのスタート画面
Visual Studioのスタート画面
C#でPDFテーブルを読む方法、図2: Visual Studioで新しいコンソールアプリケーションを作成
Visual Studioで新しいコンソールアプリケーションを作成する
新しく作成したアプリケーションを設定する
.NET Framework を選択
IronPDFをインストール - IronPDFライブラリをインストールするには、3つの異なる方法があります。 それらは次の通りです:
Visual Studio を使用する Visual Studio には NuGet パッケージ マネージャーが含まれており、C# アプリケーションにすべての NuGet パッケージをインストールするのに役立ちます。
トップメニューのツールをクリックするか、
ツールと NuGet パッケージの管理
- NuGetパッケージマネージャーが開いたら、IronPDFを検索して以下のようにインストールをクリックします:
ツールと NuGet パッケージの管理
NuGet パッケージを直接ダウンロードします。 IronPDF をダウンロードしてインストールするもう1つの簡単な方法は、そのNuGet パッケージページを訪問することです。
何かを作成する前に、ファイルにIronPDF名前空間を追加し、IronPDFライブラリのExtractText
メソッドを使用するためのライセンスキーを設定する必要があります。
using IronPdf;
License.LicenseKey = "YOUR-TRIAL/PURCHASED-LICENSE-KEY";
using 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>";
次に、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");
SaveAs
メソッドは、PdfDocument
オブジェクトを "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();
上記のコードは、ExtractAllText
メソッドを使用してPDFドキュメント全体を解析し、抽出されたデータ(表形式のデータを含む)を文字列変数として返します。 その後、変数の値は表示されたり、後で使用するためにファイルに保存されたりすることができます。 以下のコードは画面に表示します:
Console.WriteLine("The extracted Text is:\n" + text);
Console.WriteLine("The extracted Text is:\n" + 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);
}
}
このシンプルなコード例は、抽出されたテキストからテーブルセルデータのみを抽出するのに役立ちます。 最初に、テキスト行は分割されて文字列配列に保存されます。 次に、各配列要素が繰り返され、末尾に句点「。」が付いている要素はスキップされます。 ほとんどの場合、抽出されたデータから表形式のデータのみが取得されますが、他の行も取得される場合があります。 出力は以下の通りです:
コンソールには抽出されたテキストが表示されます
上記のスクリーンショットから、Console.WriteLine
メソッドの出力においてテーブルデータのフォーマットと論理構造が保持されていることがわかります。 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);
}
}
}
出力はCSVファイルに保存され、各textItem
が1つの列になります。
この記事では、IronPDFを使用してPDFドキュメントからデータやテーブルを抽出する方法を示しました。 IronPDFは、PDFファイルからテキストを抽出するためのいくつかの便利なオプションを提供します。 特定のページからデータを抽出できる ExtractTextFromPage
メソッドを提供します。 IronPDFは、markdownファイルやDOCXファイルなどの異なるフォーマットをPDFに変換したり、PDFを異なるフォーマットに変換することも可能です。 これにより、開発者はPDF機能をアプリケーション開発プロセスに簡単に統合することができます。 また、PDFドキュメントを表示および編集するためにAdobe Acrobat Readerを必要としません。
IronPDFは開発には無料で使用でき、商用利用にはライセンスが必要です。 それは、ライブラリの完全な機能をテストするためのIronPDFの無料試用ライセンスを提供します。 詳細情報は、このリンクにてご確認いただけます。