2011-02-02 79 views
14

我從SQLite DB中將我的PDF轉換爲NSData變量。現在我有什麼選擇從這個NSData創建CGPDFDocumentRef?來自NSData的CGPDFDocumentRef

或者無論如何,我的選擇創建此CGPDFDocumentRef,有SQLite中的數據?

CGPDFDocumentRef CGPDFDocumentCreateWithProvider (
    CGDataProviderRef provider 
); 

創建提供您可以使用此功能:

CGDataProviderRef CGDataProviderCreateWithCFData (
    CFDataRef data 
); 

,並認爲NSDataCFDataRef是免費電話橋接所以

回答

36

您可以使用此功能創建一個PDF文件你可以互換使用它們。

所以總結試試這個:

NSData *data = ... my data from SQLite ... 
CFDataRef myPDFData = (CFDataRef)data; 
CGDataProviderRef provider = CGDataProviderCreateWithCFData(myPDFData); 
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithProvider(provider); 

不要忘記CFRelease所有未使用的數據。

+1

你知道我是如何在創建後將該PDF寫入ios中的文件的。我試圖從NSData對象writeToFile,但我看不到PDF中的內容。數據是從CGPath創建的。 – 2011-09-29 20:35:49