在前面介绍过《解决方案之普通报表打印功能》的一片文章中提到过那个打印控件Lodop,做起套打来感觉还是挺方便的,至少位置调整界面不需要自己弄,位置嘛,也提供了自动保存的功能,不需要理会。
一般的套打,包含了几部分操作:打印预览、打印维护、打印设计。
打印预览和打印维护是面向终端用户的,打印维护是指内容不能修改删除、但位置可以调整,给不同的打印机不同的尺寸打印提供调整位置的可能性。
打印设计是面向开发人员的,开始需要通过这个功能来设计好套打的界面,就是根据套打证件的背景图片,大致摆放好各个内容的位置。
大致的实现代码如下所示:
其中大部分内容还是比较好理解的,不同的功能调用不同的函数Preview为预览、Setup为维护、Design为设计。
在套打的时候,注意需要通过下面代码来设置显示背景图片(打印的时候,是不打印背景的)。
");
LODOP.SET_SHOW_MODE ("BKIMG_IN_PREVIEW",1); //打印预览时是否包含背景图
名称
LODOP.SET_PRINT_STYLEA(1,"FontSize",14);
LODOP.SET_PRINT_STYLEA(1,"Bold",1);
var licenseDate = document.getElementById("txtLicenseDate").value;//证件有效期
var licenseYear = "";
var licenseMonth = "";
var licenseDay = "";
if (licenseDate != null && licenseDate != "") {
licenseYear = licenseDate.split("-")[0];
licenseMonth = licenseDate.split("-")[1];
licenseDay = (licenseDate.split("-")[2]).substr(0,2);
}
LODOP.ADD_PRINT_TEXT(396,190,46,22,validateYear); //有效期 结束 年
LODOP.SET_PRINT_STYLEA(6,11);
LODOP.SET_PRINT_STYLEA(6,1);
LODOP.ADD_PRINT_TEXT(396,253,30,validateMonth); //有效期 结束 月
LODOP.SET_PRINT_STYLEA(7,11);
LODOP.SET_PRINT_STYLEA(7,304,32,validateDay); //有效期 结束 日
LODOP.SET_PRINT_STYLEA(8,11);
LODOP.SET_PRINT_STYLEA(8,1);