cocoa - 使用 PDFKit 界面显示 pdf 文件

标签 cocoa pdf macos-sierra pdfview pdf-annotations

我正在使用 Mac OS 10.12,并且有一个使用 PDFKit 界面显示 pdf 文件的应用程序。 但我遇到了以下问题

Set pdf document to PDFView, in original OS,e.g. OS10.11 , there will invoke PDFView->drawPage() function, but in OS10.12,the function is not invoked;

PDFView can't draw pdf annotation in OS10.12;

解决上述问题将不胜感激

最佳答案

我认为这要么是一个直接的错误,要么是一个尚未记录的 API 更改。我将此记录为错误 (27666426),现在可以看到它被标记为打开的重复项 (27668895)。

请注意,在 10.12 Beta 6 中,将调用 -drawWithBox:toContext: 来代替现已弃用的 -drawWithBox:。请注意,所有绘图还需要使用传入的上下文。

更新:

然而,随着 10.12 版本的发布,事情似乎并没有那么简单。我发现我的 PDF View 打印(在 10.11 上由 -drawWithBox: 驱动,在 10.12+ 上由 -drawWithBox:toContext: 驱动)已损坏。

单步调试汇编程序,我可以看到 10.12 在打印时现在调用 -drawWithBox:inContext: 而不是 -drawWithBox:toContext:-drawWithBox: (如 10.11 的情况)。 inContext: 选择器似乎是 around a while .

似乎唯一适用于 10.9 - 10.12 屏幕和打印渲染的解决方案是使用未记录的 -drawWithBox:inContext:

关于cocoa - 使用 PDFKit 界面显示 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38517984/

相关文章:

Java - 读取和写入在浏览器窗口内呈现的 Pdf

php - wkhtmltopdf:是否可以合并 PDF 文件?

java - 无法在 Mac Sierra (10.12.2) 上安装 Elasticsearch

ios - 如何找到我的 IOS 应用程序的存档文件?

docker - SSH 代理从 Mac OS 转发到 Docker Alpine 容器

xcode - 如何在 ApplescriptObjC/xcode 中创建停止按钮?

objective-c - NSTextView,绑定(bind)和显示 NSString

objective-c - NSArray 中的 EXC_BAD_ACCESS 在崩溃前创建了 3 行

macos - 在 Spotlight 导入器之外修改文件的 Spotlight 元数据?

java - 使用 ITEXT 使图像适合 PDF