wkhtmltopdf参数设置和下载PDF

原创 2016年05月30日 10:40:53
string fileName = Guid.NewGuid().ToString();
            string url = Request.Url.ToString();
            string savepath = System.Web.HttpContext.Current.Server.MapPath("~/upfile/") + fileName + ".pdf";
            try
            {
                if (!string.IsNullOrEmpty(url) || !string.IsNullOrEmpty(savepath))
                {
                    Process p = new Process();
                    string dllstr = @"D:\wkhtmltopdf\wkhtmltopdf.exe";


                    StringBuilder paramsBuilder = new StringBuilder();
                    paramsBuilder.Append("--print-media-type ");
                    paramsBuilder.Append("--disable-smart-shrinking ");
                    paramsBuilder.Append("--margin-top 0mm --margin-bottom 0mm --margin-right 0mm --margin-left 0mm ");
                    //paramsBuilder.Append("--page-size A4 ");//当使用页面参数时,宽高参数无效
                    paramsBuilder.Append("--page-width 310mm ");
                    paramsBuilder.Append("--page-height 310mm ");
                    paramsBuilder.Append("--no-background ");
                    paramsBuilder.AppendFormat("\"{0}\" \"{1}\"",url, savepath);


                    if (System.IO.File.Exists(dllstr))
                    {
                        ProcessStartInfo psi = new ProcessStartInfo();
                        psi.FileName = dllstr;
                        psi.Arguments = paramsBuilder.ToString();
                        psi.UseShellExecute = false;
                        psi.RedirectStandardOutput = true;
                        psi.RedirectStandardError = true;
                        psi.RedirectStandardInput = true;
                        psi.CreateNoWindow = true;
                        p.StartInfo = psi;
                        p.Start();
                        p.WaitForExit();


                        try
                        {
                            FileStream fs = new FileStream(savepath, FileMode.Open);
                            byte[] file = new byte[fs.Length];
                            fs.Read(file, 0, file.Length);
                            fs.Close();
                            System.Web.HttpContext.Current.Response.Clear();
                            System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + fileName + ".pdf");//強制下載
                            System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";
                            System.Web.HttpContext.Current.Response.BinaryWrite(file);
                        }
                        catch (Exception e)
                        {
                            throw e;
                        }
                    }
                }


            }
            catch (Exception e)
            {
                throw e;
            }

wkhtmltopdf 中文参数详解

linux:wkhtmltopdf [OPTIONS]… [More input files] windows:wkhtmltopdf.exe [OPTIONS]… [More input fi...
  • zhangkezhi_471885889
  • zhangkezhi_471885889
  • 2016年08月11日 17:25
  • 5158

wkhtmltopdf 将highcharts的页面转为pdf 图表加载不上问题 或者图标显示不全问题解决

问题一: highcharts加载不上,是因为highcharts有画图的那个动作,所以需要去掉那个动作,具体代码如下。 plotOptions: {                     pie:...
  • qq422431474
  • qq422431474
  • 2017年03月31日 14:50
  • 1433

HTML 转 PDF 之 wkhtmltopdf 工具精讲

术语定义 文档对象 “文档对象”是指PDF文档中的文档对象,共有三种类型的“文档对象”,他们分别是“页面对象”,“封面对象”和“目录对象”。 页面对象 “页面对象”是指以页面的...
  • qq_26562641
  • qq_26562641
  • 2017年05月15日 17:11
  • 488

使用wkhtmltopdf把网页转换为pdf的经验总结

最近项目上需要做一个在线合同的功能,合同有电子版,需要把网页版的合同直接生产pdf,要求样式不能乱,有页码有页眉页脚等等,在网上搜索一段时间后,找到了一个工具叫: wkhtmltopdf ,这应该是...
  • zr527397749
  • zr527397749
  • 2017年03月02日 14:32
  • 1728

最好用Html转pdf的工具——wkhtmltopdf

最好用,最强大的html转pdf,不需要编写过多的php算法,就可以高清,简单,快捷,方便的将你所需要的页面转成pdf...
  • qq_14873105
  • qq_14873105
  • 2016年05月13日 11:41
  • 29862

wkhtmltopdf 中文参数详解

wkhtmltopdf [OPTIONS]... [More input files] 常规选项   --allow  允许加载从指定的文件夹中的文件或文件(可重复) --bo...
  • u014644418
  • u014644418
  • 2016年06月04日 15:23
  • 2291

HTML转PDF工具(wkhtmltopdf)介绍,支持widows和linux

最近项目中客户提了一个奇葩的需求;批量把html转为pdf文件用于存档。听到这个需求不知所错,最开始研究iText使用java开发,各种中文乱码,中文不显示问题。后来在网上搜索到wkhtmltopdf...
  • zhangkezhi_471885889
  • zhangkezhi_471885889
  • 2016年08月11日 18:19
  • 8097

wkhtmltopdf 中文不能显示问题完美解决

装好wkhtmltopdf 中文显示空白或者乱码方框 网路上说一般是中文支持没有安装 说添加yum源后安装以下两个包: fonts-chinese.noarch fonts-ISO8859-2...
  • liuxiaochen123
  • liuxiaochen123
  • 2014年06月17日 10:14
  • 8035

wkhtmltopdf 缩放问题

最近客户要精确pdf打印。wkhtmltopdf  html转pdf 始终页面有缩放;解决这个问题绕了很多弯路花了2天,这个问题一定要记录下: --disable-smart-shrinking  ...
  • churujianghu
  • churujianghu
  • 2017年07月13日 16:32
  • 1309

使用wkhtmltopdf把网页转换为pdf的经验总结

最近项目上需要做一个在线合同的功能,合同有电子版,需要把网页版的合同直接生产pdf,要求样式不能乱,有页码有页眉页脚等等,在网上搜索一段时间后,找到了一个工具叫: wkhtmltopdf ,这应该是...
  • zr527397749
  • zr527397749
  • 2017年03月02日 14:32
  • 1728
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:wkhtmltopdf参数设置和下载PDF
举报原因:
原因补充:

(最多只允许输入30个字)