сохранить pdf-файл на устройстве

Я создал файл PDF в своей программе, и он у меня есть:

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

    NSString *documentsDirectory = [paths objectAtIndex:0];

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

Я знаю, как сохранить фотографии в фотогалерее, но понятия не имею, что мне делать с pdf-файлом и как и где его сохранить на устройстве. Кто-нибудь может мне помочь ?! :)


person Rudi    schedule 11.01.2013    source источник


Ответы (1)


Размещенный вами код предназначен для чтения существующего файла PDF из каталога Documents.

Если вы хотите написать 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"];

Не используйте строковые форматы, если у вас действительно нет строкового формата для обработки.

person rmaddy    schedule 12.01.2013