Web打印的解决方案之证件套打

王朝学院·作者佚名  2010-01-23
窄屏简体版  字體: |||超大  

由于以前未接触过套打,一直觉得套打是一个比较神秘和麻烦的事情,因为打印机的位置总是需要调整的,你总不能硬编码吧?但是如果位置可调,有需要直观一些来处理,那就比较麻烦了。

在前面介绍过《Web打印的解决方案之普通报表打印》的一片文章中提到过那个打印控件Lodop,做起套打来感觉还是挺方便的,至少位置调整界面不需要自己弄,位置嘛,也提供了自动保存的功能,不需要理会。

一般的套打,包含了几部分操作:打印预览、打印维护、打印设计。

打印预览和打印维护是面向终端用户的,打印维护是指内容不能修改删除、但位置可以调整,给不同的打印机不同的尺寸打印提供调整位置的可能性。

打印设计是面向开发人员的,开始需要通过这个功能来设计好套打的界面,就是根据套打证件的背景图片,大致摆放好各个内容的位置。

大致的实现代码如下所示:

<script language="javascript">

var LODOP=document.getElementById("LODOP");//这行语句是为了符合DTD规范

CheckLodop();

</script>

<script language="javascript" type="text/javascript">

function Preview2() {

CreateDataBill();

LODOP.PREVIEW();

};

function Setup2() {

CreateDataBill();

LODOP.PRINT_SETUP();

};

function Design2() {

CreateDataBill();

LODOP.PRINT_DESIGN();

};

function RealPrint() {

CreateDataBill();

if (LODOP.PRINTA())

alert("已发出实际打印命令!");

else

alert("放弃打印!");

};

function CreateDataBill() {

LODOP.SET_PRINT_PAPER(10,10,762,533,"打印控件功能演示_Lodop功能_移动公司发票套打");

LODOP.ADD_PRINT_TEXT(126,150,100,20,"郭德刚");

LODOP.SET_PRINT_STYLEA(1,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(151,150,100,20,"13954885177");

LODOP.SET_PRINT_STYLEA(2,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(125,584,99,20,"发票打印(第1次)");

LODOP.SET_PRINT_STYLEA(3,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(465,140,198,20,"陆百柒拾捌元叁角零分");

LODOP.SET_PRINT_STYLEA(4,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(465,599,70,20,"678.30");

LODOP.SET_PRINT_STYLEA(5,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(496,408,59,20,"H112063");

LODOP.SET_PRINT_STYLEA(6,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(191,58,100,20,"国内漫游通话");

LODOP.SET_PRINT_STYLEA(7,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(191,217,100,20,"584.00");

LODOP.SET_PRINT_STYLEA(8,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(222,58,100,20,"增值业务费");

LODOP.SET_PRINT_STYLEA(9,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(222,217,100,20,"48.30");

LODOP.SET_PRINT_STYLEA(10,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(251,58,100,20,"代收费");

LODOP.SET_PRINT_STYLEA(11,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(251,217,100,20,"50.00");

LODOP.SET_PRINT_STYLEA(12,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(280,58,100,20,"优惠费");

LODOP.SET_PRINT_STYLEA(13,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(280,217,100,20,"4.00");

LODOP.SET_PRINT_STYLEA(14,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(98,101,150,20,"101081005747319387");

LODOP.SET_PRINT_STYLEA(15,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(97,307,150,20,"2008年10月19日 10:28:38");

LODOP.SET_PRINT_STYLEA(16,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(152,584,103,20,"138860016786");

LODOP.SET_PRINT_STYLEA(17,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(95,571,112,20,"06775516");

LODOP.SET_PRINT_STYLEA(18,"FontName","System");

LODOP.SET_PRINT_STYLEA(18,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(496,135,183,20,"2008年09月(20080901-20080930)");

LODOP.SET_PRINT_STYLEA(19,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(496,572,112,20,"-王府井中心店营");

LODOP.SET_PRINT_STYLEA(20,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(311,217,100,20,"678.30");

LODOP.SET_PRINT_STYLEA(21,"FontColor",16711680);

LODOP.ADD_PRINT_TEXT(311,58,100,20,"费用合计");

LODOP.SET_PRINT_STYLEA(22,"FontColor",16711680);

LODOP.ADD_PRINT_SETUP_BKIMG("<img src=Report/证件背景.jpg' />");

LODOP.SET_SHOW_MODE ("BKIMG_IN_PREVIEW",1);

}

</script>

其中大部分内容还是比较好理解的,不同的功能调用不同的函数Preview为预览、Setup为维护、Design为设计。

在套打的时候,注意需要通过下面代码来设置显示背景图片(打印的时候,是不打印背景的)。

LODOP.ADD_PRINT_SETUP_BKIMG("<img src=Report/证件背景.jpg' />");

LODOP.SET_SHOW_MODE ("BKIMG_IN_PREVIEW",1); //打印预览时是否包含背景图

另外,由于报表的内容都是写在HTML页面中的,因此在动态设置内容的时候,一可以用脚本来读取界面元素作为数据源,二可以通过后台代码自动生成脚本代码,输出到前台页面中,看具体的需要了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航