跳過到頁腳內容
.NET幫助

HTML美化器(開發者如何執行)

在 .NET 中進行 HTML 到 PDF 的轉換工作時,乾淨且結構良好的 HTML 會對最終 PDF 的品質產生顯著的影響。 正確格式化原始 HTML 可確保可讀性、正確呈現和一致性。 這就是 HTML formatter 或 HTML prettifier 發揮作用的地方。

在本文中,我們將探討如何在使用 IronPDF 適用於 .NET 將 HTML 轉換為 PDF 之前,在 .NET 中使用 HTML prettifier。 我們將討論 prettification 的好處,展示可提供幫助的函式庫,並提供實用的程式碼範例。

什麼是 HTML Prettifier?

HTML prettifier 是一種將原始或最小化的 HTML 程式碼重新格式化為可閱讀、結構良好格式的工具。 這個過程包括

  • 正確縮排嵌套元素
  • 關閉未封閉的標籤
  • 格式屬性一致
  • 移除不必要的空白

在轉換為 PDF 之前使用 HTML 預設程式,可確保內容保持結構化和視覺上的一致性,減少產生的 PDF 中的呈現問題。

IronPDF:功能強大的 PDF 解決方案

HTML Prettifier (How it Works for Developers):圖 1

IronPDF 是一個全面且功能豐富的 .NET 函式庫,專為 HTML 到 PDF 的無縫轉換而設計。 它能讓開發人員以最小的工作量將 HTML、URL 甚至原始 HTML 字串轉換成高品質的 PDF。 與許多其他 PDF 函式庫不同的是,IronPDF 完全支援 HTML5、CSS3 和 JavaScript 等現代網頁標準,確保呈現的 PDF 能維持預期的設計與排版。 這使得它成為需要從複雜的 HTML 結構精確輸出 PDF 的專案的理想選擇。

IronPDF 的一些主要功能包括:

透過整合 IronPDF 與 HTML prettifier,您可以確保文件不僅視覺上美觀,而且沒有渲染問題,讓您的工作流程更順暢、更有效率。

在 .NET 中美化 HTML

在 .NET 中有幾個可用的函式庫,可以對未格式化或醜陋的 HTML 程式碼進行美化,這些函式庫包括

1.HtmlAgilityPack

  • 用 C# 解析和修改 HTML 程式碼的常用函式庫。
  • 可在處理之前用於格式化和清理 HTML 程式碼。

2. AngleSharp

  • 適用於 .NET 的現代化 HTML 解析器,可提供詳細的文件操作功能。
  • 能將 HTML 格式化,使其更具可讀性。

3. HTML 美化工具(BeautifyTools)

  • 格式和縮排雜亂的 HTML,以獲得更好的可讀性。
  • 可直接在瀏覽器中使用的線上工具 - 無需安裝。

使用 HtmlAgilityPack 來格式化 HTML 程式碼

HTML Prettifier (How it Works for Developers):圖 2

HtmlAgilityPack 是一個流行的 .NET 函式庫,提供快速有效的方式來解析和處理 HTML 文件。 它可以處理畸形或結構不良的 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>";

        // Load the HTML content into an HtmlDocument
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(htmlContent);

        // Prettify the HTML by saving it with indentation
        // Saves the formatted HTML with the prettified indenting
        string prettyHtml = doc.DocumentNode.OuterHtml;
        doc.Save("pretty.html"); // Save the pretty HTML to a file
    }
}
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>";

        // Load the HTML content into an HtmlDocument
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(htmlContent);

        // Prettify the HTML by saving it with indentation
        // Saves the formatted HTML with the prettified indenting
        string prettyHtml = doc.DocumentNode.OuterHtml;
        doc.Save("pretty.html"); // Save the pretty HTML to a file
    }
}
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>"

		' Load the HTML content into an HtmlDocument
		Dim doc As New HtmlDocument()
		doc.LoadHtml(htmlContent)

		' Prettify the HTML by saving it with indentation
		' Saves the formatted HTML with the prettified indenting
		Dim prettyHtml As String = doc.DocumentNode.OuterHtml
		doc.Save("pretty.html") ' Save the pretty HTML to a file
	End Sub
End Class
$vbLabelText   $csharpLabel

輸出 HTML 檔案

HTML Prettifier (How it Works for Developers):圖 3

使用 AngleSharp 作為 HTML 裝飾。

HTML Prettifier (How it Works for Developers):圖 4

AngleSharp 是一個 .NET 函式庫,專為解析和處理 HTML、XML 和 SVG 文件而設計。 它提供了一種現代化且靈活的 DOM 操作和格式化方法。 AngleSharp 的 HtmlFormatter 類可用於格式化 HTML 內容,提供美觀、可讀的輸出。

using AngleSharp.Html.Parser;
using System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";

        // Parse the HTML content using HtmlParser
        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 System;

class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";

        // Parse the HTML content using HtmlParser
        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 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>"

		' Parse the HTML content using HtmlParser
		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 (How it Works for Developers):圖 5

線上 HTML 美化程式 (BeautifyTools)

HTML Prettifier (How it Works for Developers):圖 6

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

如何使用線上 HTML 美化程式

1.前往網站

在您的網頁瀏覽器中開啟 [BeautifyTools.com](http://BeautifyTools.com) [HTML Beautifier](https://beautifytools.com/html-beautifier.php)。

2.貼上您的 HTML

複製您的原始或最小化 HTML 並貼到輸入框中。

3.調整設定(可選)

* 選擇縮排等級(空格:2、4 等)。
* 啟用/停用換行和格式化選項。

4.點選"美化 HTML"

該工具將處理您的 HTML,並在輸出框中顯示經過修飾的結果。

5.複製格式化的 HTML

按一下"複製到剪貼簿"或手動複製格式化的 HTML,以便在您的專案中使用。

HTML Prettifier (How it Works for Developers):圖 7

使用線上美化工具的利弊

HTML Prettifier (How it Works for Developers):圖 8

使用基於程式碼的 HTML 裝飾程式的利弊

HTML Prettifier (How it Works for Developers):圖 9

使用 IronPDF 將 Prettified HTML 轉換為 PDF.

當我們修飾好 HTML 之後,就可以使用 IronPDF 將它轉換成高品質的 PDF。 以下是一個使用 AngleSharp 的簡單範例:

using AngleSharp.Html.Parser;
using System.IO;
using IronPdf;
using System;

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>";

        // Parse the HTML content using HtmlParser
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);

        // Format the HTML using PrettyMarkupFormatter
        using (var writer = new StringWriter())
        {
            document.ToHtml(writer, new PrettyMarkupFormatter()); // Format the HTML
            var prettyHtml = writer.ToString();

            // 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
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlFileAsPdf("formatted.html");
        pdf.SaveAs("output.pdf");
    }
}
using AngleSharp.Html.Parser;
using System.IO;
using IronPdf;
using System;

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>";

        // Parse the HTML content using HtmlParser
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);

        // Format the HTML using PrettyMarkupFormatter
        using (var writer = new StringWriter())
        {
            document.ToHtml(writer, new PrettyMarkupFormatter()); // Format the HTML
            var prettyHtml = writer.ToString();

            // 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
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlFileAsPdf("formatted.html");
        pdf.SaveAs("output.pdf");
    }
}
Imports AngleSharp.Html.Parser
Imports System.IO
Imports IronPdf
Imports System

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>"

		' Parse the HTML content using HtmlParser
		Dim parser = New HtmlParser()
		Dim document = parser.ParseDocument(htmlContent)

		' Format the HTML using PrettyMarkupFormatter
		Using writer = New StringWriter()
			document.ToHtml(writer, New PrettyMarkupFormatter()) ' Format the HTML
			Dim prettyHtml = writer.ToString()

			' 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 = New ChromePdfRenderer()
		Dim pdf = renderer.RenderHtmlFileAsPdf("formatted.html")
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

說明

上面的程式碼示範如何使用 AngleSharp 來美化 HTML,然後再使用 IronPDF 將它轉換成 PDF。 工作方式如下

1.定義原始 HTML 內容:

程式以簡單的 HTML 字串開始,其中包含一個 `<h1>` 標題和兩個段落。

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 之前結構整齊,以提高可讀性,並避免 PDF 輸出中可能出現的渲染問題。

控制台輸出

HTML Prettifier (How it Works for Developers):圖 10

PDF輸出

HTML Prettifier (How it Works for Developers):圖 11

為什麼要使用 IronPDF 的 Prettifier?

1.更好的可讀性和調試性。

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

2.改進的樣式一致性

Prettified HTML 可保持一致的間距和結構,從而使 IronPDF 的渲染更具可預測性。

3.減少呈現問題

最小化或非結構化的 HTML 有時可能會在 PDF 產生過程中造成意想不到的問題。 修飾有助於防止元素遺失或版面破損。

4.簡化自動化工作流程

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

結論

在 .NET 中使用 IronPDF 的 HTML 預覽器是增強 PDF 轉換的簡單而有效的方法。 透過正確的 HTML 結構,您可以確保更好的呈現、更佳的可維護性,以及更少令人頭痛的除錯問題。

有了 HtmlAgilityPackAngleSharpHTML Beautifier 等函式庫,在 PDF 產生之前修飾 HTML 將變得輕而易舉。 如果您經常處理 HTML-to-PDF轉換,請考慮在工作流程中整合HTML prettifier,以獲得最佳效果。

今天就試試看,看看它如何提升您的 IronPDF 使用體驗! 下載免費試用版,開始探索IronPDF在您專案中提供的所有功能。

常見問題解答

在將HTML轉換為PDF之前使用HTML美化工具的目的是什么?

在將HTML轉換為PDF之前使用HTML美化工具可以確保HTML代碼干凈、結構良好且可讀。這個過程有助於防止渲染問題,並確保最終PDF輸出保持預期的設計和佈局。

如何在 .NET 中將 HTML 轉換為 PDF?

您可以使用IronPDF(一個.NET庫)將HTML轉換為PDF。IronPDF支持HTML5、CSS3和JavaScript,確保在PDF中準確渲染復雜的HTML結構。

在.NET中有哪些可用的HTML美化庫?

如HtmlAgilityPack和AngleSharp等庫可用於在.NET中美化HTML。這些庫有助於解析、操作和格式化HTML文檔,以確保它們結構良好且干凈。

HtmlAgilityPack如何協助格式化HTML?

HtmlAgilityPack透過解析和操作HTML文檔來協助格式化HTML,即便這些文檔格式不正確。它可以以正確的縮進格式化HTML代碼,使其適合用於網頁抓取和數據提取任務。

使用AngleSharp進行HTML格式化的好處是什么?

AngleSharp提供現代的DOM操作能力,並使用其HtmlFormatter類格式化HTML。它允許開發人員將HTML內容解析並格式化為易讀的輸出,尤其是在將HTML轉換為PDF之前非常有用。

我能否在線美化HTML而無需安裝任何軟體?

是的,您可以使用像BeautifyTools.com這樣的工具線上美化HTML,提供一種不需安裝任何庫或寫代碼即可快速免費清理HTML代碼的方法。

在選擇HTML到PDF轉換庫時,我應該尋找哪些功能?

選擇HTML到PDF轉換庫時,應尋找以下功能:完整的HTML5和CSS3支持,JavaScript執行,支持頁眉、頁腳和水印,PDF簽名和安全功能,以及多線程處理的高效性能,這些功能都由IronPDF提供。

HTML格式化如何改善PDF輸出質量?

HTML格式化透過確保HTML在轉換之前結構整齊且無錯誤來改善PDF輸出質量。這可防止渲染問題,並生成更高質量、更準確的PDF文檔。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我