java如何驱动条形码打印机并能实现WEB打印?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何驱动条形码打印机并能实现WEB打印?相关的知识,希望对你有一定的参考价值。

java如何驱动条形码打印机并能实现WEB打印?
如能提供例子,我重分追加
一,二楼的可能没搞懂我的意思,是条形码专用打印机,不是一般的打印机,等待中...

参考 javax.print.*

大致过程是这样的:
写一个servlet,专门实现打印服务

这个servlet内是这样处理的:
1.获取打印机对象printer
通过枚举 PrintService printservices[] = PrintServiceLookup.lookupPrintServices(...)

2.生成DocPrintJob job=PrintService.createPrintJob();

3.生成文档 Doc doc = new SimpleDoc(...);
需要3个参数
第一个是打印的数据,可以根据条码,生成一幅图像,然把图像作为输入流,作为第一个参数
第二个参数用一个 DocFlavor.INPUT_STREAM 对象
DocFlavor类有相应的静态变量,你根据图像的mime类型选择
第三个参数是一个DocAttributeSet对象
4.打印
job.print(doc, pras);

这是我以前写的练习:
-----------------------------------------------------------------------
package printtest;

import java.io.*;
import javax.print.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;

public class Application1

public static void test(String code)

try
DocFlavor flavor=DocFlavor.INPUT_STREAM.JPEG;

//get a printer
PrintService[] printers=PrintServiceLookup.lookupPrintServices( flavor, null);
for( int i=0; i<printers.length; i++ ) System.out.println( printers[i].getName());
PrintService printer=printers[0];

//job
DocPrintJob job=printer.createPrintJob();

//document
BufferedImage img=new BufferedImage( 400,300, BufferedImage.TYPE_USHORT_555_RGB );
Graphics g=img.getGraphics();
g.drawString(code, 100,100);
ByteArrayOutputStream outstream=new ByteArrayOutputStream();
ImageIO.write( img, "jpg", outstream);
byte[] buf=outstream.toByteArray();
InputStream stream=new ByteArrayInputStream(buf);
Doc doc=new SimpleDoc(stream,flavor,null);

//print
job.print(doc, null);

catch(Exception e)

e.printStackTrace();


//Main method
public static void main(String[] args)

test("12345");

参考技术A 参考 javax.print.*

大致过程是这样的:
写一个servlet,专门实现打印服务

这个servlet内是这样处理的:
1.获取打印机对象printer
通过枚举 PrintService printservices[] = PrintServiceLookup.lookupPrintServices(...)

2.生成DocPrintJob job=PrintService.createPrintJob();

3.生成文档 Doc doc = new SimpleDoc(...);
需要3个参数
第一个是打印的数据,可以根据条码,生成一幅图像,然把图像作为输入流,作为第一个参数
第二个参数用一个 DocFlavor.INPUT_STREAM 对象
DocFlavor类有相应的静态变量,你根据图像的mime类型选择
第三个参数是一个DocAttributeSet对象
4.打印
job.print(doc, pras);

这是我以前写的练习:
-----------------------------------------------------------------------
package printtest;

import java.io.*;
import javax.print.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;

public class Application1

public static void test(String code)

try
DocFlavor flavor=DocFlavor.INPUT_STREAM.JPEG;

//get a printer
PrintService[] printers=PrintServiceLookup.lookupPrintServices( flavor, null);
for( int i=0; i<printers.length; i++ ) System.out.println( printers[i].getName());
PrintService printer=printers[0];

//job
DocPrintJob job=printer.createPrintJob();

//document
BufferedImage img=new BufferedImage( 400,300, BufferedImage.TYPE_USHORT_555_RGB );
Graphics g=img.getGraphics();
g.drawString(code, 100,100);
ByteArrayOutputStream outstream=new ByteArrayOutputStream();
ImageIO.write( img, "jpg", outstream);
byte[] buf=outstream.toByteArray();
InputStream stream=new ByteArrayInputStream(buf);
Doc doc=new SimpleDoc(stream,flavor,null);

//print
job.print(doc, null);

catch(Exception e)

e.printStackTrace();


//Main method
public static void main(String[] args)

test("12345");

参考技术B 在windows环境下,一般条码机厂商都会提供dll文件,比如比较通用的tsclib.dll,java调用本地dll就可以实现对打码机的简单操控,复杂操作可以参考打码机配套的指令 参考技术C 装个条码打印机驱动就考定了, 参考技术D 楼主,这个通常是将条码当图片,100%缩放的,然后在页面中一块打印

TSC如何设置打印标签的距离?急???

我要做一个标签,打印出来的纸都是裁好的,只需用TSC把文本输进去就可以了,但是我用TSC打印出来的时候总是对不准位置,对应不了每个已经裁好的空白标签,不知道要如何设置标签跟标签之间的距离?到底单个标签,实现多个标签打印要如何设置呢?而且标签与标签的距离又是如何设定?急~~~

1、首先,我们打开需要打印的图像或条形码文档,然后单击“打印”选项卡。

2、确定当前打印机是否为TSC型号,然后单击选项---打印机属性。

3、进入后,在“页面设置”中设置纸张尺寸;然后单击“体积”,类型为带间距的标签,间距的高度根据标签的实际高度设置,打印后操作为“撕下”。这将打印标签的距离。

参考技术A

方法:

1、打开需要打印的图片或条码文档,点击“打印”。


2、确定当前打印机是否为TSC型号,之后点击选项---打印机属性。

3、进入后在“页面设置”中设定好纸张的大小;之后点击“卷”,类型为有间距的标签,间距高度根据标签实际高度设置,打印后操作“撕去”。

4、确定后,关闭当前页面重启打印机生效(清除之前的缓存记录)即可进行打印。

参考技术B 虽然你没有明确你使用的什么机型,但TSC条码打印机的使用方法大同小异的,首先做一下标签纸张校正,工业型打印机和商业型打印机的方法不一,我用TSC TTP244做例子,在关机的情况下,按住"PAUSE"键开机,等标签出的时候松开按键,打印机会自动对纸张进行校正,正常校正的情况,打印机走纸结束后绿灯亮起,如果出现红灯现象,请检查条码机的标签碳带安装情况。

你提到TSC条码打印机总是对不准位置,你首先应该检查一下TSC条码打印机驱动程序里面的介质方式,应该选为有间隔标签的模式,因为条码机在打印的时候,对间隔标签是进行自动对位的,无需人工对位。
接着,用尺子测量好你的标签纸大小,正确填入到标签设计软件里面的页面设置,标签距离你不用去操心它,一般都会2mm或者3mm,系统默认是3mm的,这个不影响你的定位打印,如果你设置的标签是多排多列或单排多列的,你只需要在页面设置中,把一个页面上面分出来多个标签即可,非常方便。

参考资料:http://blog.sina.com.cn/s/blog_5f3f4b430100ork2.html

参考技术C 使用的什么机型,先做纸张校正
用尺子测量好你的标签纸大小,填入标签设计软件里面的页面设置,纸张大小里面
然后在打印--属性--卷里面讲每两行标签之间的间隙大小测量后填写准确
这样应该就不会打印偏离了
参考技术D 本公司至力于为客户生产、加工、模切、印刷优质的:标签、不干胶、卷筒标签、卷筒不干胶、裁张标签、电脑打孔不干胶标签、镭射膜标签、防伪标签、易碎纸标签、静电膜标签、电池标签、化妆品标签、机械、电子设备标签、药品说明标签、食品标签、产品合格证标签、大卖场、超市所用的条码标签、价格标签、登机牌标签、吊牌、吊卡、服装吊牌、卷筒吊牌、热敏标签、邮政标签、条码标签、PVC、PET及耐高温等各式标签。彩色印刷标贴(标签)。其次公司主要经销代理,富士山碳带、理光碳带、联合碳带等,专业销售ARGOX、CITIZEN、ZEBRA、TEC及日本SATO,INTERMEC,DATAMAX等知名品牌条码打印机及条码扫描枪、数据采集器,条码应用软件,电脑耗材,同时为客户提供系列条码打印服务。为适应客户、市场的需要,目前正在热门推出品牌条码打印机CITIZEN,ARGOX品牌系列。欢迎来电垂询!市场部:我公司主要的客户群为超市、电子、服装、贸易、化工、制药业、食品、包装等出口行业并为他们提供专业的标签服务。我们的产品交货准时、质量可靠,先进的新材料和独特的制造工艺从而保证了我们产品优良的品质和具有竞争力的价格。努力成为专业,愿为您提供优质的服务。我公司严格遵守合理竞争、价格公平、公正原则! 联系电话0512-53370040

以上是关于java如何驱动条形码打印机并能实现WEB打印?的主要内容,如果未能解决你的问题,请参考以下文章

谁知道怎么用斑马(zebra)打印机打汉字?

java怎么连接Gprinter条形码打印机

如何用JAVA调用TLP条码打印机打印条码

求一个asp.net 实现web客户端打印条形码的程序,主要是在客户端怎么调用打印机将条形码打印出来.

用java程序如何读取图书条形码

开发可以读取文件和写入额外数据的打印机驱动程序