首页
学习
活动
专区
工具
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文件的路径作为参数。

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

相关·内容

.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.8K30

WordPDF,PNG,HTML神器XDOC

前言 很多的项目中都会遇到操作Word文件的需求,特别是To B的这种项目。像一些招聘网站最常见的一个功能那就是导出简历啦,可以导出doc,pdf,html等格式。...基于上面的需求,最基本的功能还是得修改Word文件,修改完成之后然后再PDF, 如何在网页中显示呢?比如说我们可以生成html格式,嵌入到网页中,生成图片也是可以的。...http://www.xdocin.com/XDocService.ja 源代码 : http://www.xdocin.com/XDocService.java 首先我们先来简单的对一个word文件pdf...")); } catch (IOException e) { e.printStackTrace(); } 只需要2行代码,我们就可以实现wordpdf的操作,是不是很简单。...image.png 接下来实现一个稍微复杂点的需求,将wordpdf的时候,动态去修改word中的内容,我们修改下docx文件,将标题变成动态的,使用${文字}格式编写。 ?

5.8K10
领券