文档世俱杯 2025>>E-iceblue中文文档>>用C#将HTML字符串转换为PDF
用C#将HTML字符串转换为PDF
Spire.PDF for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。致力于在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档,而无需安装 Microsoft Word。
行号用于在每行文本旁边显示 Word 自动计算的行数。当我们需要参考合同或法律文件等文档中的特定行时,它非常有用。word中的行号功能允许我们设置起始值、编号间隔、与文本的距离以及行号的编号方式。使用 Spire.Doc,我们可以实现上述所有功能。本文将介绍如何将文本文件转换为 PDF
欢迎加入spire技术交流群:767755948
除了转换HTML URL为PDF和HTML文件为PDF,现在Spire.PDF开始支持转换HTML字符串为PDF。本文将向您展示如何在C#中将HTML字符串转换为PDF文件。我们支持HTML字符串中的表格、文本和超链接。请检查以下步骤:
- 下载Spire.PDF for .NET(3.0.27以上版本)并正确安装。Spire.PDF安装简洁、专业,并使用MSI安装包。
- 在下载的Bin文件夹中添加Spire.Pdf.dll作为参考,路径如下:"...\Spire.Pdf\Bin\NET4.0\Spire.Pdf.dll"。
- 下面是代码
步骤1:创建一个新的PDF文档。
1 PdfDocument pdf = new PdfDocument();
第2步:设置布局和页面设置。
1 PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat(); 2 //webBrowser load html whether Waiting 3 htmlLayoutFormat.IsWaiting = false; 4 //page setting 5 PdfPageSettings setting = new PdfPageSettings(); 6 setting.Size = PdfPageSize.A4;
第3步:加载HTML字符串代码并生成PDF文件。
1 string htmlCode = File.ReadAllText("..\\..\\2.html"); 2 3 //use single thread to generate the pdf from above html code 4 Thread thread = new Thread(() => 5 { pdf.LoadFromHTML(htmlCode, false, setting, htmlLayoutFormat);}); 6 thread.SetApartmentState(ApartmentState.STA); 7 thread.Start(); 8 thread.Join();
第4步:将文件保存为PDF格式并预览。
1 pdf.SaveToFile("output.pdf"); 2 System.Diagnostics.Process.Start("output.pdf");
请查看有效截图:

完整代码:
using Spire.Pdf; using Spire.Pdf.HtmlConverter; using System.IO; using System.Threading; namespace LoadFromHTML { class Program { static void Main(string[] args) { PdfDocument pdf = new PdfDocument(); PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat(); htmlLayoutFormat.IsWaiting = false; PdfPageSettings setting = new PdfPageSettings(); setting.Size = PdfPageSize.A4; string htmlCode = File.ReadAllText("..\\..\\2.html"); Thread thread = new Thread(() => { pdf.LoadFromHTML(htmlCode, false, setting, htmlLayoutFormat); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); pdf.SaveToFile("output.pdf"); System.Diagnostics.Process.Start("output.pdf"); } } }