今天一朋友问我怎么把一个客户端用Javascript渲染好的页面存成pdf。。然后发现了这么一个东西。
http://www.htmltopdf.de/english/html2pdf-with-javascript/
原理是:它提供了一个HTTP Service,你给他传递你要存为pdf的页面url,它去下载、本地渲染、截图、生成pdf,再传给客户端。
使用很简单:
function getPdf(inline,url){ if(!url) url=document.location.href; var param={ 'url' : url, 'plain' : '1', 'filename' : (!inline)?url.replace(/[^a-z|0-9|-|_]/ig,'_').replace(/_{2,}/g,'_')+'.pdf':'' }; var temp=[]; for(var key in param) temp.push(encodeURIComponent(key)+'='+encodeURIComponent(param[key])); document.location.href='http://online.htmltopdf.de/?'+temp.join('&'); }
<a href="javascript:getPdf();">Download PDF</a>
试用一下效果,下载本页为PDF。
补充一下:对含中文字的渲染似乎有点不好用。