0

嗨,大家好。我正在使用此代码绘制 pdf,但我已将 pdf 的图像压缩为 jpeg2000。所以 cgpdfdocument 无法解码 jpeg2000,只显示注意但空白。我怎样才能使其解码 jpeg2000?谢谢。任何建议将不胜感激。

CGPDFDocumentRef document;
CGPDFPageRef page;
CGRect box;
document = MyGetPDFDocumentRef (filename); // 1
page = CGPDFDocumentGetPage (document, pageNumber); // 2
CGContextDrawPDFPage (myContext, page); // 3
CGPDFDocumentRelease (document);
4

1 回答 1

0

这可能是 Apple 的 CoreGraphics 库中的一个错误。Apple 的引擎确实支持 JPEG 2000,尽管解压缩代码很慢,但它确实可以工作。

甚至还有一个开源示例展示了如何使用 ImageIO 解压缩 JPEG 2000 - 但是除了回答有关 JPEG 2000 兼容性的问题之外,这对您没有多大帮助。

我建议向radar.apple.com 提交带有错误PDF 的雷达。

但是,不要寄希望于这将很快得到解决。多年来,当我们在商业 PSPDFKit SDK v1-v4 中使用 CoreGraphics PDF 渲染引擎时,我们报告了无数渲染问题。在去年的 v5 版本中,我们终于完成并切换到我们自己的渲染引擎,该引擎改进了 Apple 引擎的许多问题,尤其是对于更奇特的文件或压缩格式。欢迎您试用我们的 SDK 和渲染引擎,如果您发现在 Adob​​e Acrobat 中渲染但不是我们的 SDK 的文件,请向我们报告错误- 我们现在在兼容性方面非常好,并受到主要品牌的信任例如 Dropbox 或 IBM。

于 2016-04-16T19:06:27.507 回答