杰表技术论坛 's Archiver

admin 发表于 2017-12-19 10:49

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

在web套打程序的开发过程中,你可能会发现,即使是同一套打网页,在不同的打印机中,打印出来的相对位置,也有差别,有的打印机打印出来的内容凑得紧些,有的则离得开些,这种偏差不能通过设置打印机边距的方式进行调整。借助杰表打印控件的可视化设计功能,使用户可以根据自己的打印机状况,自行调整打印内容的位置,并保存到注册表,下次打印时,自动根据自设的位置进行打印。 这种微调,不会影响到其他打印机,这对有大量前台打印,并有不同类型打印机打印同一种票据的场合,非常实用。

你可以将 myDoc的ui属性设置成 draggable进入带拖放调整的打印预览界面,如下:
[code]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); [/code]
执行这述代码,会出现如下打印预览界面,注意,比普通打印预览多出了一个拖放调整按钮:
[attach]962[/attach]



点击拖放调整按钮,可以进入调整界面,如下:
[attach]961[/attach]

如果预览界面中有多页,在拖放界面中,也只取第一页的数据来做调整,可调整内容包括字型,字体大小,位置,但不能调整显示框大小。先选中一个可调整项,再拖动位置,或者用工具栏中的字体、字号变大变小按钮来设置。点击确定即将当前修改,保存到注册表并退出,点取消,则不保存退出。

打印页面中有很多对象,有些可拖放,有些不可拖放,jcp如何知道?

同时满足如下条件的对象,jcp认为是可调整对象:
1. page1 div中的直接子对象;
2.该子对象有id属性
3.该子对象绝对定位,即 position:absolute;
[code]<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>[/code]  
本例中,page div的直接子对象,有一个<img>和三个<div>,因为<img>没有id,因此不能调整,三个<div>有id
,并因为代码中的3,4,5,11,四行代码确保其为绝对定位,所以是可拖整项。

注意,不应将调整项的初始位置,应设置到<style>中,而不应设置到style中,否则拖放后的位置不会生效,如:
[code]<div id="page1" ...>  
     <!--错误,因left,right设置到了 style属性中,调整后的位置不会生效-->  
     <div id='d1' style='left:10px;top:200px;'/>423051702880563</div>  
    ...  
</div>  [/code]

admin 发表于 2017-12-19 10:50

在线示例:[url=http://print.jatools.com/jcp/0.99/draggable.htm]http://print.jatools.com/jcp/0.99/draggable.htm[/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.