使用java自带的方式调用打印机打印图片

本文介绍如何使用Java内置功能来调用打印机打印jpg图片。在二手车项目中,由于打印机无法识别pdf,作者将pdf转换为jpg进行打印。代码包括获取输入流和打印功能的实现。需要注意的是,该方法要求打印机和服务器在同一局域网内才能正常工作,并且可能需要设置默认打印机。

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

功能描述:

     在二手车项目中需要实现一个自动打印的功能。将打印的设置在java代码中写好,直接调用打印机打印,不需要有打印设置的页面。这里我使用的是Java自带的方式,一开始是打印pdf,但是由于公司的打印机不能识别application/pdf类型,因此最后我打印的是pdf转换的jpg图片。

(说明:最后我写的功能正常执行并打印出图片,但是由于该项目是SaaS软件,服务器由公司维护,而该代码执行的环境是需要运行程序的服务器与打印机在同一个局域网,这样才能正常识别,所以没有使用。为防止你走弯路,参考我的代码之前最好问清楚服务器是在哪儿维护)

代码如下:

1.获取输入流(这里是通过我们公司的pdf服务器的路径获得的)

@RequestMapping(value = "/printTransferPdf" ,method = RequestMethod.POST)
@ApiOperation(value = "打印过户单据pdf", notes = "打印过户单据pdf" ,tags = {
 
 "web"})
public  AbstractOutputDto  downloadTransferPdf(@RequestBody PrintTransferOps ops )throws Exception{
    PdfOutput output=transferService.createTransferPDF(ops);
    URL url=new URL(output.getPicPath());
    URLConnection conn = url.openConnection();
    InputStream is = conn.getInputStream();

    System.out.println(output.getPicPath());
    AbstractOutputDto abstractOutputDto= transferService.printPDF(is);
   return abstractOutputDto;
}

2.打印功能

public AbstractOutputDto printPDF(InputStream in) throws IOException {
    AbstractOutputDto abstractOutputDto = new AbstractOutputDto();
    
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值