applet方式实现TSC打印条码功能。
applet方式打印实现复杂,最大的优点就是不用注册 dll 控件,不过现在最新的浏览器已经不支持java了,不建议使用,以下内容仅供参考。
说明:
1、applet使用复杂,不建议使用。
2、需要浏览器支持java,也就是支持jre即可。
3、js的实现方式见另一篇文章。
4、TSC applet和js打印测试包(包含打印机驱动、打印插件、applet和js调试代码),https://www.xinac.com/article/223.html
5、有问题请尽量发邮件,10513276@qq.com
JButton button; String image_path = "/images/img.jpg"; private String title = "xxxxxxxxxxxxxx"; public void init() { ImageIcon image = new ImageIcon(this.getClass().getResource(this.image_path)); button = new JButton(image); button.addActionListener(this); this.getContentPane().add(button); } @Override public void actionPerformed(ActionEvent arg0) { String code = getParameter("bar_code"); if (code != null && code != "") { this.print(code); } } public void print(String code) { SwingUtilities.invokeLater(new Runnable() { public void run() { // TscLibDll.INSTANCE.about(); TscLibDll.INSTANCE.openport("TSC TTP-244 Pro"); TscLibDll.INSTANCE.setup("60", "40", "5", "10", "0", "2", "0"); TscLibDll.INSTANCE.sendcommand("SET TEAR ON"); TscLibDll.INSTANCE.clearbuffer(); TscLibDll.INSTANCE.sendcommand("QRCODE 100,200,L,7,M,0,[2,7],'N123456' "); // TscLibDll.INSTANCE.sendcommand("PUTPCX 550,10,\"UL.PCX\""); TscLibDll.INSTANCE.barcode("70", "140", "128", "90", "0", "0", "2", "2", code); TscLibDll.INSTANCE.windowsfont(55, 20, 48, 0, 2, 1, "Arial", title); TscLibDll.INSTANCE.windowsfont(120, 240, 32, 0, 2, 0, "Arial", code); // TscLibDll.INSTANCE.windowsfont(400, 200, 48, 90, 3, 1, "Arial", "DEG 90"); // TscLibDll.INSTANCE.windowsfont(400, 200, 48, 180, 3, 1, "Arial", "DEG 180"); // TscLibDll.INSTANCE.windowsfont(400, 200, 48, 270, 3, 1, "Arial", "DEG 270"); TscLibDll.INSTANCE.printlabel("1", "1"); TscLibDll.INSTANCE.closeport(); } }); }
applet调用方式需要将.dll文件放到项目目录,也可以放到jdk目录
有时客户端还是不能打印,还需做以下修改:
D:\Program Files (x86)\Java\jre7\lib\security\java.security(这个文件是在用户端需要修改的,因为想要打印的人是用户端)
在grant中加一行:
permission java.security.AllPermission;
如果还是不能打印,可以试试改成下边这样:
AccessController.doPrivileged(new PrivilegedAction<String>() { @Override public String run() { SwingUtilities.invokeLater(new Runnable() { public void run() { TscLibDll.INSTANCE.openport("TSC TTP-244 Pro"); // do something } }); return null; } });
————————————————
版权声明:本文为CSDN博主「星河漫步」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jinqilin721/article/details/88865854
————————————————
版权声明:本文为CSDN博主「星河漫步」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jinqilin721/article/details/88865854
本文作者为新逸网络,转载请注明。