zoukankan      html  css  js  c++  java
  • 黄聪:wkhtmtopdf--高分辨率HTML转PDF

    下载:http://wkhtmltopdf.org/

    代码篇

    浏览了很多实例,总找不到既能把HTML保存为PDF,同时实现流抛出的,所以自己琢磨了许久,终于实现了这样两个需求的结合体,下面来贡献一下吧~~

    下面我们来选择一个网页打印下,保存为PDF,而且实现流抛出保存,假设我们选择“http://www.cnblogs.com/huangcong

    页面截图如:

    image

    目标:我们需要做出上面这个效果的PDF。

    1.步骤

    • 首先新建一个项目HTMLtoPDFOutPutStream
    • 引用 System.Web 
    • 新建目录output;作为临时输出目录
    • 新建resoure目录,用于保存wkhtmltopdf.exe等各个组件
    • 最后在按钮的点击事件上写代码

    2.按钮的点击处理代码:

                    string fileName = Guid.NewGuid().ToString(); ;
    
                    string outputPath = Application.StartupPath + @"output";
                    string savepath = string.Format(outputPath + "\" + fileName + ".pdf");//最终保存
    
                    string url = "http://baidu.com";
    
                    try
                    {
                        if (!string.IsNullOrEmpty(url) || !string.IsNullOrEmpty(savepath))
                        {
                            Process p = new Process();
                            string resource = Application.StartupPath + @"
    esoure";
                            string dllstr = string.Format(resource + "\wkhtmltopdf.exe");
    
                            string s = @" -L 0 -R 0 --header-spacing 15 " + url + "  " + savepath;
                            ProcessStartInfo startInfo = new ProcessStartInfo(dllstr, s);
                            p.StartInfo = startInfo;
                            p.StartInfo.UseShellExecute = false;
                            p.StartInfo.CreateNoWindow = true;
                            p.Start();
                            p.WaitForExit();
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
     
    3.效果图
     
    image
     
    ===小小提示===

    (1)使用wkhtmltopdf时,PDF保存的文件夹不能有非Ansi字符,如中文、日文等,且转换gb2312、韩文charset、日文charset等非utf-8ansi等网页时,会出现乱码

    (2)网页上图片无法正确显示是由于图片有链接

  • 相关阅读:
    postgres导入和导出
    postgres日常操作
    NumPy Ndarray 对象
    NumPy 简介及安装
    Python两个内置函数locals 和globals
    python之multiprocessing多进程
    postgres外部表
    css中文本超出部分省略号代替
    js中的作用域链
    css中clip:rect矩形剪裁功能
  • 原文地址:https://www.cnblogs.com/huangcong/p/5520715.html
Copyright © 2011-2022 走看看