http://blog.sina.com.cn/s/blog_721e77e50100ng1o.html
WEB套打可选方案不多,理想的更少,利用免费控件Lodop+JavaScript实现精确套打,算是较为经典的选择。这种方案其实比较简单,利用一个htm文件就可以实现模板设计过程,几乎是“空手套”式的开发,但理解这几个步骤还是需要点时间,下面一步步详细演示说明:
第一步:建立一个空白的模板设计文件把以下超文本代码复制到一个本地htm文件中:
<html>
<body>
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0></object>
<script language="javascript" type="text/javascript">
function CreatePrintPage() {
LODOP.PRINT_INIT("套打EMS的模板");
};
</script>
进入<a href="javascript:;" οnclick="javascript:CreatePrintPage();LODOP.PRINT_DESIGN();">模板设计</a><br><br>
进入<a href="javascript:;" οnclick="javascript:CreatePrintPage();LODOP.PREVIEW();">模板的打印预览</a>
</body>
</html>
本文模拟EMS特快专递单的程序开发,文件起名为printEMS.htm,权且称它为模板设计文件。
第二步:用浏览器打开该文件
在本地文件夹中双击该文件就可以打开,但在进入设计之前,你的机器需要安装Lodop,如果还没安装过,
请在如下地址下载安装文件(解压rar后运行那个exe文件,Lodop是一个1M左右的小文件):
http://mt.runon.cn/samples/install_lodop.rar
或 http://mtsoftware.v053.gokao.net/samples/install_lodop.rar
第三步:准备设计
第四步:装载背景图并调整图片大小
在打印设计窗口,点下图所示的“装载背景图...”菜单,调入以上保存的EMS图片文件。
第五步:添加数据内容,开始打印测试
第六步:整体对准
第七步:生成打印模板的程序代码
第八步:完成打印模板设计文件
想不想知道WEB套打有啥感觉?好,我们先做一个静态WEB页面爽一下:把第七步生成的程序代码,
插入替换第一步的空白设计文件CreatePrintPage函数内,变成如下内容:
<html>
<body>
<object id="LODOP" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0></object>
<script language="javascript" type="text/javascript">
function CreatePrintPage() {
LODOP.PRINT_INITA(14,11,800,600,"套打EMS的模板");
LODOP.ADD_PRINT_TEXT(95,95,75,20,"寄件人姓名");
LODOP.ADD_PRINT_TEXT(123,148,194,20,"寄件人单位名称");
LODOP.ADD_PRINT_TEXT(158,101,238,35,"寄件人的详细地址");
LODOP.ADD_PRINT_TEXT(92,446,75,20,"收件人姓名");
LODOP.ADD_PRINT_TEXT(122,496,208,20,"收件人单位名称");
LODOP.ADD_PRINT_TEXT(160,460,244,35,"收件人详细地址");
LODOP.ADD_PRINT_TEXT(289,47,178,22,"内件品名");
LODOP.ADD_PRINT_TEXT(290,258,100,20,"内件数量");
LODOP.ADD_PRINT_TEXT(92,245,100,20,"寄件人电话");
LODOP.ADD_PRINT_TEXT(90,608,75,20,"收件人电话");
};
</script>
进入<a href="javascript:;" οnclick="javascript:CreatePrintPage();LODOP.PRINT_DESIGN();">模板设计</a><br><br>
进入<a href="javascript:;" οnclick="javascript:CreatePrintPage();LODOP.PREVIEW();">模板的打印预览</a>
</body>
</html>
第九步:模板程序代码的使用
把以上CreatePrintPage函数进行简单改造,原函数如下:
function CreatePrintPage() {
};
把其中的打印内容提出来做为变量参数,函数改成如下样式:
function CreatePrintPage(strPName,strJJRXM,strJJRDW,strJJRDZ,strSJRXM,strSJRDW,strSJRDZ,strNJPM,strNJSL,strJJRDH,strSJRDH) {
};
这个改造后的JS函数还是很好理解的,无论写入js文件还是直接嵌在页面内都简单易用。
如果你改变了内容的字体、大小、粗斜体等格式,代码还会多一些,但总体来说比较简洁。
第十步:设置纸张高度,实现连续套打
多数套打业务的票据是连续纸,需要精确地分页,从而保证连续多页打印不偏移,
为此以上代码还要在PRINT_INITA之后加一行SET_PRINT_PAGESIZE语句:
function CreatePrintPage() {
};
第十一步:让操作者自己调整位置
本文参考如下资料:
http://mt.runon.cn/samples/PrintSampIndex.html
或http://mtsoftware.v053.gokao.net/samples/PrintSampIndex.html