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,如需转载请自行联系原作者

相关文章
|
6天前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
18 2
|
21天前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
22 0
|
3月前
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
4月前
使用LabVIEW打开默认应用程序中的文档(PDF,Word,Excel,Html)
使用LabVIEW的"Open a Document on Disk.vi",存于<LabVIEW>\vi.lib\Platform\browser.llb,可让默认应用打开硬盘文档。此VI仅基础打开功能,高级控制推荐LabVIEW Report Generation Toolkit或ActiveX。注意:避免版本升级问题,最好将VI复制到vi.lib外的目录。
174 3
|
5月前
|
数据采集 移动开发 前端开发
springboot使用html模版导出pdf文档
springboot使用html模版导出pdf文档
|
5月前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
378 0
|
5月前
|
Python
python html(文件/url/html字符串)转pdf
python html(文件/url/html字符串)转pdf
39 0
|
2月前
|
XML 缓存 JSON
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
189 0
|
5天前
|
索引 Python
PDF文件页面提取操作小指南
PDF文件页面提取操作小指南
22 4
|
5天前
|
Python
Python对PDF文件页面的旋转和切割
Python对PDF文件页面的旋转和切割
19 3