1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > java 调用打印机打印PDF文件

java 调用打印机打印PDF文件

时间:2018-09-07 07:02:17

相关推荐

java 调用打印机打印PDF文件

1.Java Print Service

Java Print Service是Java自带的打印框架,所在的包javax.print.PrintService;。

这种方案局限性比较大,只能打印PNG文件(廉价打印机不支持打印PDF)

2.Apache PDFBox

它的打印实现也是封装了Java Service Print框架的打印功能,支持性比较好

引入maven

<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.8</version></dependency>

代码

// 使用打印机的名称String printName = "Win32 Printer : Microsoft Print to PDF";String pdfPath = "D:\test.pdf";File file = new File(pdfPath);// 读取pdf文件PDDocument document = PDDocument.load(file);// 创建打印任务PrinterJob job = PrinterJob.getPrinterJob();// 遍历所有打印机的名称for (PrintService ps : PrinterJob.lookupPrintServices()) {String psName = ps.toString();// 选用指定打印机if (psName.equals(printerName)) {isChoose = true;job.setPrintService(ps);break;}}job.setPageable(new PDFPageable(document));Paper paper = new Paper();// 设置打印纸张大小paper.setSize(598,842); // 1/72 inch// 设置打印位置 坐标paper.setImageableArea(0, 0, paper.getWidth(), paper.getHeight()); // no margins// custom page formatPageFormat pageFormat = new PageFormat();pageFormat.setPaper(paper);// override the page formatBook book = new Book();// append all pages 设置一些属性 是否缩放 打印张数等book.append(new PDFPrintable(document, Scaling.ACTUAL_SIZE), pageFormat, 1);job.setPageable(book);// 开始打印job.print();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。