打印支持计算硬边距(仅GUI桌面应用)

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

打印支持计算硬边距(仅GUI桌面应用)

打印支持计算硬边距(仅GUI桌面应用)


一、需求

       打印机有的有硬边距,有的没有,打印输出时有的要求排除硬边距,有的为了保护打印机,要求不要排除硬边距。一般各个部门不是统一的,财务,物流,仓储都有各自的打印机和格式。针式的和条码的和激光的也不一样,本地打印机不同,系统环境也不同,有的需要计算硬边距,有的不需要,这时可通过本地个性化配置支持各种场景。由于需要读取硬件参数参与计算,仅GUI桌面应用支持该功能,网页端由于浏览器权限限制目前暂时不支持该功能。


二、实现

       通过在用户下拉菜单的个性化配置中勾选【计算硬边距】参数并保存即可,这只是一个非常简单的设置,只需保存一次后有效,无需重复设置。(PT-149006 [8.1.0.20230608] 已经支持计算硬边距功能。可以升级到最新补丁,并开启该个性化配置选项。)


三、二开-高级编程

       如果有特殊个性化需求,也可以考虑二开逻辑做个服务端设置,我们支持二开编程,按照客户需求的逻辑条件去判断设置是否需要这个参数。 例如:打开BOSIDE集成开发环境,编写Python代码-模拟界面的FBCLIENTUSERSETS按钮点击,可以把逻辑写到主控表单的【业务插件】的AfterBindData接口中。(主控表单:BOS_MainConsoleSutra,BOS_MainConsoleNewSutra(2021新版),公有云主控表单:97bcb5b2-8dfb-490c-bcfa-9f1021ae8968 (扩展自BOS_MainConsoleSutra))。 

        ps: (下面例子程序使用了普通测试表单的按钮ButtonClick事件接口,主要用于按钮点击切换测试,测试成功后可以转到主控表单的AfterBindData事件中。)


from Kingdee.BOS.JSON import *
def ButtonClick(e):
     # 下面对按钮键值的判断可以改为自定义判断逻辑,并写入到主控表单的AfterBindData事件中
     if(e.Key=='FBCLIENTUSERSETS'):
         args = JSONArray()
         # 启用硬边距计算
         arg = JSONObject()
         arg['key'] = 'IncludeHardMargin' 
         arg['value'] = '1'
         args.Add(arg)
         
         # 启用图形预览
         arg = JSONObject()
         arg['key'] = 'IsPreviewByGraphics' 
         arg['value'] = '1'
         args.Add(arg)
         
         this.View.AddAction('SetClientUserPaSettings', args)


打印支持计算硬边距(仅GUI桌面应用)

打印支持计算硬边距(仅GUI桌面应用)一、需求 打印机有的有硬边距,有的没有,打印输出时有的要求排除硬边距,有的为了保护打印...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息