2013-11-01 7 views
0

CGPDF API를 사용하여 IPAD에서 PDF를 표시하고 조작하고 싶습니다. 그러나 먼저 PDF에서 내보기에 PDF를 표시하려고합니다. 쉬운 방법 (화면 조정없이). PDF가 왜 내 응용 프로그램에 나타나지 않는지 모르겠다. 어쩌면 나는 잘못된 것을하고있다. NSLOG를 사용하여 페이지 수를 계산하고 작동하지만 PDF가 표시되지 않습니다. 에뮬레이터 화면에 흰색 배경이 나타납니다. 여기 PDF 파일이 CGPDFDocumentRef에로드되었지만보기에 표시되지 않습니다.

내 코드입니다 :

그냥 다음 웹보기에서 PDF를 표시하려면
// 
**// ViewController.h** 
// MeuCGPDF 
// 
// Created by admin on 01/11/13. 
// Copyright (c) 2013 admin. All right reserved. 
// 

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController 

@end 


---------------------------------------------------------- 

// 
**// ViewController.m** 
// MeuCGPDF 
// 
// Created by admin on 01/11/13. 
// Copyright (c) 2013 admin. All rights reserved. 
// 

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    NSString *pathToPdfDoc = [[NSBundle mainBundle] pathForResource:@"livro" ofType:@"pdf"]; 
    NSURL *pdfUrl = [NSURL fileURLWithPath:pathToPdfDoc]; 
    CGPDFDocumentRef document = CGPDFDocumentCreateWithURL((CFURLRef)pdfUrl); 
    size_t pageCount = CGPDFDocumentGetNumberOfPages(document); 

    CGPDFPageRef page = CGPDFDocumentGetPage(document, 1); 

    CGContextRef context = UIGraphicsGetCurrentContext(); 

    CGContextDrawPDFPage(context, page); 

    NSLog(@"Paginas: %zu", pageCount); 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 

---------------------------------------------------------- 
+0

PDF 만 표시하려면 LOADREQUEST 메서드를 사용하여 UIWEBVIEW에서 해당 PDF를 표시 할 수 있습니다. 어떤 제 3 자의 API도 필요하지 않습니다. PDF를 만들고 싶다면 그것을 사용하십시오. –

+0

@PradhyumanChavda 캡 고정 키를 수정하십시오. – rmaddy

+0

글쎄요, UIWEBVIEW로 그랬 습니다만, 제 PDF를 조작하고 LOADREQUEST를해야합니다. 잘못하지 않았다면 PDF를 내 화면에 표시하십시오. 그러므로 나는 CGPDF를 선택할 능력이 더 많기 때문에 CGPDF를 선택해야한다. – jbernardo

답변

0

: 당신이 더블 탭 또는 핀치 줌과 같은 추가 기능을 가지고 싶다면

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 
    self.pdfWebView.delegate=self; 
    [self displayPdfinWebView]; 
} 

-(void)displayPdfinWebView { 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"YourPDFname" ofType:@"pdf"]; 
    NSURL *targetURL = [NSURL fileURLWithPath:path]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; 
    [self.pdfWebView loadRequest:request]; 
} 

, 성능 저하로 인해 WebView를 사용하지 않는 것이 좋습니다. Theres 애플 코드 ZoomingPdfViewer에 대한 일반 PDF 크기 괜찮은 levelsOfDetail n levelsOfDetailBias와 TileLayer를 추가합니다.

도움이 되길 바랍니다.