我在使用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"
答案 0 :(得分:0)
iOS pdf渲染引擎不支持JPEG2000图像。如果您的扫描图像是这样的图像,则它将不会显示。