是否有用于将 eps 或 ps 文件转换为 pdf 的 macOS 命令行工具?

是否有用于将 eps 或 ps 文件转换为 pdf 的 macOS 命令行工具?

我有一些 eps 文件,想将其转换为 PDF。我以前可以在预览中打开这些文件,但是Apple 已删除预览在 Ventura 中打开 EPS 文件的功能

答案1

macOS 有一个命令行pstopdf,可以同时处理pseps文件。

pstopdf <filename>.ps

将会产生<filename>.pdf

man pstopdf更多细节。

答案2

ps2pdf在 Sonoma 中恢复实用程序的最简单方法可能是ghostscript通过 Homebrew安装

brew install ghostscript

这是一个例子(创建手册页的 PDF ls

man -t ls | ps2pdf - /tmp/ls.pdf &&
open -b com.apple.Preview /tmp/ls.pdf

答案3

我昨天更新 macOS 后发现了这个问题。感谢@dmaclach 的回答, 我发现PostScript转PDF由 Edward Mendelson 编写,它是 AppleScript 应用程序的包装器pstopdf。它提供了一些便利,即:“打开”对话框、拖放和文件类型关联 — 如果您将其与.psFinder 中的文件关联(在上下文菜单或“获取信息”面板中的“打开方式”下),则双击 PostScript 文件会悄悄地将其转换为 PDF。

请注意,PostScriptToPDF 将请求控制“系统事件”的权限,这无需担心 - 这是 Apple 提供的应用程序,以便 AppleScript 程序可以代表您执行文件夹操作。在这种情况下,它允许在成功转换后自动删除 PS 文件的选项。如果您不使用该功能,您可以毫无问题地拒绝该请求。

答案4

(这有点像@dmaclach 和@luckman212 的答案的组合。)

pstopdf--- 这是 Ventura 13.x 实用程序,显然在 Sonoma 14.x 中不可用。我试过了,但它用我不需要看到的转换输出填充了标准输出。用于pstopdf -l通过将多余的输出发送到某个日志文件来隐藏它。

ps2pdfghostscript--- 这是一个要运行或的脚本gs,您可以按照@luckman212 的说明使用 Homebrew 安装。我想我的是由 MacPorts 安装的,所以如果您不使用 Homebrew,这可能是一个选择。对我来说,一个问题是默认情况下ps2pdf在我的图像周围留下了很多额外的空白,显然是因为默认ghostscript假设输出 PDF 为整页大小。使用StackOverflow 提示,我发现ps2pdf -dEPSCrop输出 PDF 的大小很合适,就像 Apple 的 ephemeral 命令的结果一样pstopdf

多个文件:这两种方法都适用于单个文件。但问题标题是关于“将...文件转换为 pdf”。我能够使用单个命令一次转换目录中的所有 eps 文件:

find . -type f -name '*.eps' -exec ps2pdf -dEPSCrop {} \;

上述命令感谢@luckman212,他发现我的第一次尝试(如下)是awk错误的,可能会导致某些文件名出现问题。

ls *eps | awk '{system("ps2pdf -dEPSCrop " $0)}' -

相关内容