4

現在、私は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ディレクトリから)読み込もうとしましたが、知りませんでした。助けてください。

前もって感謝します

4

2 に答える 2

9

非常に簡単です。以下のコードを使用して、ドキュメント ディレクトリから Webview に PDF を表示してください。

ドキュメント ディレクトリから 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];
 }
于 2012-10-03T11:17:22.637 に答える
8

これを使用してみてください:

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 と無料でブリッジされます。トールフリー ブリッジングの詳細については、「トールフリー ブリッジング」を参照してください。

于 2012-10-03T11:11:28.823 に答える