一.
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内容转换为PDF
HtmlConverter.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");
}