.NET ヘルプ

HTMLプレティファイア(開発者向けの仕組み)

チペゴ
チペゴ・カリンダ
2025年4月3日
共有:

イントロダクション

.NETでHTMLからPDFへの変換を行う際、清潔で構造化されたHTMLは最終的なPDFの品質に大きな違いをもたらします。 生のHTMLを正しくフォーマットすることは、読みやすさ、正しいレンダリング、一貫性を確保します。 ここでHTMLフォーマッタまたはHTMLプリティファイアが役立ちます。

この記事では、.NET で HTML 修美化ツール を使用して HTML を PDF に変換する前に、IronPDF を使用する方法を探ります。 コードの美化の利点について説明し、それに役立つライブラリを紹介し、実用的なコード例を提供します。

HTMLプリティファイアとは何ですか?

HTMLプリティファイアは、生のまたは最小化されたHTMLコードを読みやすく、構造化された形式に変換するツールです。 このプロセスには以下が含まれる:

  • 入れ子になった要素を適切にインデントする
  • 未終了タグの閉鎖
  • 属性の書式を一貫して保つ
  • 不要な空白を削除する

    HTML整形ツールを使用してからPDFに変換することで、コンテンツが構造化され視覚的に一貫性を保ちながら、生成されたPDFでのレンダリングの問題を減少させることができます。

IronPDF: 強力なPDFソリューション

HTML整形ツール(開発者向けの動作方法):図1

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

IronPDFは、シームレスなHTMLからPDFへの変換を実現するために設計された、機能豊富な.NETライブラリです。 これは、開発者がHTML、URL、または生のHTML文字列を高品質なPDFに、わずかな労力で変換できるようにします。 多くの他のPDFライブラリと異なり、IronPDFはHTML5、CSS3、JavaScriptを含む最新のウェブ標準を完全にサポートしており、レンダリングされたPDFが意図されたデザインとレイアウトを維持することを保証します。 これは、複雑なHTML構造から正確なPDF出力を必要とするプロジェクトにとって理想的な選択肢です。

IronPDFの主な機能には次のものが含まれます:

  • 完全なHTML5とCSS3のサポートにより、正確なレンダリングを実現します。
  • JavaScriptの実行、PDF内のインタラクティブな要素を可能にします。
  • ヘッダー、フッター、および透かしによる文書構造の強化サポート。
  • PDF署名 および セキュリティ機能による安全なドキュメント処理。
  • 効率的なパフォーマンス (a href="/how-to/async/">マルチスレッド処理 と最適化されたレンダリング。)

    IronPDFをHTMLプリティファイアと統合することで、ドキュメントが視覚的に魅力的であるだけでなく、レンダリングの問題がなくなり、ワークフローがスムーズかつ効率的になります。

.NETでHTMLを美化する

.NETには、フォーマットされていないまたは醜いHTMLコードを美しく整えるためのライブラリがいくつか利用可能です。含まれるライブラリには以下のものがあります:

HtmlAgilityPack

  • C#でHTMLコードを解析および変更するための人気のあるライブラリ。
  • 処理前にHTMLコードをフォーマットしてクリーンアップするために使用できます。

2. AngleSharp

  • .NET向けの最新のHTMLパーサーで、詳細なドキュメント操作機能を提供します。
  • HTMLをより読みやすくする方法でフォーマットできます。

3. HTML Beautifier (BeautifyTools)

  • 乱雑なHTMLのフォーマットとインデントを整え、読みやすくします。
  • インストール不要で直接ブラウザで動作するオンラインツール。

HtmlAgilityPackを使用してHTMLコードをフォーマットする

HTML Prettifier(開発者向けの仕組み):図2

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

HtmlAgilityPack は、HTMLドキュメントを解析および操作するための迅速かつ効率的な方法を提供する人気のある .NET ライブラリです。 それは不正なまたは構造が不十分なHTMLを処理できるため、ウェブスクレイピングやデータ抽出に最適な選択肢です。 それは「プリティファイアー」として明確に設計されていないにもかかわらず、HTMLコードをパースして適切なインデントで保存することによって、コードをクリーンアップし、フォーマットするために使用できます。

以下に、HTML を IronPDF に渡す前に整形するために HtmlAgilityPack を使用する方法を示します。

using IronPdf;
using HtmlAgilityPack;
using System.IO;
class Program
{
    static void Main()
    {
     string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(htmlContent);
        // Prettify the HTML by saving it with indentation
        string prettyHtml = doc.DocumentNode.OuterHtml;
        // Saves the formatted HTML with the prettified indenting
        doc.Save("pretty.html");
    }
}
using IronPdf;
using HtmlAgilityPack;
using System.IO;
class Program
{
    static void Main()
    {
     string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(htmlContent);
        // Prettify the HTML by saving it with indentation
        string prettyHtml = doc.DocumentNode.OuterHtml;
        // Saves the formatted HTML with the prettified indenting
        doc.Save("pretty.html");
    }
}
Imports IronPdf
Imports HtmlAgilityPack
Imports System.IO
Friend Class Program
	Shared Sub Main()
	 Dim htmlContent As String = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>"
		Dim doc As New HtmlDocument()
		doc.LoadHtml(htmlContent)
		' Prettify the HTML by saving it with indentation
		Dim prettyHtml As String = doc.DocumentNode.OuterHtml
		' Saves the formatted HTML with the prettified indenting
		doc.Save("pretty.html")
	End Sub
End Class
$vbLabelText   $csharpLabel

HTMLファイルを出力する

HTMLプルティファイア(開発者向けの動作方法):図3

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

AngleSharpを使用してHTMLを整形する

HTML プリティファイア(開発者向けの動作方法):図 4

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

AngleSharp は、HTML、XML、SVGドキュメントを解析および操作するために設計された .NET ライブラリです。 それは、DOM操作とフォーマットに対する現代的で柔軟なアプローチを提供します。 AngleSharpのHtmlFormatterクラスは、HTMLコンテンツをフォーマットし、読みやすく整えられた出力を提供するために使用できます。

using AngleSharp.Html.Parser;
using AngleSharp.Dom;
using System;
class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);
        // Format the HTML using AngleSharp’s HtmlFormatter
        var prettyHtml = document.ToHtml();
    }
}
using AngleSharp.Html.Parser;
using AngleSharp.Dom;
using System;
class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);
        // Format the HTML using AngleSharp’s HtmlFormatter
        var prettyHtml = document.ToHtml();
    }
}
Imports AngleSharp.Html.Parser
Imports AngleSharp.Dom
Imports System
Friend Class Program
	Shared Sub Main()
		Dim htmlContent As String = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>"
		Dim parser = New HtmlParser()
		Dim document = parser.ParseDocument(htmlContent)
		' Format the HTML using AngleSharp's HtmlFormatter
		Dim prettyHtml = document.ToHtml()
	End Sub
End Class
$vbLabelText   $csharpLabel

HTML出力

HTML Prettifier(開発者向けの動作方法): 図5

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

オンラインHTMLビューティファイア (BeautifyTools)

HTML Prettifier(開発者向けの仕組み):図6

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

BeautifyTools.comは、使いやすいオンラインHTMLフォーマッタを提供し、乱雑なHTMLコードを整形して美しくすることができます。 これは、ライブラリをインストールしたりコードを書いたりせずに、HTMLを迅速かつ無料で整理する方法を求めている場合に便利です。

オンラインHTMLビューティファイアの使い方

  1. ウェブサイトにアクセスする

    ウェブブラウザでBeautifyTools.comHTML Beautifierを開いてください。

  2. HTMLを貼り付けてください

    生のHTMLまたは圧縮されたHTMLをコピーし、それを入力ボックスに貼り付けてください。

  3. 設定を調整する(オプション)

    • インデントのレベルを選択します(スペース数:2、4、など)。
    • 改行と書式設定オプションを有効または無効にする。
  4. 「Beautify HTML」をクリック

    ツールはあなたのHTMLを処理し、整形された結果を出力ボックスに表示します。

  5. フォーマットされたHTMLをコピー

    「クリップボードにコピー」をクリックするか、プロジェクトで使用するためにフォーマットされたHTMLを手動でコピーします。

    HTML整形ツール(開発者向けの動作原理):図7

    Pixabay から追加アップロード

    またはここに画像をドラッグアンドドロップします

    画像の代替テキストを追加

オンラインビューティファイアーの長所と短所

HTMLプリティファイア(開発者向けの動作方法):図8

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

コードベースのHTML整形ツールを使用する際の長所と短所

HTML プリティファイア(開発者のための仕組み):図9

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

IronPDFを使用して整形されたHTMLをPDFに変換する

一度HTMLを整えたら、IronPDFを使用して高品質のPDFに変換することができます。 こちらは、AngleSharpを使用した簡単な例です:

using AngleSharp.Html.Parser;
using AngleSharp.Dom;
using AngleSharp.Html;
class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This was formatted using AngleSharp.</p><p>Then it was converted using IronPDF.</p></body></html>";
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);
        // Format the HTML using AngleSharp’s HtmlFormatter
        using (var writer = new StringWriter())
        {
            document.ToHtml(writer, new PrettyMarkupFormatter());
            var prettyHtml = writer.ToString();
            document.Close();
            // Save the formatted HTML to a file
            string outputPath = "formatted.html";
            File.WriteAllText(outputPath, prettyHtml);
            Console.WriteLine(prettyHtml);
        }
        // Convert the formatted HTML to PDF using IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("formatted.html");
        pdf.SaveAs("output.pdf");
    }
}
using AngleSharp.Html.Parser;
using AngleSharp.Dom;
using AngleSharp.Html;
class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This was formatted using AngleSharp.</p><p>Then it was converted using IronPDF.</p></body></html>";
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);
        // Format the HTML using AngleSharp’s HtmlFormatter
        using (var writer = new StringWriter())
        {
            document.ToHtml(writer, new PrettyMarkupFormatter());
            var prettyHtml = writer.ToString();
            document.Close();
            // Save the formatted HTML to a file
            string outputPath = "formatted.html";
            File.WriteAllText(outputPath, prettyHtml);
            Console.WriteLine(prettyHtml);
        }
        // Convert the formatted HTML to PDF using IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("formatted.html");
        pdf.SaveAs("output.pdf");
    }
}
Imports AngleSharp.Html.Parser
Imports AngleSharp.Dom
Imports AngleSharp.Html
Friend Class Program
	Shared Sub Main()
		Dim htmlContent As String = "<html><body><h1>Hello World!</h1><p>This was formatted using AngleSharp.</p><p>Then it was converted using IronPDF.</p></body></html>"
		Dim parser = New HtmlParser()
		Dim document = parser.ParseDocument(htmlContent)
		' Format the HTML using AngleSharp's HtmlFormatter
		Using writer = New StringWriter()
			document.ToHtml(writer, New PrettyMarkupFormatter())
			Dim prettyHtml = writer.ToString()
			document.Close()
			' Save the formatted HTML to a file
			Dim outputPath As String = "formatted.html"
			File.WriteAllText(outputPath, prettyHtml)
			Console.WriteLine(prettyHtml)
		End Using
		' Convert the formatted HTML to PDF using IronPdf
		Dim renderer As New ChromePdfRenderer()
		Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("formatted.html")
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

説明

上記のコードは、AngleSharp を使用して HTML を整形し、その後 IronPDF を使用して PDF に変換する方法を示しています。 仕組みは次のとおりです:

  1. 生のHTMLコンテンツを定義する:

    プログラムは、

    ヘッダーと2つの段落を含むシンプルなHTML文字列から始まります。

  2. HTMLをAngleSharpで解析する:

    これはHtmlParserインスタンスを初期化し、生のHTMLを構造化されたIDocumentオブジェクトに解析します。

  3. PrettyMarkupFormatterを使用してHTMLをフォーマットする:

    • PrettyMarkupFormatter クラスは、HTMLを適切にフォーマットしてインデントするために使用されます。

    • StringWriterは、フォーマット済みのHTMLを文字列としてキャプチャするために使用されます。
    • フォーマット後、フォーマットされたHTMLは"formatted.html"という名前のファイルに保存されます。
  4. IronPDFを使用してフォーマットされたHTMLをPDFに変換する:

    • ChromePdfRendererのインスタンスが作成され、変換を処理します。

    • フォーマットされたHTMLファイルが読み込まれ、PdfDocumentに変換されます。
    • 生成されたPDFは「output.pdf」として保存されます。
  5. 最終出力:

    • 整形されたHTMLがコンソールに表示されます。

    • プログラムは2つの出力ファイルを生成します:

      • formatted.html(構造化されたバージョンのHTML)
      • output.pdf(フォーマットされたHTMLから生成された最終的なPDFドキュメント)。

    このアプローチは、HTMLをPDFに変換する前にきちんと構造化することを保証し、可読性を向上させ、PDF出力での潜在的なレンダリングの問題を回避します。

    コンソール出力

    HTMLプリティファイア(開発者向けのしくみ):図10

    Pixabay から追加アップロード

    またはここに画像をドラッグアンドドロップします

    画像の代替テキストを追加

    PDF出力

    HTML Prettifier(開発者向けの仕組み):図11

    Pixabay から追加アップロード

    またはここに画像をドラッグアンドドロップします

    画像の代替テキストを追加

IronPDFでプリティファイアを使用する理由は?

より良い可読性とデバッグ

フォーマットされたHTMLは読みやすく、デバッグとメンテナンスが容易です。 これは、動的コンテンツや大きなHTMLテンプレートを扱う際に特に役立ちます。

2. スタイリングの一貫性の向上

整形されたHTMLは、一貫したスペースと構造を維持するため、IronPDFでのレンダリングがより予測可能になります。

3. レンダリングの問題の軽減

縮小されたり構造化されていないHTMLは、PDF生成で予期しない問題を引き起こすことがあります。 整形は、欠けている要素やレイアウトの崩れを防ぐのに役立ちます。

4. 自動化されたワークフローを簡素化します

アプリケーションがプログラムでPDFを生成する場合、変換前にHTMLをクリーンで整形式にすることは、安定性と精度を向上させます。

結論

IronPDFを使用して.NETでHTMLプレティファイヤを利用することは、PDF変換を強化するためのシンプルで効果的な方法です。 HTMLを正しく構造化することで、より良いレンダリング、メンテナンス性の向上、デバッグの悩みを減少させることができます。

ライブラリのようなHtmlAgilityPackAngleSharpHTML Beautifierを使用すると、PDF生成前にHTMLを整えることが簡単になります。 頻繁にHTMLからPDFへの変換を行う場合は、最適な結果を得るためにワークフローにHTML整形ツールを統合することを検討してください。

今日お試しいただき、IronPDFの体験がどのように向上するかをご確認ください! 無料トライアルをダウンロードして、あなたのプロジェクト内でIronPDFが提供するすべてを探索し始めましょう。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
C# 文字列メソッド(開発者向けの動作方法)
次へ >
C# 文字列をバブルに変換(開発者向けの仕組み)