2014-01-27 3 views
0

나는 pdf를 만들고 앱 문서 폴더에 저장하는 앱을 만들었습니다. 'PDF보기'을 누르면 응용 프로그램 내에서 열어서보고 싶습니다.Xcode 프로젝트의 내 문서 폴더에 저장된 PDF 파일을 엽니 다.

나는 이미 여기에 몇 가지 질문을 보았고 별도의보기 컨트롤러 또는 스크롤보기를 고려했습니다.

가장 좋은 방법은 무엇입니까?

업데이트 : 조언을 따랐다 내가 QLPreviewController를 사용하는 것을 시도하고있다

. 내가 QuickLook 프레임 워크를 추가했고 지금 다음을 가지고 있지만, 경로를 얻는 방법에 붙어 오전 pathForResource. 어떤 제안?

+0

무엇 당신은 연구 했습니까/시도 했습니까? – Wain

+0

수정 된 질문에 답변 - 내가 그것을 조사하지 않은 것 같아요. 그러나 내가 이것을 조사 할 때 제안 된 것은 그것을 보는 별도의 응용 프로그램 인 것처럼 보입니다. 그건 내가 별도의 애플 리케이션을 설치하고 싶지 않아했다. 그러나 Safari를 사용하는 웹 링크를 여는 버튼을 설정할 수 있습니다. iOS에 내장 된 PDF 뷰어와 비슷한 방법이 있습니까? 아니면 자신의 견해를 통해이를 수행해야합니까? 둘 다 할 수 있다면 더 낫지? – RGriffiths

답변

2

PDF 파일이 다음 다른 응용 프로그램에 전달 대해 생각하지 말아야 응용 프로그램의 문서 폴더에있는 경우

- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller 
{ 
return 1; 
} 

- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index 
{ 
NSString *path=[[NSBundle mainBundle] pathForResource:[pdfPathWithFileName] ofType:nil]; 
    return [NSURL fileURLWithPath:path]; 
} 



- (IBAction)viewPdfButton:(id)sender { 

NSString *filename= @"ObservationPDF.pdf"; 
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documnetDirectory = [path objectAtIndex:0]; 
NSString *pdfPathWithFileName = [documnetDirectory stringByAppendingPathComponent:filename]; 

[self generatePdf: pdfPathWithFileName]; 

QLPreviewController *previewController=[[QLPreviewController alloc]init]; 
previewController.delegate=self; 
previewController.dataSource=self; 
[self presentViewController:previewController animated:YES completion:nil]; 

는}, 당신은 응용 프로그램 내에서 파일을 제시하고자한다. 2 일반 옵션 :

  1. UIWebView을 추가하고 PDF

웹보기 간단을 포함하는 새로운보기를 표시 할

  • 사용 QLPreviewController에 로컬 파일을로드하고 아무런 변화가 필요하지 않습니다 UI. 미리보기 컨트롤러는 전환이 필요하지만 무료 공유/인쇄 지원을 제공합니다.


    이 선은 혼동 (그리고 그것의 모양에 의해 유효하지 않은 구문)된다

    NSString *path=[[NSBundle mainBundle] pathForResource:[pdfPathWithFileName] ofType:nil]; 
    

    당신은 번들에서 아이템을 얻을 수 NSBundle를 사용, 그것은 당신이 무엇을하지 않습니다. 파일을 저장할 위치를 당신은 파일 경로와 URL을 생성해야합니다

    [NSURL fileURLWithPath:pdfPathWithFileName]; 
    

    (당신은 저장할 수 있습니다 또는 당신은 당신이 파일을 저장할 때와 같은 방법으로 다시 만들어야 수있는)

  • +0

    감사합니다. 나는 내가 어디서 왔는지에 대한 업데이트를 추가했다. 나는 이것이 가깝지만 꽤 도착할 수 없다고 생각한다. 내가 빠진 것을 볼 수 있니? – RGriffiths