wkhtmtopdf--高分辨率HTML转PDF

简介:

代码篇

浏览了很多实例,总找不到既能把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 + @"\resoure";
                        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-8\ansi等网页时,会出现乱码

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




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/p/5520715.html,如需转载请自行联系原作者

相关文章
|
缓存 Linux Windows
flyingsaucer进行html文件转图片和pdf
目录 一、前言 二、html转图片 1、添加依赖 2、代码示例 (1)测试html文件 (2)代码示例 3、演示结果 三、html转pdf 1、添加依赖 2、代码示例 3、演示结果 四、注意点 1、html转图片的源url 2、部署到linux上后中文乱码 五、Linux上安装字体 1、拷贝字体 2、赋予权限 3、建立字体缓存 4、查看安装的字体
flyingsaucer进行html文件转图片和pdf
|
1月前
|
数据采集 移动开发 前端开发
springboot使用html模版导出pdf文档
springboot使用html模版导出pdf文档
|
4月前
|
前端开发 JavaScript API
使用 html2PDF 将内容导出为 PDF
使用 html2PDF 将内容导出为 PDF
116 0
|
5月前
html转word或pdf
html转word或pdf
84 0
|
9月前
|
前端开发 PHP
web开发HTML生成PDF的三种解决方案(服务器端mpdf、html2canvas.js、浏览器打印、PDF虚拟打印机)
web开发HTML生成PDF的三种解决方案(服务器端mpdf、html2canvas.js、浏览器打印、PDF虚拟打印机)
765 0
|
9月前
html2canvas生成PDF并下载的解决方案
html2canvas生成PDF并下载的解决方案
121 0
|
11月前
|
前端开发
Freemarker动态模板渲染&flyingsaucer将html转PDF(多页固定头尾)
Freemarker动态模板渲染&flyingsaucer将html转PDF(多页固定头尾)
|
12月前
|
JavaScript 前端开发 测试技术
Vue 结合html2canvas和jsPDF实现html页面转pdf
Vue 结合html2canvas和jsPDF实现html页面转pdf
290 0
|
Web App开发 编解码 iOS开发
wkhtmtopdf--高分辨率HTML转PDF(一)
原文:wkhtmtopdf--高分辨率HTML转PDF(一) 一、需求 这次工作中遇到一个需求,要求把网页转换为PDF,穷极了很多的方法,包括尝试了itextsharp来转换,虽然可以实现,但是分辨率和效率并不理想;偶然间看到网友的一篇关于wkhtmtopdf的用法,虽然说的不是很清楚,但是总算发现了这么一个方法,研究了两天,大概了解了一些做法,现在记录下来,以便以后可以用到,还有,有需要的朋友也可以参考下~~ wkhtmltopdf:利用 webkit 内核将 HTML 转为 PDF。
1029 0