欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

SpringBoot 系列 --- [调用打印机的 Java 实现

最编程 2024-04-25 15:27:49
...
@ApiOperation(value = "打印测试") @GetMapping("/print1") public void print(String printName) throws IOException, PrinterException { // // 使用打印机的名称 // String printName = "\\\\172.17.1.127\\Canon-print"; String pdfPath = "C:\\Users\\admin\\OneDrive\\桌面\\project\\home-finance\\fast-boot\\src\\main\\resources\\风险预警0324-(紧急).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(printName)) { 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 format PageFormat pageFormat = new PageFormat(); pageFormat.setPaper(paper); // override the page format Book book = new Book(); // append all pages 设置一些属性 是否缩放 打印张数等 book.append(new PDFPrintable(document, Scaling.ACTUAL_SIZE), pageFormat, 1); job.setPageable(book); // 开始打印 job.print(); }

推荐阅读