如何开始使用 IronPDF C# PDF 库
IronPDF 负责解决在您的应用程序中添加 PDF 生成的难题,并自动将格式化文档转换为 PDF。
- 将网页表单、本地HTML页面和其他网页转换为.NET的PDF
- 允许用户下载文档,通过电子邮件发送,或存储在云端。
- 生成发票、报价、报告、合同和其他文件。
- 使用ASP.NET、ASP.NET Core、Web 表单、MVC、Web API 在 .NET Framework 和 .NET Core 上工作。
步骤 1
1. 将 IronPDF C# 库安装到您的项目中
开始在您的项目中使用IronPDF,并立即获取免费试用。
查看 IronPDF 上 Nuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。
Install-Package IronPdf
考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip
手动安装到你的项目中
下载DLL1.1. 使用 NuGet 包管理器安装
在 Visual Studio 或命令行中使用 NuGet 包管理器安装 IronPDF。 在 Visual Studio 中,使用以下方法导航到控制台:
- 工具 ->
- NuGet 包管理器 ->
- 软件包管理器控制台
Install-Package IronPdf
并查看 NuGet 上的 IronPDF 有关版本更新和安装的更多信息。
还有其他针对 Linux、Mac、Azure 和 AWS 目标的特定部署的 IronPdf NuGet Packages,这些在我们的文件中有记录。IronPDF 高级 NuGet 安装指南 .
1.2. 直接下载 DLL
或者,您可以 直接下载 DLL.
以下是针对特定平台的其他 IronPDF DLL 压缩包:
1.3. 安装并部署库
有关更多详情,请查看如何进行的指南。安装和部署 IronPDF C# 库.
1.4A 可选:Linux 部署
在 Linux 上部署 IronPDF有据可查,是 Azure 等云部署的热门选择。
1.4B 可选:Docker 部署
在 Docker 上部署 IronPDF已有详尽的文档记录。
我们正式支持以下系统的Docker:Windows、Ubuntu、Debian、CentOS和Amazon Linux 2,并提供工作的 Docker 文件.
1.4C 可选:Azure 部署
- 官方支持Azure WebApps、Azure WebJobs、Azure Functions、Azure Docker实例和Azure VMs。
- 阅读IronPDFAzure 和 Azure 函数设置指南.
1.4D 可选:亚马逊 AWS 部署
A亚马逊 AWS Lambda 教程和支持包括在内。
1.4E 可选项:macOS 支持
- 为 macOS 部署和开发提供官方支持支持使用 Rider 和 "Visual Studio for Mac"。
教程
申请许可证密钥
在使用 IronPDF 之前,请在应用程序启动时包含此代码。 这种方法普遍有效且易于实施。
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY"
如果您不想使用内嵌代码应用许可证密钥,请访问"......"。IronPDF 许可证密钥'一文来探讨替代方法。
将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")
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")
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")
5. 将ASP.NET Web表单转换为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
6. 将ASP MVC视图路由到PDF
使用ASP MVC框架将用户路由至PDF文档。 在创建新的ASP MVC应用程序或将现有MVC控制器添加到应用程序时使用此选项。
在Visual Studio中启动新项目向导,并选择ASP.NET Web 应用程序。(.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
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")
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")
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")
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
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
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
12. PDF文字识别与文本提取
在许多情况下,您可以直接从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()
如果这不起作用 - 您的文本可能嵌入在图像中:
使用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
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
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 教程.
A fullIronPDF API 参考此外,还为 .NET 开发人员提供了".NET"。
16. 应用许可证
IronPDF 需要使用许可密钥。 若要了解如何应用许可证密钥的更多信息,请访问IronPDF 许可证密钥page.