漂泊雪狼的博客

思考,讨论,分享C#,JavaScript,.NET,Oracle,SQL Server……技术

导航

html 网页生产pdf文件

Posted on 2017-06-02 23:53  漂泊雪狼  阅读(567)  评论(0编辑  收藏  举报

在nuget中安装组件 

Install-Package CPechkin

 

https://www.nuget.org/packages/CPechkin/

根据html生产pdf文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Pechkin.Synchronized;
using Pechkin;
using System.Drawing.Printing;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            //string fileName = Path.GetTempFileName();
            //using (FileStream fs = new FileStream(fileName,FileMode.OpenOrCreate))
            //{
            //    using (StreamWriter sw = new StreamWriter(fs))
            //    {
            //        sw.WriteLine(Guid.NewGuid());
            //    }
            //    //sw.Flush();
            //    //fs.Close();
            //}
            //var fileExists = File.Exists(fileName);
            //using (StreamReader sr = new StreamReader(fileName))
            //{
            //    string res = sr.ReadLine();
            //}

            SynchronizedPechkin sc = new SynchronizedPechkin(new GlobalConfig().SetMargins(new Margins(100, 100, 100, 100)));
            ObjectConfig oc = new ObjectConfig();
            oc.SetPrintBackground(true).SetRunJavascript(true).SetScreenMediaType(true)
              .SetLoadImages(true)
              .SetPageUri("http://www.baidu.com");

            IList<Uri> uris = new List<Uri>

{

new Uri(@"http://www.baidu.com"),

new Uri(@"E:\temp\20160602\test.html")

};

            byte[] buf = sc.Convert(uris);

            string fn = Path.GetTempFileName() + ".pdf";

            FileStream fs = new FileStream(fn, FileMode.Create);

            fs.Write(buf, 0, buf.Length);

            fs.Close();
        }
    }
}