将pdf文件保存在设备中

时间:2013-01-11 23:01:36

标签: iphone ios pdf save

我在我的程序中生成了一个pdf文件,我在这里:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *file = [documentsDirectory stringByAppendingFormat:@"/CEX.pdf"];
    NSData *data = [NSData dataWithContentsOfFile:file];

我知道如何在照片库中保存照片,但不知道我应该如何处理pdf文件以及如何以及在何处将其保存在设备中。有人可以帮我吗?! :)

1 个答案:

答案 0 :(得分:3)

您发布的代码用于从Documents目录中读取现有的PDF文件。

如果要编写PDF,则需要获取表示PDF的NSData对象,创建文件路径,然后使用NSData writeToFile:options:error:方法将数据保存到文件中。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *file = [documentsDirectory stringByAppendingPathComponent:@"MyDocument.pdf"];

NSData *pdfData = ... // data representing your created PDF
NSError *error = nil;
if ([pdfData writeToFile:file options:NSDataWritingAtomic error:&error]) {
    // file saved
} else {
    // error writing file
    NSLog(@"Unable to write PDF to %@. Error: %@", file, error);
}

BTW - 在原始代码中,替换:

NSString *file = [documentsDirectory stringByAppendingFormat:@"/CEX.pdf"];

使用:

NSString *file = [documentsDirectory stringByAppendingPathComponent:@"CEX.pdf"];

除非您确实要处理字符串格式,否则请勿使用字符串格式。