【jcp使用手册】打印位置的运行时调整

在web套打程序的开发过程中,你可能会发现,即使是同一套打网页,在不同的打印机中,打印出来的相对位置,也有差别,有的打印机打印出来的内容凑得紧些,有的则离得开些,这种偏差不能通过设置打印机边距的方式进行调整。借助杰表打印控件的可视化设计功能,使用户可以根据自己的打印机状况,自行调整打印内容的位置,并保存到注册表,下次打印时,自动根据自设的位置进行打印。 这种微调,不会影响到其他打印机,这对有大量前台打印,并有不同类型打印机打印同一种票据的场合,非常实用。 你可以将 myDoc的ui属性设置成 draggable进入带拖放调整的打印预览界面,如下:
复制内容到剪贴板
代码:
var myDoc = { // 进入位置调整功能的打印预览式,即带"拖放调整..."按钮 ui : "draggable", settings : { paperWidth : 210, paperHeight : 140, orientation : 1 }, documents : document, noMargins : true, // 必须设置一个id,否则jcp不知道调整后的位置,保存到注册表的哪一项中 settingsId : 'mydoc2', copyrights : "杰创软件拥有版权 www.jatools.com" } getJCP().printPreview(myDoc);
执行这述代码,会出现如下打印预览界面,注意,比普通打印预览多出了一个拖放调整按钮: 点击拖放调整按钮,可以进入调整界面,如下: 如果预览界面中有多页,在拖放界面中,也只取第一页的数据来做调整,可调整内容包括字型,字体大小,位置,但不能调整显示框大小。先选中一个可调整项,再拖动位置,或者用工具栏中的字体、字号变大变小按钮来设置。点击确定即将当前修改,保存到注册表并退出,点取消,则不保存退出。 打印页面中有很多对象,有些可拖放,有些不可拖放,jcp如何知道? 同时满足如下条件的对象,jcp认为是可调整对象: 1. page1 div中的直接子对象; 2.该子对象有id属性 3.该子对象绝对定位,即 position:absolute;
复制内容到剪贴板
代码:
<style> /*确保子对像绝对定位*/ .child-abs >div { position: absolute; } /*子对像初始位置*/ #d1{left:195px;top:323px;} #d2{left:136px;top:150px;} #d3{left:264px;top:224px;} </style> <div id="page1" class="child-abs" style='position:relative;width:210mm;height:140mm;'> <!--<img>没有id,因此不可调整--> <img class='screen-only' src="pj.jpg" style='width:100%;height:100%;'/> <div id='d1'>423051702880563</div> <div id='d2'>13850775557</div> <div id='d3'>¥30.00</div> </div>
本例中,page div的直接子对象,有一个和三个
,因为没有id,因此不能调整,三个
有id ,并因为代码中的3,4,5,11,四行代码确保其为绝对定位,所以是可拖整项。 注意,不应将调整项的初始位置,应设置到