Jacob 调用金税系统

Jacob 调用金税系统1.调用打印方法时,若是有预览弹窗提示,程序会阻塞住,并在控制台打印一行:C:\ProgramFiles(x86)\��Ʊ���\914601007603699430.0\Config\Print\PrinterManager.xml(乱码部分是金税盘中文路径名)经检测,此文件是打印机选择文件,已安装过的的打印机,此文件编码未知,用编辑器试了好几种编码格式打开打开都是一堆乱码。若是…

大家好,又见面了,我是你们的朋友全栈君。

1.调用打印方法时,若是有预览弹窗提示,程序会阻塞住,并在控制台打印一行:

C:\Program Files (x86)\��Ʊ���\914601007603699430.0\Config\Print\PrinterManager.xml  (乱码部分是金税盘中文路径名)

经检测,此文件是打印机选择文件,已安装过的的打印机,此文件编码未知,用编辑器试了好几种编码格式打开打开都是一堆乱码。若是删掉此文件之后再打印,则会生成新的PrinterManager.xml文件,但是找不到金税发票专用打印机,不过能找到别的打印机(若是主机上还有连的话)。解决办法是将新的PrinterManager.xml文件删除,旧的PrinterManager.xml文件从回收站里还原。

Jacob 调用金税系统

 

不过金税系统的打印预览窗口并不一定是跳到桌面最前端(10次可能有2次,还极有可能是后面2次),还以为功能没实现,金税接口有bug,一度为此而焦躁卡壳。后来偶然发现是隐藏到了打开的IDE和其他软件后面,将这些软件最小化后或关闭后终于发现了这个令人无比蛋疼的预览弹窗。

 Jacob 调用金税系统

 

   @PostConstruct
    public void postConstruct() {
        ComThread.InitSTA(); // 启动线程
        goldTaxCOM = ActiveXComponent.createNewInstance(taxComName);
        BillHelper.TaxCOM = taxComName;
        ComThread.Release();    //不能在此释放资源,否则出现如下错误
    }

   @PreDestroy
    public void postDestroy() {
    
    
        ComThread.Release();    //在此释放OK
    }

 

 1 java.lang.IllegalStateException: Dispatch not hooked to windows memory
 2 at com.jacob.com.Dispatch.throwIfUnattachedDispatch(Dispatch.java:288) ~[jacob-1.19.jar:na]
 3 at com.jacob.com.Dispatch.call(Dispatch.java:528) ~[jacob-1.19.jar:na]
 4 at com.everjiankang.goldentax.util.BillHelper.openCard(BillHelper.java:42) ~[classes/:na]
 5 at com.everjiankang.goldentax.service.impl.GoldentaxServiceImpl.printInvoice(GoldentaxServiceImpl.java:147) [classes/:na]
 6 at com.everjiankang.goldentax.controller.GoldentaxController.printInvoice(GoldentaxController.java:67) [classes/:na]
 7 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_152]
 8 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_152]
 9 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_152]
10 at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_152]
11 。。。。。。

 

转载于:https://www.cnblogs.com/guchunchao/p/9967214.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132003.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pyqt5 lineedit_pyqt5 tablewidget

    pyqt5 lineedit_pyqt5 tablewidgetQLineEditQLineEdit类中常用的方法如下表方法描述setAlignment()按固定值方式对齐文本Qt.AlignLeft:水平方向靠左对齐Qt.AlignRight:水平方向靠右对齐Qt.AlignCenter:水平方向居中对齐Qt.AlignJustify:水平方向调整间距两…

    2022年10月6日
    0
  • potplayer+madvr_potplayer安装包

    potplayer+madvr_potplayer安装包ctrl+j调出madvr的OSD菜单如下图:如何设置madVR10bit输出:1.确保视频源是10bit源2.显示器设置如下:3.渲染设置如下:设置完成,OSD信息变化如下:如何确定是否HDR设置生效:调节如下targetpeaknits:100或者200,如果100比200时的屏幕亮,说明HDR生效。…

    2022年9月14日
    0
  • cshtml的美化

    cshtml的美化c#webapp美化工作美化工作更改css框架css在cshtml中的位置网上的bootstrap模板资源1.从网站上下载模板2.使用模板更多的资料美化工作默认大家已经掌握了MVC框架的概念和使用方式,本文章只将如何在MVC基础上进行简单的美化工作更改css框架css在cshtml中的位置对html语言有所了解的各位应该知道,css一般写在头中,也就是<head></head>所在的位置中,在cshtml中也是这样。注意看MVC框架的_Layout.cshtml中的

    2022年6月16日
    33
  • Python浅拷贝与深拷贝的区别

    Python浅拷贝与深拷贝的区别一 浅拷贝浅 copy 是把原列表第一层的内存地址不加区分完全 copy 一份给新列表 list1 狄仁杰 18 1 2 注意 list2 list1 这不叫拷贝 只能说 list2 与 list1 指向了相同的内存地址 go gt gt gt list1 狄仁杰 18 1 2 gt gt gt list2 list1 copy 浅拷贝 gt gt gt print id list1 16 amp

    2025年6月1日
    0
  • python表白代码大全简单-python表白代码

    python表白代码大全简单-python表白代码广告关闭腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元!作者|马超编辑|jane来源|csdn博客【导语】转眼又到了咱们中国传统的情人节七夕了,今天笔者就带大家来领略一下用python表白的方式。让程序员的恋人们感受一下it人的浪漫。一、词云制作首先咱们可以用之前介绍过的wordcould包制作词云。wordc…

    2022年6月2日
    42
  • LeetCode Maximum Product Subarray 解题报告

    LeetCode Maximum Product Subarray 解题报告

    2022年2月1日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号