使用itext进行html拼接生成pdf文件
作者:互联网
1.首先进来的朋友们可以看一下您遇到的问题是否和我的类似,这边我先总结一下,值得写的一些问题:
1.1:如何从web端进行点击下载pdf。
1.2:如何使写的html的css样式加粗样式生效。
1.3:如何进行下载的pdf格式使A4或者A3的设置。
1.4:如何插入图片。
如果您有以上问题请继续往下预览-------------
2.如何从web端进行点击下载pdf:根据公司的业务需求,在页面上可以导出pdf文件。
如何从web端进行点击下载pdf:
2.1:点击打印工单的按钮,便可以下载要生成的pdf文件,html标签如下:
<a href="javascript:void(0);" id="toprint_btn" style="width:80px;text-align:center;" onclick="toPrint()">打印工单</a>
2.2:onclick事件的代码如下,使用window.location.href,将参数进行传送后台:
function toPrint(){ var ids = $("#planInfoid").val(); window.location.href="planManagement/toPrint?ids=" + ids; }
2.3:后台进行,根据接收参数从数据库里面查询要打印的数据。然后进行html拼接要生成的pdf格式:
这里,由于是我司用的是jfinal框架的业务代码,出于保密性,所以只能简洁一下拼接,但是逻辑都是一样的,只是用的框架不一样而已。
注意:body上一定要加上:font-family:SimSun; 代码,这是显示什么字体,SImSun,是宋体
拼接的html标签中,一定要有闭合,例如:<input></input>,一定要有</input>,不能写成:<input/>
/**
* 打开打印页面
*/
public void toPrint() {
//接收参数
String ids = this.getPara("ids");
String[] splitIds = ids.split(",");
// itex工具类
ItextUtil itextUtil = new ItextUtil();
String html = "";
// 获取response
HttpServletResponse response = this.getResponse();
for (String id : splitIds) {
PlanInfo model = PlanInfo.dao.getPlanInfoById(id);
// 需要拼接的html样式
html += "<body style = \"padding:0; margin:0; font-family:SimSun;\" >" +
"<div id=\"printForm\" style=\"height:1000px; border: black 2px solid;margin-top:20px;\">" +
" <h2 style=\"text-align: center;font-size:18px;font-weight: 900\">导出pdf信息</h2>\n" +
" <table style=\"border-collapse:separate; border-spacing:0px 3px;border-top: black 1px solid;border-bottom: black 1px solid\" width=\"100%\">\n" +
" <tr style=\"\">\n" +
" <td><span style=\"font-size:9pt;\">号码:</span><span id=\"orderNumber\" style=\"font-size: 9pt;\">" + model.getInt("id") + "</span></td>\n" +
" </td>\n" +
" <td><span style=\"font-size:9pt;\">等级:</span><span style=\"font-size: 9pt;\"> </span>" + goEmpty(model.getStr("levels")) + "</td>\n" +
" </tr>\n" +
" </table>"+
" </div>"+
" </body>";
}
try {
// 导出的名称
String fileName = new String((new SimpleDateFormat("yyyy-MM-dd").format(new Date())).getBytes(), "UTF-8");
fileName = "HPT-PM工单"+"-"+fileName;
itextUtil.htmlCodeComeString(html, response,"a4",fileName);
} catch (Exception e) {
e.printStackTrace();
}
}
标签:String,ids,fileName,itext,拼接,pdf,html 来源: https://www.cnblogs.com/www-yang-com/p/14154754.html