Java调用打印机打印PDF文档的两种方法

本文介绍了在Java项目中调用打印机打印PDF文档的两种方法:1) 使用Java Print Service,适合打印PNG文件;2) 引入Apache PDFBox库,提供更好的PDF打印支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近,由于项目需求,需要增加系统调用打印机打印PDF文档功能。以前在Asp.Net项目中做过套打,但是现在的需求直接文档打印,下面是实现代码调用打印机的两种方法。

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 (psNam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值