Как прочитать файл PDF из каталога документов на iPhone?

В настоящее время я работаю в приложении для iPhone, у меня есть pdf-файл в папке ресурсов (локальный pdf-файл), затем я успешно прочитал этот pdf-файл (paper.pdf), ниже я упомянул чтение локального pdf-файла для справки.

Пример:

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("paper.pdf"), NULL, NULL);
pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
CFRelease(pdfURL);

Затем я попытался сохранить файл PDF (из URL-адреса) в каталоге NSDocument, успешно сохраненный.

NSData *pdfData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.msy.com.au/Parts/PARTS.pdf"]];

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
 NSString *documentsDirectory = [paths objectAtIndex:0]; 
 NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myPDF11.pdf"];
 [pdfData writeToFile:filePath atomically:YES];

Затем я попытался прочитать этот файл PDF (из каталога NSDocument), но я этого не знал, пожалуйста, помогите мне.

Заранее спасибо


person SampathKumar    schedule 03.10.2012    source источник


Ответы (2)


Попробуйте использовать это:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myPDF11.pdf"];

NSURL *pdfUrl = [NSURL fileURLWithPath:filePath];
pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
CFRelease(pdfURL);

Из справочника по NSURL:

Класс NSURL является бесплатным мостом со своим аналогом Core Foundation, CFURLRef. Дополнительную информацию о бесплатном соединении см. в разделе «Бесплатное соединение».

person sergio    schedule 03.10.2012
comment
@sergio я загружаю свой pdf-файл с отметкой времени, что-то вроде этого: /Documents/myPDF.pdf1382698338.78128, так как теперь я могу appendpathComponent ?? - person zeeshan shaikh; 25.10.2013
comment
@zeeshanshaikh: это вызывает еще один вопрос с более подробной информацией о том, что вы делаете ... - person sergio; 25.10.2013
comment
@sergio, пожалуйста, проверьте мой вопрос: stackoverflow.com/questions/19588173/ - person zeeshan shaikh; 25.10.2013
comment
@sergio, пожалуйста, проверьте мой комментарий к тому вопросу, на который вы ответили, спасибо - person zeeshan shaikh; 25.10.2013

это очень просто, пожалуйста, используйте приведенный ниже код, чтобы отобразить ваш PDF-файл из каталога документов в Webview

загрузить PDF из каталога документов

 - (void)viewDidLoad
 {
[super viewDidLoad];

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 367)];
webView.scalesPageToFit = YES;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
 NSString *documentsDirectory = [paths objectAtIndex:0]; 
 NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myPDF11.pdf"];

NSURL *targetURL = [NSURL fileURLWithPath:filePath];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

[self.view addSubview:webView];
[webView release];
 }

загрузить PDF-файл из папки ресурсов пакета приложений

 - (void)viewDidLoad
 {
[super viewDidLoad];

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 367)];
webView.scalesPageToFit = YES;

NSString *path = [[NSBundle mainBundle] pathForResource:@"myPDF11" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

[self.view addSubview:webView];
[webView release];
 }
person Nitin Gohel    schedule 03.10.2012