本文介绍了来自NSData的CGPDFDocumentRef的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I get my PDF from SQLite DB into a NSData variable. Now what are my options to create CGPDFDocumentRef from this NSData?

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

Or what are my options anyway to create this CGPDFDocumentRef, have the data in SQLite?

推荐答案

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

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
);

并考虑 NSData CFDataRef 是免费桥接的,因此您可以互换使用它们。

and consider that NSData and CFDataRef are toll-free bridged so you can use them interchangeably.

总结请试试这个:

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

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

Don't forget to CFRelease all unused data.

这篇关于来自NSData的CGPDFDocumentRef的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-19 00:31