JSP页面导出PDF格式文件

Posted 教练我想打篮球

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP页面导出PDF格式文件相关的知识,希望对你有一定的参考价值。

JSP页面导出PDF格式文件基本在前端页面可以全部完成

<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>

添加下载链接的点击事件
<script type="text/javascript">
var downPdf = document.getElementById("downLoad");
downPdf.onclick = function() {
downPdf.parentNode.removeChild(downPdf);
html2canvas(document.body, {
onrendered:function(canvas) {

var contentWidth = canvas.width;
var contentHeight = canvas.height;

//一页pdf显示html页面生成的canvas高度;
var pageHeight = contentWidth / 592.28 * 841.89;
//未生成pdf的html页面高度
var leftHeight = contentHeight;
//pdf页面偏移
var position = 0;
//a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高
var imgWidth = 595.28;
var imgHeight = 592.28/contentWidth * contentHeight;

var pageData = canvas.toDataURL(\'image/jpeg\', 1.0);

var pdf = new jsPDF(\'\', \'pt\', \'a4\');

//有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)
//当内容未超过pdf一页显示的范围,无需分页
if (leftHeight < pageHeight) {
pdf.addImage(pageData, \'JPEG\', 0, 0, imgWidth, imgHeight );
} else {
while(leftHeight > 0) {
pdf.addImage(pageData, \'JPEG\', 0, position, imgWidth, imgHeight)
leftHeight -= pageHeight;
position -= 841.89;
//避免添加空白页
if(leftHeight > 0) {
pdf.addPage();
}
}
}
pdf.save(\'content.pdf\');
}
})
}
</script>
<a id="downLoad" href="javascript:void(0)">打印档案</a>
最终生成文件

 


以上是关于JSP页面导出PDF格式文件的主要内容,如果未能解决你的问题,请参考以下文章

java怎样将网页上面的数据以pdf的格式导出,求代码

如何把JSP页面导出到Excel中

Vue 页面导出成PDF文件

jsp如何导出excel

Birt设置导出格式和去掉多余按钮的方法

如何在java struts2中将jsp上显示的表格导出为pdf