使用IRONPDF 如何在.NET中使用IronPDF创建PDF文件(C#教程) Curtis Chau 已更新:2026年3月1日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 IronPDF允许.NET开发人员使用仅仅三行C#代码将HTML转换为PDF。 它采用Chrome渲染引擎确保像素完美的输出,全面支持CSS和JavaScript,使PDF生成就像编写标准Web内容一样简单。 在使用IronPDF这个有效的.NET PDF库时,将HTML内容转换为像素完美的PDF文档所需的代码非常少。 您可以获得干净、专业的PDF,精准复制您的源内容,而无需学习复杂的API或解决渲染问题。 在本文结尾,您将能够自信地创建专业的PDF文档。 无论您需要制作发票、复杂报告,还是从动态内容构建PDF文档,IronPDF都能满足您的需求。 该库的完整文档和丰富功能使其成为使用C#进行PDF创建的理想选择。 如何在.NET应用程序中快速生成PDF文档? .NET PDF生成环境发生了显著变化。 现代开发者需要比手工定位文本和图形更高效的方法来创建PDF文档。 使用当前的Web开发技能,HTML到PDF转换已成为行业标准,一贯提供高质量的结果。 IronPDF在.NET生态系统中脱颖而出,使用完整的Chrome渲染引擎。这意味着您的PDF在Chrome浏览器中呈现的效果与您在浏览器中看到的完全一致。 每个CSS动画,每个JavaScript交互,每个Web字体都完美显示。 渲染选项提供对输出的广泛控制。 开发人员经常使用PDF生成来创建具有计算总额的动态发票,生成包含图表和图形的合规报告,并将Web内容转换为可下载文档。 如果您希望创建使用现代Web标准来提升视觉吸引力的PDF文档,那么IronPDF适合您。 如何在.NET项目中安装IronPDF? IronPDF的入门时间不到五分钟。 该库通过NuGet提供,使得任何.NET项目的安装都变得简单,无论您是在构建ASP.NET Core应用程序、Windows窗体还是控制台应用程序。 安装指南提供逐步说明。 如何使用包管理器UI安装? 通过包管理器UI添加IronPDF: 在Visual Studio中,右键单击解决方案资源管理器中的项目,并选择"管理NuGet包"。 点击"浏览"选项卡,搜索"IronPDF"。 从结果中选择IronPDF包并点击"安装"。 包管理器自动处理所有依赖项,确保.NET PDF库立即准备好生成PDF文档。 在包管理器控制台中使用哪些命令? 对于喜欢命令行的开发者,在Visual Studio中打开包管理器控制台并运行: Install-Package IronPdf Install-Package IronPdf SHELL 或者,如果您使用.NET CLI: dotnet add package IronPdf dotnet add package IronPdf SHELL 两个命令都下载了最新版的IronPDF以及所有必需的依赖项。 安装后如何配置IronPDF? 安装后,在您的应用程序启动时应用许可证密钥: IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; $vbLabelText $csharpLabel 开发和测试始终免费,允许您在购买前充分评估该库。 对于生产部署,请查看IronPDF许可证页面上的选项。 您还可以从免费试用许可证开始。 如何从HTML生成您的第一个PDF文件? 本节展示了支持所有PDF生成场景的基本方法。 以下代码仅用几行就生成了一个可用的PDF。 using IronPdf; // Instantiate the Chrome PDF renderer var renderer = new ChromePdfRenderer(); // Create a PDF from an HTML string PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>Hello, PDF World!</h1><p>This is my first IronPDF document.</p>"); // Save the PDF to disk doc.SaveAs("my-first-pdf.pdf"); using IronPdf; // Instantiate the Chrome PDF renderer var renderer = new ChromePdfRenderer(); // Create a PDF from an HTML string PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>Hello, PDF World!</h1><p>This is my first IronPDF document.</p>"); // Save the PDF to disk doc.SaveAs("my-first-pdf.pdf"); $vbLabelText $csharpLabel ChromePdfRenderer是使用IronPDF在.NET中生成PDF的起点。 将任何HTML字符串传递给PdfDocument。 然后SaveAs将PDF写入磁盘。 渲染器自动处理将HTML元素转换为PDF的所有复杂性,应用默认样式,并创建一个格式正确的PDF文档。 对于更高级的场景,请参阅HTML字符串到PDF转换。 如何在PDF生成中处理复杂HTML? 现实世界的PDF需要更复杂的HTML。 以下是使用IronPDF创建专业外观文档的方法。 您还可以添加页眉和页脚或应用水印进行品牌化: using IronPdf; var renderer = new ChromePdfRenderer(); string html = @" <!DOCTYPE html> <html> <head> <style> body { font-family: Arial, sans-serif; margin: 40px; } .header { color: #2c3e50; border-bottom: 2px solid #3498db; } .invoice-details { margin: 20px 0; } .table { width: 100%; border-collapse: collapse; } .table th, .table td { padding: 10px; border: 1px solid #ddd; } .table th { background-color: #f8f9fa; } .total { font-weight: bold; font-size: 1.2em; color: #27ae60; } </style> </head> <body> <h1 class='header'>Invoice #INV-2024-001</h1> <div class='invoice-details'> <p><strong>Date:</strong> January 15, 2024</p> <p><strong>Client:</strong> Acme Corporation</p> </div> <table class='table'> <thead> <tr> <th>Item</th> <th>Quantity</th> <th>Price</th> <th>Total</th> </tr> </thead> <tbody> <tr> <td>Professional Services</td> <td>10 hours</td> <td>$150/hour</td> <td>$1,500.00</td> </tr> <tr> <td>Software License</td> <td>1</td> <td>$500.00</td> <td>$500.00</td> </tr> </tbody> </table> <p class='total'>Total Due: $2,000.00</p> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("professional-invoice.pdf"); using IronPdf; var renderer = new ChromePdfRenderer(); string html = @" <!DOCTYPE html> <html> <head> <style> body { font-family: Arial, sans-serif; margin: 40px; } .header { color: #2c3e50; border-bottom: 2px solid #3498db; } .invoice-details { margin: 20px 0; } .table { width: 100%; border-collapse: collapse; } .table th, .table td { padding: 10px; border: 1px solid #ddd; } .table th { background-color: #f8f9fa; } .total { font-weight: bold; font-size: 1.2em; color: #27ae60; } </style> </head> <body> <h1 class='header'>Invoice #INV-2024-001</h1> <div class='invoice-details'> <p><strong>Date:</strong> January 15, 2024</p> <p><strong>Client:</strong> Acme Corporation</p> </div> <table class='table'> <thead> <tr> <th>Item</th> <th>Quantity</th> <th>Price</th> <th>Total</th> </tr> </thead> <tbody> <tr> <td>Professional Services</td> <td>10 hours</td> <td>$150/hour</td> <td>$1,500.00</td> </tr> <tr> <td>Software License</td> <td>1</td> <td>$500.00</td> <td>$500.00</td> </tr> </tbody> </table> <p class='total'>Total Due: $2,000.00</p> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("professional-invoice.pdf"); $vbLabelText $csharpLabel 这个示例展示了IronPDF如何处理嵌入CSS样式的完整HTML文档。 渲染器处理整个文档结构,应用所有CSS规则,包括边框、颜色和间距,创建具有样式的正确格式的表格,并维护页眉和内容的视觉层次结构。 所得的PDF文档看起来与在Chrome中打开HTML的效果一样。 准备好创建专业的发票和报告了吗? 开始免费试用,看看IronPDF如何简化PDF生成过程,让您的商业应用更高效。 如何配置渲染选项以生成更好的PDF? IronPDF通过RenderingOptions属性提供对渲染过程的广泛控制。 这些选项包括自定义纸张大小、页面方向和CSS媒体类型: using IronPdf; var renderer = new ChromePdfRenderer(); // Configure rendering options for professional PDF output renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; renderer.RenderingOptions.PrintHtmlBackgrounds = true; renderer.RenderingOptions.CreatePdfFormsFromHtml = true; renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; string html = @" <!DOCTYPE html> <html> <head> <style> body { font-family: 'Segoe UI', sans-serif; margin: 0; } .header { background: #2c3e50; color: white; padding: 20px; text-align: center; } .content { padding: 20px; } .section { margin-bottom: 30px; } .section h2 { border-bottom: 2px solid #3498db; color: #3498db; padding-bottom: 5px; } .table { width: 100%; border-collapse: collapse; margin-top: 15px; } .table th, .table td { border: 1px solid #ddd; padding: 10px; } .table th { background-color: #f8f9fa; } .footer { text-align: center; font-size: 0.9em; color: #888; margin-top: 40px; } </style> </head> <body> <div class='header'> <h1>Monthly Report -- February 2024</h1> </div> <div class='content'> <div class='section'> <h2>Overview</h2> <p>This report provides a summary of sales performance, client engagement, and feedback.</p> </div> <div class='section'> <h2>Sales Data</h2> <table class='table'> <thead> <tr> <th>Product</th> <th>Units Sold</th> <th>Unit Price</th> <th>Total</th> </tr> </thead> <tbody> <tr> <td>Software License</td> <td>120</td> <td>$99</td> <td>$11,880</td> </tr> <tr> <td>Consulting Hours</td> <td>80</td> <td>$150</td> <td>$12,000</td> </tr> </tbody> </table> </div> </div> <div class='footer'> <p>Confidential -- For Internal Use Only</p> </div> </body> </html> "; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("configured-output.pdf"); using IronPdf; var renderer = new ChromePdfRenderer(); // Configure rendering options for professional PDF output renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4; renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; renderer.RenderingOptions.MarginLeft = 20; renderer.RenderingOptions.MarginRight = 20; renderer.RenderingOptions.PrintHtmlBackgrounds = true; renderer.RenderingOptions.CreatePdfFormsFromHtml = true; renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; string html = @" <!DOCTYPE html> <html> <head> <style> body { font-family: 'Segoe UI', sans-serif; margin: 0; } .header { background: #2c3e50; color: white; padding: 20px; text-align: center; } .content { padding: 20px; } .section { margin-bottom: 30px; } .section h2 { border-bottom: 2px solid #3498db; color: #3498db; padding-bottom: 5px; } .table { width: 100%; border-collapse: collapse; margin-top: 15px; } .table th, .table td { border: 1px solid #ddd; padding: 10px; } .table th { background-color: #f8f9fa; } .footer { text-align: center; font-size: 0.9em; color: #888; margin-top: 40px; } </style> </head> <body> <div class='header'> <h1>Monthly Report -- February 2024</h1> </div> <div class='content'> <div class='section'> <h2>Overview</h2> <p>This report provides a summary of sales performance, client engagement, and feedback.</p> </div> <div class='section'> <h2>Sales Data</h2> <table class='table'> <thead> <tr> <th>Product</th> <th>Units Sold</th> <th>Unit Price</th> <th>Total</th> </tr> </thead> <tbody> <tr> <td>Software License</td> <td>120</td> <td>$99</td> <td>$11,880</td> </tr> <tr> <td>Consulting Hours</td> <td>80</td> <td>$150</td> <td>$12,000</td> </tr> </tbody> </table> </div> </div> <div class='footer'> <p>Confidential -- For Internal Use Only</p> </div> </body> </html> "; var pdf = renderer.RenderHtmlAsPdf(html); pdf.SaveAs("configured-output.pdf"); $vbLabelText $csharpLabel 这些渲染选项使您能够精确控制纸张大小和方向、专业布局的边距设置、背景颜色和图像渲染、从HTML输入创建表单字段以及CSS媒体类型选择。 CssMediaType.Print设置特别有用 -- 它应用特定于打印的CSS规则,确保生成的PDF使用适合打印输出的样式,而非屏幕显示。 如何将网页转换为PDF? 将网页转换为PDF是IronPDF最有效的功能之一。 无论您需要归档网页内容、从在线仪表板创建报告,还是从应用程序页面生成PDF,IronPDF都能应对。 以下示例展示如何将任何公共URL呈现为PDF文档: using IronPdf; // Create a new ChromePdfRenderer instance var renderer = new ChromePdfRenderer(); // Configure rendering options for a web page renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitFor.JavaScript(3000); // Wait 3 seconds for JavaScript to load renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; // Convert any public webpage to PDF var pdf = renderer.RenderUrlAsPdf("https://www.wikipedia.org"); pdf.SaveAs("wikipedia-homepage.pdf"); using IronPdf; // Create a new ChromePdfRenderer instance var renderer = new ChromePdfRenderer(); // Configure rendering options for a web page renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitFor.JavaScript(3000); // Wait 3 seconds for JavaScript to load renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; // Convert any public webpage to PDF var pdf = renderer.RenderUrlAsPdf("https://www.wikipedia.org"); pdf.SaveAs("wikipedia-homepage.pdf"); $vbLabelText $csharpLabel RenderUrlAsPdf方法导航到指定的URL,等待页面完全加载,执行页面上的任何JavaScript,然后捕获渲染的输出为PDF。 此过程使用真实的Chrome浏览器引擎,确保与原始网页的高度一致性。 如何处理本地文件和资源? IronPDF还可以转换本地HTML文件,使其适合从模板生成PDF: using IronPdf; var renderer = new ChromePdfRenderer(); // Render a local HTML file string filename = "report-template.html"; var pdf = renderer.RenderHtmlFileAsPdf(filename); pdf.SaveAs("report.pdf"); using IronPdf; var renderer = new ChromePdfRenderer(); // Render a local HTML file string filename = "report-template.html"; var pdf = renderer.RenderHtmlFileAsPdf(filename); pdf.SaveAs("report.pdf"); $vbLabelText $csharpLabel RenderHtmlFileAsPdf方法自动解析图像、CSS文件和JavaScript库的相对路径。 这种方法适用于基于模板的PDF生成,您可以将预设计的HTML模板与动态数据相结合。 对于更复杂的文档操作,请查看如何合并或拆分PDF。 如何处理JavaScript重的内容? 现代Web应用程序在动态内容生成上大量依赖JavaScript。 IronPDF在需要从JavaScript丰富的页面生成PDF文档时处理这些场景: using IronPdf; var renderer = new ChromePdfRenderer(); // Configure JavaScript rendering for PDF generation renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds for JS to execute // Convert a JavaScript-heavy page to PDF var htmlFile = "TestFiles/JS-example.html"; var pdf = renderer.RenderHtmlFileAsPdf(htmlFile); pdf.SaveAs("javascript-example.pdf"); using IronPdf; var renderer = new ChromePdfRenderer(); // Configure JavaScript rendering for PDF generation renderer.RenderingOptions.EnableJavaScript = true; renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds for JS to execute // Convert a JavaScript-heavy page to PDF var htmlFile = "TestFiles/JS-example.html"; var pdf = renderer.RenderHtmlFileAsPdf(htmlFile); pdf.SaveAs("javascript-example.pdf"); $vbLabelText $csharpLabel 通过启用ChromePdfRenderer等待动态脚本(如图表和动画)执行完毕,然后捕获PDF。 IronPDF支持所有现代JavaScript框架和库。 无论您的应用程序使用React、Angular、Vue.js还是普通JavaScript,从Chrome渲染引擎执行一切,均如同在标准浏览器中一样。 文档可以添加的高级PDF功能有哪些? IronPDF提供了高级功能,将基本的PDF转变为专业、安全和互动的文档。 下表总结了最常用的功能: 关键的IronPDF高级功能 特征 说明 指南 水印 添加文本或图像水印以进行品牌化和合规性 水印指南 数字签名 使用X.509证书签署PDF以确认真实性 签署指南 页眉和页脚 插入一致的页眉、页脚和页码 页眉指南 PDF 表单 创建和填写交互式表单字段 表单指南 合并和分割 结合多个PDF或使用页面控制拆分大型文件 合并/分割指南 PDF到图像 将PDF页面渲染为高质量图像以用于预览 PDF到图像指南 文本提取 从现有PDF文档中提取文本内容 文本提取指南 通过一致的API,每个这些功能都可以实现,因此添加水印、签名或表单字段遵循您已经熟悉的基本PDF生成的相同编码模式。 IronPDF功能页面提供所有可用功能的完整列表。 如何跨多个平台使用IronPDF? IronPDF的多功能性不仅限于C#和.NET,成为拥有多样化技术堆栈的组织的实用解决方案。 IronPDF支持哪些.NET平台? IronPDF运行在所有现代.NET平台上,如Microsoft的.NET文档所定义: .NET Framework 4.6.2+ .NET Core 2.0+ .NET Standard 2.0+ .NET 5、6、7、8、9 和 10 无论您是维护传统.NET Framework应用程序、构建现代.NET 10微服务,还是以.NET Standard为目标以最大兼容性,IronPDF在所有环境中使用相同的API。 无论是在Windows、Linux、macOS、Docker容器还是云平台上进行部署,均无需更改代码。 可以使用哪些编程语言与IronPDF配合? IronPDF可用于多种编程语言: IronPDF for Java: 与.NET版功能完全一致 IronPDF for Python: 用于数据科学和Web应用程序的Python化API IronPDF for Node.js: 适合服务器端PDF生成的JavaScript友好接口 VB.NET和F#: 在.NET生态系统中的一流支持 每种语言版本都维持相同的高质量Chrome渲染引擎和完整功能集,确保一致的PDF输出,无论实现语言如何。 PDF规范由PDF协会发布,定义了IronPDF目标的格式标准以实现最大兼容性。 在哪里找到帮助和文档? 即使是IronPDF直观的API,有时您可能需要帮助。 Iron Software提供丰富的资源以确保您的成功。 在哪里可以找到官方文档? 官方文档涵盖了IronPDF的各个方面,从基本HTML到PDF转换到高级功能,如数字签名和表单创建。 每个功能都包含工作代码示例、详细说明和最佳实践。 对于特定场景,操作指南提供了常见任务的逐步指示。 有哪些支持选项可用? 如果您遇到问题,可以使用以下支持渠道: 24/7实时聊天: 获得熟悉该库的工程师的即时帮助 电子邮件支持: 详细回答复杂的技术问题 GitHub问题: 直接向开发团队报告错误和请求功能 工程团队由每天使用IronPDF的开发者构成,因此您将获得实用的、可行的解决方案。 有哪些许可证和定价选项? IronPDF 提供透明、开发者友好的许可: 用于开发免费: 用免费试用许可证进行测试和开发的完整功能 生产许可证: 明确的定价,没有隐藏费用 -- 查看许可证页面 免版税再分发: 无需额外费用即可分发您的应用程序 一年支持和更新: 所有许可证均包括完整支持 如何选择适合.NET的PDF库? IronPDF将.NET中的PDF生成从复杂的挑战转变为简单的过程。 有了它基于Chrome的渲染引擎,您可以获得像素完美的PDF,外观与您的HTML源完全相同。 直观的API意味着您可以在几分钟内生成第一个PDF,而不是几个小时。 评估PDF库时,考虑以下因素: 渲染保真度: IronPDF使用真实的Chrome引擎,因此CSS和JavaScript的处理无需解决办法 平台支持: 相同代码在Windows、Linux、macOS以及Docker容器中运行 API一致性: 单一API涵盖HTML字符串、URL、本地文件和进阶操作,如PDF到图像转换和文本提取 文档和示例: IronPDF文档包含数百个场景的工作代码示例 无论您是在构建发票系统、报告生成器、文档归档还是任何需要PDF输出的应用程序,IronPDF都提供所需的工具。 通过免费试用许可证开始体验库如何满足您的PDF生成需求。 常见问题解答 我如何使用C#创建PDF? 您可以通过利用IronPDF库使用C#创建PDF,只需几行代码即可将HTML内容转换为PDF文档。 使用 IronPDF 进行 PDF 生成的优势是什么? IronPDF提供了一种简化的PDF生成方法,保证不需要学习复杂的API或面对JavaScript兼容性问题,同时确保HTML内容的像素完美渲染。 IronPDF易于集成到.NET项目中吗? 是的,IronPDF设计为易于集成到.NET项目中,使开发人员能够轻松创建干净、专业的PDF。 IronPDF支持HTML到PDF的转换吗? IronPDF支持无缝地将HTML内容转换为PDF,允许开发人员在PDF格式中保持原始内容的完整性和布局。 IronPDF能够处理复杂的HTML内容吗? IronPDF能够处理复杂的HTML内容,并确保在生成的PDF文档中准确再现源材料。 使用IronPDF时会有渲染问题吗? IronPDF经过设计以避免渲染问题,提供可靠的解决方案以生成与原HTML内容精确匹配的PDF。 为何选择IronPDF而非其他PDF库? IronPDF使用简便,代码要求最少,消除了处理复杂API或故障排除渲染问题的需要,对于开发人员来说是理想选择。 有哪些编程语言与IronPDF兼容? IronPDF兼容C#,可用于各种.NET应用,使其成为PDF生成的多功能工具。 IronPDF适用于专业的PDF文档创建吗? 是的,IronPDF适用于创建专业的PDF文档,确保它们干净且准确反映源内容。 使用IronPDF将HTML转换为PDF需要多少行代码? 使用IronPDF,只需三行C#代码即可将HTML转换为PDF,使过程快速且高效。 .NET 10 支持:IronPDF 是否完全兼容 .NET 10? 是的,IronPDF 与 .NET 10 完全兼容——它在 .NET Framework、.NET Core、.NET 5-9 和 .NET 10 中使用相同的 API,使您无需更改代码即可部署到 Windows、Linux、macOS 和云平台。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新2026年2月27日 如何在C#中合并PDF文件 使用IronPDF合并PDF VB NET。学习使用简单的VB.NET代码将多个PDF文件合并为一个文档。包括逐步示例。 阅读更多 已更新2026年3月1日 面向 .NET 10 开发人员的 C# PDFWriter 教程 使用这份逐步指南了解如何高效地使用C# PDFWriter创建PDF。阅读文章提升您的技能! 阅读更多 已更新2026年2月27日 如何在ASP.NET中将网页转换为PDF 学习如何在 ASP.NET 应用程序中从网页生成 PDF 文件。提供完整的指南和 C# 代码示例,演示如何将 HTML 转换为 PDF。 阅读更多 面向 .NET 10 开发人员的 C# P...
已更新2026年2月27日 如何在ASP.NET中将网页转换为PDF 学习如何在 ASP.NET 应用程序中从网页生成 PDF 文件。提供完整的指南和 C# 代码示例,演示如何将 HTML 转换为 PDF。 阅读更多