在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
用 C# 中的 CSS 将 HTML 文件转换为 PDF 是现代网络和桌面应用程序开发中的常见要求。它使开发人员能够将网页、报告或格式化文档转换为 PDF 文件,这对于生成发票、创建可打印报告或归档网页内容等任务至关重要。在本综合指南中,我们将探讨两种流行的 C#
iTextSharp 是一个知名的开源库,常用于用 C# 创建和处理 PDF 文档。现在,它通常被称为 iText7。虽然它的主要重点不是 HTML 到 PDF 的转换,但其强大的功能集使其成为实现这一目的的灵活选择。它提供的 pdfHTML 是一个附加组件,允许开发人员使用字符串 HTML 片段和 CSS 样式表以编程方式生成、转换和自定义 PDF 文档。
虽然 iText7 提供了对 PDF 生成过程的精细控制,但在处理具有复杂 HTML 布局的图像和具有复杂 CSS 样式的字体时,可能需要额外的工作。
IronPDF相比之下,C# 是一个专用于生成 PDF 和将 HTML 页面转换为 PDF 格式的 C# 库。它的重点是简化将带有 CSS 的 HTML 内容转换为 PDF 文件的过程,因此是直接将 HTML 转换为 PDF 任务的绝佳选择。
IronPDF 的方法非常适合需要无障碍转换而又不遇到复杂的 PDF 文档构建的情况。它简化了开发人员的流程,并允许快速实施带有分页符的新文档。
在深入比较细节之前,让我们简要讨论一下如何在 C# 项目中设置这些库。
安装 iTextSharp (iText7) 使用 NuGet 软件包管理器,请按照以下步骤操作:
1.在 Visual Studio 或打开一个现有的
2.右键单击解决方案资源管理器中的项目,选择 "管理 NuGet 包",或单击 "工具 "菜单,选择 "NuGet 包管理器"-->"管理解决方案的 NuGet 包"。
![iTextSharp 利用 CSS 样式将 HTML 转换为 PDF 的 C# 示例 vs (IronPDF) 图 1 - 要在 Visual Studio 项目中安装 iTextSharp,请右键单击解决方案资源管理器中的项目,然后选择管理 NuGet 包选项。](/static-assets/pdf/blog/itextsharp-html-to-pdf-css-style-example/itextsharp-html-to-pdf-css-style-example-1.webp)
![iTextSharp 利用 CSS 样式将 HTML 转换为 PDF 的 C# 示例 vs (IronPDF) 图 2 - 在 Visual Studio 项目中安装 iTextSharp 的另一种方法:导航至工具菜单,选择 NuGet Package Manager > Manage NuGet Packages for Solution。](/static-assets/pdf/blog/itextsharp-html-to-pdf-css-style-example/itextsharp-html-to-pdf-css-style-example-2.webp)
3.在 "NuGet 包管理器 "窗口中,切换到 "浏览 "选项卡。
4.搜索 "iText7.pdfhtml",并从搜索结果中选择 "iText7.pdfhtml"。
![iTextSharp 利用 CSS 样式将 HTML 转换为 PDF 的 C# 示例 vs (IronPDF) 图 3 - 在 "浏览 "选项卡的搜索框中输入 itext7.pdf。从搜索结果中选择 iText7.pdfhtml,然后点击安装按钮。](/static-assets/pdf/blog/itextsharp-html-to-pdf-css-style-example/itextsharp-html-to-pdf-css-style-example-3.webp)
5.点击 "安装 "按钮,将 iText7 HTML2PDF 转换器添加到项目中。
6.使用 HTML 转换器还需要一个重要的依赖项,即 "itext7.bouncy-castle-adapter"。itext7.pdfhtml需要itext7.bouncy-castle-adapter**模块,因为它提供了在创建和处理PDF文档过程中使用的加密算法和安全功能。
7.浏览 "itext7.bouncy-castle-adapter "并选择 "安装 itext7.bouncy-castle-adapter"。
![iTextSharp 利用 CSS 样式将 HTML 转换为 PDF 的 C# 示例 vs (IronPDF) 图 4 - itext7.bouncy-castle-adapter 模块是使用 itext7.pdfhtml 的 HTML 转换器所需的另一个依赖项。在 "浏览 "选项卡的搜索框中输入 itext7.bouncy-castle-adapter。从搜索结果中选择 itext7.bouncy-castle-adapter,点击安装按钮。](/static-assets/pdf/blog/itextsharp-html-to-pdf-css-style-example/itextsharp-html-to-pdf-css-style-example-4.webp)
安装 IronPDF 同样简单明了:
1.在 Visual Studio 中创建新项目或打开现有项目。
2.在 "解决方案资源管理器 "中右键单击项目,选择 "管理 NuGet 包",或单击 "工具 "菜单,选择 "NuGet 包管理器" -> "管理解决方案的 NuGet 包"。
![iTextSharp 利用 CSS 样式将 HTML 转换为 PDF 的 C# 示例 vs (IronPDF) 图 5 - 要在 Visual Studio 项目中安装 IronPDF,请导航至工具菜单,选择 NuGet Package Manager > Manage NuGet Packages for Solution。](/static-assets/pdf/blog/itextsharp-html-to-pdf-css-style-example/itextsharp-html-to-pdf-css-style-example-5.webp)
![iTextSharp 利用 CSS 样式将 HTML 转换为 PDF 的 C# 示例 vs (IronPDF) 图 6 - 在 Visual Studio 项目中安装 IronPDF 库的另一种方法:在 "解决方案资源管理器 "中右击项目,选择 "管理 NuGet 包 "选项。](/static-assets/pdf/blog/itextsharp-html-to-pdf-css-style-example/itextsharp-html-to-pdf-css-style-example-6.webp)
3.在 "NuGet 包管理器 "窗口中,切换到 "浏览 "选项卡。
4.搜索 "IronPDF "并从搜索结果中选择 "IronPdf"。
![iTextSharp 利用 CSS 样式将 HTML 转换为 PDF 的 C# 示例 vs (IronPDF) 图 7 - 在 "浏览 "选项卡的搜索框中输入 ironpdf。从搜索结果中选择 IronPdf,点击安装按钮。](/static-assets/pdf/blog/itextsharp-html-to-pdf-css-style-example/itextsharp-html-to-pdf-css-style-example-7.webp)
5.点击 "安装 "按钮,将 IronPDF 添加到您的项目中。
iText7.pdfHTML 提供了一种灵活的方法来 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));
Imports iText.Html2pdf
' Input HTML page content with CSS styling
Private 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
Private outputPdfPath As String = "results/output.pdf"
HtmlConverter.ConvertToPdf(html, New FileStream(outputPdfPath, FileMode.Create))
上述代码片段演示了如何使用 iText 7 的 "HtmlConverter "将纯文本或带有 CSS 样式的指定 HTML 内容转换为 PDF 文件。在 CSS 样式标签中,你还可以设置字体大小以及更多样式,如背景颜色、内容布局等。它可定义输入的 HTML 内容,指定输出 PDF 文件路径,然后调用转换过程。生成的 PDF 将保存在 outputPdfPath
中指定的位置。
虽然 iText7 提供了精细的样式控制,但对于复杂的 HTML 布局或复杂的 CSS 样式,它可能需要额外的代码。不过,在需要进行 HTML 转换之外的大量 PDF 样式定制时,iText7 就会大显身手。
IronPDF 简化了 HTML 转换为 PDF 提供了一种直接将 HTML 标记和 CSS 呈现到 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");
Imports IronPdf
' Basic Example
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private 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
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
下面是对上述代码的更详细解释:
在基本示例中,IronPDF 提供了一种将 HTML 转换为 PDF 文档的简化方法。开发人员只需几行代码即可实现,如上图源代码所示。核心步骤包括创建一个 "PDFDocument",并直接将 HTML 内容渲染到其中。
在高级示例中,代码会加载包含图片的 HTML 元素内容 (<img src='icons/iron.png'>
) 并指定加载外部资产的基本路径 (如图像、外部 CSS 文件和 JavaScript 文件) 方法生成 PDF。生成的 PDF 文件包括 HTML 内容及其相关资产,保存为 "html-with-assets.pdf"。
IronPDF这种方法非常适合需要无障碍数据转换过程的情况,既不需要深入研究复杂的 PDF 文档构建,也不需要任何其他依赖性。它抽象了许多基本的复杂性,并提供了用户友好的体验。
在这次全面的比较中,我们探索了两个功能强大的 C# HTML 到 PDF 转换库: iTextSharp 和 IronPDF.
iTextSharp 具有全面的 PDF 操作能力,为开发人员提供了精确控制 PDF 生成过程的工具。除了简单的 HTML 到 PDF 转换之外,它还能满足复杂的 PDF 定制需求。另一方面,IronPDF 作为一个专用库,专为轻松实现 HTML 到 PDF 的转换而设计。它提供了一种直观和用户友好的方法,非常适合于需要最少编码工作的简单任务。
要在这两个库中做出正确的选择,请考虑您的 PDF 需求的复杂性。如果您需要广泛的自定义和高级 PDF 功能,iTextSharp 将是您的不二之选。然而,如果您想快速高效地将 HTML 转换为 PDF,而不需要复杂的 PDF 修改和其他库依赖关系,IronPDF 则是一个高效且用户友好的选择。它还提供先进的 PDF 操作选项。