前言
我曾寫過一篇文章,它主要介紹了如何通過物理打印機和虛擬打印機來打印Word文檔。今天這篇教程將介紹一種新的方法來實現對Word文檔的打印。
此次使用到的類庫仍然是Spire.Doc for Java。它提供的PrinterJob類支持設置打印紙張大小、打印份數、是否彈出打印對話框等,且使用該方法打印出來的文檔清晰度更高。類庫可通過官網下載,解壓后將lib文件夾下的Spire.Doc.jar手動導入IDEA中,或者也可通過Maven倉庫安裝導入產品及相關依賴。
代碼演示
1 import com.spire.doc.*; 2 import java.awt.print.*; 3 4 public class PrintDocument { 5 public static void main(String[] args)throws Exception { 6 //加載文檔 7 Document doc = new Document(); 8 doc.loadFromFile("Sample.docx"); 9 10 PrinterJob loPrinterJob = PrinterJob.getPrinterJob(); 11 PageFormat loPageFormat = loPrinterJob.defaultPage(); 12 13 //設置打印紙張大小 14 Paper loPaper = loPageFormat.getPaper(); 15 loPaper.setSize(600, 500); 16 loPageFormat.setPaper(loPaper); 17 18 //刪除默認頁邊距 19 loPaper.setImageableArea(0, 0, loPageFormat.getWidth(), loPageFormat.getHeight()); 20 //設置打印份數 21 loPrinterJob.setCopies(1); 22 loPrinterJob.setPrintable((Printable) doc, loPageFormat); 23 //設置打印對話框 24 if (loPrinterJob.printDialog()) { 25 //執行打印 26 try { 27 loPrinterJob.print(); 28 } catch (PrinterException e) 29 30 { 31 e.printStackTrace(); 32 } 33 } 34 } 35 }
總結
通過以上代碼的運行,我們可以自定義對Word文檔進行打印。對代碼或產品導入有疑問,可評論或私信。