发新话题
打印

【jcp使用手册】保留打印设置到注册表

【jcp使用手册】保留打印设置到注册表

当设置了 myDocsettingsId属性,则jcp打印后,会将本次打印的设置保存在注册表,如下所示:

复制内容到剪贴板
代码:
var myDoc = { settings : { paperName : "A4", portrait : true, // 纵向 marginLeft : 5, //设置左边距,单位为mm marginTop : 5, marginRight : 5, marginBottom : 5 }, settingsId:"mysettings1", // 打印后,将打印参数保存到注册表项目 mysettings1 中 documents : document, copyrights : '杰创软件拥有版权 www.jatools.com' }; getJCP().print(myDoc);

到下次打印时,jcp将忽略myDoc 的设置,直接使用注册表中的参数进行打印。 可以保存在注册表中的打印参数包括:
printer 输出打印机
paperHeight 纸张高度
paperWidth 纸张宽度
marginLeft 左边距
marginRight 右边距
marginTop 上边距
marginBottom 下边距
noMargins 是否零边距
orientation/portrait 纸张方向
copies 打印份数
collate 是否逐份打印
为什么需要保存设置功能? 保存设置功能,通常用在以下两种情况: 1)一个套打系统,由于各客户端打印机不同,或者进纸盒的位置不同,或者其他原因,可能引起打印出来的票据位置发生偏移,用户希望能根据自己打印机的状况,自行调整边距以纠正位置,但不希望每次打印前,都进行一次手工调整。 2)一个客户端配置了多台打印机,分别用于打印不同类型的文档,用户不希望每次打印一个文档前,选择一次打印机; 对于第一种情况,你可以这样解决: 1. 页面中设置两个按钮,一个"直接打印",一个"打印预览" 2. 当客户发现位置有偏移时,可以点击"打印预览"按钮,调整左、上边距,并打印这个页面; 3. 如果发现位置还不理想,则重复第2步,如果正确,则下一次打印这个票据时,只需点击"直接打印"即可保证位置正确。 对于第二种多种打印机的情况,你可以这样解决: 1. 页面中设置两个按钮,一个"直接打印",一个"打印预览" 2. 第一次打印时,可以点击"打印预览"按钮,选择你想要的打印机进行打印; 3. 则下一次打印这个票据时,只需点击"直接打印"即可保证输出到正确的打印机。 提一点建议:因为"打印预览"按钮不常用,最好不要跟"直接打印"按钮并排放在一起,以避免干扰。 保存设置参数的工作原理是怎样的? 控件是如何保留设置参数的,有些用户感觉困惑,下面介绍一下保留与加载打印参数的工作原理。 保存设置参数原理: 1. 客户打印一个文档到打印机后; 2. 控件触发打印完成事件; 3. 控件响应打印完成事件,查询本次打印是否有myDoc.settingsID属性,如果有,则保存本次打印的配置参数到注册表(如果注册表中存在该id设置,则替换以前设置) 所以,保存打印参数的前提是:已经输出到打印机,并且设置了myDoc.settingsID有些用户,只在控件的预览窗口中设置了边距等,而不实际打印,这样,控件是不会保留你的设置的。 加载打印参数原理: 1. 客户在预览或打印前,控件查询是否有myDoc.settingsID属性; 2. 如果有myDoc.settingsID属性,控件尝试从注册表中读入该id相关的配置参数,如果存在,则用该配置参数来设置打印机(即忽略myDoc.settings里的设置),转第4步; 3. 根据用户的myDoc.settings里的设置,设置打印参数; 4. 根据设置,启动打印或打印预览。

TOP

TOP

发新话题