在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
用 C# 中的 CSS 将 HTML 文件转换为 PDF 是现代网络和桌面应用程序开发中的常见要求。 它使开发人员能够将网页、报告或格式化文档转换为 PDF 文件,这对于生成发票、创建可打印报告或归档网页内容等任务至关重要。 在本综合指南中,我们将探讨两种流行的用于 HTML 到 PDF 转换的 C# 库。
iTextSharp 是一个著名的开源库,常用于在 C# 中创建和处理 PDF 文档。 现在,它通常被称为 iText7。虽然它的主要功能不是 HTML 到 PDF 的转换,但其强大的功能集使它成为实现这一目的的灵活选择。 它提供了 pdfHTML,这是一个附加组件,允许开发人员使用字符串 HTML 片段和 CSS 样式表以编程方式生成、转换和自定义 PDF 文档。
虽然 iText7 可对 PDF 生成过程进行精细控制,但在处理具有复杂 HTML 布局的图像和具有复杂 CSS 风格的字体时,可能需要额外的工作。
探索 IronPDF 的功能,作为专为 PDF 生成和 HTML 页面到 PDF 格式转换设计的专用 C# 库。 它专注于简化将带有 CSS 的 HTML 内容转换为 PDF 文件的过程,是直接将 HTML 转换为 PDF 任务的绝佳选择。
IronPDF 的方法非常适合需要无障碍转换而又不会遇到复杂的 PDF 文档构造的情况。 它简化了开发人员的流程,并允许快速实施带有分页符的新文档。
在深入比较细节之前,我们先简单讨论一下如何在 C# 项目中设置这些库。
要使用 NuGet 包管理器安装 iTextSharp(iText7),请按照以下步骤操作:
右键单击解决方案资源管理器中的项目并选择 "管理 NuGet 包",或单击 "工具 "菜单并选择 "NuGet 包管理器"-->"管理解决方案的 NuGet 包"。
搜索 "iText7.pdfhtml",并从搜索结果中选择 "iText7.pdfhtml"。
![iTextSharp HTML 到 PDF 的 CSS 样式 C# 示例与 (IronPDF) 图 3 - 在浏览选项卡中,在搜索框中输入 itext7.pdf。 从搜索结果中选择 iText7.pdfhtml,然后点击安装按钮。
浏览 "itext7.bouncy-castle-adapter "并选择 "itext7.bouncy-castle-adapter 安装"。
![iTextSharp HTML to PDF With CSS Styles C# Example vs (IronPDF) 图4 - itext7.bouncy-castle-adapter 模块是使用 HTML 转换器与 itext7.pdfhtml 所需的另一个依赖项。 在 "浏览 "选项卡的搜索框中输入 itext7.bouncy-castle-adapter。 在搜索结果中选择 itext7.bouncy-castle-adapter 并点击安装按钮。
安装IronPDF同样简单:
右键单击 "解决方案资源管理器 "中的项目,选择 "管理 NuGet 包",或单击 "工具 "菜单,选择 "NuGet 包管理器" -> "管理解决方案的 NuGet 包"。
搜索 "IronPDF",并从搜索结果中选择 "IronPdf"。
![iTextSharp HTML to PDF With CSS Styles C# Example vs (IronPDF) 图 7 - 在“浏览”选项卡中,在搜索框中输入 ironpdf。 从搜索结果中选择IronPdf,然后点击安装按钮。
iText7.pdfHTML 提供了一种灵活的方法来使用 iTextSharp 进行 HTML 到 PDF 的转换,使开发人员能够控制 PDF 生成过程。 以下是将 HTML 文件转换为 PDF 的源代码:
using iText.Html2pdf;
// Input HTML page content with CSS styling
var html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>";
// Output PDF file path
string outputPdfPath = "results/output.pdf";
HtmlConverter.ConvertToPdf(html, new FileStream(outputPdfPath, FileMode.Create));
using iText.Html2pdf;
// Input HTML page content with CSS styling
var html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>";
// Output PDF file path
string outputPdfPath = "results/output.pdf";
HtmlConverter.ConvertToPdf(html, new FileStream(outputPdfPath, FileMode.Create));
IRON VB CONVERTER ERROR developers@ironsoftware.com
上述代码片段演示了如何使用iText 7的HtmlConverter
将纯文本或指定的带有CSS样式的HTML内容转换为PDF文件。在CSS样式标签中,您还可以设置字体大小以及更多样式,如背景颜色、内容处理等。它定义了输入的HTML内容,指定了输出PDF文件路径,然后调用转换过程。 生成的PDF将保存在outputPdfPath
中指定的位置。
虽然 iText7 提供了精细的样式控制,但对于复杂的 HTML 布局或复杂的 CSS 样式,可能需要额外的代码。 不过,在需要进行 HTML 转换之外的大量 PDF 风格定制的情况下,它就会大显身手。
IronPDF 通过一种简单的方法将 HTML 标签和 CSS 直接渲染为 PDF 文档,从而简化了HTML 到 PDF 转换。 下面是将 HTML 字符串转换为 PDF 页面的代码示例:
using IronPdf;
// Basic Example
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Basic Example
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
下面是对上述代码的更详细解释:
在基本示例中,IronPdf 提供了一种将 HTML 转换为 PDF 文档的简化方法。 开发人员只需几行代码就能实现这一目标,如上面的源代码所示。 核心步骤包括创建一个PdfDocument
并直接将HTML内容渲染到其中。
在高级示例中,代码加载了包含图像的HTML元素内容(<img src='icons/iron.png'>
),并使用RenderHtmlAsPdf
方法指定了用于加载外部资源(如图像、外部CSS文件和JavaScript文件)的基路径。 生成的 PDF 文件包括 HTML 内容及其相关资产,保存为 "html-with-assets.pdf"。
IronPDF 的方法非常适合您需要无障碍数据转换过程的场景,无需深入了解 PDF 文档构建的复杂性,也不需要任何其他依赖性。 它抽象了许多底层的复杂性,提供了用户友好的体验。
在这次全面的比较中,我们探讨了两个用于在 C# 中进行 HTML 到 PDF 转换的强大库:iTextSharp 和 IronPDF。
iTextSharp 具有全面的 PDF 操作能力,为开发人员提供了精确控制 PDF 生成过程的工具。 在需要进行复杂的 PDF 定制而非简单的 HTML 到 PDF 转换的情况下,它表现出色。 另一方面,IronPDF 作为一个专门设计用于将 HTML 轻松转换为 PDF 的专用库,也大放异彩。 它提供了一种直观、用户友好的方法,非常适合那些只需少量编码工作的简单任务。
要在这两个库之间做出正确的选择,需要考虑 PDF 需求的复杂性。 如果您需要广泛的自定义功能和高级 PDF 功能,iTextSharp 将是您的不二之选。 不过,如果想快速高效地将 HTML 转换为 PDF,而不需要复杂的 PDF 修改和其他库依赖,IronPDF 不失为一个高效且用户友好的选择。 它还提供高级 PDF 操作选项。
查看IronPDF的定价和授权详情,它在开发用途上是免费的,但需要获得商业用途的授权。 下载 IronPDF 以从 IronPDF 的网站免费试用。