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

如何直接从macOS应用程序打印显示打印对话框的PDF文件?,macos,pdf,printing,Macos,Pdf,Printing,我希望能够显示macOS打印对话框,以便直接从我的应用程序打印PDF文件。有办法做到这一点吗 以下是一些不能完全满足我需求的解决方案: 我可以使用AppleScript要求预览应用程序打开PDF 文件并显示打印对话框。这非常接近。问题是 用户看到预览窗口中显示的文档时 “打印”对话框已打开。我希望打印对话框是 在我的应用程序上显示或单独显示 我可以使用各种终端命令打印PDF文件,而无需任何 用户交互。问题是我希望用户能够 与打印对话框交互 我可以使用显示应用程序中的打印对话框。问题是,我看到的

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

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

  • 我可以使用AppleScript要求预览应用程序打开PDF 文件并显示打印对话框。这非常接近。问题是 用户看到预览窗口中显示的文档时 “打印”对话框已打开。我希望打印对话框是 在我的应用程序上显示或单独显示

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

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


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

    Boolean accepted = true;

    NSPrintInfo *thePrintInfo = [NSPrintInfo sharedPrintInfo];

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