推荐使用macOS原生textutil命令将文本文件转PDF,支持批量处理且不覆盖原文件;高级用户可用cupsfilter精确控制元数据,但需CUPS配置支持。

Mac终端将文本文件转PDF需避开图形界面,直接调用系统级命令工具,适合批量处理或自动化脚本场景。
用textutil命令转换(推荐)
这一步操作起来很简单,直接把文件拖进去就行。textutil是macOS原生命令,无需安装,仅支持纯文本(.txt)、RTF、HTML等明确识别的格式。
打开终端,输入以下命令:
textutil -convert pdf 【/路径/到/你的文件.txt】 -output 【/保存路径/目标.pdf】
例如:textutil -convert pdf ~/Documents/report.txt -output ~/Desktop/report.pdf。注意输出路径必须写全,否则PDF会生成在当前终端所在目录,容易找不到。
若未指定-output参数,PDF将默认生成在原文件同目录下,文件名后缀自动改为.pdf——但【原.txt文件不会被覆盖或删除】,可放心执行。
用cupsfilter命令转换(高级用户)
该方法适用于需要精确控制PDF元数据或处理非标准文本编码的场景,但依赖CUPS打印系统配置,普通用户不建议首选。
方法一:基础调用
cupsfilter -m application/pdf 【/路径/到/你的文件.txt】 > output.pdf
方法二:带PPD驱动参数(更稳定)
cupsfilter -p /etc/cups/ppd/Apple-Color-LaserWriter.ppd -m application/pdf 【/路径/到/你的文件.txt】 > output.pdf
提示:若提示“no such file or directory”错误,说明系统缺少PPD文件,此时应改用textutil方案,不要强行下载或手动创建PPD。
批量转换多个文本文件
第一步:打开终端,进入存放所有.txt文件的文件夹,例如 cd ~/Documents/texts
第二步:执行循环命令:
for f in *.txt; do textutil -convert pdf "$f" -output "${f%.txt}.pdf"; done
第三步:检查当前目录,所有同名PDF已生成。该命令会保留原始.txt文件,每个PDF命名与源文件一致,仅后缀变更。
注意:如果文件名含空格或中文,此命令仍能正确执行,无需额外转义——因为双引号包裹了"$f"和"${f%.txt}.pdf"。


















