使用 IRONPDF

C#創建PDF(代碼示例教程)

生成 PDF 文件是現代 C# .NET 開發中常見且重要的需求,無論是用於開具發票、創建詳細報告、歸檔網頁內容,或確保文件安全共享。 開發人員經常探討在 .NET 應用程式中生成 PDF 的各種方法,包括使用像 iTextSharp(現已改名為 iText 7)、PdfSharp、QuestPDF 這樣知名的庫,甚至利用內建的 .NET 功能來完成簡單的任務。 有些人還考慮整合第三方基於雲的 API 或命令列工具,如 wkhtmltopdf。

儘管這些多樣化的選擇存在,但找到一個完美平衡易用性、全面功能、高級渲染能力和強大性能的C# PDF庫,是高效開發的關鍵。 這正是IronPDF脫穎而出的地方,為C#開發者提供了一個功能強大且極為直觀的解決方案。 本教程將引導您完成在 C# .NET 中使用 IronPDF 創建 PDF 文件的簡單過程,涵蓋從基本 HTML 字串轉換到渲染複雜網頁的所有內容。 如果您希望高效地創建 PDF 文件,那麼您來對地方了。

IronPDF 是一個功能齊全的 PDF 函式庫,適用於Java。 它是可用的幾個第三方庫之一,能有效地創建、編輯和處理 PDF 文件,並從其他文件類型(HTML、PNG、RTF 等)的內容導出可編輯的 PDF 文件。 了解有關 IronPDF 和類似 PDF 函式庫的更多信息,請從不斷增長的第三方函式庫比較文章目錄中查看。

選擇合適的 C# PDF 函式庫:免費與商業選項

在開始需要在 C# 中生成 PDF 的專案時,開發者通常會衡量免費與商業庫的優缺點。 像 PDFSharp 或 QuestPDF 這樣的免費庫可以是基本 PDF 創建或在預算緊張時的絕佳起點。 然而,它們可能在功能集方面存在限制,在實施進階功能(例如像素級精準的 HTML 到 PDF 呈現)的複雜性上,或專業支援的即時可用性方面,會有一些局限。

像 IronPDF 这样的商业庫,雖然在生產環境中需要許可證,但通常能提供更精簡且有效的開發體驗。 它們往往具有更豐富的功能——包括高度精準的HTML、CSS和JavaScript轉換為PDF功能、全面的文件安全選項,以及強大的PDF操作工具。 此外,它們通常還附帶專業支援和定期更新的保證。 IronPDF 提倡對開發人員友好的方法。 雖然這是一個為專業使用設計的商業庫,但它為開發和測試提供了完全免費的許可,並提供一個用於生產評估的試用期。 這讓您可以在決定它是否最適合您的需要帶有進階功能的 PDF 文件創建項目之前,充分探索其功能。

Get started creating PDFs now!

IronPdf.ChromePdfRenderer
       .StaticRenderHtmlAsPdf("<p>Hello Word</p>")
       .SaveAs("pixelperfect.pdf");
使用NuGet安裝
green arrow pointer

PM >  Install-Package IronPdf

由於 HTML 是一種標記語言,因此在沒有 HTML 標籤的情況下將其內容轉換為 PDF 可能會很困難。 IronPDF 提供的功能包括在 C# 中從 HTML 建立 PDF,因其易於使用以及諸如使用 JavaScript、CSS 和圖片等附加功能。

本文將詳細介紹由 IronPDF 提供的 C# 中的 HTML 到 PDF 轉換。

觀看教程影片


在 C# 應用程式中生成 PDF 的常見情境

在進入程式碼之前,讓我們考慮一下為什麼您可能需要在 C# 中創建 PDF:

  • 生成發票和收據:以程式方式使用 C# 創建 PDF 發票。 IronPDF 使使用 HTML 模板進行專業布局變得簡單。
  • 創建動態報告:當您的 C# 應用程式需要生成包含數據的複雜 PDF 報告時,IronPDF 的 HTML 到 PDF 渲染可實現豐富的樣式和動態內容。
  • 存檔網頁內容:使用 IronPDF 的準確 URL 和 HTML 渲染功能,將動態網頁或 HTML 內容轉換為標準化的 PDF 格式,以便進行可靠的長期存儲或法規遵循。
  • 安全文件共享:使用 IronPDF 生成具有密碼保護、加密和特定用戶權限的 PDF。
  • 生成票券、代金券或證書:創建具有獨特且動態生成內容的可打印文件。 IronPDF 將 HTML 轉換為 PDF 的能力非常適合為此類文件提供模板。

    IronPDF 為所有這些使用案例提供有效的解決方案及更多。

1. 在 Visual Studio 中創建新專案

開啟 Visual Studio 軟體並進入檔案選單。 選擇新專案,然後選擇主控台應用程式。 這篇文章將使用主控台應用程式來生成 PDF 文件。

C# 建立 PDF(程式碼範例教學),圖 01:在 Visual Studio 中建立新專案

在 Visual Studio 中創建一個新專案

輸入專案名稱並在適當的 TextBox 中選擇路徑。 然後,點擊下一步按鈕。

C# 創建 PDF(代碼範例教學),圖 02:配置此專案

配置此專案

選擇所需的 .NET Framework,然後按一下如下所示的「建立」按鈕:

C# 建立 PDF(程式碼範例教學),圖 03:.NET Framework 選擇

.NET Framework 選擇

Visual Studio 專案現在將為選定的應用程式生成結構,如果您選擇了控制台、Windows 和 Web 應用程式,它將打開 program.cs 文件,在這裡您可以輸入代碼並構建/運行應用程式。

下一步是添加程式庫並測試程式。

使用 Visual Studio 的 NuGet 套件管理器

Visual Studio 軟體提供 NuGet Package Manager 選項,讓使用者可以將套件直接安裝到解決方案中。 以下截圖顯示如何打開 NuGet Package Manager。

如前所述,IronPDF 提供免費的開發和測試授權。

C# 建立 PDF(程式碼範例教程),圖 04:導航到 NuGet 套件管理器

導航至 NuGet 套件管理器

它提供了搜索框來顯示來自 NuGet 網站的可用套件庫列表。在套件管理器中,搜索關鍵詞 "IronPDF",如下圖所示:

C# 創建 PDF(代碼示例教程),圖 05:從 NuGet 套件管理器安裝 IronPdf 套件

從 NuGet 套件管理器安裝 IronPdf 套件

從上述圖片中,從相關的 NuGet 套件列表中選擇 IronPDF 選項,並安裝解決方案的套件。

使用 Visual Studio 命令行

NuGet 使用NuGet安裝

PM >  Install-Package IronPdf

NuGet上查看https://www.nuget.org/packages/IronPdf以獲取快速安裝。已超過1000萬次下載,正用C#改變PDF開發。 您也可以下載DLLWindows 安裝程式

在 Visual Studio 菜單中,請前往 工具 > NuGet 套件管理器 > 套件管理器主控台

C# 建立 PDF(程式碼範例教學),圖 06:導航至套件管理器主控台

導航至套件管理器主控台

在封裝管理員主控台標籤中輸入以下行:

Install-Package IronPdf
Install-Package IronPdf
SHELL

2. 使用RenderHtmlAsPdf()從HTML建立PDF

安裝 IronPDF 之後,最基本的任務之一就是使用 C# 從 HTML 字串建立 PDF。 這對於在應用程式中直接生成動態 PDF 內容非常有用。 您可以使用 IronPDF 的RenderHtmlAsPdf()方法。 當您需要快速生成 PDF 以用於簡單通知、確認或小型動態生成的片段時,這種方法是理想的選擇。

using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New ChromePdfRenderer()
Dim doc As PdfDocument = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")
$vbLabelText   $csharpLabel

在這段代碼中,我們首先實例化ChromePdfRenderer。 然後,我們使用基本的 HTML 字串呼叫 RenderHtmlAsPdf()。 最後,doc.SaveAs()將生成的 PDF 保存為 'FirstPDFDocument.pdf'。 此檔案將包含渲染的 H1 標籤。 在執行您的 C# 專案後,專案的 bin 資料夾中會有一個名為 "FirstPDFDocument.pdf" 的檔案,雙擊該檔案,PDF 檔案將在瀏覽器標籤中開啟。 使用 IronPDF,在 C# 中建立 PDF 文件或將 HTML 轉換為 PDF 只需幾行代碼。

3. 從 URL 創建 PDF 文件

如果您的目標是使用 C# 從現有網頁創建 PDF,IronPDF 的 RenderUrlAsPdf() 方法就是您需要的。 這對於存檔網頁內容、生成文章的PDF或捕捉現場網站的狀態非常有用。

using IronPdf;
using System;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
pdf.SaveAs("url.pdf");
using IronPdf;
using System;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
pdf.SaveAs("url.pdf");
Imports IronPdf
Imports System

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

在此,RenderUrlAsPdf()接受一個 URL 字串,獲取內容,渲染後生成一個 PdfDocumentusing 語句確保 PdfDocument 被適當處理。 生成的 'url.pdf' 將是指定網頁的 PDF 版本。 以下是上述程式碼的輸出。

C# 創建 PDF(代碼示例教程),圖 10:從 URL 渲染的 PDF 文件輸出

從URL渲染的PDF文件輸出

其他將受歡迎的複雜網站轉換為 PDF 的例子。

C# 創建 PDF(代碼示例教程),圖 11:渲染複雜網站的另一個範例

另一個複雜網站呈現的範例

4. 將 ASP.NET MVC 渲染為 PDF

要在 ASP.NET MVC 應用程式中使用 C# 建立 pdf 文件(使用 .NET Framework),您可以渲染 HTML 檔案或字串,然後將其作為 FileResult 返回。 這對於根據伺服器端邏輯和數據生成 PDF,然後直接將它們傳送到用戶瀏覽器非常有用。

using IronPdf;
using System.Web;
using System.Web.Mvc; // Required for ActionResult and EmptyResult

public class PdfController : Controller
{
    public ActionResult DownloadPdfFromHtmlFile()
    {
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
        var renderer = new IronPdf.ChromePdfRenderer();
        string htmlFilePath = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html");
        using var pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath);

        var currentResponse = HttpContext.Current.Response;
        currentResponse.Clear();
        currentResponse.ContentType = "application/pdf";
        currentResponse.AddHeader("Content-Disposition", "attachment;filename=\"FileName.pdf\"");
        currentResponse.BinaryWrite(pdf.BinaryData);
        currentResponse.Flush();
        currentResponse.End();
        return new EmptyResult();
    }
}
using IronPdf;
using System.Web;
using System.Web.Mvc; // Required for ActionResult and EmptyResult

public class PdfController : Controller
{
    public ActionResult DownloadPdfFromHtmlFile()
    {
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
        var renderer = new IronPdf.ChromePdfRenderer();
        string htmlFilePath = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html");
        using var pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath);

        var currentResponse = HttpContext.Current.Response;
        currentResponse.Clear();
        currentResponse.ContentType = "application/pdf";
        currentResponse.AddHeader("Content-Disposition", "attachment;filename=\"FileName.pdf\"");
        currentResponse.BinaryWrite(pdf.BinaryData);
        currentResponse.Flush();
        currentResponse.End();
        return new EmptyResult();
    }
}
Imports IronPdf
Imports System.Web
Imports System.Web.Mvc ' Required for ActionResult and EmptyResult

Public Class PdfController
	Inherits Controller

	Public Function DownloadPdfFromHtmlFile() As ActionResult
		IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
		Dim renderer = New IronPdf.ChromePdfRenderer()
		Dim htmlFilePath As String = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html")
		Dim pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath)

		Dim currentResponse = HttpContext.Current.Response
		currentResponse.Clear()
		currentResponse.ContentType = "application/pdf"
		currentResponse.AddHeader("Content-Disposition", "attachment;filename=""FileName.pdf""")
		currentResponse.BinaryWrite(pdf.BinaryData)
		currentResponse.Flush()
		currentResponse.End()
		Return New EmptyResult()
	End Function
End Class
$vbLabelText   $csharpLabel

在這個 MVC 控制器操作中,RenderHtmlFileAsPdf 轉換指定的 HTML 檔案。然後使用 Response 物件將 PDF 作為下載發送給客戶端。 返回EmptyResult是因為響應直接處理。

5. 將 Razor 視圖渲染為 PDF

對於 ASP.NET MVC 應用程式,一個常見的任務是從 Razor 視圖中使用 C# 建立 PDF。 這使您可以使用現有的視圖邏輯和模型來生成動態 HTML,然後由 IronPDF 轉換為 PDF。 下面的輔助方法將 Razor 視圖渲染為 HTML 字串。

using IronPdf;
using System.IO;
using System.Web.Mvc; // Required for ControllerContext, ViewEngines, etc.

public string RenderRazorViewToString(ControllerContext controllerContext, string viewName, object model)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    controllerContext.Controller.ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName);
        var viewContext = new ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw);
        viewResult.View.Render(viewContext, sw);
        viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View);
        return sw.GetStringBuilder().ToString();
    }
}
using IronPdf;
using System.IO;
using System.Web.Mvc; // Required for ControllerContext, ViewEngines, etc.

public string RenderRazorViewToString(ControllerContext controllerContext, string viewName, object model)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    controllerContext.Controller.ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName);
        var viewContext = new ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw);
        viewResult.View.Render(viewContext, sw);
        viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View);
        return sw.GetStringBuilder().ToString();
    }
}
Imports IronPdf
Imports System.IO
Imports System.Web.Mvc ' Required for ControllerContext, ViewEngines, etc.

Public Function RenderRazorViewToString(ByVal controllerContext As ControllerContext, ByVal viewName As String, ByVal model As Object) As String
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	controllerContext.Controller.ViewData.Model = model
	Using sw = New StringWriter()
		Dim viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName)
		Dim viewContext As New ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw)
		viewResult.View.Render(viewContext, sw)
		viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View)
		Return sw.GetStringBuilder().ToString()
	End Using
End Function
$vbLabelText   $csharpLabel

此方法接受ControllerContext、視圖名稱和模型,將 Razor 視圖呈現為 HTML 字串。 接著可以將此字串傳遞給 IronPDF 的 RenderHtmlAsPdf() 方法,記得若您的 Razor 視圖使用資產的相對路徑,則需設定 BaseUri。 請閱讀.NET MVC PDF 指南文件以了解如何將 MVC 視圖呈現為二進位 PDF 文件。

6. 將 XML 轉換為 PDF

當您需要使用 C# 從 XML 數據創建 PDF 時,一種穩健的方法是首先使用 XSLT(可擴展樣式表語言轉換)將 XML 轉換為 HTML。 IronPDF 然後可以將生成的 HTML 轉換為 PDF。 這對於以人類可讀的格式呈現結構化的 XML 數據非常有用。

using IronPdf;
using System.Xml;
using System.Xml.Xsl;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
string xsltContent = @"<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
                            <xsl:template match='/root'>
                                <html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
                            </xsl:template>
                        </xsl:stylesheet>";
string xmlContent = "<root><item>Hello</item><item>World</item></root>";

XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(xsltContent))) {
    transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(xmlContent))) {
    transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
using IronPdf;
using System.Xml;
using System.Xml.Xsl;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
string xsltContent = @"<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
                            <xsl:template match='/root'>
                                <html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
                            </xsl:template>
                        </xsl:stylesheet>";
string xmlContent = "<root><item>Hello</item><item>World</item></root>";

XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(xsltContent))) {
    transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(xmlContent))) {
    transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
Imports IronPdf
Imports System.Xml
Imports System.Xml.Xsl
Imports System.IO

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim xsltContent As String = "<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
                            <xsl:template match='/root'>
                                <html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
                            </xsl:template>
                        </xsl:stylesheet>"
Dim xmlContent As String = "<root><item>Hello</item><item>World</item></root>"

Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(xsltContent))
	transform.Load(reader)
End Using
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(xmlContent))
	transform.Transform(reader, Nothing, results)
End Using
Dim Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf")
$vbLabelText   $csharpLabel

此程式碼片段定義了一個XSLT,用於將XML轉換成簡單的HTML列表。XslCompiledTransform執行轉換,然後由IronPDF將生成的HTML字串呈現為'Final.pdf'。

7. 生成 PDF 報告

要在 C# 中建立 PDF 報表,特別是那些具有自訂頁首、頁尾和頁碼的報表,IronPDF 是非常有效的。典型的工作流程是將報表資料生成為 HTML 文件,然後使用 IronPDF 將此 HTML 轉換為格式良好的 PDF。

using IronPdf;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial";
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica";
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>");
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
using IronPdf;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial";
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica";
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>");
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
Imports IronPdf
Imports System.IO

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.FirstPageNumber = 1
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial"
Renderer.RenderingOptions.TextHeader.FontSize = 12
Renderer.RenderingOptions.TextFooter.DrawDividerLine = True
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica"
Renderer.RenderingOptions.TextFooter.FontSize = 10
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>")
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf")
$vbLabelText   $csharpLabel

此範例為標頭(顯示來源 URL)和頁腳(包含日期、時間和頁碼)配置各種RenderingOptions。 然後將名為「Report.html」的 HTML 檔案轉換為「Report.pdf」,並完成這些設定。

C# 建立 PDF(程式碼範例教程),圖 12:CSharp 建立 PDF

CSharp 創建 PDF 範例輸出

8. 使用PDF圖像和CSS

當您使用 C# 從包含圖像和外部 CSS 文件的 HTML 創建 PDF 文檔時,確保 IronPDF 能夠找到這些資源是至關重要的。 這是通過向渲染方法提供一個BaseUri來實現的,這告訴IronPDF您的HTML中相對URL的根路徑。

using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>",@"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");

using var advancedPDF = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html");
advancedPDF.SaveAs("Invoice.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>",@"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");

using var advancedPDF = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html");
advancedPDF.SaveAs("Invoice.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>","C:\site\assets\")
pdf.SaveAs("html-with-assets.pdf")

Dim advancedPDF = renderer.RenderHtmlFileAsPdf("C:\Assets\TestInvoice1.html")
advancedPDF.SaveAs("Invoice.pdf")
$vbLabelText   $csharpLabel

第一部分展示了使用圖片呈現一個 HTML 字串; BaseUriC:\site\assets)告訴 IronPDF 在哪裡尋找 icons/iron.png。 第二部分會渲染一個 HTML 文件;如果 TestInvoice1.html 使用相對路徑來存取其資產,它們將相對於 C:\Assets 來解決。

9. 將 ASPX 檔案轉換為 PDF

對於傳統的 ASP.NET Web Forms 應用程式,IronPDF 提供了一種方法,可以直接從 .aspx 頁面使用 C# 建立 PDF。 這需要 IronPdf.Extensions.ASPX NuGet 套件,並且特定於 .NET Framework 項目。

using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class SiteMaster : MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            IronPdf.AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class SiteMaster : MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            IronPdf.AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
Imports System
Imports System.Web.UI
Imports IronPdf

Namespace aspxtopdf
	Partial Public Class SiteMaster
		Inherits MasterPage

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
			IronPdf.AspxToPdf.RenderThisPageAsPdf()
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

在 ASP.NET 主版頁或任何 .aspx 頁面的 Page_Load 事件中,AspxToPdf.RenderThisPageAsPdf() 將當前頁面的輸出渲染為 PDF。 這通常更適合放在按鈕點擊事件中,以避免回傳問題。

C# 建立 PDF (程式碼範例教學),圖 13: CSharp 建立 PDF

CSharp 創建 PDF 範例輸出

10. 查看 HTML 轉 PDF 範例檔案

這個例子重新探討將實時URL轉換為PDF,這是在需要使用C#創建網頁內容的pdf存檔或共享在線信息快照時的一個常見需求。

using IronPdf;
using System;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var uri = new Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/");
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
using IronPdf;
using System;
using System.IO;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var uri = new Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/");
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
Imports IronPdf
Imports System
Imports System.IO

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim uri As New Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/")
Dim pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"))
$vbLabelText   $csharpLabel

在這裡,ChromePdfRenderer.StaticRenderUrlAsPdf() 提供了一個快速的靜態方法,可以將給定 Uri 的內容直接轉換為 PdfDocument,然後保存。 PDF 檔案在 Debug 資料夾中建立。 這是輸出:

C# 創建 PDF(代碼示例教程),圖 14:CSharp 創建 PDF

CSharp 創建 PDF 範例輸出

快速入門指南解釋了如何通過 NuGet 安裝 IronPDF(適用於那些不熟悉 NuGet 包管理器的人)。

11. 在 .NET 中生成 PDF 文件

此範例進一步說明如何在 ASP.NET Web Forms 中使用 IronPDF 來建立 PDF 文件,具體來說是通過按鈕點擊將當前頁面呈現為 PDF。 這是一個產生可下載 PDF 版本的網頁表單或報告的典型情況。

using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            IronPdf.AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
using System;
using System.Web.UI;
using IronPdf;

namespace aspxtopdf
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            IronPdf.AspxToPdf.RenderThisPageAsPdf();
        }
    }
}
Imports System
Imports System.Web.UI
Imports IronPdf

Namespace aspxtopdf
	Partial Public Class _Default
		Inherits Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
		End Sub

		Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
			IronPdf.AspxToPdf.RenderThisPageAsPdf()
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Button1被點擊時,AspxToPdf.RenderThisPageAsPdf()捕獲當前ASP.NET頁面的渲染輸出,並將其作為PDF流式傳輸到瀏覽器。 請記住,這需要 IronPdf.Extensions.ASPX NuGet 套件。

C# 建立 PDF(程式碼範例教程),圖 15:CSharp 建立 PDF

CSharp 創建 PDF 範例輸出

這需要從NuGet 官方頁面安裝IronPdf.Extensions.ASPX。 在 .NET Core 中不可用,因為 ASPX 已被 MVC 模型取代。

12. 生成 PDF 文件(更多基本範例)

這裡有另一個快速範例,從 HTML 字串創建 PDF。 這對於非常簡單的 PDF 生成需求很有用,其中的 HTML 內容是最小的或是即時構建的。

using IronPdf;

private void HTMLString()
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    var outputPath = "ChromePdfRenderer.pdf";
    pdf.SaveAs(outputPath);
}
using IronPdf;

private void HTMLString()
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    var outputPath = "ChromePdfRenderer.pdf";
    pdf.SaveAs(outputPath);
}
Imports IronPdf

Private Sub HTMLString()
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	Dim renderer = New IronPdf.ChromePdfRenderer()
	Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
	Dim outputPath = "ChromePdfRenderer.pdf"
	pdf.SaveAs(outputPath)
End Sub
$vbLabelText   $csharpLabel

這個私有方法演示了如何從一個簡單的 H1 標籤創建 PDF 並保存它。

以下代碼顯示如何在Page_Load事件中直接從ASPX頁面創建PDF。 雖然可以,但由於可能出現頁面生命週期事件和回傳問題,應謹慎使用此方法; 通常,從特定的使用者操作(例如按鈕點擊)觸發 PDF 生成更為可靠。

using System;
using System.Web.UI;
using IronPdf;

protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
using System;
using System.Web.UI;
using IronPdf;

protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
Imports System
Imports System.Web.UI
Imports IronPdf

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
$vbLabelText   $csharpLabel

IronPDF 通過 Chromium 渲染引擎很好地支持 JavaScript。不過,有一點需要注意,您可能需要在頁面渲染中添加延遲,以便在生成 PDF 時讓 JavaScript 有時間執行。

13. 用於 .NET 的 PDF 庫(WinForms 範例)

IronPDF 可以輕鬆整合到 Windows Forms(WinForms)桌面應用程式中以建立 PDF。 此範例顯示如何從TextBox取得使用者輸入並在按下Button時生成PDF。

using IronPdf;
using System.Windows.Forms;
using System;
using System.ComponentModel;
using System.Drawing;

namespace ReadPdf
{
    public partial class Form1 : Form
    {
        private TextBox textBox1;
        private Button button1;
        private IContainer components = null;

        public Form1()
        {
            InitializeComponent();
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
       {
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.button1 = new System.Windows.Forms.Button();
           this.SuspendLayout();

            this.textBox1.Location = new System.Drawing.Point(12, 12);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(260, 20);
            this.textBox1.TabIndex = 0;

            this.button1.Location = new System.Drawing.Point(12, 38);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(100, 23);
            this.button1.TabIndex = 1;
            this.button1.Text = "Create PDF";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);

            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(284, 73);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.textBox1);
            this.Name = "Form1";
            this.Text = "PDF Creator";
            this.ResumeLayout(false);
            this.PerformLayout();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            var renderer = new ChromePdfRenderer();
            string text = textBox1.Text;
            renderer.RenderHtmlAsPdf("<h1>"+ System.Net.WebUtility.HtmlEncode(text) +"</h1>").SaveAs("custom.pdf");
            MessageBox.Show("Done !");
        }
    }
}
using IronPdf;
using System.Windows.Forms;
using System;
using System.ComponentModel;
using System.Drawing;

namespace ReadPdf
{
    public partial class Form1 : Form
    {
        private TextBox textBox1;
        private Button button1;
        private IContainer components = null;

        public Form1()
        {
            InitializeComponent();
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
       {
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.button1 = new System.Windows.Forms.Button();
           this.SuspendLayout();

            this.textBox1.Location = new System.Drawing.Point(12, 12);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(260, 20);
            this.textBox1.TabIndex = 0;

            this.button1.Location = new System.Drawing.Point(12, 38);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(100, 23);
            this.button1.TabIndex = 1;
            this.button1.Text = "Create PDF";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);

            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(284, 73);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.textBox1);
            this.Name = "Form1";
            this.Text = "PDF Creator";
            this.ResumeLayout(false);
            this.PerformLayout();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
            var renderer = new ChromePdfRenderer();
            string text = textBox1.Text;
            renderer.RenderHtmlAsPdf("<h1>"+ System.Net.WebUtility.HtmlEncode(text) +"</h1>").SaveAs("custom.pdf");
            MessageBox.Show("Done !");
        }
    }
}
Imports IronPdf
Imports System.Windows.Forms
Imports System
Imports System.ComponentModel
Imports System.Drawing

Namespace ReadPdf
	Partial Public Class Form1
		Inherits Form

		Private textBox1 As TextBox
		Private WithEvents button1 As Button
		Private components As IContainer = Nothing

		Public Sub New()
			InitializeComponent()
		End Sub

		Protected Overrides Sub Dispose(ByVal disposing As Boolean)
			If disposing AndAlso (components IsNot Nothing) Then
				components.Dispose()
			End If
			MyBase.Dispose(disposing)
		End Sub

		Private Sub InitializeComponent()
			Me.textBox1 = New System.Windows.Forms.TextBox()
			Me.button1 = New System.Windows.Forms.Button()
		   Me.SuspendLayout()

			Me.textBox1.Location = New System.Drawing.Point(12, 12)
			Me.textBox1.Name = "textBox1"
			Me.textBox1.Size = New System.Drawing.Size(260, 20)
			Me.textBox1.TabIndex = 0

			Me.button1.Location = New System.Drawing.Point(12, 38)
			Me.button1.Name = "button1"
			Me.button1.Size = New System.Drawing.Size(100, 23)
			Me.button1.TabIndex = 1
			Me.button1.Text = "Create PDF"
			Me.button1.UseVisualStyleBackColor = True
'INSTANT VB NOTE: The following InitializeComponent event wireup was converted to a 'Handles' clause:
'ORIGINAL LINE: this.button1.Click += new System.EventHandler(this.button1_Click);

			Me.AutoScaleDimensions = New System.Drawing.SizeF(6F, 13F)
			Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
			Me.ClientSize = New System.Drawing.Size(284, 73)
			Me.Controls.Add(Me.button1)
			Me.Controls.Add(Me.textBox1)
			Me.Name = "Form1"
			Me.Text = "PDF Creator"
			Me.ResumeLayout(False)
			Me.PerformLayout()
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
			Dim renderer = New ChromePdfRenderer()
'INSTANT VB NOTE: The variable text was renamed since Visual Basic does not handle local variables named the same as class members well:
			Dim text_Conflict As String = textBox1.Text
			renderer.RenderHtmlAsPdf("<h1>" & System.Net.WebUtility.HtmlEncode(text_Conflict) &"</h1>").SaveAs("custom.pdf")
			MessageBox.Show("Done !")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

此 WinForms 代碼使用 TextBoxButton 初始化一個簡單的使用者介面。 按下按鈕時,它會從textBox1中取出文本,將其包裹在 H1 HTML 標籤內(為了安全起見確保對用戶輸入進行 HTML 編碼),並將其渲染到「custom.pdf」中。

14. Chrome PDF 渲染引擎

IronPDF 的 Chrome PDF 渲染引擎保證從原始 HTML 源生成的 PDF 文件具有「Chrome 相同」的 PDF 渲染效果。

Chrome PDF 渲染功能的一些特點是:

  • 快 20% 的渲染:提供輕鬆的多執行緒和異步,使用任意多的 CPU 核心。 對於 SAAS 和高負載應用程式,這可能快 5 到 20 倍,表現超過直接使用瀏覽器和網頁驅動程式。
  • 全面網頁支援:全面支持 JavaScript、響應式佈局和 CSS3。
  • 經過嚴格測試:此版本通過了1156個綠色單元和整合測試(且沒有紅色),確保其穩定性類似於主要版本,並且每天不斷積極改進。
  • 第 508 節無障礙合規性:使用 PDF(UA) 標籤 PDF 標準生成可訪問的 PDF。
  • Azure 作為一等公民:它就是有效。
  • 持續維護和改進對 .NET 6、5、Core 和 Framework 4.0+ 的全面支持。

    了解 Chrome 渲染引擎的多執行緒和異步支援功能

    這是一個例子:

using IronPdf;
using IronPdf.Rendering;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
using var doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>");
doc.SaveAs("google_chrome.pdf");
using IronPdf;
using IronPdf.Rendering;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
using var doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>");
doc.SaveAs("google_chrome.pdf");
Imports IronPdf
Imports IronPdf.Rendering

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>")
doc.SaveAs("google_chrome.pdf")
$vbLabelText   $csharpLabel

為什麼選擇 IronPDF 來滿足您的 PDF 需求?

雖然有其他 PDF 庫可供選擇,但 IronPDF 提供了數個引人注目的優勢,特別是針對專注於高效且高品質的 PDF 生成的開發人員:

  • 像素精準的 HTML 到 PDF:IronPDF 利用 Chrome 引擎,確保當您從 HTML 創建 PDF 時,輸出結果幾乎與現代網頁瀏覽器中的外觀相同,保留了複雜的 CSS 和 JavaScript。
  • 使用方便:透過直觀的 API 和完整的文件快速入門,本教程中已全面演示。 像是將 HTML 字串或 URL 轉換成 PDF 的常見任務只需少量代碼。
  • 快速設置與整合:透過簡單的 NuGet 安裝和直觀的 API,只需幾分鐘即可在您的專案中開始建立 PDF,與一些需要更複雜配置的庫不同。
  • 全面功能集:除了從HTML創建基本的PDF外,IronPDF還支持包括頁眉/頁腳、表單填寫、數位簽名、密碼保護、PDF合併等在內的廣泛功能。
  • 性能和擴展性:IronPDF 專為現代多執行緒應用程式而設計,可以處理高需求的 PDF 生成任務,並在伺服器環境中具有良好的延展性。
  • 卓越的支援和定期更新:享有專業支援以及一個被積極維護和改進的資料庫。

常見問題 (FAQ)

問:用 HTML 生成 PDF 最簡單的方法是什麼?

很多開發人員發現 IronPDF 是最簡單的方法之一,因為它的 RenderHtmlAsPdf 方法簡單且對 HTML 標準有強大的支持。 您可以只需幾行程式碼就從 HTML 字串或 URL 建立 PDF 檔。

問:IronPDF 是免費的 PDF 函式庫嗎?

IronPDF 提供開發和測試的免費授權。 生產部署需要商業許可證。 他們提供試用期以評估所有功能。

問:IronPDF可以轉換包含JavaScript和CSS3的複雜網頁嗎?

A:是的,IronPDF 使用現代化的 Chromium 引擎,提供對 HTML5、CSS3、JavaScript、響應式佈局及其他網頁技術的優良支援,確保在您創建 pdf 文件時的精確呈現。

問:IronPDF 能處理大型 PDF 生成嗎?

是的,IronPDF 專為效能而設計,能有效地建立相當大尺寸的 PDF 文件。其渲染引擎和非同步操作選項使其適合用於要求嚴格的應用程式。

15. 摘要

感謝閱讀! 本綜合教程已向您展示了幾種使用IronPDF在.NET中創建PDF文檔的強大方法。 無論您需要將 HTML 轉換為 PDF、渲染 URL 或生成複雜的報告,IronPDF 都提供了一個直觀且強大的解決方案。 它的易用性再加上進階功能,如 JavaScript、CSS 和圖像支援,使其成為開發者尋求高效生成高質量 PDF 文件的理想選擇。

準備好簡化您的 PDF 生成並掌控您的文檔工作流程了嗎?

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