You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将macOS系统lpr命令的输出重定向为PDF文件而非发送到打印机

macOS原生导出lpr等价效果PDF的方案

核心方法是调用macOS系统原生预装的CUPS组件提供的cupsfilter工具,该工具的文本处理逻辑和lpr命令完全一致,生成的PDF格式、Menlo字体渲染效果和直接用lpr打印的输出没有区别,不需要安装任何第三方工具,可直接嵌入应用分发。

具体使用方法

  • 基础命令(生成和默认lpr打印效果一致的PDF):
cupsfilter -m application/pdf 输入文本文件路径 > 输出PDF文件路径

示例:要将当前目录下的demo.txt生成output.pdf,执行:
cupsfilter -m application/pdf demo.txt > output.pdf

  • 如果需要完全复刻指定打印机的lpr打印参数效果,可以指定打印机名称:
  1. 先执行lpstat -p查询系统已配置的打印机列表,获取目标打印机的名称
  2. 执行命令:
    cupsfilter -m application/pdf -d 目标打印机名称 输入文本文件路径 > 输出PDF文件路径

原理解释

你之前直接将lpr输出管道给pstopdf无效的原因是:lpr默认会将处理后的打印作业直接提交给CUPS调度队列发送到打印机,不会将中间生成的PostScript内容输出到标准输出,因此无法直接通过管道捕获。
cupsfilter直接调用了和lpr完全相同的CUPS文本过滤链路,跳过了提交打印队列的步骤,直接将处理后的内容输出为PDF格式,完美匹配你的需求。

内容的提问来源于stack exchange,提问作者emendelson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 15:15:03