首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在.NET中将HTML转换为PDF

在.NET中,你可以使用第三方库来将HTML转换为PDF。一个常用的库是iTextSharp,它是iText的.NET版本。以下是一个示例:

代码语言:javascript
复制
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文档并使用XMLWorkerHelperParseXHtml方法将HTML内容写入PDF。最后,我们关闭PDF文档。

确保在使用iTextSharp之前,你已经将其添加为项目的引用。你可以通过NuGet包管理器或手动下载并添加iTextSharp库。

使用上述代码,你可以调用ConvertHtmlToPdf方法,将HTML文件转换为PDF。传递HTML文件的路径和要保存的PDF文件的路径作为参数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • JAVA开源的htmlpdf、pngpdf项目

    总览 Open HTML to PDF是一个纯Java库,用于使用CSS 2.1(以及更高版本的标准)对合理子集的格式良好的XML/XHTML(甚至一些HTML5)进行布局和格式化,输出为PDF或图像。...使用该库生成漂亮的PDF文档。但请注意,您不能将现代HTML5+直接应用于该引擎并期望获得出色的结果。...您必须特别为该库制作HTML文档,并使用其扩展的CSS功能,比如#31或#32,才能获得良好的结果。避免页面断点附近使用浮动,使用表格布局。...特性 使用维护良好且开源(兼容LGPL)的PDFBOX作为PDF库,而不是iText。 提供适当的支持生成无障碍PDF(Section 508,PDF/UA,WCAG 2.0)。...OPEN HTML TO PDF已经OpenJDK 8、11和17(早期版本)上进行了测试。至少需要Java 8才能运行。 不,你不能在Android上使用它。 你应该能

    23010

    .Net Core 导出HtmlPDF

    前言   最近由于项目的需求问题,涉及到了.Net Core中导出PDF的一个问题,最后选择方式是后端拼接到Html页面然后再通过Html导出到PDF。...内容PDF较为麻烦 DinkToPdf 依赖wkhtmltopdf,需要附带exe应用程序 iTextSharp 5.0以后的收费了,而且NuGet包最低都在5.0以上,也就是收费 iTextSharp.LGPLv2....Core Html内容PDF太复杂 PDF.Core 收费 HTML-Renderer.Core 较久没有维护支持,不兼容 HTML-Renderer.PdfSharp 可以使用但是不兼容...但是也仅限Windows平台。但是使用确实比较方便。我们看下具体操作: 首先安装Select.HtmlToPdf.NetCore NuGet包 ?...内容导出一个PDF文件多个页面的例子: /// /// Html导出PDF一个文件多页 ///

    2.9K30
    领券