对于java的打印功能我本人从来没有使用过,不过也看过网上的一些文章,都说使用起来不方便且对各种文档类型的支持不是很好。经过几番折腾,我对批量打印PDF文件有了比较深入的了解。起初想通过使用JAVA 代码操纵PDF文件打印,但最终还是失败了,没能达到最终的效果。后来了解到可以用JAVA调用第三方软件的形式进行间接打印,这其中我试过了好几款软件也都没达到要求,像福昕、gsview、adobe什么的。有的不能在批量打印时切换打印机,有的对PDF文件内嵌的中文字体支持不好,最终全部放弃。
后来发现了一款国外软件叫pdfPrint的软件,大家可以去官网找一下,该公司有很多有关PDF 文件操作的软件,很好用,但都是收费使用。下面说说pdfPrint的使用方法吧。
该软件是通过命令行的方式打印PDF文件的,打印的方式都是通过命令行参数的方式进行配置的,参数有很多,相当的方便。包括边界、份数、起始页、缩放、位置方向等应有尽有。基本可以满足大部分对于PDF文件的打印需求。当然我的打印问题就是有它完美解决的。下面就我在使用过程中遇到的难点重点解释一下:
Usage: pdfprint.exe [options] [Options] <PDF Files>
-firstpage <int> : first page to print, from 1 to max page
-lastpage <int> : last page to print, from 1 to max page
-prompt : prompt the user with the print dialog so they can change printer settings and/or select pages manually
-printer <string> : printer name to print
指定打印机,打印机名称中如果有空格,需用""引起来。
-savedevmode <string> : prompt the user with print dialog and save the printer settings into a disk file
-loaddevmode <string> : restore printer settings which saved by -savedevmode parameter