• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iphone - 从 NSMutableData 动态创建 PDF

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:40:52 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个包含 PDF 文件的 NSMutableData 对象。我知道如何打开存储在系统中的 PDF,我可以这样做:

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), (CFStringRef)pathToPDF, NULL, NULL);
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);

但现在我不想将文件存储在系统上,而是动态创建 PDF 对象(因为 PDF 作为加密 PDF 存储在系统上,我不想保存解密后的出于安全原因的文件。)

因此,我不想从文件中加载 CGPDFDocumentRef pdf,而是直接从 NSMutableData 对象中加载它。

我该怎么做?

提前致谢!



Best Answer-推荐答案


使用 CGDataProvider 从任意来源获取字节:

NSData *encrypted = [NSData dataWithContentsOfFile: ...];
if (encrypted) {
    NSData *decrypted = MyDecrypt(encrypted);
    if (decrypted) {
        CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData((CFDataRef)decrypted);
        if (dataProvider) {
            CGPDFDocumentRef pdf = CGPDFDocumentCreateWithProvider(dataProvider);
            CGDataProviderRelease(dataProvider);
        }
    }
}

您还可以创建一个 CGDataProvider 实例,如果这更适合您的流程,则可以使用回调进行动态解密。有关详细信息,请参阅文档。

关于iphone - 从 NSMutableData 动态创建 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416387/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap