簡體   English   中英

CGPDFDocument無法讀取pdf

[英]CGPDFDocument unable to read pdf

我按照以下示例在我的應用程序 (Xamarin.iOS)中查看pdf 一切正常,直到最近我才開始注意到使用這種方法無法讀取一些pdf文件。

我打開並獲取了我的mac信息,我注意到以下內容:

  • 如果我使用Mac查看器將文檔導出為pdf,則可以正常讀取,但尺寸會增加。
  • 如果我嘗試按原樣打開文件,則無法查看任何內容,只能查看白頁。
  • 這僅適用於我的iOS應用,我的Android上的查看器工作得很好。

我可以使用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引擎方面投入的資源非常少,因此您無法在合理的時間范圍內對其進行修復。

我們知道這一點,因為我們從2​​011年開始在這個領域工作,並提供一個名為PSPDFKit的商業PDF查看和編輯庫。 我們在iOS SDK的第5版中替換了Apple的渲染器,現在發布了自定義渲染引擎 - 我們也用它來驅動我們的Android SDK。

市場上沒有很多競爭對手也使用自定義渲染引擎 - 您可以將muPDF作為潛在替代品來尋找也可以解決您的問題(也是商業化的)。 大多數其他產品只是在CGPDF之上,這無法解決您的問題。 如果您有任何其他問題,請隨時評估一些產品並告訴我。 (在pspdfkit.com上與彼得聯系)

我們還為兩個平台提供Xamarin的完整包裝,使集成變得容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM