gpt4 book ai didi

iphone - 从 NSMutableData 即时创建 PDF

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:35 29 4
gpt4 key购买 nike

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

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

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

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

我该怎么做?

提前致谢!

最佳答案

使用 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/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com