如何直接从我的macOS应用程序打印显示打印对话框的PDF文件?

时间:2017-11-24 19:03:42

标签: macos pdf printing

我希望能够显示一个macOS打印对话框,直接从我的应用程序打印PDF文件。有没有办法做到这一点?

以下是一些不能满足我需求的解决方案:

  • 我可以使用AppleScript要求预览应用程序打开PDF 文件并显示打印对话框。这非常接近。问题是 用户在预览窗口中看到显示的文档 打印对话框已打开。我更喜欢打印对话框 在我的申请表上或孤立地展示。

  • 我可以使用各种终端命令来打印PDF文件 用户互动。问题是我希望用户能够 与打印对话框交互。

  • 我可以使用AppKit printing API从我的应用程序中显示打印对话框。问题是,我看到实际打印内容的唯一方法是在视图中呈现它。

1 个答案:

答案 0 :(得分:1)

我不确定我是否理解您使用AppKit打印API时遇到的问题。下面的代码片段应该为您提供一个没有文档视图的打印对话框。

    Boolean accepted = true;

    NSPrintInfo *thePrintInfo = [NSPrintInfo sharedPrintInfo];

    [NSApplication sharedApplication];
    NSPrintPanel *printPanel = [NSPrintPanel printPanel];
    accepted = [printPanel runModalWithPrintInfo: thePrintInfo];