如何開始使用 IronPDF C# PDF 庫

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

IronPDF 解決了將 PDF 生成功能添加到應用程式中的難題,並自動將格式化的文件轉換為 PDF。


步驟 1

1. 將 IronPDF C# 函式庫安裝到您的專案中

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

立即開始在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer

查看 IronPDFNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。

C# NuGet 程式庫用于 PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

請考慮安裝 IronPDF DLL 直接下載並手動安裝到您的專案或GAC表單: IronPdf.zip

手動安裝到您的項目中

下載DLL

1.1. 使用 NuGet 套件管理器安裝

使用 NuGet 套件管理器在 Visual Studio 或命令行中安裝 IronPDF。 在 Visual Studio 中,導航至主控台:

  • 工具 ->
  • NuGet 套件管理器
  • 套件管理器主控台
Install-Package IronPdf

查看 IronPDF 在 NuGet 上 了解更多關於版本更新和安裝。

還有其他IronPdf NuGet 套件可用於特定部署到 Linux、Mac、Azure 和 AWS 的目標,這些都在我們的文檔中描述。IronPDF 高級 NuGet 安裝指南 .

1.2. 直接下載 DLL

或者,您可以 直接下載DLL.

以下是針對特定平台可用的其他 IronPDF DLL 壓縮包:

  • Windows
  • Linux
  • MacOs

    請記得將此語句添加到任何使用 IronPDF 的 cs 類文件的頂端:

    using IronPdf;

1.3. 安裝和部署庫

如需更多詳情,請查閱如何進行的指南安裝和部署 IronPDF C# 庫.

1.4A 選擇性:Linux 部署

1.4B 可選:Docker 部署

1.4C 可選:Azure 部署

1.4D 選擇性:Amazon AWS 部署

1.4E 選擇性:macOS 支援

教程指引

應用授權金鑰

在使用IronPDF之前,請在應用程序啟動時包含此程式碼。 此方法普遍有效且易於實施。

IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY"
VB   C#

如果您不希望使用內嵌程式碼來應用授權金鑰,請訪問「IronPDF 授權金鑰探索替代方法的文章。

2. 渲染 HTML 字串至 PDF

IronPDF 可以很輕鬆地將 HTML 文字渲染為 PDF。 此範例說明了該功能。 當您只需要在您的 PDF 文件中添加簡單文本時,請使用此選項。

  • 建立一個新的 .NET Core 主控台應用程式
  • 安裝 NuGet 套件
  • 使用 using 關鍵字導入 IronPdf 命名空間
  • 創建一個新的 ChromePdfRenderer 渲染器
  • 呼叫 RenderHtmlAsPdf,然後在結果上使用 SaveAs
:path=/static-assets/pdf/content-code-examples/get-started/get-started-1.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdf.SaveAs("html-string.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdf.SaveAs("html-string.pdf")
VB   C#

3. 將 HTML 檔案轉換為 PDF

您可以將包含圖片、CSS、表單、超連結和JavaScript的HTML文件呈現為PDF文件。 在本地訪問源文件的情況下,使用此方法。

該範例調用 RenderHtmlFileAsPdf,將返回一個名為 PDF 的變數。

呼叫 SaveAs 將輸出保存為 PDF 檔。

範例假設在 Assets 資料夾中有一個 HTML 文件。

:path=/static-assets/pdf/content-code-examples/get-started/get-started-2.cs
using IronPdf;

// Create a PDF from an existing HTML using C#
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Assets/MyHTML.html");
pdf.SaveAs("MyPdf.pdf");
Imports IronPdf

' Create a PDF from an existing HTML using C#
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("Assets/MyHTML.html")
pdf.SaveAs("MyPdf.pdf")
VB   C#

4. 將現有 URL 轉換為 PDF

只需幾行 C# 或 VB.NET 代碼即可將現有的網頁渲染為 PDF。 當您需要將已經格式良好的文件的網站轉換為 PDF 時,請使用此選項。

調用 RenderUrlAsPdf 來下載網頁內容,然後可以調用 SaveAs 將內容匯出到本地。

:path=/static-assets/pdf/content-code-examples/get-started/get-started-3.cs
using IronPdf;

// Create a PDF from any existing web page
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");
Imports IronPdf

' Create a PDF from any existing web page
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
pdf.SaveAs("wikipedia.pdf")
VB   C#

5. ASP.NET Web Forms 轉換為 PDF

使用一行程式碼將 ASP.NET Web 表單作為 PDF 而非 HTML 呈現。 將這行程式碼放在頁面後置程式碼的 Page_Load 方法內。

  • 建立新的 ASP.NET WebForms 應用程式或打開現有的應用程式
  • 安裝 NuGet 套件
  • 使用 using 關鍵字導入 IronPdf 命名空間
  • 打開您想要渲染為 PDF 的頁面的後置代碼。 例如,Default.aspx.cs
  • 在 AspxToPdf 上呼叫 RenderThisPageAsPdf
:path=/static-assets/pdf/content-code-examples/get-started/get-started-4.cs
using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
Imports IronPdf
Imports System
Imports System.Web.UI

Namespace WebApplication
	Partial Public Class _Default
		Inherits Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
		End Sub
	End Class
End Namespace
VB   C#

6. 將 ASP MVC 視圖路由到 PDF

使用 ASP MVC 框架將使用者導向 PDF 文件。 在建立新的 ASP MVC 應用程式或將現有的 MVC 控制器新增至應用程式時,使用此選項。

在 Visual Studio 中啟動新專案精靈,選擇 ASP.NET Web 應用程式。(.NET Framework)-> MVC. 或打開現有的 MVC 專案。

打開 Controllers 資料夾中的 HomeController 檔案,並替換 Index 方法,或新增一個控制器。

以下是代码外观的示例:

:path=/static-assets/pdf/content-code-examples/get-started/get-started-5.cs
using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }
        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            return View();
        }
        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";
            return View();
        }
    }
}
Imports IronPdf
Imports System
Imports System.Web.Mvc

Namespace WebApplication8.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As ActionResult
			Dim PDF = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
			Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
		End Function
		Public Function About() As ActionResult
			ViewBag.Message = "Your application description page."
			Return View()
		End Function
		Public Function Contact() As ActionResult
			ViewBag.Message = "Your contact page."
			Return View()
		End Function
	End Class
End Namespace
VB   C#

7. 添加頁首和頁尾

RenderingOptions 屬性允許您為文件的每一頁設計頁首和頁尾。 在 ChromePdfRenderer 對象上訪問這些選項。 此範例適用於 .NET Core 控制台應用程式。

使用這些模板屬性來構建內容。

{頁} {總頁數} {url} {日期} {時間} {html-title}& {pdf-標題}

:path=/static-assets/pdf/content-code-examples/get-started/get-started-6.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.FirstPageNumber = 1;

// Header options
renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
renderer.RenderingOptions.TextHeader.CenterText = "{url}";
renderer.RenderingOptions.TextHeader.Font = IronSoftware.Drawing.FontTypes.Helvetica;
renderer.RenderingOptions.TextHeader.FontSize = 12;

// Footer options
renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
renderer.RenderingOptions.TextHeader.Font = IronSoftware.Drawing.FontTypes.Arial;
renderer.RenderingOptions.TextFooter.FontSize = 10;
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdf.SaveAs("html-string.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.FirstPageNumber = 1

' Header options
renderer.RenderingOptions.TextHeader.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.CenterText = "{url}"
renderer.RenderingOptions.TextHeader.Font = IronSoftware.Drawing.FontTypes.Helvetica
renderer.RenderingOptions.TextHeader.FontSize = 12

' Footer options
renderer.RenderingOptions.TextFooter.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.Font = IronSoftware.Drawing.FontTypes.Arial
renderer.RenderingOptions.TextFooter.FontSize = 10
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdf.SaveAs("html-string.pdf")
VB   C#

7.1. 使用HTML添加頁眉和頁腳

如上所述,此範例適用於 .NET Core 主控台應用程式。使用 HtmlFragment 屬性指定 HTML。

:path=/static-assets/pdf/content-code-examples/get-started/get-started-7.cs
using IronPdf;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Build a footer using html to style the text
// mergeable fields are:
// {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    MaxHeight = 30,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};

// Build a header using an image asset
// Note the use of BaseUrl to set a relative path to the assets
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    MaxHeight = 30,
    HtmlFragment = "<img src='logo.jpg'>",
    BaseUrl = new Uri(@"C:\assets\images").AbsoluteUri
};
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdf.SaveAs("html-string.pdf");
Imports IronPdf
Imports System

Private renderer As New ChromePdfRenderer()

' Build a footer using html to style the text
' mergeable fields are:
' {page} {total-pages} {url} {date} {time} {html-title} & {pdf-title}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
	.MaxHeight = 30,
	.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
	.DrawDividerLine = True
}

' Build a header using an image asset
' Note the use of BaseUrl to set a relative path to the assets
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
	.MaxHeight = 30,
	.HtmlFragment = "<img src='logo.jpg'>",
	.BaseUrl = (New Uri("C:\assets\images")).AbsoluteUri
}
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdf.SaveAs("html-string.pdf")
VB   C#

8. 使用密碼加密PDF文件

設置 PDF 文件的 Password 屬性以加密文件,並強制使用者輸入正確的密碼才能查看文件。 此範例適用於 .NET Core 主控台應用程式。

:path=/static-assets/pdf/content-code-examples/get-started/get-started-8.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
pdf.Password = "strong!@#pass&^%word";
pdf.SaveAs("secured.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
pdf.Password = "strong!@#pass&^%word"
pdf.SaveAs("secured.pdf")
VB   C#

9. 合併和拆分 PDF 文件

使用Merge方法將多個PDF文檔合併在一起,或者使用CopyPages從現有文檔中分割出若干頁。 將 PDF 文件作為內容包含在您的項目中,以便通過檔案名訪問它們。

:path=/static-assets/pdf/content-code-examples/get-started/get-started-9.cs
using IronPdf;
using System.Collections.Generic;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Join Multiple Existing PDFs into a single document
List<PdfDocument> pdfs = new List<PdfDocument>();
pdfs.Add(PdfDocument.FromFile("A.pdf"));
pdfs.Add(PdfDocument.FromFile("B.pdf"));
pdfs.Add(PdfDocument.FromFile("C.pdf"));
PdfDocument mergedPdfDocument = PdfDocument.Merge(pdfs);
mergedPdfDocument.SaveAs("merged.pdf");

// Add a cover page
mergedPdfDocument.PrependPdf(renderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));

// Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");

// Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf");
foreach (PdfDocument pdfDocument in pdfs)
{
    pdfDocument.Dispose();
}
Imports IronPdf
Imports System.Collections.Generic

Private renderer As New ChromePdfRenderer()

' Join Multiple Existing PDFs into a single document
Private pdfs As New List(Of PdfDocument)()
pdfs.Add(PdfDocument.FromFile("A.pdf"))
pdfs.Add(PdfDocument.FromFile("B.pdf"))
pdfs.Add(PdfDocument.FromFile("C.pdf"))
Dim mergedPdfDocument As PdfDocument = PdfDocument.Merge(pdfs)
mergedPdfDocument.SaveAs("merged.pdf")

' Add a cover page
mergedPdfDocument.PrependPdf(renderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))

' Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")

' Copy pages 1,2 and save them as a new document.
mergedPdfDocument.CopyPages(1, 2).SaveAs("exerpt.pdf")
For Each pdfDocument As PdfDocument In pdfs
	pdfDocument.Dispose()
Next pdfDocument
VB   C#

10. 從 PDF 文件中提取圖像

此功能需要額外的 NuGet 套件。 安裝 System.Drawing.Common。 使用 ExtractAllText 來獲取文字,使用 ExtractAllImages 方法來獲取圖像。

:path=/static-assets/pdf/content-code-examples/get-started/get-started-10.cs
using IronPdf;

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

// Get all text
string allText = pdf.ExtractAllText();

// Get all Images
var allImages = pdf.ExtractAllImages();

// Or even find the images and text by page
for (var index = 0 ; index < pdf.PageCount ; index++)
{
    int pageNumber = index + 1;
    string pageText = pdf.ExtractTextFromPage(index);
    var pageImages = pdf.ExtractImagesFromPage(index);
}
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("A.pdf")

' Get all text
Private allText As String = pdf.ExtractAllText()

' Get all Images
Private allImages = pdf.ExtractAllImages()

' Or even find the images and text by page
For index = 0 To pdf.PageCount - 1
	Dim pageNumber As Integer = index + 1
	Dim pageText As String = pdf.ExtractTextFromPage(index)
	Dim pageImages = pdf.ExtractImagesFromPage(index)
Next index
VB   C#

11. 啟用 JavaScript

:path=/static-assets/pdf/content-code-examples/get-started/get-started-11.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.RenderDelay(500);
renderer.RenderingOptions = new ChromePdfRenderOptions()
{
    EnableJavaScript = true,
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

12. PDF OCR 和文本提取

在許多情況下,您可以直接從 PDF 中提取嵌入的文字:

:path=/static-assets/pdf/content-code-examples/get-started/get-started-12.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("Invoice.pdf", "password");

// Get all text
string text = pdf.ExtractAllText();
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("Invoice.pdf", "password")

' Get all text
Private text As String = pdf.ExtractAllText()
VB   C#

如果那樣不行,你的文字可能是嵌入在圖片中:

使用 IronOCR 庫掃描文件中非純文字的視覺文本。

您需要安裝 NuGet 套件 IronOcr。 了解更多有關使用 IronOCR 掃描 PDF.

:path=/static-assets/pdf/content-code-examples/get-started/get-started-13.cs
using IronOcr;
using System;

IronTesseract ocr = new IronTesseract();
using (OcrInput Input = new OcrInput())
{
    // OCR entire document
    Input.LoadPdf("Invoice.pdf", Password: "password");

    // Use filters to increase image quality
    Input.Deskew();
    Input.DeNoise();

    OcrResult Result = ocr.Read(Input);

    Console.WriteLine(Result.Text);
    var Barcodes = Result.Barcodes;
    string Text = Result.Text;
}
Imports IronOcr
Imports System

Private ocr As New IronTesseract()
Using Input As New OcrInput()
	' OCR entire document
	Input.LoadPdf("Invoice.pdf", Password:= "password")

	' Use filters to increase image quality
	Input.Deskew()
	Input.DeNoise()

	Dim Result As OcrResult = ocr.Read(Input)

	Console.WriteLine(Result.Text)
	Dim Barcodes = Result.Barcodes
	Dim Text As String = Result.Text
End Using
VB   C#

13. 使用更多渲染選項

這裡有一些更詳細的渲染選項。

:path=/static-assets/pdf/content-code-examples/get-started/get-started-14.cs
using IronPdf;
using System.Text;

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.SetCustomPaperSizeInInches(12.5, 20);
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
renderer.RenderingOptions.Title = "My PDF Document Name";
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(50);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.GrayScale = false;
renderer.RenderingOptions.FitToPaperMode = IronPdf.Engines.Chrome.FitToPaperModes.Automatic;
renderer.RenderingOptions.InputEncoding = Encoding.UTF8;
renderer.RenderingOptions.Zoom = 100;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Change margins (millimeters)
renderer.RenderingOptions.MarginTop = 40;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.MarginBottom = 40;

// Use 2 if a cover page will be appended
renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderHtmlFileAsPdf("my-content.html").SaveAs("my-content.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

14. 下載 C# PDF 速查表

我們已經將此教程編譯成一份易於閱讀和分享的 PDF 文件,詳盡解釋了全部內容。 如何在 C# 和 VB.NET 中創建及編輯 PDF 文件 使用 IronPDF 庫。

您可以下載並將其用作 .NET 專案的開發指南,或列印作為 IronPDF 開發的便捷助手。 這節省了在任何 .NET 專案中開始添加 PDF 功能的時間和精力。


15. 瞭解更多

若要了解更多關於在 C# 或 VB.NET 應用程式中將 HTML 轉換為 PDF 的資訊,請閱讀詳細說明。C# HTML 轉 PDF 教程. 該教程清晰地解釋了使用 HTML 模板、CSS、圖片和 JavaScript 的高級 PDF 設置。

如果您有興趣了解如何在 ASP.NET 應用程式中將 ASPX 頁面動態呈現為 PDF,請查看完整的內容。ASPX 轉 PDF 教程.

完整的IronPDF API 參考文件供 .NET 開發人員使用的版本也可用。

16. 應用授權

IronPDF 需要授權金鑰才能使用。 若要了解更多有關如何套用授權金鑰的資訊,請造訪IronPDF 授權金鑰頁面。


教程快速訪問

查看 API 參考文件

探索IronPDF的API參考資料,其中概述了IronPDF的所有功能、命名空間、類別、方法欄位和列舉的詳細資訊。

查看 API 參考文件