3

我正在尝试打印我从一系列图像构建的 PDFDocument。万一这很重要,我会在 Mozilla 插件中完成所有这些工作。

我创建 PDFDocument,并将其放入 PDFView,然后我调用

[printView printWithInfo: [NSPrintInfo sharedPrintInfo] autoRotate: YES];

打印对话框出现(作为一个单独的窗口,而不是面板。我假设它来自一个 mozilla 窗口,所以我不太担心它。对话框显示我的文档,我可以正确地翻页,一切看起来都很好。

但是,当我点击“打印”时,带有“布局”等的下拉菜单变为空,并且其下的视图变为空。窗口不会消失,文档也不会打印。点击取消完全一样。那时我唯一能做的就是强制退出 Mozilla。

我基于来自苹果开发网站的PDFKitLinker2程序,该程序有效。但我看不出它和我的版本有任何显着差异。

关于在哪里看的任何建议?

谢谢。

编辑:是的,我知道这几乎是Print Off-screen PDFViews的完全相同的副本,但从未得到足够的答案......(直到现在我才注意到它......)

4

2 回答 2

7

听起来您在这里遇到了内存管理问题。您是否检查了控制台日志以查看是否引发了异常?你是如何创建你的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
于 2010-03-21T22:46:08.887 回答
1

这也适用于我。我已经验证 getPrintOperationForPrintInfo:autoRotate: 存在并且在 10.4、10.5 和 10.6 上似乎可以正常工作。

于 2010-05-14T22:39:18.503 回答