使用spire将url指向的页面加载后的结果转成pdf
直接看代码:
需要引入命名空间:
using Spire.Pdf;
using Spire.Pdf.HtmlConverter;
public static void SpireUrlToPDF(string url)
{
//创建PdfDocument对象
PdfDocument doc = new PdfDocument();
//创建PdfPageSettings对象
PdfPageSettings setting = new PdfPageSettings();
//设置页面大小及边距
setting.Size = new System.Drawing.SizeF(1010,1300);
setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20);
//创建PdfHtmlLayoutFormat对象
PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();
//等待直至HTML内容完全加载
htmlLayoutFormat.IsWaiting = true;
//获取URL地址
//string url = "http://www.e-iceblue.cn/";
//获取HTML代码
//string htmlCode = File.ReadAllText(@"C:\Users\Administrator\Desktop\sample.html");
//使用LoadFromHTML方法加载URL
Thread thread = new Thread(() =>
{
doc.LoadFromHTML(url, false, false, false, setting, htmlLayoutFormat); });
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
//保存并打开文档
doc.SaveToFile("output.pdf");
System.Diagnostics.Process.Start("output.pdf");
}
执行后的效果:
执行时间:约30秒 ,时间较长,不建议