透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
C#開発の世界では、ドキュメント内容を動的に管理および操作する必要性が広く認識されています。 開発者は一般的に、PDFレポートの作成やウェブページからのデータ抽出などの活動を自動化するために、強力なライブラリに依存しています。 この記事では、C#におけるIronPDFとHTML Agility Packの簡単な統合について探求し、これらのライブラリを使用してPDF文書を簡単に作成し、HTMLテキストを読み取る方法を示すコード例を提供します。
一方、IronPDFはPDFファイルを扱うための機能豊富な.NETライブラリです。 IronPDFを使用すると、開発者はHTMLコンテンツ、URL、または生データから動的にPDFファイルを生成できるため、ドキュメント作成、レポート、およびデータ視覚化のための価値あるツールとなります。
.NETアプリケーションでのドキュメント生成を効率化するために、この記事ではIronPDFとHTML Agility Packを接続する方法を見ていきます。これらの技術を組み合わせることで、プログラマーはリモートシステムとの連携、ダイナミックなPDFページの生成、ネットワーク接続によるデータの取得が可能になり、プログラムの生産性と拡張性が向上します。
新しいC#プロジェクトを作成します。
ライブラリHtmlAgilityPackをインストールする。
名前空間をインポートします。 オブジェクトを作成します。
URLからデータをインポートし、HTMLを解析します。
HTML Agility Pack は、.NET開発者向けの多用途で強力なHTML解析ライブラリです。 APIの幅広いコレクションの助けを借りて、開発者はHTMLドキュメントからデータを簡単にナビゲート、変更、および抽出することができます。 HTML Agility Packは、経験レベルに関係なくすべての開発者にとってHTMLコンテンツをプログラムで扱うことを容易にします。
HTML Agility Packが特殊である理由は、構造が悪いまたは誤ったHTMLを優しく処理できる能力にあります。 それは、HTMLマークアップの品質が変動し得るオンラインスクレイピング操作に最適です。なぜなら、最も悪く構造されたHTMLでも解析可能な寛容なパーシングアルゴリズムを使用しているからです。
HTML Agility Packが提供する強力なHTMLパーシング機能により、開発者はファイル、URL、文字列など、さまざまなソースからHTMLドキュメントを読み込むことができます。 寛容なパーシングアプローチを採用しているため、形式が悪い、または誤ったHTMLを優雅に処理でき、HTMLマークアップの品質が異なるウェブスクレイピング活動に適しています。
HTMLドキュメントオブジェクトモデル(DOM)の構造を探索、閲覧、および操作するために、HAPは使いやすいAPIを提供します。 HTML要素、属性、およびテキストノードはすべて、開発者によってプログラム的に追加、削除、または変更することができ、動的なHTMLコンテンツの操作が可能です。
HTMLコンポーネントを選択およびクエリするために、HTML Agility PackはLINQ(言語統合クエリ)とXPath構文検索の両方をサポートしています。 HTMLドキュメント内のアイテムをその属性、タグ、または階層に従って選択するために、XPath式クエリは強力で理解しやすい構文を提供します。 LINQを使用してC#で作業することに慣れている開発者にとって、LINQクエリは他の.NETコンポーネントとのスムーズな統合を容易にするお馴染みのクエリ構文を提供します。
HtmlAgilityベース・クラス・ライブラリは1つのバンドル・パッケージになっており、NuGetにインストールすることで利用可能になり、C#プロジェクトで使用できるようになります。 HTMLドキュメントやHTML URLからHTMLパーサーとCSSセレクターを提供します。
多くのC#アプリケーションタイプ、例えばWindowsフォーム(WinForms)やWindowsコンソールは、HtmlAgilityPackを実装しています。 実装はフレームワークによって異なるものの、基本的な考え方は変わりません。
C#開発者のツールボックスで、HTMLドキュメントをナビゲートし、処理し、操作するための最も重要なツールの1つがHTML Agility Pack (HAP)です。 HTMLページからのデータ抽出は、要素の整然とした木構造のように機能する使いやすいAPIによって簡単になります。 簡単なコード例を見て、どのように使用するかを説明しましょう。
using HtmlAgilityPack;
// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
var doc = web.Load("https://ironpdf.com/");
// Select specific html nodes and parse html string
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");
// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
Console.WriteLine(node.InnerText);
}
Console.ReadKey();
using HtmlAgilityPack;
// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
var doc = web.Load("https://ironpdf.com/");
// Select specific html nodes and parse html string
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");
// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
Console.WriteLine(node.InnerText);
}
Console.ReadKey();
Imports HtmlAgilityPack
' Load HTML content from a file or URL
Private web As New HtmlWeb()
Private doc = web.Load("https://ironpdf.com/")
' Select specific html nodes and parse html string
Private nodes As HtmlNodeCollection = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']")
' Iterate through selected nodes and extract content
For Each node As HtmlNode In nodes
Console.WriteLine(node.InnerText)
Next node
Console.ReadKey()
この例では、HTML Agility Packを使用してURLからHTMLノードを読み込みます。 HTMLは解析と操作のためにvar doc
に読み込まれます。 コンテンツを抽出するために、プログラムはまずHTMLドキュメントのルートノードを特定し、次にXPathクエリを使用してドキュメント内のノードを特定します。 上記のコードから、文字列HTMLデータからクラスproduct-homepage-headerを持つdiv要素を特別に選択し、選択された各ノードの内部テキストがコンソールに出力されます。
開発者はHTML Agility Packを使用してHTMLテキストに対して様々な変換や操作を行うことができます。 これは、HTMLドキュメントのDOM階層を再編成することに加えて、テキストノード、要素、および属性の追加、削除、または変更などの操作をカバーします。
HAPは拡張可能に設計されているため、プログラマーは新しい機能や動作を追加して、その機能を高めることができます。 提供されたAPIを使用して、開発者は独自のHTMLパーサー、フィルター、または操作を設計し、HAPをそれぞれのニーズやユースケースに合わせてカスタマイズできます。
大規模なHTMLテキストは、速度と効果を最大限に発揮するように調整されたHTML Agility Packのアルゴリズムとデータ構造によってうまく処理できます。 メモリ使用量と処理のオーバーヘッドを削減することで、迅速かつ応答性の高いHTMLコンテンツの解析と操作を実現します。
HTML Agility PackとIronPDF for PDF Conversionを組み合わせることで、ドキュメント管理およびレポート作成の可能性は無限です。 開発者は、HTML解析のためのHTML Agility PackとPDF変換のためのIronPDF Documentationを利用することで、動的なオンラインコンテンツからPDFドキュメントの作成を容易に自動化できます。
Install-Package IronPdf
IronPDFパッケージの検索結果を閲覧し、選択してから「インストール」ボタンをクリックできます。 Visual Studioは、インストールとダウンロードを自動で行います。
IronPDFの機能、互換性、その他のダウンロードオプションについて詳しく知るには、NuGetのウェブサイトでIronPDF NuGet Package Informationを参照してください。
代替案として、IronPDFのDLLファイルを使用してプロジェクトに直接統合することができます。 DLLを含むZIPファイルを取得するには、このIronPDF DLLダウンロードをクリックしてください。 解凍後、DLLをプロジェクトに組み込んでください。
HTML Agility Pack (HAP) と IronPDF の両方のライブラリの機能を統合することで、C# で HTML 情報を読み取り、PDF ドキュメントを即座に生成することができます。 実装の手順は以下にリストされており、各手順を説明するサンプルコードが含まれています。
HTML Agility Packを使用してHTMLコンテンツを読み込む: ファイル、文字列、URLなどのソースからHTML素材を読み込むには、HTML Agility Packを使用します。 このフェーズでは、HTMLドキュメントが解析され、操作可能なHTMLドキュメントオブジェクトが作成されます。
抽出したいコンテンツ: HTMLドキュメントから特定のコンテンツを選択して抽出するには、HTML Agility PackをXPathまたはLINQクエリと共に使用します。 これは、プロパティ、タグ、または階層構造に従って要素を選択することを意味します。
IronPDFを使用してHTMLをPDFに変換: 取得したHTMLコンテンツからPDFドキュメントを作成するには、IronPDFを使用します。 IronPDFは、スタイルとレイアウトを維持しながら、HTML素材を簡単にPDFフォーマットに変換します。
オプション: PDF出力をカスタマイズする: 必要に応じて、IronPDFを使用してヘッダー、フッター、ページ番号、その他の動的コンポーネントを追加し、PDF出力をカスタマイズします。 このステップは、生成されるPDFドキュメントの外観と使いやすさを向上させます。
using HtmlAgilityPack;
StringBuilder htmlContent = new StringBuilder();
// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("https://ironpdf.com/");
// Select specific elements using XPath or LINQ
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");
// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
htmlContent.Append(node.OuterHtml);
Console.WriteLine(node.InnerText);
}
// Convert HTML content to PDF using IronPDF
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString());
// Save PDF to file
PDF.SaveAs("output.pdf");
Console.WriteLine("PDF generated successfully!");
Console.ReadKey();
using HtmlAgilityPack;
StringBuilder htmlContent = new StringBuilder();
// Load HTML content from a file or URL
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("https://ironpdf.com/");
// Select specific elements using XPath or LINQ
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']");
// Iterate through selected nodes and extract content
foreach (HtmlNode node in nodes)
{
htmlContent.Append(node.OuterHtml);
Console.WriteLine(node.InnerText);
}
// Convert HTML content to PDF using IronPDF
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString());
// Save PDF to file
PDF.SaveAs("output.pdf");
Console.WriteLine("PDF generated successfully!");
Console.ReadKey();
Imports HtmlAgilityPack
Private htmlContent As New StringBuilder()
' Load HTML content from a file or URL
Private web As New HtmlWeb()
Private doc As HtmlDocument = web.Load("https://ironpdf.com/")
' Select specific elements using XPath or LINQ
Private nodes As HtmlNodeCollection = doc.DocumentNode.SelectNodes("//h1[@class='product-homepage-header product-homepage-header--ironpdf']")
' Iterate through selected nodes and extract content
For Each node As HtmlNode In nodes
htmlContent.Append(node.OuterHtml)
Console.WriteLine(node.InnerText)
Next node
' Convert HTML content to PDF using IronPDF
Dim Renderer = New IronPdf.HtmlToPdf()
Dim PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString())
' Save PDF to file
PDF.SaveAs("output.pdf")
Console.WriteLine("PDF generated successfully!")
Console.ReadKey()
IronPDFを使用した変換を訪れて、コード例について詳しく学んでください。
実行結果は以下に示されています:
HTML Agility PackとIronPDFをC#でスムーズに統合することで、HTMLデータの解析やPDFレポートの作成など、開発者はドキュメントの内容を簡単に管理および変更することができます。 開発者は、IronPDFのPDF生成機能をHTML Agility Packの解析機能と組み合わせることにより、文書に関連する操作を簡単かつ正確に自動化することができます。 これら二つのライブラリを組み合わせることで、動的レポートの作成やウェブページからのデータ取得において強力なC#ドキュメント管理ソリューションを提供します。
永続ライセンス、1年間のソフトウェアメンテナンス、およびライブラリアップグレードが$749 Liteバンドルにすべて含まれています。 IronPDF は、時間的および再配布の制限付きで無料ライセンスを提供します。 試用期間中、ユーザーは透かしを表示せずにソリューションを評価することができます。 費用とライセンスについての詳細は、IronPDFのライセンス情報をご覧ください。 Iron Softwareのライブラリについて詳しくは、製品情報ページをご覧ください。