「java打印条形码」java打印代码

博主:adminadmin 2023-03-17 02:59:09 268

今天给各位分享java打印条形码的知识,其中也会对java打印代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java代码如何调用DL-888B打印机打印条形码

要是用打印机打印条形码的话,也可以不用Java代码的,除非你是这方面的专业的人员,要不这个还真搞不来,我一般打印条形码用的是一个条形码打印软件,它用的是哪种通用驱动,几乎对所有的打印机都能了连接打印的。

在这个软件里面绘制条形码,然后添加内容,并打印出来,而且现在专业的条形码打印软件支持多种类型的数据库导入,可以实现那种有多少个条码数据都能一次生成,而且可以批量打印出来,非常的方便。

上面这个是点击数据库设置可以导入那种TXT、Excel、access等很多种格式的文档,下面在添加条形码内容时,用数据库导入的方式添加,添加后直接点击预览,就能看到所有的数据按照Excel里面的顺序自动生成在每个标签上,就可以一次性打印出来所有的条形码啦

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

条形码打印机型号不同,不过思路都是一样的,以下可参考,另外需要你自己参考你的条形码打印机的接口说明。

因项目需要,对Godex EZ2300条码机进行调用打印, 驱动为Ez2000.dll, 用JNI可以实现调用,但比较麻烦, 需

要用到VC6进行DLL封装,改用JNative组件进行调用, 步骤如下:

1. 下载JNative-1.3.2.zip组件库

2. 解压出来后有JNative.jar / JNativeCpp.dll / libJNativeCpp.so三个文件,JNative.jar

置于%JAVA_HOME%/jre/lib/ext目录下, JNativeCpp.dll置于%SYSTEM%/WINDOWS/SYSTEM32目

录下

3.将Ez2000.dll置于%SYSTEM%/WINDOWS/SYSTEM32目录以及%JAVA_HOME%/jdk/bin目录下

4.

具体Java代码如下:

package com.athens.test;

import org.xvolks.jnative.JNative;

import org.xvolks.jnative.Type;

import org.xvolks.jnative.exceptions.NativeException;

public class Demo {

private static final String PRINTER_DLL = "Ez2000.dll";

public static void main(String [] args) {

Demo demo = new Demo();

System.loadLibrary("Ez2000");

JNative n = null;

try {

n = demo.getJNativeByFunction("isready");

n.setRetVal(Type.INT);

// n.setParameter(1, Type.VOID, "");

n.invoke();

Integer isready = Integer.parseInt(n.getRetVal());

if(isready == 1){

System.out.println("条码机可以开始接收资料!Starting...");

System.out.println("Starting...");

// 打开端口

n = demo.getJNativeByFunction("openport");

n.setParameter(0, Type.STRING, "0");

n.invoke();

// 设定参数

n = demo.getJNativeByFunction("setup");

n.setRetVal(Type.INT);

n.setParameter(0, Type.INT, "30");

n.setParameter(0, Type.INT, "7");

n.setParameter(0, Type.INT, "2");

n.setParameter(0, Type.INT, "1");

n.setParameter(0, Type.INT, "0");

n.setParameter(0, Type.INT, "0");

n.invoke();

// 发出指令

n = demo.getJNativeByFunction("sendcommand");

n.setRetVal(Type.INT);

n.setParameter(0, Type.STRING, "W70");

n.invoke();

n.setRetVal(Type.INT);

n.setParameter(0, Type.STRING, "^P1");

n.invoke();

n.setRetVal(Type.INT);

n.setParameter(0, Type.STRING, "^L");

n.invoke();

n.setRetVal(Type.INT);

n.setParameter(0, Type.STRING, "AC,20,60,1,1,1,0,TEST");

n.invoke();

// 发送条形码

n = demo.getJNativeByFunction("ecTextOut");

n.setParameter(0, Type.INT, "20");

n.setParameter(1, Type.INT, "10");

n.setParameter(2, Type.INT, "34");

n.setParameter(3, Type.STRING, "标楷体");

n.setParameter(4, Type.STRING, "Athens Testing Successlly!!!");

n.invoke();

// 发出指令

n = demo.getJNativeByFunction("sendcommand");

n.setRetVal(Type.INT);

n.setParameter(0, Type.STRING, "E");

n.invoke();

// 关闭端口

n = demo.getJNativeByFunction("closeport");

n.invoke();

System.out.println("Ending...");

}else{

System.out.println("条码机无法接收资料!");

}

}catch(Exception e){

e.printStackTrace();

}finally{

if (n != null){

try {

n.dispose();

} catch (NativeException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

}

}

}

// 通过方法名取得JNative对象

public JNative getJNativeByFunction(String functionName) throws NativeException{

return new JNative(PRINTER_DLL, functionName);

}

}

怎么用java调用条码打印机

上海启邦条码打印机工程师马天宇回答你:

编程控制条码打印机的有三种方式:1,直接使用条码打印机的驱动程序,把它当成普通打印机使用。条码可以使用条码字体或图形方式打印。2,使用条码打印机语言(脚本)直接送到打印机的端口,如并口,网口或usb口。 3,调用第三方软件,由第三方软件对打印机进行控制,标签模板的编辑等。你只需调用它并传输数据即可。

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; iprinters.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");

}

}

如何用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;iparams.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名,函数名,和接口参数,详细的可以去了解一下。

关于java打印条形码和java打印代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。