2016-05-10 23 views
1

CGPDFPageRefNSDataに変換しませんでした。私はPDFをページにカットしたい。それをWebビューに表示したいここに私のコードは次のとおりです。CGPDFPageRefをNSDataに変換する方法xcode 7

CGPDFPageRef page=CGPDFDocumentGetPage(pdf,1); 

    CGRect mediaBox = CGPDFPageGetBoxRect(page, kCGPDFMediaBox); 
    // output 
    CGDataConsumerRef consumer = CGDataConsumerCreateWithCFData(*outputData); 
    CGContextRef context = CGPDFContextCreate(consumer, &mediaBox, NULL); 
    // draw 
    CGContextBeginPage(context, &mediaBox); 
    CGContextDrawPDFPage(context, page); 
    CGContextEndPage(context); 

    // This line gives me an error: 

    NSData *passDat = (__bridge_transfer NSData *)outputData; 
+0

CGPDFPageRefをUIWebView.Soに読み込み、pdfページを読み込みたいeでwebview私NSData.Thatが必要な理由私の質問はどのように私はNSDataにXcodeの7円でCFDataを変換することができますか? –

+0

エラー:NSDataにCFDataRef *(別名const struct __CFData **)の互換性のない型キャスト –

答えて

0

たNSDataにCFDataを変換するには、この操作を行うことができます。

NSData *passDat = (__bridge NSData *)outputData; 

あなたは*なしoutputDataを定義していることを確認します。

CFDataRef outputData; 

CFDataは、そのココア財団の対応、NSDataの持つ「フリーダイヤル架橋」です。これが意味することは、Core Foundationタイプが、関数またはメソッド呼び出しでブリッジされたFoundationオブジェクトと交換可能であることです。あなたの意図はのUIWebViewに全体のPDFをロードし、ちょうどそこにそれを表示することです

場合は全体のPDFをロード

CFDataRef


、次の操作を実行できます。

// create an url to the PDF  
let url = NSURL(string: "file://some/path/my.pdf") 

// you can optionally append #page[pageNumber] to the url string to make the UIWebView display a desired page; 
// NSURL(string: "file://some/path/my.pdf#page45") 

// create a request with the provided url 
let urlRequest = NSURLRequest(URL: url) 

// load the PDF file into the UIWebView 
webView.loadRequest(urlRequest) 
+0

webviewでpdfページを読み込むために、CGPDFPageRefをUIWebView.Soにロードしたいのですが、NSDataが必要です。私はCFDataをXcode 7の円弧でNSDataに変換します –

+0

エラー:互換性のない型キャストCFDataRef *(別名* const struct __CFData **)をNSDataに変換します –