赞
踩
前言:
本来我的目的是要通过前台一个按钮点击后生成一个pdf文件保存到电脑,然后我是用的jspdf做的,但是这玩意(js)只能通过浏览器下载的方式保存到电脑,但是需求是直接保存到本地不通过浏览器下载,这就很尴尬了,咱知道js是基本无法这样操作的,就算强行要操作便是打开activeXObject这种不兼容又有安全问题的东西,所以只好另辟蹊径,用java来搞了。
思路:
1.原来生成pdf的方式是通过html5canvas的一种方法,将页面某部分截图成图片,然后添加到jspdf对象(关于jspdf大家可以看上一篇博文)。
2.但是现在不能用js,所以我们只保留canvas图片,然后将图片数据传往后台java,至于传送方法就不多讲,ajax,mvc什么的随便,这里我用的是ajax的dwr框架。
3.java接收后,对图片数据进行转码,保存到本地图片。
4.对本地图片操作添加到pdf对象。
源码:
(js部分)
function pdfTest(){
html2canvas($('#bestfizz'), {
onrendered: function(canvas){
var dataURL = canvas.toDataURL('images/png');//获取图片数据URL,获取后是data:image/png;base64,iVBORw0KGgoA..后面一堆..
var imageDataB64 = dataURL.substring(22);//这里我们需要将上面获取
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。