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 все неиспользованные данные.

Другие вопросы по тегам