问题
I get my PDF from SQLite DB into a NSData variable. Now what are my options to create CGPDFDocumentRef from this NSData?
Or what are my options anyway to create this CGPDFDocumentRef, have the data in SQLite?
回答1:
You can create a PDF document using this function:
CGPDFDocumentRef CGPDFDocumentCreateWithProvider (
CGDataProviderRef provider
);
To create the provider you can use this function:
CGDataProviderRef CGDataProviderCreateWithCFData (
CFDataRef data
);
and consider that NSData
and CFDataRef
are toll-free bridged so you can use them interchangeably.
So summarizing try this:
NSData *data = ... my data from SQLite ...
CFDataRef myPDFData = (CFDataRef)data;
CGDataProviderRef provider = CGDataProviderCreateWithCFData(myPDFData);
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithProvider(provider);
Don't forget to CFRelease
all unused data.
来源:https://stackoverflow.com/questions/4875672/cgpdfdocumentref-from-nsdata