如何开始使用 IronPDF C# PDF 库

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

IronPDF 解决了在应用程序中添加 PDF 生成器的难题,并自动将格式化的文档转化为 PDF。

  • 用 .NET 将网页表单、本地 HTML 网页和其他网页转换为 PDF
  • 允许用户下载文档、通过电子邮件发送文档或将文档存储到云中。
  • 制作发票、报价、报告、合同和其他文档。
  • 使用 ASP.NET、ASP.NET Core、Web 表单、MVC、.NET Framework 上的 Web API 和 .NET Core。

步骤 1

1. 将IronPDF C#库安装到您的项目中

适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronPDFNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。

适用于PDF的C# NuGet库 nuget.org/packages/IronPdf/
Install-Package IronPdf

考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip

手动安装到你的项目中

下载DLL

1.1.使用 NuGet 软件包管理器安装

在 Visual Studio 中安装 IronPDF,或使用 NuGet 包管理器在命令行中安装。在 Visual Studio 中,用以下命令导航到控制台

  • 工具 ->
  • NuGet 软件包管理器 ->

  • 软件包管理器控制台
Install-Package IronPdf

并查看 NuGet 上的 IronPDF 了解有关版本更新和安装的更多信息。

还有其他IronPdf NuGet包可用于Linux、Mac、Azure和AWS目标的特定部署,详情请参见我们的 IronPDF 高级 NuGet 安装指南 .

1.2.直接下载 DLL

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

以下是适用于特定平台的其他 IronPDF DLL 压缩包: .

请记住,在任何使用 IronPDF 的 cs 类文件的顶部添加此语句:

使用 IronPdf;``

1.3.安装和部署程序库

更多详情,请查看如何 安装和部署 IronPDF C# 库.

1.4A 可选:Linux 部署

我们正式支持 Ubuntu、Debian、CentOS、Fedora 和 Amazon Linux 2.

1.4B 可选:Docker 部署

我们正式支持以下版本的 DockerWindows、Ubuntu、Debian、CentOS 和 Amazon Linux 2,并提供 工作的 Docker 文件.

1.4C 可选:Azure 部署

1.4D 可选:亚马逊 AWS 部署

1.4E 可选:支持 macOS


教程

申请许可证密钥

在使用 IronPDF 之前,在应用程序启动时加入此代码。这种方法普遍有效且易于实施。

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IRON VB CONVERTER ERROR developers@ironsoftware.com
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 网页表单转换为 PDF

只需一行代码,就能将 ASP.NET 网页表单渲染为 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 Application (.NET框架) -> 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 控制台应用程序中运行。

使用这些模板属性构建内容。

{页码} {总页数} {网址} {日期} {时间} {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 文件作为 Content 包含在项目中,以便通过文件名访问它们。

: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 开发人员提供了".NET"。

16.申请许可证

使用 IronPDF 需要许可证密钥。要进一步了解如何使用许可证密钥,请访问 IronPDF 许可证密钥 page.


教程快速访问

查看应用程序接口参考

探索 IronPDF 的 API 参考,其中概述了 IronPDF 的所有功能、命名空间、类、方法字段和枚举的详细信息。

查看应用程序接口参考