CGContextDrawPDFPage呈现有效PDF的白页

时间:2014-02-18 16:41:18

标签: ios ipad pdf

我在使用CGContextDrawPDFPage函数进行PDF渲染时遇到问题。我开发了一个iPad应用程序(针对iOS 7),它使用PDF做了非常具体的事情,我不能使用UIWebView所以请不要建议。我们的一位客户报告正在呈现白页,而每个其他PDF查看器都会呈现PDF格式。

为了确保我自己的代码中没有任何愚蠢的错误,我已经使用了Apple的ZoomingPDFViewer(https://developer.apple.com/library/ios/samplecode/ZoomingPDFViewer/Introduction/Intro.html),将其随附的PDF替换为我们的客户,并启动了它:确实是正在渲染白页而不是正确的内容(从建筑蓝图扫描。)

我100%确定不是来自Apple的ZoomingPDFViewer示例中的加载,查看或呈现代码,因为我尝试使用该示例查看的每个其他PDF文件都可以正常呈现!

我正在尝试获取在此处上传PDF的权限,但我还没有,所以我的问题是:如果无法访问被错误呈现的PDF,有没有人知道这可能是什么? PDF渲染器中是否存在可能导致呈现白页的限制?

提前致谢!

编辑 :PDF在所有其他PDF查看器中完美呈现,包括但不限于iPad电子邮件应用程序(!),Mac OS X上的Safari,预览在Mac OS X上,Windows上的Acrobat Reader,Windows上的FoxIt阅读器。

编辑 :在Linux上使用ghostscript将原始PDF文件(pdf 1.3为pdf)转换为pdf 1.5解决了问题:PDF现已正确显示!我使用了以下命令行:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dNOPAUSE -dQUIET -dBATCH -sOutputFile="filename.pdf" "filename.pdf"

1 个答案:

答案 0 :(得分:0)

iOS pdf渲染引擎不支持JPEG2000图像。如果您的扫描图像是这样的图像,则它将不会显示。