使用IRONPDF 使用 IronPDF 创建 .NET Core PDF 生成器 Curtis Chau 已发布:十二月 18, 2025 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 可靠的.NET Core PDF生成器是如何做成的? 在.NET Core应用程序中构建PDF文档需要一个PDF库来处理HTML内容,保持格式,并支持跨平台部署。 老实说,如果您正在开发ASP.NET Core Web API或控制台应用程序,一个强大的.NET Core PDF生成器可以简化从各种来源创建文档的整个过程。 这可以节省大量时间。 开始您的免费试用,了解为什么开发者在生产环境中选择IronPDF用于关键任务的PDF生成。 IronPDF是一款全面的.NET Core PDF库。 它使用Chrome渲染引擎以像素级精确创建PDF文档。 这种方法意味着您无需学习复杂的PDF API或与布局问题作斗争; 您可以只利用现有的HTML和CSS技能生成PDF文件。 该库的广泛文档和代码示例使实施变得简单明了。 IronPDF如何简化.NET Core中的PDF文档生成? IronPDF将传统上复杂的PDF生成任务转化为任何.NET开发人员都能实现的简单代码。 该库使用ChromePdfRenderer类将 HTML 字符串、文件或 URL 直接转换为 PDF 格式。 这种流畅的API方法提供了广泛的定制选项,同时在不同平台上保持高性能。 真正的优势在于IronPDF如何将HTML内容转换为专业的PDF文件。 开发人员不需要手动定位或亲自绘制元素,而是编写标准的HTML与CSS样式,库无缝处理转换。 结果PDF文件不仅仅是文本的图像; 它们是功能齐全的文档,用户可以选择并搜索文本。 在基础PDF生成之外,您可以使用IronPDF的高级编辑工具编辑PDF文档。 通过这些,您可以合并文档、添加水印、注释等等。 查看相关教程,查看更多这些工具的示例源码。 通过NuGet包管理器安装IronPDF 在Visual Studio中开始使用IronPDF只需安装一个NuGet包。 打开NuGet包管理器控制台,确保在"默认项目"下拉框中选择了您的项目名称,然后运行以下命令: Install-Package IronPdf Install-Package IronPdf SHELL 此单个NuGet包提供了在您的.NET Core应用程序中创建、编辑和生成PDF文件所需的所有功能。 安装将自动配置您的项目,以便在Windows、Linux和Docker环境中生成PDF。 它还提供对各种.NET版本的支持,包括.NET Framework 4.6.2+、.NET Core 3.1+和.NET Standard 2.0+。 从HTML创建您的第一个PDF文档 我们来看一个实用的发票文档示例,创建PDF文档。 这演示了如何从HTML内容生成带有适当格式和数据绑定的PDF文件: using IronPdf; using System.IO; using System.Text; // Initialize the Chrome renderer var renderer = new ChromePdfRenderer(); // Configure rendering options renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; // Create HTML content for invoice var htmlBuilder = new StringBuilder(); htmlBuilder.Append(@" <html> <head> <style> body { font-family: Arial, sans-serif; font-size: 14px; } .invoice-header { background: #f0f0f0; padding: 20px; } table { width: 100%; border-collapse: collapse; } th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; } </style> </head> <body> <div class='invoice-header'> <h1>Invoice #INV-2024-001</h1> <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p> </div> <table> <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>"); // Example of dynamically adding table rows with a for loop for (int i = 0; i < 3; i++) { htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>"); } htmlBuilder.Append(@" </table> <p><strong>This is a new paragraph with a summary.</strong></p> </body> </html>"); // Generate PDF from HTML string PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()); // Save the PDF file pdfObject.SaveAs("invoice.pdf"); using IronPdf; using System.IO; using System.Text; // Initialize the Chrome renderer var renderer = new ChromePdfRenderer(); // Configure rendering options renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; // Create HTML content for invoice var htmlBuilder = new StringBuilder(); htmlBuilder.Append(@" <html> <head> <style> body { font-family: Arial, sans-serif; font-size: 14px; } .invoice-header { background: #f0f0f0; padding: 20px; } table { width: 100%; border-collapse: collapse; } th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; } </style> </head> <body> <div class='invoice-header'> <h1>Invoice #INV-2024-001</h1> <p>Date: " + DateTime.Now.ToString("MM/dd/yyyy") + @"</p> </div> <table> <tr><th>Item</th><th>Quantity</th><th>Price</th></tr>"); // Example of dynamically adding table rows with a for loop for (int i = 0; i < 3; i++) { htmlBuilder.Append($"<tr><td>Product #{i + 1}</td><td>{i + 1}</td><td>$25.00</td></tr>"); } htmlBuilder.Append(@" </table> <p><strong>This is a new paragraph with a summary.</strong></p> </body> </html>"); // Generate PDF from HTML string PdfDocument pdfObject = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()); // Save the PDF file pdfObject.SaveAs("invoice.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此代码通过结合HTML标记与动态数据创建了一个专业的发票文档。 请注意,我们在 CSS 中添加了自定义字体大小,并使用 for 循环动态生成了表格行。我们还添加了一个新的段落元素(<p> )。 RenderHtmlAsPdf方法返回一个PdfDocument对象,使您可以完全控制生成的文件。如需了解更多高级 HTML 转 PDF 场景,请参阅HTML 转 PDF 教程。 输出 下面的截图显示了我们的示例发票完美渲染为PDF文档格式。 使用 IronPDF 创建 .NET Core PDF 生成器:图 1 - HTML 转 PDF 的示例输出 从URLs和网页生成PDF文件 IronPDF擅长将现有的网页转换为PDF文件。 当从报告仪表板或基于Web的表单生成PDF文档时,这一功能极其有价值: // Create a new ChromePdfRenderer instance var renderer = new ChromePdfRenderer(); // Set custom page size and margins renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.PrintHtmlBackgrounds = true; renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Convert a URL to PDF PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); // Save to file path string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf"); pdfDocument.SaveAs(filePath); // Create a new ChromePdfRenderer instance var renderer = new ChromePdfRenderer(); // Set custom page size and margins renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.PrintHtmlBackgrounds = true; renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; renderer.RenderingOptions.WaitFor.RenderDelay(1000); // Convert a URL to PDF PdfDocument pdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page"); // Save to file path string filePath = Path.Combine(Directory.GetCurrentDirectory(), "webpage.pdf"); pdfDocument.SaveAs(filePath); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 该库处理JavaScript执行,加载外部资源如图像和样式表,并在转换过程中保持响应布局。 这使得它非常适合从现有Web应用程序创建报告。 了解更多关于将URL转换为PDF的详细指南。 使用 IronPDF 创建 .NET Core PDF 生成器:图 2 - PDF 示例输出的 URL 复杂报告的高级PDF功能 专业的PDF文档通常需要超出基本内容的附加元素。 IronPDF提供了方法来增强您的PDF文档,包括标题、页脚和水印。 标题和页脚API提供对文档展示的完全控制: // Create renderer with advanced options var renderer = new ChromePdfRenderer(); // Add headers and footers renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div style='text-align:center'>Company Report</div>" }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div>Page {page} of {total-pages}</div>" }; // Generate PDF with form fields renderer.RenderingOptions.CreatePdfFormsFromHtml = true; string formHtml = @" <form> <label>Name:</label> <input type='text' name='name'/> <label>Email:</label> <input type='email' name='email'/> <button type='submit'>Submit</button> </form>"; PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml); // Create renderer with advanced options var renderer = new ChromePdfRenderer(); // Add headers and footers renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div style='text-align:center'>Company Report</div>" }; renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter { MaxHeight = 25, HtmlFragment = "<div>Page {page} of {total-pages}</div>" }; // Generate PDF with form fields renderer.RenderingOptions.CreatePdfFormsFromHtml = true; string formHtml = @" <form> <label>Name:</label> <input type='text' name='name'/> <label>Email:</label> <input type='email' name='email'/> <button type='submit'>Submit</button> </form>"; PdfDocument formDocument = renderer.RenderHtmlAsPdf(formHtml); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 这个例子演示了如何在所有页面上添加一致的标题并在PDF文档中创建交互式表单字段。 系统自动处理页码和表单字段渲染。 使用 IronPDF 创建 .NET Core PDF 生成器:图 3 - 表单 PDF 示例输出 使用ASP.NET Core中的异步操作优化性能 对于处理多个PDF生成请求的Web应用程序,异步操作提升响应性: public async Task<byte[]> GeneratePdfAsync(string htmlContent) { var renderer = new ChromePdfRenderer(); // Configure for optimal performance renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; // Generate PDF asynchronously PdfDocument PDF = await renderer.RenderHtmlAsPdfAsync(htmlContent); // Return as byte array for API responses return PDF.BinaryData; } // Usage in ASP.NET Core controller [HttpPost] public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data) { string HTML = BuildInvoiceHtml(data); byte[] pdfBytes = await GeneratePdfAsync(HTML); return File(pdfBytes, "application/pdf", "invoice.pdf"); } public async Task<byte[]> GeneratePdfAsync(string htmlContent) { var renderer = new ChromePdfRenderer(); // Configure for optimal performance renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; // Generate PDF asynchronously PdfDocument PDF = await renderer.RenderHtmlAsPdfAsync(htmlContent); // Return as byte array for API responses return PDF.BinaryData; } // Usage in ASP.NET Core controller [HttpPost] public async Task<IActionResult> CreateInvoice([FromBody] InvoiceData data) { string HTML = BuildInvoiceHtml(data); byte[] pdfBytes = await GeneratePdfAsync(HTML); return File(pdfBytes, "application/pdf", "invoice.pdf"); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 这种模式使得ASP.NET Core 应用程序能够高效地生成 PDF 文件,而不会阻塞线程,这相比于像经典 ASP 这样的旧式 Web 技术来说是一项巨大的改进,因为在经典 ASP 中,文件生成通常是一个繁琐的过程。 字节数组输出非常适合需要直接将文件返回给客户端的API端点。 请注意File()方法如何返回具有正确application/pdf内容类型的 PDF,从而确保浏览器正确处理响应。 在处理大型PDF文档或多个并发请求时,这种异步方法保持系统性能最佳。 有关异步模式的更多见解,请查阅官方ASP.NET Core文档。 部署注意事项 IronPDF支持跨多个环境部署。 对于Docker容器,确保在Dockerfile中包含必要的依赖项,如Docker部署指南中所述。 该库可以无缝地在Windows Server、Linux发行版和Azure、AWS等云平台上运行。 每种环境可能需要针对字体和渲染的具体配置,但核心API保持一致。 关于生产环境的更多最佳实践,请参阅Microsoft关于.NET Core部署的文档。 今天就开始构建您的PDF生成器 IronPDF将.NET Core中的PDF生成从一个复杂的挑战转变为一个简单的实现。 凭借对HTML内容的支持、丰富的功能集和一致的跨平台行为,它是开发需要可靠生成PDF文档的理想选择。 准备好实现您自己的PDF文档生成器了吗? 开始免费试用,以无限制地探索所有功能。 文档提供了丰富的示例和指南,帮助您创建符合您确切要求的专业PDF文件。 无论您是在构建发票系统、生成复杂报告还是转换现有的Web内容,IronPDF都提供了实现像素完美结果的工具。 对于生产部署,探索适合您项目规模的许可选项。 投资于高质量的PDF库通过减少开发时间和在所有.NET应用程序中提供一致、专业的输出来带来收益。 常见问题解答 IronPDF for .NET Core 的主要功能是什么? IronPDF 主要用于在 .NET Core 应用程序中将 HTML 转换为 PDF,使开发人员能够创建具有像素级完美渲染效果的发票、报告和其他文档。 IronPDF 如何确保像素级完美渲染? IronPdf 通过使用先进的渲染技术,将 HTML、CSS 和 JavaScript 准确地转换为高质量的 PDF 文档,从而确保像素级的完美渲染。 IronPDF 能否用于在 .NET Core 中生成报告? 是的,IronPDF 能够将基于 HTML 的报告模板转换为专业级 PDF 文档,从而在 .NET Core 中生成详细的报告。 是否可以使用 IronPDF 将网页转换为 PDF? 当然,IronPDF 可以将整个网页转换为 PDF,保留原始 HTML 和 CSS 中指定的布局和样式。 IronPDF 的一些常见使用案例是什么? IronPDF 的常见用例包括生成发票、创建业务报告、将 HTML 表单转换为 PDF 以及归档网络内容。 IronPDF支持.NET Core应用程序吗? 是的,IronPDF 完全支持 .NET Core 应用程序,使其成为在不同 .NET 平台上工作的开发人员的多功能选择。 IronPDF 如何在 HTML 到 PDF 的转换中处理 CSS 和 JavaScript? IronPDF 在转换过程中会处理 CSS 和 JavaScript,以确保 HTML 的可视化布局和动态内容在 PDF 中得到准确呈现。 IronPDF 可以从 HTML 字符串生成 PDF 吗? 是的,IronPDF 可以从 HTML 字符串生成 PDF,允许开发人员从其应用程序内生成的 HTML 内容动态创建 PDF 文档。 是否可以使用 IronPDF 自定义 PDF 的外观? IronPdf 提供广泛的自定义选项,允许开发人员使用 HTML 和 CSS 指定自定义页眉、页脚和样式,从而控制 PDF 的外观。 IronPDF 与其他 .NET PDF 库相比有哪些优势? IronPDF 具有多项优势,包括易于与 .NET Core 集成、高质量渲染、支持复杂文档布局以及强大的 HTML、CSS 和 JavaScript 处理能力。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十二月 18, 2025 .NET PDF API 是 .NET 开发人员的指南。 如何使用 IronPDF for .NET 创建 .NET PDF API 阅读更多 已发布十二月 18, 2025 如何使用 Aspose C# 和 IronPDF 创建 PDF 通过这本专为开发人员设计的分步指南,了解如何使用 Aspose C# 和 IronPDF 创建 PDF。 阅读更多 已发布十二月 18, 2025 如何使用 IronPDF 在 C# 中合并两个 PDF 字节数组 使用 IronPDF 在 C# 中合并两个 PDF 字节数组。学习通过简单的代码示例从字节数组、内存流和数据库合并多个 PDF 文件。 阅读更多 .NET PDF API 是 .NET 开发人员的指南。PDF 到 JPG VB .NET 转换:高质...
已发布十二月 18, 2025 如何使用 Aspose C# 和 IronPDF 创建 PDF 通过这本专为开发人员设计的分步指南,了解如何使用 Aspose C# 和 IronPDF 创建 PDF。 阅读更多
已发布十二月 18, 2025 如何使用 IronPDF 在 C# 中合并两个 PDF 字节数组 使用 IronPDF 在 C# 中合并两个 PDF 字节数组。学习通过简单的代码示例从字节数组、内存流和数据库合并多个 PDF 文件。 阅读更多