使用 IRONPDF

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

已更新 2024年9月4日
分享:

本文將教您如何使用IronPDF在C# .NET程式語言中,從網頁生成PDF文件。

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

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

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


1. 在 Visual Studio 中創建新專案

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

C# 創建 PDF(代碼示例教程),圖 01:在 Visual Studio 中創建一個新項目

在 Visual Studio 中創建一個新專案

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

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

配置此專案

選擇所需的 .NET Framework,然後按一下下方所示的 Create 按鈕:

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 命令行

在 Visual Studio 菜單中,依次選擇 工具 > NuGet 套件管理員 > 套件管理器主控台

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

導航至套件管理員主控台

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

Install-Package IronPdf

C# 建立 PDF(代碼範例教程),圖 07:安裝步驟

安裝步驟

現在套件將下載/安裝到當前專案並準備好使用。

C# 創建 PDF(代碼示例教程),圖 08:在軟體包管理控制台中的安裝過程

在套件管理器主控台中的安裝過程

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

在安裝了IronPDF庫後,第一個目標是創建一個PDFDocument物件在 C#。 將以下代碼複製並貼到您的 Visual Studio 中,然後運行該程序。

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

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

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

Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
mypdf.SaveAs("FirstPDFDocument.pdf")
VB   C#

在執行您的 C# 專案後,專案的 bin 資料夾中會有一個名為 "FirstPDFDocument.pdf" 的檔案,雙擊該檔案,PDF 檔案將在瀏覽器標籤中開啟。

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


在 C# 中建立 PDF 檔案 或 建立 PDF 檔案將 HTML 轉換為 PDF只需幾行代碼即可使用IronPDF。

3. 從 URL 建立 PDF 文件

在 C# 中使用 URL 建立 PDF 檔案同樣簡單,只需這三行程式碼即可完成。 以下程式碼將演示如何從 URL 創建 PDF 檔案。

using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from a URL or local file path
Dim pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
VB   C#

以下是上述程式碼的輸出。

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

從網址渲染的 PDF 文件輸出

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

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

渲染複雜網站的另一個示例

4. 將 ASP.NET MVC 渲染為 PDF

您可以提供現有的 HTML 文件或字串、現有的 PDF 文件,或在 ASP.NET MVC 中的 PDF。 要輕鬆提供這些文件或字符串,請使用IronPDF並通過一個DLL ZIP 檔案或透過IronPDF NuGet 套件.

要在ASP.NET MVC中提供PDF文檔需要生成FileResult方法。 使用 IronPDF,您可以使用MVC返回 PDF 檔案。

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlFileAsPdf("Project/MyHtmlDocument.html");
// or to convert an HTML string
//var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition","attachment;filename=\"FileName.pdf\"");
// edit this line to display ion browser and change the file name
Response.BinaryWrite(pdf.BinaryData);
Response.Flush();
Response.End();
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlFileAsPdf("Project/MyHtmlDocument.html");
// or to convert an HTML string
//var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition","attachment;filename=\"FileName.pdf\"");
// edit this line to display ion browser and change the file name
Response.BinaryWrite(pdf.BinaryData);
Response.Flush();
Response.End();
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlFileAsPdf("Project/MyHtmlDocument.html")
' or to convert an HTML string
'var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");
Response.Clear()
Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition","attachment;filename=""FileName.pdf""")
' edit this line to display ion browser and change the file name
Response.BinaryWrite(pdf.BinaryData)
Response.Flush()
Response.End()
VB   C#

5. 將 Razor 視圖轉換為 PDF

以下方法可輕鬆將 Razor 視圖渲染為字串。 IronPDF 的HTML 轉 PDF功能可以用來將該 Razor 視圖渲染為字串。 不要忘記設置 IronPdf.ChromePdfRenderer.RenderHtmlAsPdf 方法的選擇性 BaseURI 參數以加載相對資源、CSS、JavaScript 和圖像。 這是一個例子:

public string RenderRazorViewToString(string viewName, object model)
{ 
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

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

    ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext,
        viewName);
        var viewContext = new ViewContext(ControllerContext, viewResult.View,
        ViewData, TempData, sw);
        viewResult.View.Render(viewContext, sw);
        viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
        return sw.GetStringBuilder().ToString();
    }
}
Public Function RenderRazorViewToString(ByVal viewName As String, ByVal model As Object) As String
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

	ViewData.Model = model
	Using sw = New StringWriter()
		Dim viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName)
		Dim viewContext As New ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw)
		viewResult.View.Render(viewContext, sw)
		viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View)
		Return sw.GetStringBuilder().ToString()
	End Using
End Function
VB   C#

請閱讀.NET MVC PDF 指南文檔以學習如何將 MVC 視圖渲染為二進制 PDF 文件。

6. 將 XML 轉換為 PDF

直接將 C# XML 轉為 PDF 可能是一個複雜的挑戰,最好從 XSLT 開始。 可以通過HTML將XML渲染為PDF(5)使用 XLST 轉換。

這些文件定義了如何將給定架構的 XML 轉換為準確的 HTML 表示,並且是已經建立的標準。

然後可以使用 IronPDF 將生成的 HTML 字串或文件渲染為 PDF。.NET PDF 生成器:

這是一個例子:

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(XSLT))) {
    transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(XML))) {
    transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// options, headers and footers may be set there
// Render the XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(XSLT))) {
    transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(XML))) {
    transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// options, headers and footers may be set there
// Render the XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(XSLT))
	transform.Load(reader)
End Using
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(XML))
	transform.Transform(reader, Nothing, results)
End Using
Dim Renderer As New IronPdf.ChromePdfRenderer()
' options, headers and footers may be set there
' Render the XML as a PDF via XSLT
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf")
VB   C#

7. 生成 PDF 報告

IronPDF 可以用作一個PDF Reader for C#並協助在 ASP.NET C# 中將 SSRS 報表可視化並匯出為 PDF。 IronPDF 可用於將數據快照渲染為 PDF 文件格式的「報告」。 它也可以作為一個PDF C# 解析器. 基本方法是先將報告生成為 HTML 文件,然後使用 IronPDF 將 HTML 渲染為 PDF。

要設計 XML 報告,可以先解析 XML,然後用數據生成 HTML。 這些報告可以生成為HTML,然後可以使用IronPDF自定義並轉換為PDF格式。 在 ASP.NET 中呈現 HTML 內容的最簡單方法是使用 ASP.NET WebForms 的 Form_Load 事件中的 IronPdf.AspxToPdf 類別。

這是一個例子:

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// add a header to very page easily
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
// add a footer too
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Arial;
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// add a header to very page easily
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
// add a footer too
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Arial;
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim Renderer As New IronPdf.ChromePdfRenderer()
' add a header to very page easily
Renderer.RenderingOptions.FirstPageNumber = 1
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Helvetica
Renderer.RenderingOptions.TextHeader.FontSize = 12
' add a footer too
Renderer.RenderingOptions.TextFooter.DrawDividerLine = True
Renderer.RenderingOptions.TextFooter.Font = IronSoftware.Drawing.FontTypes.Arial
Renderer.RenderingOptions.TextFooter.FontSize = 10
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf")
VB   C#

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

CSharp 建立 PDF

8. 使用 PDF 圖片和 CSS 進行工作

若要使用 IronPDF 將 HTML 字串轉換為 PDF,請在處理資源時提供 BaseUri。 所有資產,例如 CSS、JavaScript 檔案和圖片,將相對於該基礎 URL 加載。

BaseURL 可以是以 "http" 開頭的網頁 URL 以載入遠端資產,或者是用於存取磁碟上資產的本地文件路徑。

另一個技巧是使用 IronPdf.Imaging.ImageUtilities.ImageToDataUri 方法將任何 System.Drawing.Image 或 Bitmap 對象轉換成 HTML 字串,這樣可以直接嵌入 HTML 而不必保存到磁碟。 這是一個例子:

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

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

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

Dim pdf = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>","C:\site\assets\")
pdf.SaveAs("html-with-assets.pdf")
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim advancedPDF = renderer.RenderHtmlFileAsPdf("C:\Assets\TestInvoice1.html")
advancedPDF.SaveAs("Invoice.pdf")
VB   C#

9. 將 ASPX 文件轉換為 PDF

首先,我們先存取「開發免費」的 C# 函式庫來將 ASPX 文件轉換成 PDF。 您可以下載ASPX轉換工具或通過訪問它IronPDF NuGet. 按照慣例安裝到您的 Visual Studio 專案中。 此外,它需要IronPdf.Extensions.ASPX 來自 NuGet 官方頁面需要安裝。 在 .NET Core 中不可用,因為 ASPX 已被 MVC 模型取代。 現在您擁有 IronPDF 及其擴展,您將會看到它具有 HTML 轉換以及從 ASPX 生成 PDF 的功能,如下代碼所示。

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";
            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";
            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"
			AspxToPdf.RenderThisPageAsPdf()
		End Sub
	End Class
End Namespace
VB   C#

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

CSharp 建立 PDF

10. 查看 HTML 至 PDF 範例檔案

以下代碼展示了如何使用 IronPDF 以程式化方式將 HTML 轉換為 PDF 文件。

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/");
// turn page into pdf
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
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/");
// turn page into pdf
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
// save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
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/")
' turn page into pdf
Dim pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri)
' save resulting pdf into file
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"))
VB   C#

PDF 檔案在 Debug 資料夾中建立。 這是輸出:

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

CSharp 建立 PDF

快速入門指南解釋如何通過 NuGet 安裝 IronPDF (對於不熟悉 NuGet 套件管理器的人来说).

11. 在 C# .NET 中生成 PDF 文件

藉由使用IronPDF的豐富C#庫,任何ASP.NET頁面都可以輕鬆地從HTML轉換為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";
            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";
            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"
			AspxToPdf.RenderThisPageAsPdf()
		End Sub
	End Class
End Namespace
VB   C#

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

CSharp 建立 PDF

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

12. 生成 PDF 文件

安裝 IronPDF C# HTML to PDF 函式庫。 存取軟體方法直接下載檔案以生成PDF.

這是一個快速示範,說明如何從 HTML 輸入字串生成 PDF:

/**
PDF from HTML String
anchor-generate-pdf-from-html-string
**/
private void HTMLString()
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Render any HTML fragment or document to HTML
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    var outputPath = "ChromePdfRenderer.pdf";
    pdf.SaveAs(outputPath);
}
/**
PDF from HTML String
anchor-generate-pdf-from-html-string
**/
private void HTMLString()
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

    // Render any HTML fragment or document to HTML
    var renderer = new IronPdf.ChromePdfRenderer();
    using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
    var outputPath = "ChromePdfRenderer.pdf";
    pdf.SaveAs(outputPath);
}
'''
'''PDF from HTML String
'''anchor-generate-pdf-from-html-string
'''*
Private Sub HTMLString()
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

	' Render any HTML fragment or document to HTML
	Dim renderer = New IronPdf.ChromePdfRenderer()
	Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
	Dim outputPath = "ChromePdfRenderer.pdf"
	pdf.SaveAs(outputPath)
End Sub
VB   C#

以下代碼使用IronPDF直接從ASPX文件生成PDF:

/**
PDF from ASPX
anchor-generate-pdf-from-aspx
**/
protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
/**
PDF from ASPX
anchor-generate-pdf-from-aspx
**/
protected void Page_Load(object sender, EventArgs e)
{
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
'''
'''PDF from ASPX
'''anchor-generate-pdf-from-aspx
'''*
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
	IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
	IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
VB   C#

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

13. PDF 函式庫適用於 .NET

使用IronPDF,我們可以根據應用程式需求輕鬆創建和編輯PDF功能。 IronPDF 提供了一個具有 C# .NET PDF 庫功能的套件。 訪問該庫的兩個主要方式是:

  1. 下載並解壓縮PDF.NET庫的DLL文件

  2. 導航通过 NuGet並通過 Visual Studio 安裝該套件。

    在以下程式碼中,C# Forms 搭配 button1_Click 示範了如何使用 C# 簡單建立 PDF。

using IronPdf;
using System.Windows.Forms;

namespace ReadPdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

            //Used ChromePdfRenderer Convert Class
            var renderer = new ChromePdfRenderer();
            //Getting Text from TextBox
            string text = textBox1.Text;
            //rendering or converting htmlaspdf.
            renderer.RenderHtmlAsPdf("<h1>"+text+"</h1>").SaveAs("custom.pdf");
            //Confirmation
            MessageBox.Show("Done !");
        }
    }
}
using IronPdf;
using System.Windows.Forms;

namespace ReadPdf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

            //Used ChromePdfRenderer Convert Class
            var renderer = new ChromePdfRenderer();
            //Getting Text from TextBox
            string text = textBox1.Text;
            //rendering or converting htmlaspdf.
            renderer.RenderHtmlAsPdf("<h1>"+text+"</h1>").SaveAs("custom.pdf");
            //Confirmation
            MessageBox.Show("Done !");
        }
    }
}
Imports IronPdf
Imports System.Windows.Forms

Namespace ReadPdf
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
			IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

			'Used ChromePdfRenderer Convert Class
			Dim renderer = New ChromePdfRenderer()
			'Getting Text from TextBox
'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
			'rendering or converting htmlaspdf.
			renderer.RenderHtmlAsPdf("<h1>" & text_Conflict &"</h1>").SaveAs("custom.pdf")
			'Confirmation
			MessageBox.Show("Done !")
		End Sub
	End Class
End Namespace
VB   C#

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

CSharp 建立 PDF

14. Chrome PDF 渲染引擎

Iron Software 的工程團隊自豪地發布了 IronPDF 的一個改變遊戲規則的升級版本,現在具有「Chrome Identical」PDF 渲染功能。

首先,您必須從名為IronPdf的NuGet套件管理器中將IronPDF安裝到您的專案中。 將全域層級更改為新的渲染器是簡單的。 此方法會更新您現有的 ChromePdfRendererAspxToPdf 代碼的所有用法。

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

  1. 高品質渲染

    • 最新的 "Blink"!HTML 渲染。 選擇與 Chrome 相同的渲染或增強渲染。
  2. 渲染速度提升20%

    • 提供輕鬆的多線程和異步處理,可以使用您希望的任意數量的CPU核心。 對於 SAAS 和高負載應用程式,這可能會快 5-20 倍,性能超越直接瀏覽器使用和網頁驅動程式。
  3. 全面支援

    • 全面支持 JavaScript響應式佈局CSS3

    • Azure 作為一等公民。 它只是有效。

    • 持續維護和改進對 .NET 6、5、Core 和 Framework 4.0+ 的全面支持。
  4. 經過嚴格測試

    • 此版本通過了 1156 個綠色單元與整合測試 (沒有紅的),確保其穩定性類似於主要版本,並且每天持續且積極地改進。
  5. 符合第 508 條無障礙法規

    使用生產可存取的PDFPDF(UA)標記的PDF標準.

    探索多執行緒和非同步支援功能用於 Chrome 渲染引擎。

    這是一個例子:

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.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");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

IChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.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");
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

Dim renderer As IChromePdfRenderer = New ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.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")
VB   C#

C# 建立 PDF(範例教學),圖17:CSharp 建立 PDF

CSharp 建立 PDF

15. 摘要

感謝閱讀! 本文示範了如何使用IronPDF在C#中創建PDF文件。 IronPDF 非常適合需要將 HTML 內容轉換成 PDF 並且不使用 HTML 標籤的用戶,因為它易於使用並具備額外功能,如 JavaScript、CSS 和圖片。

因此,請嘗試這些方法,並在本文的評論區留下您的反饋意見。!如果您還不是 IronPDF 的客戶,您可以嘗試30 天免費試用查看他們的可用功能。

如果您購買完整的 Iron Suite,您將以兩個產品的價格獲得全部 7 個產品。如需進一步的詳細資訊,請查閱IronPDF 授權選項,請訪問Iron Suite 價格頁面購買完整套件。


資料庫快速訪問

Documentation related to 資料庫快速訪問

閱讀 API 參考資料

IronPDF 的文件可以在互動式 API 參考中獲得。

閱讀 API 參考資料
< 上一頁
.NET Core PDF 庫
下一個 >
x509certificate2 程式化地為 PDF 添加數位簽名

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >