【问题标题】:How to access Print dialog's 'Open PDF in Preview' in os x programmatically如何以编程方式在 os x 中访问打印对话框的“在预览中打开 PDF”
【发布时间】:2014-10-21 10:13:02
【问题描述】:

我正在构建一个 Delphi 应用程序,它可以打开图像及其元数据并打印它。对于 Windows 版本,我构建了一个表单来生成 PrintPreview,但在 Mac 中,我可以使用 Print Dialog'Open PDF in Preview' 代替。当我点击它时,会生成一个 PDF 文件,我可以看到它,没问题。问题是我想直接从一个按钮访问这个选项,所以当单击按钮时,预览中的 PDF 被打开,用户不必打开打印对话框,然后单击“PDF”,然后选择“打开”预览中的 PDF”。我该怎么做?

我阅读了有关使用 Automator、Apple 脚本等的信息,但我仍然找不到它。 这个生成的 PDF 预览是否有任何存储路径,所以也许我可以从那里打开它?...

TIA

【问题讨论】:

    标签: macos delphi pdf print-preview


    【解决方案1】:

    Using Automator or Applescript or both to recursively print documents to PDF 可能重复,但无论如何我都会回答。

    要直接回答您的问题,请参阅我链接到的问题。基本上你需要使用来自 applescript 的系统事件来准确地完成它


    但是,使用/usr/sbin/cupsfilter 有一个更快的解决方案。更多信息请查看man page

    您可以致电cupsfilter <an-image-file>,您将在标准输出上获得一份 PDF,由 OSX 的打印守护程序提供。它看起来很可配置,但我刚刚了解它。

    如果您想为用户打开它,您可以将其保存在一个不错的地方,或者您可以一次性完成并执行cupsfilter <your-image> | open -f -a "Preview" 以直接打开 PDF。

    【讨论】:

    • 我是 applescript 和 Automator 的新手,所以我首先检查了 cupsfilter 解决方案。它工作得很好,我设法打开了 PDF,但问题是我得到的只是图像,而不是我想要发送到打印机的所有页面,因此甚至包括元数据。我使用 Delphi 中的 FMX.Printer 创建了这个页面,这意味着它在任何地方都不作为文件存在,所以我无法访问它并使用 cupsfilter。这就是为什么我想以 PDF 格式访问 OS X 本身生成的文件——> 在预览中打开 PDF。非常感谢您的帮助!!
    猜你喜欢
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2015-07-05
    相关资源
    最近更新 更多