本文目錄一覽:
如何用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一般的打印辦法為System.out.println(“”);J2ME也是,在ide的控制台就可以看到效果。但是android平台,System.out.println(“”);你是看不到打印的消息的。因為android提供的打印方法為,Log.v,該對象需要導入 import android.util.Log;,然後就可以使用了。察看效果的地方,也不在ide的console面板中,而在android提供的log面板中,可以選擇ide右上角的debug模式,查看log面板。
下邊是為本教程,寫的測試代碼
package com.google.android.testlog;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
/*本教程版權為http://blog。csdn。net/wudifeng 博客主人所有,代碼隨意使用,如想轉載請表明出處,這是對寫教程人得起碼尊重,謝謝:)
*/
public class testlog extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
Log.v(“debug”, “message…………”);
}
}
關於JAVA的打印機設定
1、需要一個打印服務對象。這可通過三種方式實現:
在jdk1.4之前的版本,必須要實現java.awt.print.Printable接口
或通過Toolkit.getDefaultToolkit().getPrintJob來獲取打印服務對象;
在jdk1.4中則還可以通過javax.print.PrintSerivceLookup來查找定位一個打印服務對象。
2、需要開始一個打印工作。這也有幾種實現方法:在jdk1.4之前可以通過java.awt.print.PrintJob
(jdk1.1提供的,現在已經很少用了)調用print或printAll方法開始打印工作;
也可以通過java.awt.print.PrinterJob的printDialog顯示打印對話框,
然後通過print方法開始打印;在jdk1.4中則可以通過javax.print.ServiceUI的printDialog顯示打印對話框,
然後調用print方法開始一個打印工作。
設置打印屬性
使用如下方法可以獲得PrintJob的實例用於控制打印操作: Toolkit.getPrintJob(Frame f, String jobtitle, Properties prop) 那麼對於打印屬性的設置可以通過對prop的屬性設置來實現,打印屬性包括: awt.print.destination: 可以是”printer”或”file” awt.print.printer: 打印機名 awt.print.fileName: 打印文件名 awt.print.numCopies: 打印份數 awt.print.options: 打印命令的打印選項 awt.print.orientation: 打印方向,可以是”portrait”或”landscape” awt.print.paperSize: 紙張大小,可以是”letter”,”legal”,”executive”或”a4″
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/242101.html