1

iPhone初心者です。PDFファイルをドキュメントディレクトリに保存する方法がわかりません。ドキュメントディレクトリにフォルダーを作成しました。最初に Webview.but で pdf を開きましたが、ドキュメント ディレクトリに pdf を保存する方法。

これは私のコードです...

- (void)viewDidLoad
{
    [super viewDidLoad];
 NSArray *path = [[NSBundle mainBundle] pathsForResourcesOfType:@"pdf" inDirectory:nil];
  UIBarButtonItem *tempButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"starbtnwhite.png"] style:UIBarButtonItemStylePlain target:self action:@selector(favbtnClicked:)];

    self.navigationItem.rightBarButtonItem = tempButton;

 NSFileManager *fileManager = [NSFileManager defaultManager];
    NSString *documentFolderPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *imagesFolderPath = [documentFolderPath stringByAppendingPathComponent:@"Favourite"]; 

    //Check if the videos folder already exists, if not, create it!!!
    BOOL isDir;

    if (([fileManager fileExistsAtPath:imagesFolderPath isDirectory:&isDir] && isDir) == FALSE) 
    {
        [[NSFileManager defaultManager] createDirectoryAtPath:imagesFolderPath withIntermediateDirectories:YES attributes:nil error:nil];
    }


if(sel_id==0)
    {
            NSURL *targetURL = [NSURL fileURLWithPath:[path objectAtIndex:0]];
            NSLog(@"targeUrl--%@",targetURL);

            NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
            NSLog(@"request--%@",request);

            [webView loadRequest:request];
            [self.view addSubview:webView];
//            [webView release];

    }
    else if(sel_id == 1)
    {
        NSURL *targetURL = [NSURL fileURLWithPath:[path objectAtIndex:1]];
        NSLog(@"targeUrl--%@",targetURL);

        NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
        NSLog(@"request--%@",request);

        [webView loadRequest:request];
        [self.view addSubview:webView];
//        [webView release];

    }
    else if(sel_id == 2)
    {
        NSURL *targetURL = [NSURL fileURLWithPath:[path objectAtIndex:2]];
        NSLog(@"targeUrl--%@",targetURL);

        NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
        NSLog(@"request--%@",request);

        [webView loadRequest:request];
        [self.view addSubview:webView];
//        [webView release];

    }

}

-(IBAction)favbtnClicked:(id)sender
{
  NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSData *datapdf=[[NSData alloc]init];
    NSString *documentDirectory=[paths objectAtIndex:0];



    NSString *finalPath=[documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"Favourite/%@",webView]];
    NSLog(@"finalpath--%@",finalPath);
    [datapdf writeToFile:finalPath atomically:YES];
    NSLog(@"data--%@",datapdf);

}

sel_id は、テーブルビューで選択された raw のセルを返します。ドキュメント ディレクトリにお気に入りフォルダーを作成し、お気に入りフォルダーに pdf ファイルを追加したいと考えています。その目的のために、favbtnClicked のメソッドを作成しました。pdf ファイルをドキュメント ディレクトリに保存しました。

しかし、このような形式で保存すると...

お気に入りフォルダ >

しかし、このフォーマットではなくabc.pdfのようなpdfファイルのみを保存したい>

私のアプリに適用される提案とソースコードを教えてください....

4

1 に答える 1

6

問題は、 datapdfに書き込むものがないことです。したがって、favbtnClickedメソッドは次のようになります。

 -(IBAction)favbtnClicked:(id)sender
{
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectory=[paths objectAtIndex:0];

    NSString *finalPath=[documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"Favourite/myFile.pdf"]]; //check your path correctly and provide your name dynamically
    NSLog(@"finalpath--%@",finalPath);
    NSData *datapdf = [NSData dataWithContentsOfURL:[NSURL urlWithString:yourURLString]]; //add url string here
    NSLog(@"data--%@",datapdf);
    if(datapdf)
       [datapdf writeToFile:finalPath atomically:YES];

}
于 2012-10-18T06:57:32.320 に答える