【LPR】macOS 下的打印瑞士军刀
11月27日 / 11月27日
深度解析 1lpr 命令:Linux/macOS 下的打印瑞士军刀
1lpr在 Linux 和 macOS 系统中,
1lpr1lpr1lpr 是什么?
1lpr1lpr1lpd为什么你需要了解 1lpr?
1lpr- 自动化和脚本编写:在批处理、自动化报告生成或服务器端打印任务中,可以轻松集成到 shell 脚本中,实现无人值守的打印。
1lpr - 远程打印:尽管名称中带有 "Remote",但现代 CUPS 环境下,主要用于本地打印。不过,其背后的协议(LPD)确实支持网络打印。
1lpr - 精确控制:提供了多种选项,允许你精确控制打印机选择、份数、纸张大小等。
1lpr - 诊断和故障排除:了解 有助于你理解打印流程,并在打印出现问题时进行诊断。
1lpr
1lpr 的基本用法
1lpr最简单的
1lpr1lpr filename.txt
如果
1filename.txt常用选项
1lpr1-P printer_name:指定打印机
1-P printer_name指定要使用的打印机。这是最常用的选项之一。
1lpr -P MyOfficePrinter document.pdf
如何查看打印机名称?
使用
1lpstat -p1lpstat -p
1-# num_copies:指定打印份数
1-# num_copies1lpr -# 3 report.docx
1-o option=value:指定打印选项
1-o option=value指定各种打印选项。这些选项通常与打印机驱动程序相关,非常强大和灵活。以下是一些常见示例:
纸张大小 (Page Size)
1lpr -o media=A4 document.pdf
常见值:
1Letter1Legal1A41A3双面打印 (Duplex/Two-Sided)
1lpr -o Duplex=DuplexNoTumble document.pdf # 长边翻转 2lpr -o Duplex=DuplexTumble document.pdf # 短边翻转
常见值:
1DuplexNoTumble1DuplexTumble1None每页打印的页数 (N-up)
将多页内容缩小打印到一张纸上。
1lpr -o number-up=2 document.pdf # 每页打印2版
打印质量 (Quality)
1lpr -o print-quality=draft document.pdf
常见值:
1draft1normal1high彩色/黑白 (Color/Grayscale)
1lpr -o ColorModel=Grayscale document.pdf # 强制黑白
常见值:
1Color1Grayscale如何获取更多 选项?1option=value
使用
1lpoptions -p printer_name -l1lpoptions -p MyOfficePrinter -l
1-r:打印后删除文件
1-r在打印完成后删除原始文件。请谨慎使用此选项,因为它会永久删除你的文件!
1-m:打印完成通知
1-m打印完成后发送邮件通知用户。
示例:一个实际的打印脚本片段
假设你有一个需要每天自动打印销售报告的场景:
1#!/bin/bash 2 3REPORT_FILE="/var/reports/daily_sales_$(date +%Y%m%d).pdf" 4PRINTER="WarehousePrinter" 5 6# 检查报告文件是否存在 7if [ ! -f "$REPORT_FILE" ]; then 8 echo "错误: 报告文件 $REPORT_FILE 不存在。" 9 exit 1 10fi 11 12echo "正在发送报告 $REPORT_FILE 到打印机 $PRINTER ..." 13 14lpr -P "$PRINTER" -o media=A4 -o Duplex=DuplexNoTumble "$REPORT_FILE" 15 16if [ $? -eq 0 ]; then 17 echo "报告已成功发送到打印队列。" 18else 19 echo "错误: 发送报告失败。" 20fi
总结
1lprcd ..