iphone - 哪些 pdf 元素可能导致崩溃?

标签 iphone objective-c pdf ipad safari

这是一个非常笼统的问题,但它是基于特定问题的。我已经为 iPad 创建了一个 pdf 阅读器应用程序,它工作正常,除了某些 pdf 页面总是使应用程序崩溃。我们现在发现,同样的页面也会导致 Safari 崩溃,所以我开始怀疑问题出在 Apple 的 pdf 渲染代码中。

据我所知,崩溃的页面导致渲染库开始疯狂分配内存,直到应用程序被终止。我没有其他东西可以帮助我查明是什么触发了这个过程。

它不一定会发生在最大的文档或形状最多的文档上。事实上,我们还没有找到任何参数来帮助我们预测哪些页面会崩溃,哪些不会。

现在我们刚刚发现,通过允许您合并文档的消费者程序运行页面可以解决这个问题,但我无法检测到哪个属性或元素是关键。从长远来看,手动更改文档也不是我们的选择。我们需要在我们的服务器上运行自动化流程。

我希望对 pdf 文件格式有更深入了解的人能够为我指明一个合理的方向,以寻找可能导致此类行为的文档功能。到目前为止,我所发现的只是关于 JBIG2 图像的一些信息,我认为我们没有这些图像。

最佳答案

无法在 iPad 应用程序或 iPad 版 Safari 上呈现的两个“特殊”PDF 遇到了同样的问题。在我的案例中,问题出在一些半透明的渐变阴影上。

顺便说一下,将 PDF 转换为 postscript,然后再次转换回 PDF,似乎删除了 PDFKit 不喜欢的内部元素。原始文档大小为 1.9 MB,包含大量矢量形状,经过转换过程后,文件大小减小到约 600 KB,并且在 iPad 上完美呈现。

关于iphone - 哪些 pdf 元素可能导致崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2750546/

相关文章:

ios - 两个日期之间的计时器倒计时

iphone - GameKit:在没有 GKPeerPickerController 的情况下使用 GKSession 时的连接类型是什么

iphone - iPhone 上收到本地通知时显示 View Controller 时出现问题

objective-c - Cocoa 应用程序意外退出

c# - 为什么生成 PDF 后 Excel 不关闭?

swift - PDF 文件未在 iPad webView 中显示

iphone - 在 iPhone 应用程序中使用 RestKit 的最佳方式

objective-c - 正确使用 Objective C++

ios - swift 中的可选与 objective-c 中的 nil 指针有何不同?

javascript - 如何防止jspdf中的表拆分为多个页面