2014-03-27 70 views
1

嗨我創建的PDF文件使用Quartz框架在IOS.i需要下載該文件在本地文件夾,如保存圖像在simulator.any告訴我如何做到這一點。本地保存PDF在IOS

我在提前創建PDF

 -(NSString*)getPDFFileName 
    { 
    NSString* fileName = @"Invoice.PDF"; 

    NSArray *arrayPaths = 
    NSSearchPathForDirectoriesInDomains(
            NSDocumentDirectory, 
            NSUserDomainMask, 
            YES); 
    NSString *path = [arrayPaths objectAtIndex:0]; 
    NSString* pdfFileName = [path stringByAppendingPathComponent:fileName]; 

    return pdfFileName; 

    } 

    -(void)showPDFFile 


    { 
    NSString* fileName = @"Invoice.PDF"; 

    NSArray *arrayPaths = 
    NSSearchPathForDirectoriesInDomains(
            NSDocumentDirectory, 
            NSUserDomainMask, 
            YES); 
    NSString *path = [arrayPaths objectAtIndex:0]; 
    NSString* pdfFileName = [path stringByAppendingPathComponent:fileName]; 

    UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 

    NSURL *url = [NSURL fileURLWithPath:pdfFileName]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [webView setScalesPageToFit:YES]; 
    [webView loadRequest:request]; 

    [self.view addSubview:webView];  
    } 

    - (void)viewDidLoad 
    { 
    NSString* fileName = [self getPDFFileName]; 

    [PDFRenderer drawPDF:fileName]; 
    [self showPDFFile]; 

    [super viewDidLoad]; 
} 

感謝代碼..

+2

從那裏你所得到的文件?你是在應用程序中創建和存儲,還是從遠程服務器下載而不是存儲? – 2014-03-27 08:48:33

+0

我正在用app.i創建pdf頁面,需要將 –

回答

2

這會做你的需要。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectoryPath = [paths objectAtIndex:0]; 
    NSString *pdfDirectoryString = [NSString stringWithFormat:@"%@/YOUR_FILE_NAME", documentsDirectoryPath]; 

    NSError *error = nil; 
    if (![YOUR_PDF_DATA writeToFile:pdfDirectoryString options:NSDataWritingAtomic error:&error]) 
     NSLog(@"Error: %@", [error localizedDescription]); 
+0

保存在這裏YOUR_PDF_DATA指的是我給的。 –

+0

這就是NSData的文件數據... – CW0007007

+0

在沒有用戶交互的情況下存儲在文檔目錄中可能會導致在蘋果商店中拒絕您的應用程序。請將其存儲在庫目錄中。 – 2014-03-27 10:47:05

0

試試這個

對於文檔目錄保存PDF

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSData *data = [PDFImageConverter convertImageToPDF:screenShot]; // convert PDF to data 
NSString *path = [NSString stringWithFormat:@"%@/%@",[docArr objectAtIndex:0],[NSString stringWithFormat:@"userDetails.pdf"]]; 
[data writeToFile:path atomically:NO]; 

檢索和顯示在Web視圖

NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *pdfPathString =[NSString stringWithFormat:@"%@",[documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"userDetails.pdf"]]]; 
NSURL *targetURL = [NSURL fileURLWithPath:pdfPathString]; 
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; 
[contentWebview loadRequest:request];