2013-08-01 46 views
0

我有一個iOS 6.1.3應用程序,它使用UIGraphicsBeginPDFContextToData將一組屬性文本(和可選圖像)放到一個NSData中。該數據然後通過電子郵件發送MFMailComposeViewController和iOS創建的PDF不會在Adobe Acrobat中打開

[picker addAttachmentData:pdfData mimeType:@"application/pdf" fileName:@"AppData.pdf"]; 

的PDF發送和生成的PDF打開在我的Mac上的「預覽」應用程序的罰款。 PDF不會在Adobe Acrobat中打開。如果我將生成的PDF拖放到Firefox,它們會打開,但會顯示警告。如果將它們拖放到Safari,我會收到警告「文件不以'%PDF-'開頭」。在BBEdit中查看PDF並「顯示不可見」,我發現在文件的起始處確實存在大量非打印字符,在%PDF之前 - 如果刪除那些非打印字符, PDF在Acrobat和Safari中可以正常打開 - 但PDF的內容不會顯示,只是一個空白頁面。

我正在做的PDF創建確實涉及到加密,即使沒有輸入密碼(即PDF實際上並未加密),問題仍然存在。我也嘗試過沒有任何加密代碼(通過零作爲UIGraphicsBeginPDFContextToData的最後一個參數),但沒有任何區別。

當然,必須有一種方法來生成兼容Adobe Acrobat的PDF並從iOS向其發送電子郵件?

+0

首先,您需要確定文件在哪個步驟中受損。如果在發送電子郵件之前保存文件,出於調試目的,保存的副本是否正確顯示? –

回答

0

問題解決。

當時createing與NSMutableData dataWithLength一個NSMutableData對象:不是NSMutableData dataWithCapacity:

所以我可能不得不在一開始一些未使用的數據空間。哎呀。

相關問題