Java 使用新方法打印Word文档

前言

我曾写过一篇文章,它主要介绍了如何通过物理打印机和虚拟打印机来打印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文档进行打印。对代码或产品导入有疑问,可评论或私信。

posted @ 2020-09-18 11:48  E-iceblue  阅读(95)  评论(0编辑  收藏