使用IRONPDF 在C#中生成PDF文件 Curtis Chau 已更新:八月 24, 2025 Download IronPDF NuGet 下载 DLL 下载 Windows 安装程序 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 办公文档和报告通常需要从多种格式(包括 HTML)转换为 PDF 文档。 我们还可能需要从网页或 URL 生成 PDF 文件。 为此,我们需要一个多功能的生成器,可以生成包含与原始 HTML 文件完全相同内容的 PDF 文件。 在本教程中,我们将学习如何在 C# 中生成 PDF 文件。 class="hsg-featured-snippet"> 如何在 C# 中生成 PDF 安装用于生成 PDF 文件的 C# 库。 从 HTML 字符串生成 PDF 文档。 从 URL 生成 PDF 文档。 从 HTML 源文件生成 PDF 文档。 从 ASP.NET 网页生成 PDF 文档。 为生成的 PDF 文档添加自定义页眉和页脚。 更多... 什么是 IronPDF? IronPDF .NET PDF 库受到了许多设计师的认可,尤其是使用 C# 的计算机程序员。 您可以毫无疑问地使用此出色的工具为 .NET 创建一个核心 PDF 库。 IronPDF 使用 .NET Chromium 引擎将 HTML 页面转换为 PDF 文档。 使用 HTML 到 PDF,您无需使用复杂的 API 来定位或规划 PDF。 IronPDF 支持标准网络文档:HTML、ASPX、JS、CSS 和图像。 它还使您能够使用 HTML5、CSS、JavaScript 和图像创建 .NET PDF 库。 您可以轻松编辑、盖章,并向 PDF 添加页眉和页脚。 此外,它使 [使用 IronPDF 高效读取 PDF 内容](/examples/reading-pdf-text/) 并提取图像变得非常容易。 IronPDF 提供了一种所有 PDF 相关问题的独特解决方案。 每当您购买 IronPDF 时,您都可以在单一库中获得所有转换,以及与 PDF 文档相关的任务,而无需额外的条件。 IronPDF 是一个完整的软件包,是设计师和 C# 程序员的绝佳工具。 **IronPDF 帮助我们从以下内容生成 PDF 文件:** * HTML 字符串和模板 * ASPX WebForms * MVC 视图 * HTML 文档 * 任何 URL ### IronPDF 功能 IronPDF 帮助您从 HTML 4 和 5、CSS 和 JavaScript 创建 PDF 文档,并从 URL 创建 PDF 文件。 它还帮助使用自定义网络登录凭据、用户代理、代理、Cookie、HTTP 头和表单变量加载 URL,以允许在 HTML 登录表单后登录。 您可以轻松地从 PDF 中提取图像和文本,并在任何现有 PDF 页面上盖上新的 HTML 内容,还可以允许您添加逻辑或 HTML 页眉和页脚。 它可以轻松加载和提取现有的 PDF 文件,并合并和拆分 PDF 文档中的内容。 它有一个自定义“基本 URL”,以允许跨网络访问资源文件,并接受以任何重要文档编码(默认为 UTF-8)编码的 HTML。 您可以简单地保存并从文档、二进制数据或 `MemoryStreams` 加载,并将 PDF 文档转换为 `PrintDocument` 对象,以便无需 Adobe(极少代码)即可打印,并导出有关 API 成功和源代码调试错误的官方日志。 ### 兼容性 它支持 .NET 语言,如 C#、VB.NET 和 F#。 它兼容 .NET 平台,如 .NET 6、5、Core 2x 和 3x、Standard 2 和 Framework 4x。 它可以在应用程序如控制台、Web 和桌面上运行,并受微软 Windows、Linux、macOS、Docker 和 Azure OS 支持。 IronPDF IDE 包括 Microsoft Visual Studio、JetBrains ReSharper 和 Rider。 ## 生成 PDF 文档的步骤 首先,我们需要创建一个新的 Visual Studio 项目。 我将使用控制台应用程序模板进行此演示。 您可以根据自己的需求和选择使用任何类型。 您也可以使用您要添加 PDF 文件生成工具的现有项目。 ### 创建 Visual Studio 项目 打开 Microsoft Visual Studio 2019 或任何其他版本。 建议使用最新版本。 点击“创建新项目”。 选择 C# 控制台应用程序作为应用程序模板。 点击“下一步”按钮。 为您的项目指定一个名称。 我将其命名为“C Sharp Generate PDF”。 您可以根据需要命名。 点击“下一步”按钮,并设置目标 .NET Framework。 我将目标 .NET 框架设置为“.NET 5.0”,即最新的稳定版本。 点击“创建”按钮。 将为您创建一个新项目。 ### 在 Visual Studio 中安装 NuGet 包 在开始之前,我们需要安装 IronPDF 库。 您可以通过以下三种方法之一进行安装: #### 包管理器控制台 在包管理器控制台中写入以下命令。 它将为您下载并安装该包。 ```shell :ProductInstall ```  #### NuGet 包管理器解决方案 您还可以通过使用 NuGet 软件包解决方案安装 Barcode 库。 只需按照以下步骤操作: 点击工具 > NuGet 包管理器 > 管理 NuGet 包解决方案。  这将为您打开 NuGet 包管理器。 点击“浏览”并搜索 IronPDF,如下所示。  点击 IronPDF,然后点击“安装”按钮。 这将在您的项目中安装 IronPDF。 现在您可以在项目中自由使用其任何功能。 #### 直接下载 IronPDF ZIP 或者,您可以[下载 IronPDF ZIP 包进行集成](https://ironpdf.com/packages/IronPdf.zip)。 请记得在使用 IronPDF 的任何 `.cs` 类文件顶部添加此语句: ```csharp using IronPdf; ``` 查看 [IronPDF 的 NuGet 进行安装和更新](https://www.nuget.org/packages/IronPdf),以了解有关版本更新和安装的更多信息。 还有其他针对特定部署的 **IronPDF NuGet 包** 可用于 Linux、Mac、Azure 和 AWS 目标,这些包记录在 [IronPDF 高级 NuGet 安装指南](/get-started/advanced-installation-nuget/)中。 IronPDF 库现已安装,因此让我们进入下一步。 ### 从 HTML 字符串生成 PDF 文件 IronPDF 可以很轻松地从 HTML 文本生成 PDF 文件。 以下示例说明了此功能。 当您只需向 PDF 文件添加简单文本时,请使用此选项。 添加以下命名空间: ```csharp using IronPdf; ``` 使用以下代码示例: ```csharp var Renderer = new ChromePdfRenderer(); // Render HTML as PDF and save the result Renderer.RenderHtmlAsPdf("This is the Tutorial for C# Generate PDF") .SaveAs("GeneratePDF.pdf"); ``` 在上面的代码中,我创建了一个新的 `ChromePdfRenderer`。 然后我调用了 `RenderHtmlAsPdf` 和 `SaveAs` 来获取结果。 #### 输出 运行程序。 它将在项目的 bin 文件夹中生成一个 PDF 文档,因为我们没有指定路径。  ## 生成您的第一个 PDF 文件 安装 IronPDF 库之后,我们可以毫不费力地通过仅几行代码创建 PDF 文件和 PDF 页面。 现在我们将帮助您用 C# 创建第一个 PDF 文档。 复制以下代码,将其粘贴到您的 Visual Studio 并运行程序。 ```csharp var pdf = new ChromePdfRenderer(); PdfDocument doc = pdf.RenderHtmlAsPdf("This is a heading"); doc.SaveAs("FirstPDFDocument.pdf"); ``` 在执行您的 C# 项目后,您的项目的 bin 文件夹中将有一个名为“FirstPDFDocument.pdf”的文件。 双击该文件,PDF 文件将在浏览器选项卡中打开。  使用 IronPDF 在 C# 中创建 PDF 文件或将 HTML 转换为 PDF 只需几行代码。 ## 从 URL 生成 PDF 文档 使用 URL 在 C# 中创建 PDF 文件就像上面的例子一样简单,只需这三行代码。 以下代码将演示如何[使用 IronPDF 从 URL 创建 PDF](/blog/using-ironpdf/csharp-create-pdf-tutorial/)。 ```csharp using IronPdf; var Renderer = new 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"); ``` 以下是上述代码的输出。  将流行的复杂网站转换为 PDF 的其他示例。  ## 从 HTML 文件生成 PDF 文档 我们可以从包含图像、CSS、表单、超链接和 JavaScript 的 HTML 文件生成 PDF 文档。 在您本地访问源文档的情况下,请使用此方法。 此示例使用 `RenderHtmlFileAsPdf` 并返回一个名为 `PDF` 的变量。 调用 `SaveAs` 将输出保存为 PDF 文件。 以下代码示例假设项目的 bin 文件夹中有一个 HTML 文件。 ```csharp var Renderer = new ChromePdfRenderer(); var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html"); pdf.SaveAs("AccountPdf.pdf"); ``` 输入 HTML:  生成的 PDF 文件输出:  ## 从 URL 生成 PDF 文件 我们可以使用几行 C# 或 VB.NET 代码从现有网页生成 PDF 文件。 当您需要从已经格式良好的网站生成 PDF 文档时,请使用此选项。 调用 `RenderUrlAsPdf` 下载网页内容,以便您可以调用 `SaveAs` 将 PDF 文件保存在本地。 ```csharp var Renderer = new ChromePdfRenderer(); var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format"); pdf.SaveAs("wikipedia.pdf"); ``` PDF 文件输出:  ## 从 ASP.NET Web 表单生成 PDF 文档 我们可以通过简单的一行代码从 ASP.NET 网页表单生成 PDF 文档而不是 HTML。 将代码行放在页面代码隐藏文件的 `Page_Load` 方法中。 - 创建一个新的 ASP.NET Web Forms 应用程序或打开一个现有的应用程序 - 为 IronPDF 库安装 NuGet 包 - 使用适当的关键字导入 IronPDF 命名空间 - 打开要渲染为 PDF 的页面的代码隐藏。 例如,Default.aspx.cs - 在 Page Load 函数中写入以下代码。 ```csharp AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); ``` PDF 文件输出:  ## 从 ASP MVC 视图生成 PDF 文件 我们可以从 ASP MVC 框架生成 PDF 文档。 在 Visual Studio 中启动新的项目向导,选择 ASP.NET Web 应用程序(.NET Framework)> MVC。 或者,打开一个现有的 MVC 项目。 打开 Controllers 文件夹中的 `HomeController` 文件,并替换 Index 方法,或添加一个新控制器。 以下是代码应如何显示的示例: ```csharp public ActionResult Index() { 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(); } ``` PDF 文件输出:  ## 添加页眉和页脚 打印选项属性允许您为 PDF 文件的每一页定制页眉和页脚。在 `ChromePdfRenderer` 对象上访问这些选项。 此示例适用于 .NET Core 控制台应用程序。 - 使用这些模板属性构建内容。 - `{page}` `{total-pages}` `{url}` `{date}` `{time}` `{html-title}` & `{pdf-title}` 写下以下代码: ```csharp var ChromePdfRenderer = new ChromePdfRenderer(); ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1; // Header options ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true; ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}"; ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"; ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12; // Footer options ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true; ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial"; ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10; ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"; ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"; ChromePdfRenderer.RenderHtmlAsPdf("This is my Sample Page for Generate PDF Tutorial") .SaveAs("GeneratePDF.pdf"); ``` ### 带有页眉和页脚的 PDF 文件输出  ### 添加页眉和页脚 with HTML 我们可以在 PDF 文档的页眉和页脚中添加文本、日期、时间和页码。 ```csharp var ChromePdfRenderer = new ChromePdfRenderer(); ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter() { Height = 15, HtmlFragment = "{page} of {total-pages}", DrawDividerLine = true }; ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter() { Height = 20, HtmlFragment = "This is Footer {date}", }; ChromePdfRenderer.RenderHtmlAsPdf("This is sample page for Tutorial.") .SaveAs("GeneratePDF.pdf"); ``` 如上所述,此示例适用于 .NET Core 控制台应用程序。使用 `HtmlFragment` 属性指定 HTML。  ## 使用密码加密 PDF 文档 我们可以生成带有密码的 PDF 文档。 设置 PDF 文档的“密码”属性以加密文档,并强制用户输入正确的密码以查看文档。 此示例适用于 .NET Core 控制台应用程序。 ```csharp var ChromePdfRenderer = new ChromePdfRenderer(); var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("Hello world"); pdfDocument.Password = "Password@1234"; pdfDocument.SaveAs("secured.pdf"); ``` PDF 文件输出:  ## 合并和分割 PDF 文档 我们可以将多个 PDF 文档合并为一个新的 PDF 文档。 使用以下代码合并和分割。 ```csharp var ChromePdfRenderer = new ChromePdfRenderer(); // Join Multiple Existing PDFs into a single document var pdfDocuments = new List { PdfDocument.FromFile("AccountPdf.pdf"), PdfDocument.FromFile("GeneratePDF.pdf"), PdfDocument.FromFile("wikipedia.pdf") }; var mergedPdfDocument = PdfDocument.Merge(pdfDocuments); mergedPdfDocument.SaveAs("merged.pdf"); // Add a cover page mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("Cover Page")); // 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("excerpt.pdf"); ``` 使用“Merge”函数合并多个 PDF 文件,或使用“CopyPages”从现有文档中分割多个页面。 将 PDF 作为“内容”包含到您的项目中,通过文件名访问它们。  ## 从 PDF 文档中提取图像 此功能需要额外的 NuGet 包。 安装 `System.Drawing.Common`。 使用 `ExtractAllText` 获取文本,用 `ExtractAllImages` 获取图像。 ```csharp var ChromePdfRenderer = new ChromePdfRenderer(); var pdfDocument = PdfDocument.FromFile("wikipedia.pdf"); // Get all text var allText = pdfDocument.ExtractAllText(); // Get all Images var allImages = pdfDocument.ExtractAllImages(); // Or even find the images and text by page for (var index = 0; index < pdfDocument.PageCount; index++) { var pageNumber = index + 1; var pageText = pdfDocument.ExtractTextFromPage(index); var pageImages = pdfDocument.ExtractImagesFromPage(index); } ``` 您需要添加 `System.Drawing` 以作为位图保存图像。 ## 启用 JavaScript 我们可以使用 IronPDF 在浏览器中启用 JavaScript。 下面的代码示例向我们展示了如何在我们的网络浏览器中启用 JavaScript。 ```csharp var ChromePdfRenderer = new ChromePdfRenderer(); ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer() { EnableJavaScript = true, RenderDelay = 100 }; ``` ### PDF OCR 和文本提取 在许多情况下,您可以直接从 PDF 文档中提取嵌入的文本。 写下以下代码: ```csharp PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf"); // Get all text string Text = PDF.ExtractAllText(); ``` 如果这不起作用,可能是因为您的文本实际上嵌入在图像中。 使用 IronOCR 库扫描不是纯文本的视觉文本。 ## 摘要 您可以生成 PDF 文档,对其进行操作并以任何所需的方式格式化,仅需几行代码。 只需指定操作,IronPDF 就会处理它们。 开发版和购买前的免费试用版也有。 市场上还有其他 PDF 生成库,但许多在性能方面较慢,或需要您为开发付费。 IronPDF .NET 库现在随 .NET 的 Iron Suite 一起提供。 Iron Suite 包含其他 .NET 库,如 IronXL、IronOCR、IronBarcode 等。这些其他库对开发人员非常有用,所以建议试用它们。 如果您购买完整的 Iron Suite,您可以以仅两个产品的价格获得所有五个产品。 有关更多详细信息,请点击 [IronPDF 套装信息](https://ironsoftware.com/suite/)。 您可以从此[IronPDF C# PDF 生成教程项目](https://ironpdf.com/downloads/csharp-generate-pdf-long-article.zip)下载项目文件。 常见问题解答 如何在 C# 中从 HTML 字符串生成 PDF? 可以使用 IronPDF 的 ChromePdfRenderer 中的RenderHtmlAsPdf方法从 HTML 字符串生成 PDF。此方法将 HTML 内容转换为 PDF 格式,然后可以使用SaveAs方法保存。 我可以从网页 URL 创建 PDF 文档吗? 是的,您可以使用 IronPDF 从网页 URL 创建 PDF。利用 ChromePdfRenderer 的RenderUrlAsPdf方法将网页内容转换为 PDF 文档。 如何在 C# 中为 PDF 添加页眉和页脚? 要在 C# 中为 PDF 添加页眉和页脚,请使用 IronPDF 的 ChromePdfRenderer,通过在RenderingOptions中设置TextHeader 和TextFooter 属性。您可以包括动态元素,如页码和日期。 是否可以在 C# 中加密 PDF 文档? 是的,您可以通过在 IronPDF 中将PdfDocument对象的Password属性设置为所需密码,在 C# 中加密 PDF 文档。 如何使用 C# 合并或拆分 PDF 文件? 使用 IronPDF,您可以使用Merge方法将多个 PDF 合并为一个文档。要拆分文档,您可以使用CopyPages方法提取特定页面。 使用 IronPDF 的系统要求是什么? IronPDF 支持 .NET 语言,例如 C#、VB.NET 和 F#。兼容 .NET 6、5、Core 2.x 和 3.x、Standard 2,和 Framework 4.x。可在 Windows、Linux、macOS、Docker 和 Azure OS 上运行。 我可以在 C# 中从 PDF 文件中提取图像吗? 是的,您可以使用 IronPDF 的ExtractAllImages方法从 PDF 文件中提取图像。确保包含System.Drawing.Common NuGet 包以处理图像。 如何在我的 C# 项目中安装 IronPDF? 在 Visual Studio 中通过 NuGet 包管理器安装 IronPDF,搜索 IronPDF 或使用包管理器控制台命令Install-Package IronPdf。 IronPDF提供了哪些附加功能? IronPDF 提供的功能包括从多个来源创建 PDF、添加页眉和页脚、加密文档、提取文本和图像以及转换 HTML 内容。它还支持 JavaScript 执行和 OCR 功能,以从嵌入图像的 PDF 中提取文本。 IronPDF 是否兼容 .NET 10?兼容 .NET 10 能带来哪些好处? 是的,IronPDF 完全兼容 .NET 10。它与之前的 .NET 版本一样,可以在 .NET 10 项目中开箱即用,支持 Windows、Linux、容器和 macOS 等多种平台。其优势包括更高的运行时性能、无需任何配置即可使用,以及可以使用新的 C# 语言特性和异步友好的 API。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十一月 13, 2025 如何在 C# 中合并两个 PDF 字节数组 使用 IronPDF 在 C# 中合并两个 PDF 字节数组。学习通过简单的代码示例从字节数组、内存流和数据库合并多个 PDF 文件。 阅读更多 已发布十一月 13, 2025 如何创建 ASP.NET MVC PDF 查看器 为 ASP.NET MVC 应用程序构建一个强大的 PDF 查看器。显示 PDF 文档,将视图转换为 PDF,并使用 IronPDF 添加交互功能。 阅读更多 已发布十一月 13, 2025 如何构建 .NET HTML 到 PDF 转换器 学习如何使用 IronPDF 在 .NET 中将 HTML 转换为 PDF。 阅读更多 x509certificate2以编程方式在PDF上添加数字签名在ASP.NET中使用C#和IronPDF查...
已发布十一月 13, 2025 如何在 C# 中合并两个 PDF 字节数组 使用 IronPDF 在 C# 中合并两个 PDF 字节数组。学习通过简单的代码示例从字节数组、内存流和数据库合并多个 PDF 文件。 阅读更多
已发布十一月 13, 2025 如何创建 ASP.NET MVC PDF 查看器 为 ASP.NET MVC 应用程序构建一个强大的 PDF 查看器。显示 PDF 文档,将视图转换为 PDF,并使用 IronPDF 添加交互功能。 阅读更多