来自NSData的CGPDFDocumentRef

时间:2011-02-02 14:35:26

标签: iphone sqlite pdf nsdata cgpdfdocument

我将我的PDF从SQLite DB转换为NSData变量。现在我有什么选择从这个NSData创建CGPDFDocumentRef?

或者我有什么选择来创建这个CGPDFDocumentRef,在SQLite中有数据吗?

1 个答案:

答案 0 :(得分:37)

您可以使用此功能创建PDF文档:

CGPDFDocumentRef CGPDFDocumentCreateWithProvider (
   CGDataProviderRef provider
);

要创建提供程序,您可以使用此功能:

CGDataProviderRef CGDataProviderCreateWithCFData (
   CFDataRef data
);

并认为NSDataCFDataRef是免费桥接的,因此您可以互换使用它们。

总结试试这个:

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

不要忘记CFRelease所有未使用的数据。