如何在C#中將PDF轉換為HTML | IronPDF

如何使用IronPDF在 C# 中將 PDF 轉換為 HTML

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF可以使用 C# 中的一行程式碼,透過 SaveAsHtml 方法實現 PDF 到 HTML 的轉換,使 PDF 更適合網絡訪問,從而增強可訪問性、SEO 和網絡集成。 IronPDF庫提供了一個強大的解決方案,可以將 PDF 內容轉換為 HTML 格式,同時保持視覺結構和佈局。

將PDF轉換為HTML具有以下優點:

  • 增強了網路可訪問性
  • 針對不同裝置的響應式設計
  • 改進了搜尋引擎優化
  • 無縫網路集成
  • 透過網路工具輕鬆編輯內容
  • 跨平台相容性
  • 支援動態元素

當需要將 PDF 內容重新用於 Web 平台,或需要從 PDF 中提取文字和圖像以進行進一步處理時,此轉換過程會很有幫助。

IronPDF簡化了.NET C# 中的 PDF 到 HTML 轉換,提供了在內部處理複雜轉換過程的方法。 無論是建立文件管理系統、建立基於 Web 的 PDF 檢視器,或是讓 PDF 內容可被搜尋引擎搜索,IronPDF 的轉換功能都能提供可靠的解決方案。

快速入門:使用IronPDF立即將 PDF 轉換為 HTML

使用IronPDF,只需一行程式碼即可將 PDF 文件轉換為 HTML 文件。 本範例示範如何使用 IronPDF 的 SaveAsHtml 方法快速將 PDF 轉換為 HTML。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼。

    IronPdf.PdfDocument.FromFile("example.pdf").SaveAsHtml("output.html");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronPDF

    arrow pointer


如何將普通的PDF檔案轉換為HTML檔案?

ToHtmlString 方法可分析現有 PDF 文件中的 HTML 元素。 它可以用作調試或PDF比較工具。 SaveAsHtml 方法直接將 PDF 文件儲存為 HTML 檔案。 兩種方法都可根據具體需求提供彈性。

PDF 轉 HTML 轉換過程保留了 PDF 文件的視覺佈局,同時創建了適用於 Web 應用程式的 HTML 輸出。 當您需要在網頁瀏覽器中顯示 PDF 內容,而不需要使用者下載 PDF 檔案或安裝閱讀器外掛程式時,此功能非常有用。

請注意注意:原始 PDF 中的所有互動式表單欄位在產生的 HTML 文件中將不再可用。

對於使用PDF 表單的開發人員來說,轉換過程會將表單欄位渲染為靜態內容。 為了保持表單功能,請考慮使用 IronPDF 的表單編輯功能在轉換前提取表單資料。

範例 PDF 檔長什麼樣?

我該如何實作轉換程式碼?

:path=/static-assets/pdf/content-code-examples/how-to/pdf-to-html.cs
using IronPdf;
using System;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);

// Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html");
$vbLabelText   $csharpLabel

程式碼示範了兩種主要的 PDF 轉 HTML 轉換方法。 ToHtmlString 方法適用於需要以程式設計方式處理 HTML 內容的情況,而 SaveAsHtml 方法則直接產生檔案。 對於多個 PDF 文件,使用類似技術進行批量處理。

輸出的HTML程式碼是什麼樣的?

使用 SaveAsHtml 方法產生的完整 HTML 輸出已輸入至以下網站。


如何配置進階 PDF 轉 HTML 選項?

ToHtmlStringSaveAsHtml 方法都透過 HtmlFormatOptions 類別提供設定選項。 此配置系統可自訂產生的 HTML 輸出的外觀和行為。 可供選擇的房產包括:

  • BackgroundColor :設定 HTML 輸出的背景顏色
  • PdfPageMargin :設定頁面邊距(以像素為單位)

以下屬性適用於 ToHtmlStringSaveAsHtml 方法中的"title"參數。 他們在內容開頭添加了一個新標題,但並未修改原始 PDF 標題:

  • H1Color :設定標題顏色
  • H1FontSize :設定標題字體大小(以像素為單位)。
  • H1TextAlignment :設定標題對齊方式(左對齊、居中對齊或右對齊)

對於使用自訂紙張尺寸或特定頁面方向的開發人員來說,這些設定選項可確保 HTML 輸出保持預期的視覺結構。

有哪些配置選項?

:path=/static-assets/pdf/content-code-examples/how-to/pdf-to-html-advanced-settings.cs
using IronPdf;
using IronSoftware.Drawing;
using System;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// PDF to HTML configuration options
HtmlFormatOptions htmlformat = new HtmlFormatOptions();
htmlformat.BackgroundColor = Color.White;
htmlformat.PdfPageMargin = 10;
htmlformat.H1Color = Color.Blue;
htmlformat.H1FontSize = 25;
htmlformat.H1TextAlignment = TextAlignment.Center;

// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);

// Convert PDF to HTML file
pdf.SaveAsHtml("myHtmlConfigured.html", true, "Hello World", htmlFormatOptions: htmlformat);
$vbLabelText   $csharpLabel

本範例展示如何建立具有自訂樣式的精美 HTML 輸出。 配置選項可與 IronPDF 的渲染引擎搭配使用,可產生保持視覺保真度的高品質 HTML。

配置的輸出有何不同?

使用 SaveAsHtml 方法產生的完整 HTML 輸出已輸入至以下網站。

為什麼HTML輸出會使用SVG標籤?

這些方法會產生帶有內聯 CSS 的 HTML 字串。 輸出的 HTML 程式碼使用 SVG 標籤而不是標準的 HTML 標籤。 儘管存在這種差異,但它產生的 HTML 程式碼是有效的,可以在網頁瀏覽器中正確渲染。 當使用RenderHtmlAsPdf 方法渲染 PDF 文件時,此方法傳回的 HTML 字串可能與 HTML 輸入不同。

基於 SVG 的方法可確保複雜 PDF 佈局的精確表示,包括精確定位、字體和圖形。 對於包含圖像、圖表或使用標準 HTML 元素難以複製的複雜格式的 PDF 文件,此方法非常有效。

附加程式碼範例:批量 PDF 轉 HTML 轉換

若要將多個 PDF 檔案轉換為 HTML,以下範例處理整個目錄中的 PDF 檔案:

using IronPdf;
using System.IO;

public class BatchPdfToHtmlConverter
{
    public static void ConvertPdfDirectory(string inputDirectory, string outputDirectory)
    {
        // Ensure output directory exists
        Directory.CreateDirectory(outputDirectory);

        // Configure HTML output settings once for consistency
        HtmlFormatOptions formatOptions = new HtmlFormatOptions
        {
            BackgroundColor = Color.WhiteSmoke,
            PdfPageMargin = 15,
            H1FontSize = 28,
            H1TextAlignment = TextAlignment.Left
        };

        // Process all PDF files in the directory
        string[] pdfFiles = Directory.GetFiles(inputDirectory, "*.pdf");

        foreach (string pdfPath in pdfFiles)
        {
            try
            {
                // Load PDF document
                PdfDocument pdf = PdfDocument.FromFile(pdfPath);

                // Generate output filename
                string fileName = Path.GetFileNameWithoutExtension(pdfPath);
                string htmlPath = Path.Combine(outputDirectory, $"{fileName}.html");

                // Convert and save as HTML with consistent formatting
                pdf.SaveAsHtml(htmlPath, true, fileName, htmlFormatOptions: formatOptions);

                Console.WriteLine($"Converted: {fileName}.pdf → {fileName}.html");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error converting {pdfPath}: {ex.Message}");
            }
        }
    }
}
using IronPdf;
using System.IO;

public class BatchPdfToHtmlConverter
{
    public static void ConvertPdfDirectory(string inputDirectory, string outputDirectory)
    {
        // Ensure output directory exists
        Directory.CreateDirectory(outputDirectory);

        // Configure HTML output settings once for consistency
        HtmlFormatOptions formatOptions = new HtmlFormatOptions
        {
            BackgroundColor = Color.WhiteSmoke,
            PdfPageMargin = 15,
            H1FontSize = 28,
            H1TextAlignment = TextAlignment.Left
        };

        // Process all PDF files in the directory
        string[] pdfFiles = Directory.GetFiles(inputDirectory, "*.pdf");

        foreach (string pdfPath in pdfFiles)
        {
            try
            {
                // Load PDF document
                PdfDocument pdf = PdfDocument.FromFile(pdfPath);

                // Generate output filename
                string fileName = Path.GetFileNameWithoutExtension(pdfPath);
                string htmlPath = Path.Combine(outputDirectory, $"{fileName}.html");

                // Convert and save as HTML with consistent formatting
                pdf.SaveAsHtml(htmlPath, true, fileName, htmlFormatOptions: formatOptions);

                Console.WriteLine($"Converted: {fileName}.pdf → {fileName}.html");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error converting {pdfPath}: {ex.Message}");
            }
        }
    }
}
$vbLabelText   $csharpLabel

此批量轉換範例適用於內容管理系統、數位檔案館或需要在網路上存取大量 PDF 內容的應用程式。 有關以程式設計方式處理 PDF 的更多信息,請瀏覽我們的教程部分

常見問題解答

如何用 C# 將 PDF 檔案轉換為 HTML?

有了 IronPDF,您只需使用一行代碼就能在 C# 中將 PDF 轉換為 HTML:IronPdf.PdfDocument.FromFile("example.pdf").SaveAsHtml("output.html").此方法在內部處理複雜的轉換過程,同時保持 PDF 文件的視覺結構和佈局。

將 PDF 轉換為 HTML 的主要好處是什麼?

IronPDF 的 PDF 至 HTML 轉換提供了多種優點,包括增強的網路可讀性、適用於不同裝置的回應式設計、改善的 SEO、無縫網路整合、透過網路工具輕鬆編輯內容、跨平台相容性,以及支援動態元素。

PDF 轉換為 HTML 有哪些方法?

IronPDF 提供了兩種主要的 PDF 至 HTML 轉換方法:ToHtmlString 方法允許分析 HTML 元素,並將 HTML 以字串形式返回;SaveAsHtml 方法則直接將 PDF 文件儲存為 HTML 檔案。這兩種方法都保留了 PDF 文件的視覺佈局。

將 PDF 轉換為 HTML 後,互動式表單欄位還能運作嗎?

不,使用 IronPDF 的 PDF 至 HTML 轉換時,原始 PDF 中的所有互動表單欄位在生成的 HTML 文件中將不再具有功能。表單欄位會被渲染為靜態內容。為了保持表單功能,您應該在轉換前使用 IronPDF 的表單編輯功能來提取表單資料。

從 PDF 轉換時,我可以自訂 HTML 輸出嗎?

是的,IronPDF 允許您使用 HtmlFormatOptions 類設定輸出的 HTML。這可讓您控制 HTML 轉換過程的各個方面,以確保輸出符合您的特定需求。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

審核人
Jeff Fritz
Jeffrey T. Fritz
首席程序经理 - .NET 社群团队
Jeff 也是 .NET 和 Visual Studio 团队的首席程序经理。他是 .NET Conf 虚拟会议系列的执行制作人,并主持“Fritz 和朋友”这一每周两次的開發者的直播节目,在节目上讨论技術并与观众一起编写代碼。Jeff 撰写研讨会、主持演讲,并计划大型 Microsoft 開發者活動(包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit)的內容。
準備好開始了嗎?
Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。