關於java條碼列印zebra項目的信息

本文目錄一覽:

java中的條碼列印怎樣實現

編程式控制制條碼印表機的有三種方式:1,直接使用條碼印表機的驅動程序,把它當成普通印表機使用。條碼可以使用條碼字體或圖形方式打櫻2,使用條碼印表機語言(腳本)直接送到印表機的埠,如並口,網口或usb口。

求用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 {

HashtableEncodeHintType,String hints = new HashtableEncodeHintType,String();

hints.put(EncodeHintType.CHARACTER_SET, “utf-8”);

BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.EAN_13, width, height, hints);

return MatrixToImageWriter.toBufferedImage(bitMatrix);

}

}

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”);

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247020.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:18
下一篇 2024-12-12 13:18

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • 掌握magic-api item.import,為你的項目注入靈魂

    你是否曾經想要導入一個模塊,但卻不知道如何實現?又或者,你是否在使用magic-api時遇到了無法導入的問題?那麼,你來到了正確的地方。在本文中,我們將詳細闡述magic-api的…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論