java後台代碼控制印表機(Java控制印表機)

  • 1、java 怎麼調用到條碼印表機!
  • 2、求用java代碼控制斑馬條碼印表機列印二維碼商標的例子程序
  • 3、如何通過JAVA代碼調用網路印表機使其列印接收到的文件
  • 4、怎麼用java調用條碼印表機
  • 5、java怎麼實現印表機列印

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

目前條碼印表機品牌還是以進口為主,比如美國的斑馬,霍尼韋爾(收購了intermec),Datamax,日本的東芝,台灣TSC等。

國產的主要有3家,以威海北洋、深圳博思和上海啟邦為主。

這些印表機基本都支持以上三種調用方式。

可以參考下.自己寫的一個例子

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實現本地列印:java.awt中提供了一些列印的API,要實現列印,首先要獲得列印對象,然後繼承Printable實現介面方法print,以便印表機進行列印,最後用用Graphics2D直接輸出直接輸出。下面代碼實現了簡單的列印功能:

上海啟邦條碼印表機工程師馬天宇回答你:

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

介面 PrintService 是 DocPrintJob 的工廠。PrintService 描述了印表機的功能,並可查詢它來了解印表機支持的屬性

1 package com.tj.print; 2  3 import java.io.File; 4 import java.io.FileInputStream; 5  6 import javax.print.Doc; 7 import javax.print.DocFlavor; 8 import javax.print.DocPrintJob; 9 import javax.print.PrintService;10 import javax.print.PrintServiceLookup;11 import javax.print.ServiceUI;12 import javax.print.SimpleDoc;13 import javax.print.attribute.DocAttributeSet;14 import javax.print.attribute.HashDocAttributeSet;15 import javax.print.attribute.HashPrintRequestAttributeSet;16 import javax.swing.JFileChooser;17 18 public class PrintDemo1 {19     public static void main(String[] args) {20         JFileChooser fileChooser = new JFileChooser(); // 創建列印作業21         int state = fileChooser.showOpenDialog(null);22         if (state == fileChooser.APPROVE_OPTION) {23             File file = fileChooser.getSelectedFile(); // 獲取選擇的文件24             // 構建列印請求屬性集25             HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();26             // 設置列印格式,因為未確定類型,所以選擇autosense27             DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;28             // 查找所有的可用的列印服務29             PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);30             // 定位默認的列印服務31             PrintService defaultService = PrintServiceLookup32                     .lookupDefaultPrintService();33             // 顯示列印對話框34             PrintService service = ServiceUI.printDialog(null, 200, 200,35                     printService, defaultService, flavor, pras);36             if (service != null) {37                 try {38                     DocPrintJob job = service.createPrintJob(); // 創建列印作業39                     FileInputStream fis = new FileInputStream(file); // 構造待列印的文件流40                     DocAttributeSet das = new HashDocAttributeSet();41                     Doc doc = new SimpleDoc(fis, flavor, das);42                     job.print(doc, pras);43                 } catch (Exception e) {44                     e.printStackTrace();45                 }46             }47         }48     }49 }

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126648.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

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

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

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

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

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

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

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

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

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

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

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 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

發表回復

登錄後才能評論