java連接列印機
㈠ java程序如何驅動硬體列印機
java連灶弊接列印機列印pdf文件,網上搜索了一大把資料,基本上都是重復。。。下面罵人的一大堆。。我這里來解決一下。
需求:隱譽族前端調用用介面 後端根據模版生成數據聯通列印機直接一鍵列印!
思路:這里講一下列印最好使用pdf去列印。不管是word.excel 都是通過轉PDF 再列印出來的。所以我這里的思路就是 選擇模版生成文件,並且列印。
我這里選擇html模版 也就是freemark模版。
1、通過vm文件生成html
2、通過html再轉成 pdf
3、調用列印機方法列印虛戚
㈡ java如何連接列印機並列印從資料庫里讀出的數據
可以先將數據寫入excel文件,彎皮洞再列印excel文件就可以了。寫入excel很簡單的握螞,直接網路一下就可以了。一般可以用埋枯jxl或者用apache下的POI。
㈢ java 怎麼調用到條碼列印機!
編程控制條碼列印機的有三種方式:1,直接使用條碼列印機的驅動程序,把它當成普通列印機使用。條碼可以使用條碼字體或圖形方式列印。2,使用條碼列印機語言(腳本)直接送到列印機的埠,如並口,網口或usb口。 3,調用第三方軟體,由第三方軟體對列印機進行控制,標簽模板的編輯等。你只需調用它並傳輸數據即可。
目前條碼列印機品牌逗搜還是以進口為主,比如美者源國的斑馬,霍尼韋爾(收購了intermec),Datamax,日本的東芝,台灣TSC等。
國產的主要有3家,以威海北洋、深圳博思和上首指態海啟邦為主。
這些列印機基本都支持以上三種調用方式。
㈣ java中小票列印機介面有哪些
串口、並口、USB口。java中小票列印機介面有串口、並口、叢握梁USB口這三種介面模滲運式。列印機(Printer)是計算機的輸出設備之一,用於將皮念計算機處理結果列印在相關介質上。
㈤ java如何調用本地列印機進行圖片列印
用java實現本地列印:java.awt中提供了一些列印的API,要實現列印,首先要獲得列印對象,然後繼承Printable實現介面方法print,以便列印機進行列印,最後用用Graphics2D直接輸出直接輸出。
下面代碼實現了簡單的列印功能:
importjava.awt.BasicStroke;
importjava.awt.Color;
importjava.awt.Component;
importjava.awt.Font;
importjava.awt.Graphics;
importjava.awt.Graphics2D;
importjava.awt.Image;
importjava.awt.Toolkit;
importjava.awt.RenderingHints;
importjava.awt.font.FontRenderContext;
importjava.awt.font.LineBreakMeasurer;
importjava.awt.font.TextAttribute;
importjava.awt.font.TextLayout;
importjava.awt.geom.Point2D;
importjava.awt.image.BufferedImage;
importjava.awt.print.Book;
importjava.awt.print.PageFormat;
importjava.awt.print.Paper;
importjava.awt.print.Printable;
importjava.awt.print.PrinterException;
importjava.awt.print.PrinterJob;
importjava.text.AttributedString;
importjavax.swing.JApplet;{
/**
*@paramGraphic指明列印的圖形環境
*@paramPageFormat指明列印頁格式(頁面大小以點為計量單位,1點為1英才的1/72,1英寸為25.4毫米。A4紙大致為595×842點)
*@parampageIndex指明頁號
**/
publicintprint(Graphicsgra,PageFormatpf,intpageIndex)throwsPrinterException{
System.out.println("pageIndex="+pageIndex);
Componentc=null;
//printstring
Stringstr="中華民族是勤勞、勇敢和富有智慧的偉大民族。";
//轉換成Graphics2D
Graphics2Dg2=(Graphics2D)gra;
//設置列印顏色為黑色
g2.setColor(Color.black);
//列印起點坐標
doublex=pf.getImageableX();
doubley=pf.getImageableY();
switch(pageIndex){
case0:
//設置列印字體(字體名稱、樣式和點大小)(字體名稱可以是物理或者邏輯名稱)
//Java平台所定義的五種字體系列:Serif、SansSerif、Monospaced、Dialog和DialogInput
Fontfont=newFont("新宋體",Font.PLAIN,9);
g2.setFont(font);//設置字體
//BasicStrokebs_3=newBasicStroke(0.5f);
float[]dash1={2.0f};
//設置列印線的屬性。
//1.線寬2、3、不知道,4、空白的寬度,5、虛線的寬度,6、偏移量
g2.setStroke(newBasicStroke(0.5f,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER,2.0f,dash1,0.0f));
//g2.setStroke(bs_3);//設置線寬
floatheigth=font.getSize2D();//字體高度
System.out.println("x="+x);
//-1-用Graphics2D直接輸出
//首字元的基線(右下部)位於用戶空間中的(x,y)位置處
//g2.drawLine(10,10,200,300);
Imagesrc=Toolkit.getDefaultToolkit().getImage("D:\EclipseWorkSpace3.1\Kfc-wuxi\WebRoot\image\KFC.jpg");
g2.drawImage(src,(int)x,(int)y,c);
intimg_Height=src.getHeight(c);
intimg_width=src.getWidth(c);
//System.out.println("img_Height="+img_Height+"img_width="+img_width);
g2.drawString(str,(float)x,(float)y+1*heigth+img_Height);
g2.drawLine((int)x,(int)(y+1*heigth+img_Height+10),(int)x+200,(int)(y+1*heigth+img_Height+10));
g2.drawImage(src,(int)x,(int)(y+1*heigth+img_Height+11),c);
returnPAGE_EXISTS;
default:
returnNO_SUCH_PAGE;
}
}
publicstaticvoidmain(String[]args){
//通俗理解就是書、文檔
Bookbook=newBook();
//設置成豎打
PageFormatpf=newPageFormat();
pf.setOrientation(PageFormat.PORTRAIT);
//通過Paper設置頁面的空白邊距和可列印區域。必須與實際列印紙張大小相符。
Paperp=newPaper();
p.setSize(590,840);//紙張大小
p.setImageableArea(10,10,590,840);//A4(595X842)設置列印區域,其實0,0應該是72,72,因為A4紙的默認X,Y邊距是72
pf.setPaper(p);
//把PageFormat和Printable添加到書中,組成一個頁面
book.append(newPrintTest(),pf);
//獲取列印服務對象
PrinterJobjob=PrinterJob.getPrinterJob();
//設置列印類
job.setPageable(book);
try{
//可以用printDialog顯示列印對話框,在用戶確認後列印;也可以直接列印
//booleana=job.printDialog();
//if(a)
//{
job.print();
//}
}catch(PrinterExceptione){
e.printStackTrace();
}
}
}
㈥ Java如何調用TSC列印機進行列印詳解
給你介紹一種後台列印方法棗廳:亮散
使用javax中的PrintServiceLookup類進行列印,可以直接調用默認的列印機,也可以使用下列的方敬岩氏法進行篩選列印:
PrintServiceLookup.lookupMultiDocPrintServices(flavors, attributes);可執行代碼如下:
㈦ java怎麼實現列印機列印
javax.print***
可以 當圖形那樣打開,挺費勁的
想列印好看、又省事,一般是轉pdf等有格式的文檔來列印
~~~~~~~~~
~~~~~~~
~~~~~~~~~~~~
~~~~~~~~~~~~~~~~
㈧ 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通過IP 連接無驅列印機
你先在直連列印機的那台電腦上「含銷控制面板」-列印機和傳真,右鍵點你現在使用的列印機器,屬性里敗歷,共享一下,然後去另外一台談枯游沒有直連你列印機的電腦上,控制面板-列印機和傳真-添加新的列印機-添加網路列印機,然後會要你輸入列印主機名,你直接輸入你那台直連列印機電腦的IP就行了
㈩ 如何使用java直接連接列印機列印excel文件
列印指定頁號的告並含具蔽並體文本內容*/
private void drawCurrentPageText(Graphics2D g2, PageFormat pf, int page) {
String s = getDrawText(printStr)[page]; //襪笑獲取當前頁的待列印文本內容
//獲取默認字體及相應的尺寸
FontRenderContext context = g2.getFontRenderContext();
Font f = area.getFont();
String drawText;
float ascent = 16; //給定字元點陣
int k, i = f.getSize(), lines = 0;
while(s.length() > 0 && lines < 54) //每頁限定在54行以內
{