ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
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 アジリティ パックは、.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 をサポートします。(言語統合クエリ (Language Integrated Query))XPath構文検索も対応しています。 HTMLドキュメント内のアイテムをその属性、タグ、または階層に従って選択するために、XPath式クエリは強力で理解しやすい構文を提供します。 LINQを使用してC#で作業することに慣れている開発者にとって、LINQクエリは他の.NETコンポーネントとのスムーズな統合を容易にするお馴染みのクエリ構文を提供します。
HtmlAgilityベース・クラス・ライブラリは1つのバンドル・パッケージになっており、NuGetにインストールすることで利用可能になり、C#プロジェクトで使用できるようになります。 HTMLドキュメントやHTML URLからHTMLパーサーとCSSセレクターを提供します。
多くのC#アプリケーションタイプ、例えばWindows Forms(WinForms)およびWindowsコンソール、HtmlAgilityPackを実装します。 実装はフレームワークによって異なるものの、基本的な考え方は変わりません。
C# 開発者のツールボックスで、HTML ドキュメントをナビゲート、処理、操作するための最も重要なツールの一つが 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を使用すると、文書管理やレポート作成の可能性は無限大です。IronPDFによるPDF変換組み合わせられています。 HTML解析にはHTML Agility Packを使用し、IronPDF ドキュメントPDF変換では、開発者は動的なオンライン資料からPDFドキュメントを自動生成することが容易にできます。
Install-Package IronPdf
IronPDFパッケージの検索結果を閲覧し、選択してから「インストール」ボタンをクリックできます。 Visual Studioは、インストールとダウンロードを自動で行います。
IronPDFの機能、互換性、その他のダウンロード方法については、IronPDFをご覧ください。IronPDF NuGetパッケージ情報NuGetのウェブサイトで。
代替案として、IronPDFのDLLファイルを使用してプロジェクトに直接統合することができます。 クリックしてくださいIronPDF DLLのダウンロードDLL を含む ZIP ファイルを取得するために。 解凍後、DLLをプロジェクトに組み込んでください。
HTML Agility Packの機能を両方のライブラリに統合することにより(HAP)そして、IronPDFはHTML情報を読み取り、即座にPDFドキュメントを生成するためにC#で実装することができます。 実装の手順は以下にリストされており、各手順を説明するサンプルコードが含まれています。
HTML Agility Packを使用してHTMLコンテンツを読み込む: ファイル、文字列、またはURLなどのソースからHTML素材を読み込むには、HTML Agility Packを使用してください。 このフェーズでは、HTMLドキュメントが解析され、操作可能なHTMLドキュメントオブジェクトが作成されます。
特定のコンテンツを抽出するには、XPathまたはLINQクエリを使用してHTML Agility Packを併用し、HTMLドキュメントから希望のコンテンツを選択して抽出します。 これは、プロパティ、タグ、または階層構造に従って要素を選択することを意味します。
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#ドキュメント管理ソリューションを提供します。
$749 Liteバンドルには、永久ライセンス、1年間のソフトウェアメンテナンス、およびライブラリのアップグレードがすべて含まれています。 IronPDF は、時間的および再配布の制限付きで無料ライセンスを提供します。 試用期間中、ユーザーは透かしを表示せずにソリューションを評価することができます。 IronPDFのページでご確認ください。ライセンス情報コストおよびライセンスについて詳しく知るためには。 Iron Softwareのライブラリの詳細については、同社のウェブサイトをご覧ください。製品情報ページ.
9つの .NET API製品 オフィス文書用