使用C#將HTML轉換為PDF的詳細教學

在本教學中,學習如何使用C#程式語言將HTML轉換為PDF文件。透過詳細步驟和實際範例,輕鬆掌握將網頁內容生成PDF報告的技巧。

讓資訊整合更靈活

台灣熱門!AI+文檔+團隊Wiki+專案管理+日曆 — Notion帶來更靈活的工作方式!
免費使用

線上PDF文檔處理!

全球超過1億用戶實現文檔自動化處理。創建、編輯、簽署和分享PDF文件。簡便的表單填寫和文件管理功能,適合個人和企業使用。
免費試用

200+模板自動化工作流程

全球500強公司、22.5萬用戶都在用!全面整合專案處理、銷售、行銷、產品團隊工作流程!
免費使用

AI智能團隊協作

全球兩百萬團隊都在用!全面合作+生產力平台,高端智能工具,助你快速完成工作!
免費使用

“`html

簡介

在現代的網頁開發中,將HTML內容轉換為PDF文件是一項常見的需求。這篇教學將詳細介紹如何使用C#程式語言來實現將HTML轉換為PDF的功能。我們將使用一個名為”DinkToPdf”的開源庫來完成這一任務。

前置準備

安裝DinkToPdf

首先,我們需要安裝”DinkToPdf”庫。這個庫是用於將HTML轉換為PDF的.Net庫,我們可以通過NuGet包管理器來安裝它。打開Visual Studio,然後在“工具”->“NuGet 套件管理器”->“包管理器控制台”中執行以下命令:

Install-Package DinkToPdf

這將安裝DinkToPdf庫及其所有必要的依賴項。

基本範例

初始化轉換器

在使用DinkToPdf之前,我們需要初始化轉換器。以下是初始化的代碼範例:

using DinkToPdf;
using DinkToPdf.Contracts;

var converter = new SynchronizedConverter(new PdfTools());

創建HTML到PDF的轉換規則

初始化轉換器後,我們需要創建轉換規則,定義將HTML轉換為PDF的詳細設置。例如,我們可以指定頁面大小、邊距等設置:

var document = new HtmlToPdfDocument()
{
    GlobalSettings = {
        PaperSize = PaperKind.A4, // 設置紙張大小
        Orientation = Orientation.Portrait, // 設置頁面方向
        Margins = new MarginSettings { Top = 10, Bottom = 10, Left = 10, Right = 10 }
    },
    Objects = {
        new ObjectSettings
        {
            HtmlContent = @"
                <html>
                <head>
                    <title>HTML轉PDF範例</title>
                </head>
                <body>
                    <h1>這是一個測試</h1>
                    <p>這是一些示範文字。</p>
                </body>
                </html>"
        }
    }
};

生成PDF

一旦我們設置好了轉換規則,就可以生成PDF文件了。我們只需要調用轉換器的Convert方法:

var pdf = converter.Convert(document);
File.WriteAllBytes("output.pdf", pdf);

這段代碼將生成一個名為“output.pdf”的PDF文件,並將其保存到本地磁碟中。

進階設置

使用外部HTML文件

除了直接在代碼中嵌入HTML內容外,我們還可以使用外部HTML文件。設置方式如下:

var document = new HtmlToPdfDocument()
{
    GlobalSettings = {
        PaperSize = PaperKind.A4,
        Orientation = Orientation.Portrait,
        Margins = new MarginSettings { Top = 10, Bottom = 10, Left = 10, Right = 10 }
    },
    Objects = {
        new ObjectSettings
        {
            Page = "path/to/your/htmlfile.html"  // 指定HTML文件的路徑
        }
    }
};

添加頁眉和頁腳

如果需要在PDF中添加頁眉和頁腳,我們可以指定相關設置:

var document = new HtmlToPdfDocument()
{
    GlobalSettings = {
        PaperSize = PaperKind.A4,
        Orientation = Orientation.Portrait,
        Margins = new MarginSettings { Top = 10, Bottom = 10, Left = 10, Right = 10 }
    },
    Objects = {
        new ObjectSettings
        {
            HtmlContent = @"<p>Your content here</p>",
            HeaderSettings = { HtmlUrl = "path/to/header.html" }, // 頁眉文件
            FooterSettings = { HtmlUrl = "path/to/footer.html" }  // 頁腳文件
        }
    }
};

小結

通過上述步驟,我們可以方便地使用C#和DinkToPdf庫將HTML內容轉換為PDF文件。無論是基本使用還是進階設定,DinkToPdf都提供了靈活的配置選項,以滿足不同的需求。

“`

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *