当前位置: 首页 > java >正文

Java使用“Microsoft Print To PDF”打印时如何指定输出路径

#前言
使用本地虚拟机打印机(Microsoft Print To PDF)可以方便的对打印功能进行测试或者将文件转换成PDF文件,但是每次转换前都要手动选择保存的路径,即便使用Java代码,也是会弹出文件选择框,选择保存到哪里,有什么办法可以固定这个路径或者通过程序指定呢?

指定固定路径

通过检索,大多数的做法是通过指定一个本地路径的端口,这样就可以保存到指定的文件了,参考:如何指定Microsoft Print To PDF的输出路径

程序动态指定

通过查询JDK的文档,发现有一个属性:javax.print.attribute.standard.Destination 指的就是最终文件保存的路径,亲测了一下是有效的,以下是完整的代码示例:

 public static void main(String[] args) throws PrintException, IOException, URISyntaxException {// 获取到所有的打印服务PrintService[] printServices = PrinterJob.lookupPrintServices();for (PrintService printService : printServices) {// 找到Microsoft Print To PDF虚拟打印机if (printService.getName().equals("Microsoft Print To PDF")) {DocPrintJob printJob = printService.createPrintJob();// 打印源对象FileInputStream pdfStream = new FileInputStream("E:\\myPic.jpg");Doc doc = new SimpleDoc(pdfStream, DocFlavor.INPUT_STREAM.JPEG, null);PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();// 关键步骤:指定输出路径attributes.add(new Destination(new URI("file:///E://myPic.pdf")));// 执行打印printJob.print(doc, attributes);}}}
http://www.xdnf.cn/news/17631.html

相关文章:

  • Vue 利用el-table和el-pagination组件,简简单单实现表格前端分页
  • AI时代基于云原生的 CI/CD 基础设施 Tekton
  • Dubbo从入门到实战:分布式服务开发指南
  • USB 基本描述符
  • 视频播放器哪个好用?视频播放器PotPlayer,KMP Player
  • 下一个排列 的 思路总结
  • 从零开始的云计算生活——项目实战容器化
  • 标准IO详解(fgets、gets、fread、fwrite、fseek 等应用)
  • Java 包装类简单认识泛型
  • 《深度解构:React与Redux构建复杂表单的底层逻辑与实践》
  • C#使用EPPlus读写Excel
  • ubuntu20.04交叉编译vlc3.0.21 x64 windows版本
  • 大模型落地:AI 技术重构工作与行业的底层逻辑
  • Pytest 全流程解析:执行机制与报告生成实战指南
  • java 插入式注解的打开方式!
  • MySQL,Redis重点面试题
  • SQL179 每个6/7级用户活跃情况
  • Spring Framework源码解析——BeanPostProcessor
  • 【学习嵌入式day-22-Linux软件编程-IO】
  • SpringBoot集成支付宝二维码支付接口详解
  • Python3.10 + Firecrawl 下载 Markdown 文档:构建高效通用文章爬虫
  • 不同FPGA开发板系统移植步骤
  • Chrome插件开发【Service Worker练手小项目】
  • 【LeetCode刷题集】--排序(三)
  • 【智能的起源】人类如何模仿,简单的“刺激-反应”机制 智能的核心不是记忆,而是发现规律并能迁移到新场景。 最原始的智能:没有思考,只有简单条件反射
  • Mamba 原理汇总2
  • AI(2)-神经网络(激活函数)
  • 支持小语种的在线客服系统,自动翻译双方语言,适合对接跨境海外客户
  • 数据结构-数组扩容
  • 开发指南130-实体类的主键生成策略