java調用列印機
『壹』 java如何調用TSC列印機進行列印詳解
給你介紹一種後台列印方法棗廳:亮散
使用javax中的PrintServiceLookup類進行列印,可以直接調用默認的列印機,也可以使用下列的方敬岩氏法進行篩選列印:
PrintServiceLookup.lookupMultiDocPrintServices(flavors, attributes);可執行代碼如下:
『貳』 如何用Java調用列印機列印docx,PDF文檔
具體步驟如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.DocAttributeSet;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.JFileChooser;
public class PrintDemo {
public static void main(String[] args) {
JFileChooser fileChooser = new JFileChooser(); // 創建列印作業
File file = new File("f:/111.txt"); // 獲取選正仿擇的文件
// 構建列印請求屬性集
HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
// 設置列印格式,因為未確定類型,核桐所以選擇autosense
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
// 定位默認的列印服務
PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
InputStream fis = null;
try {
DocPrintJob job = defaultService.createPrintJob(); // 創建列印作業
fis = new FileInputStream(file); // 構造待打舉氏纖印的文件流
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
『叄』 java 怎麼調用到條碼列印機!
編程控制條碼列印機的有三種方式:1,直接使用條碼列印機的驅動程序,把它當成普通列印機使用。條碼可以使用條碼字體或圖形方式列印。2,使用條碼列印機語言(腳本)直接送到列印機的埠,如並口,網口或usb口。 3,調用第三方軟體,由第三方軟體對列印機進行控制,標簽模板的編輯等。你只需調用它並傳輸數據即可。
目前條碼列印機品牌逗搜還是以進口為主,比如美者源國的斑馬,霍尼韋爾(收購了intermec),Datamax,日本的東芝,台灣TSC等。
國產的主要有3家,以威海北洋、深圳博思和上首指態海啟邦為主。
這些列印機基本都支持以上三種調用方式。
『肆』 java調用本地列印機實現列印PDF文件,怎麼做
使用老培歲虛擬列印機pdf factory即可實現,而且其侍睜他格式文件只要是能夠列印,選擇這個虛擬列印機,都可以做成PDF文件,很簡單實用,一勞中碧永逸。
『伍』 如何通過JAVA代碼調用網路列印機使其列印接收到的文件
用java實現本地列印:java.awt中提供了一些列印的API,要實現列印,首先要獲得列印對象,然後繼承Printable實現介面方法print,以中橋便掘培物列印機進判液行列印,最後用用Graphics2D直接輸出直接輸出。下面代碼實現了簡單的列印功能:
『陸』 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);
}
}