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 を書きたい場合は、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);
}

ところで-元のコードで、次を置き換えます:

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

と:

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

実際に処理する文字列形式がない限り、文字列形式を使用しないでください。

于 2013-01-12T01:41:25.887 に答える