java识别条形码api有哪些

Python014

java识别条形码api有哪些,第1张

1. ZXing:ZXing (“zebra crossing”) 是一个开源的多格式1D/2D条形码图像处理库,它可以识别和生成多种条形码格式,例如UPC-A,UPC-E,EAN-8,EAN-13,Code 39,Code 128,QR Code,Data Matrix,Aztec,PDF 417等等。

2. Barcode4j:Barcode4j是一个开源的Java库,用于生成和解析条形码,支持多种格式,如Code 39,Code 128,UPC,EAN,Interleaved 2 of 5,PostNet等。

3. Java Barcode:Java Barcode是一个独立的条形码库,它可以快速地生成和解码各种条形码格式,如UPC-A,UPC-E,EAN-8,EAN-13,Code 39,Code 128,QR Code,Data Matrix,Aztec,PDF 417等。

参考 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=0i<printers.lengthi++ ) 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")

}

}