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

相关文章
|
8天前
|
Java BI API
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
这篇文章介绍了如何在Spring Boot项目中整合iTextPDF库来导出PDF文件,包括写入大文本和HTML代码,并分析了几种常用的Java PDF导出工具。
94 0
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
|
16天前
|
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向量化 增强检索
42 2
|
5天前
|
JavaScript 前端开发 容器
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
11 0
|
1月前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
36 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外的目录。
205 3
|
5月前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
418 0
|
5月前
|
Python
python html(文件/url/html字符串)转pdf
python html(文件/url/html字符串)转pdf
42 0
|
Web App开发 编解码 iOS开发
wkhtmtopdf--高分辨率HTML转PDF(一)
原文:wkhtmtopdf--高分辨率HTML转PDF(一) 一、需求 这次工作中遇到一个需求,要求把网页转换为PDF,穷极了很多的方法,包括尝试了itextsharp来转换,虽然可以实现,但是分辨率和效率并不理想;偶然间看到网友的一篇关于wkhtmtopdf的用法,虽然说的不是很清楚,但是总算发现了这么一个方法,研究了两天,大概了解了一些做法,现在记录下来,以便以后可以用到,还有,有需要的朋友也可以参考下~~ wkhtmltopdf:利用 webkit 内核将 HTML 转为 PDF。
1110 0