如何直接从我的 macOS 应用程序打印显示打印对话框的 PDF 文件?
Posted
技术标签:
【中文标题】如何直接从我的 macOS 应用程序打印显示打印对话框的 PDF 文件?【英文标题】:How to print a PDF file showing the print dialog directly from my macOS application? 【发布时间】:2017-11-24 19:03:41 【问题描述】:我希望能够显示一个 macOS 打印对话框,以便直接从我的应用程序打印 PDF 文件。有没有办法做到这一点?
以下是一些不能完全满足我需求的解决方案:
我可以使用 AppleScript 请求预览应用程序打开 PDF 文件并显示打印对话框。这非常接近。问题是 用户看到显示在预览窗口中的文档,同时 打印对话框打开。我希望打印对话框是 显示在我的应用程序上或单独显示。
我可以使用各种终端命令来打印 PDF 文件,而无需任何 用户交互。问题是我希望用户能够 与打印对话框交互。
我可以使用AppKit printing API 从我的应用程序中显示打印对话框。问题是我看到实际打印内容的唯一方法是在视图中呈现它。
【问题讨论】:
【参考方案1】:我不确定我是否理解您在使用 AppKit 打印 API 时遇到的问题。下面的 sn-p 代码应该会给你一个没有文档视图的打印对话框。
Boolean accepted = true;
NSPrintInfo *thePrintInfo = [NSPrintInfo sharedPrintInfo];
[NSApplication sharedApplication];
NSPrintPanel *printPanel = [NSPrintPanel printPanel];
accepted = [printPanel runModalWithPrintInfo: thePrintInfo];
【讨论】:
以上是关于如何直接从我的 macOS 应用程序打印显示打印对话框的 PDF 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何从我的 json 文件中将某些内容打印到不和谐频道中? - 不和谐.py
从 macOS 应用程序打印 PDF - 将上下文定义为 PDFDocument
如何在 macOS 上使用 python 将图片发送到打印机