2013-11-01 1 views
0

Я хотел бы использовать CGPDF API для отображения и управления PDF на IPAD, но, во-первых, я пытаюсь просто показать PDF на моем представлении из простой способ (без настройки экрана). Я не знаю, почему PDF не появляется в моем приложении, возможно, я делаю это неправильно. Я использую NSLOG для подсчета страниц, он работает, но PDF не появляется, просто появляется белый фон на экране моего эмулятора.Файл PDF загружается в CGPDFDocumentRef, но он не отображается в поле зрения

Вот мой код:

// 
**// 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 ТОЛЬКО ТОЛЬКО ВЫ МОЖЕТЕ ОТОБРАТЬ ЭТО В UIWEBVIEW ИСПОЛЬЗОВАТЬ МЕТОД LOADREQUEST. ТРЕБУЕТСЯ НИКАКИЙ ТРЕХ ТРЕТИЙ ПАРТИЙНЫЙ API. ИСПОЛЬЗУЙТЕ ЭТО, ЕСЛИ ВЫ ХОТИТЕ СОЗДАТЬ PDF. –

+0

@PradhyumanChavda Fix your caps lock key – rmaddy

+0

Ну, я сделал это с UIWEBVIEW, но мне нужно манипулировать своим PDF и LOADREQUEST, если я не ошибаюсь, просто покажите PDF на моем экране. Поэтому у меня есть выбор CGPDF, потому что у меня больше возможностей с ним. – jbernardo

ответ

0

Если вы просто хотите отобразить PDF в веб-просмотра, то:

- (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 из-за отсутствия качества n. Theres Apple код для ZoomingPdfViewer, который добавляет TileLayer с уровнями уровня OfDetail n levelsOfDetailBias, который подходит для обычных форматов pdf.

Надеюсь, что это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^