導航:首頁 > 編程語言 > java列印條形碼

java列印條形碼

發布時間:2022-04-25 03:21:54

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生成條形碼的問題,請問你是用什麼生成的我現在也有這個問題

public static final int height = 226 + 2 * border; // 8cm + border
public static final int width = 212 + 2 * border; // 7.5cm + border
private static final int rate = 3; // 條碼寬條與窄條寬度之比
private static int m_nNarrowWidth = 10; // 窄條的寬度像素數
private static int m_nImageHeight = 250; // 條碼的高度像素數

// =========添加條形碼begin===================
Barcode128 barcode128 = new Barcode128();
String strCodes = shipment.getPostalReferenceNo();
barcode128.setCode(strCodes);
int nImageWidth = (strCodes.length() * (3 * rate + 7) * m_nNarrowWidth);
java.awt.image.BufferedImage bufferedImage = new BufferedImage(
nImageWidth, m_nImageHeight + 13, BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D) bufferedImage.getGraphics();
g.fillRect(0, 33, nImageWidth, 13);

java.awt.Image codeImg = barcode128.createAwtImage(Color.black,
Color.white);
g.drawImage(codeImg, 0, 0, nImageWidth, m_nImageHeight, null);
g.setColor(Color.BLUE);
g.dispose();
ByteArrayOutputStream os = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "jpg", os);

Image img1 = Image.getInstance(os.toByteArray());
img1.setAlignment(Image.ALIGN_CENTER);
你試試

❹ 如何用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名,函數名,和介面參數,詳細的可以去了解一下。

❺ java 怎麼調用到條碼列印機!

編程式控制制條碼列印機的有三種方式:1,直接使用條碼列印機的驅動程序,把它當成普通列印機使用。條碼可以使用條碼字體或圖形方式列印。2,使用條碼列印機語言(腳本)直接送到列印機的埠,如並口,網口或usb口。 3,調用第三方軟體,由第三方軟體對列印機進行控制,標簽模板的編輯等。你只需調用它並傳輸數據即可。

目前條碼列印機品牌還是以進口為主,比如美國的斑馬,霍尼韋爾(收購了intermec),Datamax,日本的東芝,台灣TSC等。
國產的主要有3家,以威海北洋、深圳博思和上海啟邦為主。
這些列印機基本都支持以上三種調用方式。

❻ 怎麼樣用java生產ITF條形碼。。

Barcode4J由Java語言編寫而成,可以靈活的生成條形碼。它採用Apache License V2.0許可,這使得它很容易在商業中被使用。它可以讓您生成各種流行的一維和二維條碼,包括DataMatrix 和 PDF417。以各種格式輸出,包括SVG, EPS, bitmaps和Java2D,同樣也可根據您的需要添加自己的輸出格式。它為各種應用提供了插件,包括最重要的Apache FOP(格式對象處理器)。

❼ 如何使用java在控制台輸出條形碼求源代碼

public class Hello
{
public static void main(String args[])
{
System.out.println("hello world!");
}
}

把這段代碼保存為Hello.java文件然後編譯執行就可以了。

❽ java TSC 條碼列印亂碼,何故

沒有用你這種方式列印過,我平時列印的條碼用的是單機版的條碼軟體,在電腦上安裝之後,電腦正常連接列印,然後打開軟體在電腦裡面設置條形碼之後,再連接列印機列印就可以了,不是在線打的,單擊版的這個條碼軟體支持的條碼類型還挺多的,幾乎現在市面上的條碼類型都支持

❾ 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");
}
}

❿ java代碼如何調用DL-888B列印機列印條形碼

要是用列印機列印條形碼的話,也可以不用Java代碼的,除非你是這方面的專業的人員,要不這個還真搞不來,我一般列印條形碼用的是一個條形碼列印軟體,它用的是哪種通用驅動,幾乎對所有的列印機都能了連接列印的。

在這個軟體裡面繪制條形碼,然後添加內容,並列印出來,而且現在專業的條形碼列印軟體支持多種類型的資料庫導入,可以實現那種有多少個條碼數據都能一次生成,而且可以批量列印出來,非常的方便。

閱讀全文

與java列印條形碼相關的資料

熱點內容
python列表求交集 瀏覽:872
解壓包如何轉音頻 瀏覽:447
機明自動編程軟體源碼 瀏覽:325
php埠號設置 瀏覽:540
phperegreplace 瀏覽:320
androidgridview翻頁 瀏覽:537
ssh協議編程 瀏覽:634
如何開我的世界電腦伺服器地址 瀏覽:861
玄關pdf 瀏覽:609
程序員學習論壇 瀏覽:940
程序員的毒雞湯怎麼做 瀏覽:548
安卓怎麼降級軟體到手機 瀏覽:281
雲與伺服器入門書籍推薦產品 瀏覽:636
delphi編程助手 瀏覽:762
電腦遇到伺服器問題怎麼辦 瀏覽:515
加工中心編程結束方法 瀏覽:296
了解什麼是web伺服器 瀏覽:140
面向對象的編程的基本特徵 瀏覽:718
php定時執行任務linux 瀏覽:787
php數組中刪除元素 瀏覽:725