1

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

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

    NSString *documentsDirectory = [paths objectAtIndex:0];

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

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

4

1 回答 1

3

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

如果你想写PDF,你需要获取NSData代表PDF的对象,创建文件的路径,然后使用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);
}

顺便说一句 - 在您的原始代码中,替换:

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

和:

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

除非您确实有要处理的字符串格式,否则不要使用字符串格式。

于 2013-01-12T01:41:25.887 回答