在.NET中,你可以使用第三方库来将HTML转换为PDF。一个常用的库是iTextSharp,它是iText的.NET版本。以下是一个示例:
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using System.Text;
using System.Web;
public class HtmlToPdfConverter
{
public static void ConvertHtmlToPdf(string htmlFilePath, string pdfFilePath)
{
// 读取HTML文件内容
string htmlContent = File.ReadAllText(htmlFilePath, Encoding.UTF8);
// 创建PDF文档
Document document = new Document();
// 创建PDF写入器
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(pdfFilePath, FileMode.Create));
// 打开PDF文档
document.Open();
// 将HTML内容写入PDF
using (var htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(htmlContent)))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, htmlStream, Encoding.UTF8);
}
// 关闭PDF文档
document.Close();
}
}
在上面的代码中,我们首先使用File.ReadAllText
方法读取HTML文件的内容。然后,我们创建一个Document
对象来表示PDF文档,并使用PdfWriter
将其与输出文件关联。接下来,我们打开PDF文档并使用XMLWorkerHelper
的ParseXHtml
方法将HTML内容写入PDF。最后,我们关闭PDF文档。
确保在使用iTextSharp之前,你已经将其添加为项目的引用。你可以通过NuGet包管理器或手动下载并添加iTextSharp库。
使用上述代码,你可以调用ConvertHtmlToPdf
方法,将HTML文件转换为PDF。传递HTML文件的路径和要保存的PDF文件的路径作为参数。
领取专属 10元无门槛券
手把手带您无忧上云