一.
Install-Package itext7
二.构建字节流
using System.IO;
using iText.Html2pdf;
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;public byte[] ConvertUrlToPdf(string url)
{// 创建一个内存流用于存储PDF文件MemoryStream pdfStream = new MemoryStream();// 创建一个PdfWriter实例来写入内存流PdfWriter writer = new PdfWriter(pdfStream);// 创建一个PdfDocument实例PdfDocument pdfDoc = new PdfDocument(writer);// 创建一个ConverterProperties实例来设置HTML转换属性ConverterProperties converterProperties = new ConverterProperties();// 使用HtmlConverter将HTML内容转换为PDFHtmlConverter.ConvertToPdf(url, pdfDoc, converterProperties);// 关闭文档pdfDoc.Close();// 将内存流转换为字节数组byte[] pdfBytes = pdfStream.ToArray();// 关闭内存流pdfStream.Close();return pdfBytes;
三. controller 层使用
[HttpGet]
public IActionResult ExportPDF()
{var url= "http://www.baidu.com";var pdfBytes = ConvertUrlToPdf(url);return File(pdfBytes, "application/pdf", "export.pdf");
}