CGPDFDocumentRef from NSData

二次信任 提交于 2019-11-28 22:18:37

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!