首页 文章

iOS创建的PDF无法在Adobe Acrobat中打开

提问于
浏览
0

我有一个iOS 6.1.3应用程序,它使用UIGraphicsBeginPDFContextToData将一堆属性文本(和可选的图像)放在一个NSData中 . 然后使用MFMailComposeViewController通过电子邮件发送数据

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

发送PDF并在Mac的“预览”应用程序中打开生成的PDF . 但是,PDF不会在Adobe Acrobat中打开 . 如果我将生成的PDF拖到Firefox中,它们会打开,但会显示警告 . 如果将它们拖到Safari中,我会收到警告“文件不以'%PDF-'开头” . 在BBEdit中查看PDF并“显示隐形”,我发现文件的最开头确实有大量的非打印字符,在%PDF之前 - 如果我删除那些非打印字符,然后PDF在Acrobat和Safari中打开正常 - 但PDF的内容不会显示,只是一个空白页面 .

我正在做的PDF创建确实涉及添加加密,尽管即使没有实际输入密码也存在问题(即PDF实际上没有加密) . 我也尝试了没有任何加密代码(将nil作为UIGraphicsBeginPDFContextToData的最后一个参数传递),但这没有任何区别 .

当然必须有一种方法来生成Adobe Acrobat兼容的PDF并从iOS发送电子邮件?

1 回答

  • 0

    问题解决了 .

    使用NSMutableData dataWithLength创建NSMutableData对象:而不是NSMutableData dataWithCapacity:

    所以我可能在开始时有一些未使用的数据空间 . 哎呀 .

相关问题