我正在使用核心图形在 iPad 上渲染 PDF 文件。
但是,使用 OS X 预览或 acrobat 打开 PDF 时,颜色看起来与 PDF 不同。
这是一张图片,左边来自 Acrobat,右边来自 iOS 模拟器:
有谁知道我做错了什么?我没有对我的图形上下文做任何花哨的事情,除了翻译/缩放、剪辑然后调用 CGContextDrawPDFPage
(目前我只在iOS模拟器上试过。)
我正在使用核心图形在 iPad 上渲染 PDF 文件。
但是,使用 OS X 预览或 acrobat 打开 PDF 时,颜色看起来与 PDF 不同。
这是一张图片,左边来自 Acrobat,右边来自 iOS 模拟器:
有谁知道我做错了什么?我没有对我的图形上下文做任何花哨的事情,除了翻译/缩放、剪辑然后调用 CGContextDrawPDFPage
(目前我只在iOS模拟器上试过。)
这是一个旧线程,但从 iOS 9.3.2 开始,问题仍然存在。
解决这个问题似乎不是 Apple 的首要任务。我不能责怪他们——他们有更大的问题要解决。几年前我们报告了这个错误,并在 iOS 和 Android 上的商业 PSPDFKit SDK 中切换到我们自己的渲染引擎。(免责声明:我在那里工作)
颜色转换是唯一已知的解决方法,但需要 Adobe Acrobat 和手动步骤才能更改。我们认为这不是我们可以给客户带来负担的事情,因此我们最终更换了 Apple 的渲染引擎——拥有完全控制权还使我们能够让事情变得更快、更稳定。我们有一个文档提供了一些关于如何开始编写自定义渲染器的资源。
还请在https://feedbackassistant.apple.com/上报告反馈- 这是最终应该修复的问题,Apple 根据请求数量优先考虑功能请求。再说一次,仍然有许多打开的崩溃程序和错误,例如从我们仍然使用的时间开始我们仍然打开的丢失文本CGPDF
,所以我认为这些将具有更高的优先级。
Adobe 的此支持文档概述了如何转换颜色: https ://helpx.adobe.com/acrobat/using/color-conversion-ink-management-acrobat.html
您需要使用 RGB 配置文件,而不是 CMYK 配置文件。
您可以使用 Quartz 过滤器转换您的 PDF。它将在您的文档中集成一个新的颜色配置文件,例如“Apple RGB”。