Use spire to convert the result of loading the page pointed to by url into pdf and
look at the code directly: you
need to introduce a namespace:
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");
}
Effect after execution:
Execution time: about 30 seconds, longer time, not recommended