今天一朋友问我怎么把一个客户端用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。
补充一下:对含中文字的渲染似乎有点不好用。