Sca*_*lin 11 c# xamarin.ios pdfrenderer ios cgpdf
我按照以下示例在我的应用程序(Xamarin.iOS)中查看pdf.一切正常,直到最近我才开始注意到使用这种方法无法读取一些pdf文件.
我打开并获取了我的mac信息,我注意到以下内容:
我可以使用Mac的查看器将每个文件导出为pdf,但这比我需要的更多.我该怎么做才能解决这个问题?
原始编码:Adobe Acrobat 10.1.16中的PDFScanLib v1.2.2
导出编码:Mac OS X 10.10.5 Quartz PDFContext
我对该程序运行了额外的测试,我可以得出结论问题是在pdf文件上使用了压缩.CGPDFDocument有没有办法删除或忽略压缩,所以我可以查看pdf?我将pdf上传到我分割页面的移动后端.我正在使用Pdfsharp来实现这一目标,如果可能的话有没有办法在保存到服务器之前清理文件?(此问题仅影响我的应用程序的iOS版本).
经过额外的测试后,我遇到了以下错误:这里 看起来使用的JBIG2压缩有一个已知的错误,当在pdf中读取jpg时会导致错误.(我将继续进一步测试,直到找到解决方案.)
更正:pdf压缩不是JBIG2,而是FlateDecode.在测试并读取二进制数据之后,我注意到原始数据和导出数据都具有相同类型的压缩.(当我尝试解决这个问题时,会更新更多信息.)
Apple的CoreGraphics渲染库有许多局限性 - 由于Apple在推进PDF引擎方面投入的资源非常少,因此您无法在合理的时间范围内对其进行修复.
我们知道这一点,因为我们从2011年开始在这个领域工作,并提供一个名为PSPDFKit的商业PDF查看和编辑库.我们在iOS SDK的第5版中替换了Apple的渲染器,现在发布了自定义渲染引擎 - 我们也用它来驱动我们的Android SDK.
市场上没有很多竞争对手也使用自定义渲染引擎 - 您可以将muPDF作为潜在替代品来寻找也可以解决您的问题(也是商业化的).大多数其他产品只是垫片在CGPDF其上无法解决您的问题.如果您有任何其他问题,请随时评估一些产品并告诉我.(在pspdfkit.com上与彼得联系)
我们还为两个平台提供Xamarin的完整包装,使集成变得容易.