您的位置:首页 > 其它

关于连续打印套打凭证时,垂直方向错位的解决办法!

2012-12-25 13:09 453 查看
以票据的真实长是23.9cm、高是5cm为例:

1.打印机各属性按票据的真实长、高设置。

2.测量每张票垂直方向上的偏移量(如第一张票位置正确,以后每打一张票都会向上递增偏移0.4cm,此值每种打印机会稍有不同,根据实际情况调整)

3.如实际打印的效果,每张票的数据向上移,则画报表时,将报表票据的宽调整为:5cm+0.4cm=5.4cm。

4.如实际打印的效果,每张票的数据向下移,则画报表时,将报表票据的宽调整为:5cm-0.4cm=4.6cm。

5.如果第一张凭证坐标[0,0]的值,就没有紧跟在页端线下输出,而是向下偏移,则将打印机页端指针指向实际页端线的上方2mm处,然后再在离线模式下,按置页端按钮。

总结:为了精确套打、连打,一般要解决2个问题。1)旋转打印机的旋钮,定位正确的页端,使第一张凭证坐标[0,0]的值在正确位置输出;2)找到凭证间的偏移量,正确设置代码中的LODOP.SET_PRINT_PAGESIZE。

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>lodop</title>

<script language="javascript" src="LodopFuncs.js"></script>

<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>

<embed id="LODOP_EM" TYPE="application/x-print-lodop" width=0 height=0 PLUGINSPAGE="install_lodop32.exe"></embed>

</object>

<script language="javascript">

function preview() {

var LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));

LODOP.PRINT_INIT("");

//设置票据的长、宽

LODOP.SET_PRINT_PAGESIZE(1,"239mm","54mm","");

for (i = 0; i <= 10; i++) {

LODOP.NewPage();

LODOP.ADD_PRINT_TEXT(0,0,100,20,"坐标[0,0]:"+i);

LODOP.ADD_PRINT_TEXT(30,0,100,20,"测试"+i);

}

LODOP.PREVIEW();

};

function design() {

var LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));

LODOP.PRINT_DESIGN();

}

</script>

</head>

<body>

<p>

<input type="button" onclick="preview()" value="打印预览" name="B1">

<input type="button" onclick="design()" value="报表设计" name="B2">

</p>

</body>

</html>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: