java打印条形码程序
1、java 怎么调用到条码打印机!
编程控制条码打印机的有三种方式:1,直接使用条码打印机的驱动程序,把它当成普通打印机使用。条码可以使用条码字体或图形方式打印。2,使用条码打印机语言(脚本)直接送到打印机的端口,如并口,网口或usb口。 3,调用第三方软件,由第三方软件对打印机进行控制,标签模板的编辑等。你只需调用它并传输数据即可。
目前条码打印机品牌还是以进口为主,比如美国的斑马,霍尼韦尔(收购了intermec),Datamax,日本的东芝,台湾TSC等。
国产的主要有3家,以威海北洋、深圳博思和上海启邦为主。
这些打印机基本都支持以上三种调用方式。
2、求用java代码控制斑马条码打印机打印二维码商标的例子程序
可以参考下.自己写的一个例子
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.util.Queue;
import com.google.zxing.WriterException;
public class QrPrint implements Printable {
public void print() throws PrinterException {
PrinterJob pj = PrinterJob.getPrinterJob();
PageFormat pf = pj.defaultPage();
Paper paper = new Paper();
double margin = 0.1; // half inch
paper.setImageableArea(margin, margin, paper.getWidth() - margin * 2,paper.getHeight() - margin * 2);
pf.setPaper(paper);
pj.setPrintable(this, pf);
pj.print();
}
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
if ("判断如果打印完了就退出") {
return Printable.NO_SUCH_PAGE;
}
try {
Image eanImage = generateEANBufferedImage(content,120,20);
Graphics2D g2 = (Graphics2D) graphics;
g2.translate(pageFormat.getImageableX(), pageFormat.getImageableY()); //设置可成像的X和Y轴的距离
g2.drawImage(eanImage, 0, 80, null); //设置打印的边距
g2.drawString("字符串:",130,20);
} catch (WriterException e) {
e.printStackTrace();
return Printable.NO_SUCH_PAGE;
}
return Printable.PAGE_EXISTS;
}
private BufferedImage generateBufferedImage(String content,int width,int height) throws WriterException {
Hashtable<EncodeHintType,String> hints = new Hashtable<EncodeHintType,String>();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.EAN_13, width, height, hints);
return MatrixToImageWriter.toBufferedImage(bitMatrix);
}
}
3、请高手指点,用java调用票据打印机打印带条形码的票据?
写脚本来调用打印机,但是事先你得把这些票据做成能被浏览器解析的页面.
window.print();
4、如何使用java在控制台输出条形码?求源代码
public class Hello
{
public static void main(String args[])
{
System.out.println("hello world!");
}
}
把这段代码保存为Hello.java文件然后编译执行就可以了。
5、怎么用java调用条码打印机
上海启邦条码打印机工程师马天宇回答你:
编程控制条码打印机的有三种方式:1,直接使用条码打印机的驱动程序,把它当成普通打印机使用。条码可以使用条码字体或图形方式打印。2,使用条码打印机语言(脚本)直接送到打印机的端口,如并口,网口或usb口。 3,调用第三方软件,由第三方软件对打印机进行控制,标签模板的编辑等。你只需调用它并传输数据即可。
6、怎么样用java生产ITF条形码。。
Barcode4J由Java语言编写而成,可以灵活的生成条形码。它采用Apache License V2.0许可,这使得它很容易在商业中被使用。它可以让您生成各种流行的一维和二维条码,包括DataMatrix 和 PDF417。以各种格式输出,包括SVG, EPS, bitmaps和Java2D,同样也可根据您的需要添加自己的输出格式。它为各种应用提供了插件,包括最重要的Apache FOP(格式对象处理器)。
7、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");
}
}
8、java代码如何调用DL-888B打印机打印条形码
要是用打印机打印条形码的话,也可以不用Java代码的,除非你是这方面的专业的人员,要不这个还真搞不来,我一般打印条形码用的是一个条形码打印软件,它用的是哪种通用驱动,几乎对所有的打印机都能了连接打印的。
在这个软件里面绘制条形码,然后添加内容,并打印出来,而且现在专业的条形码打印软件支持多种类型的数据库导入,可以实现那种有多少个条码数据都能一次生成,而且可以批量打印出来,非常的方便。
上面这个是点击数据库设置可以导入那种TXT、Excel、access等很多种格式的文档,下面在添加条形码内容时,用数据库导入的方式添加,添加后直接点击预览,就能看到所有的数据按照Excel里面的顺序自动生成在每个标签上,就可以一次性打印出来所有的条形码啦
9、如何用JAVA调用TLP条码打印机打印条码
一般来说条码打印机都有自己专门的DLL接口文件,不需要调用系统的Dll。
如果是支持接口开发,肯定会有DLL的说明文档。那么按照文档调用DLL的方法就可以了。不同的打印机接口方法不一样,所以没有现成的代码。
java 和 DLL 交互的话可以使用 JNative 包,比较方便。
首先 System.loadLibrary(dllName);
public Integer executeFunction(String dllName ,String functionName,Object[] params){
try {
JNative func = new JNative(dllName, functionName);
func.setRetVal(Type.INT);
for(int i=0;i<params.length;i++){
if(params[i] instanceof String)
func.setParameter(i, (String)params[i]);
else if(params[i] instanceof Integer)
func.setParameter(i, ((Integer)params[i]).intValue());
else if(params[i] instanceof Pointer)
func.setParameter(i, (Pointer)params[i]);
else if(params[i] instanceof Boolean)
func.setParameter(i,Type.INT, params[i].toString());
else if(params[i] instanceof byte[])
func.setParameter(i, Type.PSTRUCT,(byte[])params[i]);
}
func.invoke();
return func.getRetValAsInt();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
调用的时候传dll名,函数名,和接口参数,详细的可以去了解一下。