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
本文作者为新逸网络,转载请注明。