.NET 幫助

HTML 美化工具(開發人員的工作原理)

Chipego
奇佩戈·卡林达
2025年4月3日
分享:

介紹

在 .NET 中進行 HTML 轉換為 PDF 時,乾淨且結構良好的 HTML 可以對最終 PDF 的質量產生重大影響。 正確格式化原始HTML可確保可讀性、正確呈現和一致性。 這就是 HTML 格式化器或 HTML 美化器派上用場的地方。

在本文中,我們將探討如何在 .NET 中使用HTML 美化器,然後使用IronPDFHTML 轉換為 PDF。 我們將討論美化的好處,展示可以幫助的庫,並提供一個實用的代碼示例。

什麼是 HTML 美化工具?

HTML 美化工具是一個將原始或壓縮的 HTML 代碼重新格式化為可讀、有良好結構的格式的工具。 此過程涉及:

  • 正確縮排巢狀元素
  • 關閉未閉合的標籤
  • 一致地格式化屬性
  • 移除不必要的空白

    在轉換為 PDF 之前使用 HTML 美化工具可以確保內容保持結構化和視覺連貫性,從而減少生成的 PDF 中的渲染問題。

IronPDF:強大的 PDF 解決方案

HTML 美化器(開發人員如何使用):圖 1

從Pixabay添加上傳

或將圖片拖放到此處

新增圖片替代文字

IronPDF 是一個功能全面且功能豐富的 .NET 程式庫,專為無縫的 HTML 到 PDF 轉換而設計。 它使開發人員能夠輕鬆地將 HTML、URL,甚至是原始 HTML 字串轉換為高質量的 PDF。 與許多其他 PDF 庫不同,IronPDF 完全支持現代網頁標準,包括 HTML5、CSS3 和 JavaScript,確保呈現的 PDF 保持其預期的設計和佈局。 這使其成為需要從複雜的 HTML 結構中精確輸出 PDF 的專案的理想選擇。

IronPDF 的一些關鍵功能包括:

在 .NET 中美化 HTML

在 .NET 中有幾個程式庫可用於美化未格式化或不美觀的 HTML 代碼,包括:

HtmlAgilityPack

  • 一個用於解析和修改 C# 中 HTML 代碼的流行庫。
  • 可以用來格式化和清理 HTML 代碼以便處理。

2. AngleSharp

  • 一個現代的 .NET HTML 解析器,提供詳細的文檔操作功能。
  • 可以將 HTML 格式化,使其更易於閱讀。

3. HTML 美化工具 (BeautifyTools)

  • 格式化並縮排雜亂的HTML以提高可讀性。
  • 直接在瀏覽器中運行的線上工具—無需安裝。

使用 HtmlAgilityPack 格式化 HTML 代碼

HTML 美化器(開發人員如何運作):圖 2

從Pixabay添加上傳

或將圖片拖放到此處

新增圖片替代文字

HtmlAgilityPack 是一個流行的 .NET 函式庫,提供快速且高效的方式來解析和操作 HTML 文件。 它可以處理格式不正確或結構不良的 HTML,使其成為網頁抓取和數據提取的絕佳選擇。 雖然它並非明確設計為「美化器」,但可以通過解析和保存具有適當縮排的HTML代碼來清理和格式化。

以下是如何使用HtmlAgilityPack來美化HTML,然後再將其傳遞給IronPDF:

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 美化器(它如何為開發者工作):圖 6

從Pixabay添加上傳

或將圖片拖放到此處

新增圖片替代文字

BeautifyTools.com 提供一個易於使用的線上HTML格式化工具,讓您可以格式化及美化凌亂的HTML代碼。 如果您想快速且免費地清理您的 HTML,而無需安裝任何庫或撰寫程式碼,這將非常有用。

如何使用線上HTML美化工具

  1. 前往網站

    在您的網頁瀏覽器中打開BeautifyTools.com HTML Beautifier

  2. 粘貼您的HTML

    將您的原始或壓縮後的HTML複製並貼上到輸入框中。

  3. 調整設定(可選)

    • 選擇縮排級別(空格:2、4 等)。
    • 啟用/禁用換行和格式選項。
  4. 點擊「美化 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 內容:

    程式開始於一個簡單的 HTML 字串,其中包含一個

    標題和兩個段落。

  2. 使用 AngleSharp 解析 HTML:

    它初始化一個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 會顯示在控制台中。

    • 該程式會生成兩個輸出文件:

      • formatted.html(格式良好的 HTML 版本)
      • output.pdf(從格式化的 HTML 生成的最終 PDF 文件)。

    此方法確保在將 HTML 轉換為 PDF 之前,HTML 是整齊結構化的,這提高了可讀性並避免了 PDF 輸出中潛在的渲染問題。

    控制台輸出

    HTML 美化工具(開發人員的工作原理):圖 10

    從Pixabay添加上傳

    或將圖片拖放到此處

    新增圖片替代文字

    PDF 输出

    HTML 格式化器(其對開發人員的運作方式):圖 11

    從Pixabay添加上傳

    或將圖片拖放到此處

    新增圖片替代文字

為什麼要在使用 IronPDF 時使用美化器?

更好的可讀性和除錯

格式化的 HTML 更容易閱讀、除錯和維護。 這在處理動態內容或大型 HTML 模板時特別有用。

2. 改進樣式一致性

格式化的 HTML 維持一致的間距和結構,從而在 IronPDF 中呈現得更可預測。

3. 減少渲染問題

縮小或非結構化的 HTML 有時可能在 PDF 生成中引發意外問題。 美化功能有助於防止遺漏元素或佈局錯誤。

4. 簡化自動化工作流程

如果您的應用程式以程式方式生成 PDF,確保 HTML 在轉換之前是乾淨且格式良好的,這樣可以提高穩定性和準確性。

結論

在 .NET 中使用 HTML 美化工具與 IronPDF 是增強 PDF 轉換的一種簡單而有效的方法。 通過正確設計您的 HTML 結構,您可以確保更好的渲染、改善的可維護性以及減少除錯的麻煩。

使用像 HtmlAgilityPackAngleSharpHTML Beautifier 這樣的庫,在生成 PDF 之前美化 HTML 變得輕而易舉。 如果您經常從事HTML 到 PDF 的轉換,請考慮將 HTML 美化器整合到您的工作流程中以獲得最佳效果。

今天就試試看,看看它如何提升你的IronPDF體驗! 下載免費試用並開始探索IronPDF在您自己的專案中所能提供的一切。

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
C# 字串方法(開發人員如何運作)
下一個 >
C# 字串轉換為 Bubble(開發者如何運作)