Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios CGContextDrawPDFPage为有效PDF呈现白色页面_Ios_Ipad_Pdf - Fatal编程技术网

Ios CGContextDrawPDFPage为有效PDF呈现白色页面

Ios CGContextDrawPDFPage为有效PDF呈现白色页面,ios,ipad,pdf,Ios,Ipad,Pdf,我对使用CGContextDrawPDFPage函数进行PDF渲染有问题。我开发了一个iPad应用程序(针对iOS 7),它可以用PDF做非常具体的事情,我不能使用UIWebView,所以请不要推荐它。我们的一位客户报告正在呈现一个白色页面,而其他所有PDF查看器都会将PDF呈现得很好 为了确保我自己的代码中没有任何愚蠢的错误,我使用了苹果的ZoomingPDFViewer(),用我们客户提供的PDF替换了他们提供的PDF,并启动了它:事实上,呈现的是一个白色页面,而不是正确的内容(从建筑蓝图扫

我对使用CGContextDrawPDFPage函数进行PDF渲染有问题。我开发了一个iPad应用程序(针对iOS 7),它可以用PDF做非常具体的事情,我不能使用UIWebView,所以请不要推荐它。我们的一位客户报告正在呈现一个白色页面,而其他所有PDF查看器都会将PDF呈现得很好

为了确保我自己的代码中没有任何愚蠢的错误,我使用了苹果的ZoomingPDFViewer(),用我们客户提供的PDF替换了他们提供的PDF,并启动了它:事实上,呈现的是一个白色页面,而不是正确的内容(从建筑蓝图扫描)

我百分之百确定的是,在苹果的ZoomingPDFViewer示例中,不是加载、查看或渲染代码,因为我尝试使用该示例查看的所有其他PDF文件都渲染得很好

我正试图获得上传PDF的许可,但我还没有,所以我的问题是:如果无法访问错误呈现的PDF,有人知道这可能是什么吗?PDF呈现程序中是否存在可能导致呈现白色页面的限制

提前谢谢

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

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


gs-sDEVICE=pdfwrite-dCompatibilityLevel=1.5-dNOPAUSE-dQUIET-dBATCH-sOutputFile=“filename.pdf”“filename.pdf”
iOS pdf渲染引擎不支持JPEG2000图像。如果您扫描的图像是这样的图像,则不会显示。

您是在模拟器上还是在设备上,还是两者都有?你能在Mac上的预览中打开PDF吗?它的渲染是否正确?它有多大/复杂(蓝图往往由数百万行片段组成,而不是在iOS上显示的最佳内容)。iOS查看器的行为通常类似于旧的1级或2级PostScript RIP。它有很多内存问题和实现限制,并且没有显示很多“现代”PDF功能。仅举一个例子,不支持套印。根据PDF的构建方式,这很容易成为您看到的内容的原因。