UIGraphicsBeginPDFContextToData创建Acrobat无法读取的PDF

时间:2015-04-26 21:15:23

标签: ios objective-c pdf

我使用普通代码块从iOS创建PDF。

some.list[[i]]

iOS和OS X读取这些PDF文件很好,但Acrobat声称它们已损坏且无法读取。有趣的是,在NSMutableData *pdfdata = [NSMutableData dataWithLength:2048]; CGRect newf = CGRectMake(0, 0,1024,1024); UIGraphicsBeginPDFContextToData(pdfdata,newf,nil); UIGraphicsBeginPDFPage(); //rendering code UIGraphicsEndPDFContext(); 中复制它们会解决它们并使它们再次被Acrobat读取。

通过区分两个版本我可以看到OS X PDF编码器添加了一堆东西(它的二进制因此不知道是什么)

任何人都知道让我的PDF Acrobat再次兼容的秘诀。

修改

Broken file - 无法在Acrobat中打开

1 个答案:

答案 0 :(得分:1)

文档以一个2048字节的块填充为零,这会损坏文件中的所有偏移量。

创建一个没有初始长度的空NSMutableData,问题应该修复。