我有一个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向其发送电子邮件?
首先,您需要确定文件在哪个步骤中受损。如果在发送电子邮件之前保存文件,出于调试目的,保存的副本是否正确显示? –