项目上有个功能需求需要打开一个超级长的网页,然后生成pdf。首先想到的方法是自己编写生成pdf,试了下觉得太复杂就pass掉了。网上找了下解决方案,有根据html页面生成pdf的,找了很多插件都全部试了一次,要么运行不了,要么只能打开简单的网页,但是复杂的通过ajax请求数据渲染的基本就不行了。然后转变思路通过网页截图自己生成pdf,最后是通过CefSharp这个chrome内核内置浏览器实现截图的。
使用时需注意的有两点:
1、在vs编译时必须设置目标平台为x64位或者x86,any是不行的。
2、然后在机器上运行要必须安装Visual C++ Redistributable Packages for Visual Studio 2013 这个东西,最好是x64和x86版本都要装,不然会报找不到CefSharp这个文件。
这个东西适合各种复杂网页截图,百度地图能截图。
最后有一个缺点不管设置内置浏览器的像素多大,最后截的图的清晰度都不是很满意,感觉有点模糊,还不清楚怎么解决。
网友评论