CGPDFDocumentRef из NSData

Я получаю PDF файл из базы данных SQLite в переменную NSData. Теперь, каковы мои возможности для создания CGPDFDocumentRef из этих NSData?

Или каковы мои параметры в любом случае для создания этого CGPDFDocumentRef, есть данные в SQLite?

Ответы

Ответ 1

Вы можете создать PDF-документ, используя эту функцию:

CGPDFDocumentRef CGPDFDocumentCreateWithProvider (
   CGDataProviderRef provider
);

Чтобы создать поставщика, вы можете использовать эту функцию:

CGDataProviderRef CGDataProviderCreateWithCFData (
   CFDataRef data
);

и считайте, что NSData и CFDataRef являются бесплатными мостами, поэтому вы можете использовать их взаимозаменяемо.

Итак, суммируем это:

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

Не забывайте CFRelease все неиспользуемые данные.