最近领导让我实现Lodop实现打印功能。看文档操作,很简单,但是在这过程中也遇到了不少问题。百度了很多,却一直解决不了,后来还是问客服才实现的,下面记录一下整个过程。
首先需要引用LodopFuncs.js文件。
function printReport() {
LODOP=getLodop(); //调用LodopFuncs.js,判断是否已经安装
LODOP.PRINT_INIT("");
var strStyleCSS='<link rel="stylesheet" href="../apps/_bpm.portal/css/client.bpm.form.page.common.css">';//获取外部css文件。
var strFormHtml = document.getElementById("aws-form-container").innerHTML ;
LODOP.ADD_PRINT_HTM(0,0,"100%","100%",strFormHtml);
LODOP.SET_PRINT_STYLEA(0,"TableRowThickNess",52);
LODOP.PREVIEW();//预览
}
ADD_PRINT_HTM:该超大行分页后成了多行。
ADD_PRINT_HTML:切行切字,类似截图。
ADD_PRINT_TABLE:只能一个表格,嵌套表格不行。
我的项目中,使用的是嵌套表格,所以不能使用ADD_PRINT_TABLE,所以我采用的是ADD_PRINT_HTM,但是在这过程中发现问题——页里的最后一行的单元格的内容过多的话,单元格的内容会被分成两页,查找了很多资料都没有解决问题,后来领导提议问客服,原来需要设置TableRowThickNess值,该值默认是20,需要改成自己项目需要的。
如:LODOP.SET_PRINT_STYLEA(0,"TableRowThickNess",52); //默认值20
项目中的小插曲:遇到问题时,我一直在百度,在各种论坛上提问,后来实在无能为力的时候,和领导说,领导说他一直在等我说我不行,在等我寻求帮助,所以以后遇到问题的时候,不能一根筋的想通过百度解决问题,在发现无法解决问题的时候,需要寻求身边人的帮助,说不定他能提供一个思路。 还有以后如果使用某个插件或者使用其他东西遇到问题时,与其纠结,不如找客服,说不定你纠结很久的问题被客服一句话就弄明白了。