1.Java Print Service
Java Print Service是Java自带的打印框架,所在的包javax.print.PrintService;。
实现PDF打印的代码流程如下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
2.Apache PDFBox
PDFBox是一个用以生成PDF的开源项目,下载地址。
它的打印实现也是封装了Java Service Print框架的打印功能。
打印PDF很简单,只需调用一个方法即可,PrintPdf.main().不过不能指定打印份数等一些属性。
经本人测试发现这个PDFBox实现的打印功能比Java Service Print支持的打印机种类更多,有些打印机用Java Service Print 不能正常打印,但用PDFBox可以正常打印出来。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
PS:这个类在tools包下package org.apache.pdfbox.tools
3.Adobe Reader 命令打印
这种方法实现PDF的文档打印的前提条件是电脑上必须安装有Adobe公司的Acrobat Reader DC这个软件,实现打印的原理就是通过这个软件的一些命令来打开一个PDF文档,并用软件直接打印,相当于人工点击打印。
Java调用命令如下,其它就是打开一个Cmd,输入了打印命令而已
- 1
- 1
这种方案有个缺点,就是打印时会打开reader软件的界面,无法关闭