我正在尝试打印一个PDF文档,我正在从一系列图像构建.如果它很重要,我会在Mozilla插件中完成所有这些操作.
我创建PDFDocument,并将其放入PDFView,然后我打电话
[printView printWithInfo: [NSPrintInfo sharedPrintInfo] autoRotate: YES];
打印对话框出现(作为一个单独的窗口,而不是面板.我假设这是来自mozilla窗口,所以我不太担心它.对话框显示我的文档,我可以正确翻页,一切看起来都不错.
但是,当我点击"打印"时,带有"布局"等的下拉列表变为空,并且其下的视图变为空.窗口不会消失,文档不会打印.点击取消完全相同.我唯一能做的就是强行退出Mozillla.
我从apple dev网站开始使用PDFKitLinker2程序,该程序可以运行.但我看不出它与我的版本之间有任何显着差异.
关于在哪里看的任何建议?
谢谢.
编辑:是的,我知道这几乎是打印屏幕外PDFViews的完全重复,但从来没有得到足够的答案......(直到现在我才注意到它...)
听起来你在这里有一个内存管理问题.您是否检查过控制台日志以查看是否抛出了异常?你是如何创建的PDFView
?
但为什么不像WebKit那样做呢?
具体来说,声明一个类别 PDFDocument
@interface PDFDocument (PDFSecretsIKnowViaWebKit) - (NSPrintOperation *)getPrintOperationForPrintInfo:(NSPrintInfo *)printInfo autoRotate:(BOOL)doRotate; @end
然后当你想要打印时,PDFDocument
只需从中获取NSPrintOperation
并运行它.
NSPrintOperation *op = [myPDFDoc getPrintOperationForPrintInfo:info autoRotate:YES]; [op runOperation]; // [op runOperationModalForWindow:delegate:didRunSelector:contextInfo:] if you have a window to attach it to