前言: Java调用打印机的步骤是怎样的?IT培训网小编来告诉大家。 Java调用打印机的步骤 1.获取PrinterJob 一般都用PrinterJob.
Java调用打印机的步骤是怎样的?IT培训网小编来告诉大家。
Java调用打印机的步骤
1.获取PrinterJob
一般都用PrinterJob.lookupPrintServices()来获取本地配置的打印机列表
public static PrinterJob getPrintServiceByName(String printerName) throws Exception{
PrinterJob job = PrinterJob.getPrinterJob();
// 遍历查询打印机名称
boolean flag = false;
for (PrintService ps : PrinterJob.lookupPrintServices()) {
String psName = ps.toString();
// 选用指定打印机,需要精确查询打印机就用equals,模糊查询用contains
if (psName.contains(printerName)) {
flag = true;
job.setPrintService(ps);
break;
}
}
if(!flag){
throw new RuntimeException("打印失败,未找到名称为" + printerName + "的打印机,请检查。");
}
return job;
}
2.设置PrinterJob纸张样式
public static void setPageStyle(PDDocument document, PrinterJob job) {
job.setPageable(new PDFPageable(document));
Paper paper = new Paper();
int width = 215;
int height = 170;
// 设置打印纸张大小
paper.setSize(width,height); // 1/72 inch
// 设置边距,单位是像素,10mm边距,对应 28px
int marginLeft = 1;
int marginRight = 0;
int marginTop = 10;
int marginBottom = 0;
// 设置打印位置 坐标
paper.setImageableArea(marginLeft, marginRight, width - (marginLeft + marginRight), height - (marginTop + marginBottom));
// 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);
}
3.打印PDF
public static PDDocument printPdf(String pdfPath, String printerName) throws Exception {
File file = new File(pdfPath);
PDDocument document = PDDocument.load(file);
PrinterJob job = getPrintServiceByName(printerName);
setPageStyle(document, job);
// 开始打印
job.print();
return document;
}
文章出自:http://qh.itpxw.cn/peixun/software/2022121674.html
文章标题:Java调用打印机的步骤
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...