要序列化 pdf,我相信您可以NSData dataWithURL:
在 Core Data 中使用和存储。但是,我不确定您将如何反序列化回 pdf 并使用 UIWebView 查看它。
问问题
830 次
1 回答
0
您可以使用CGPDFDocumentCreateWithProvider
:
如果您的 NSData 参考是pdfData
:
CFDataRef myPDFData = (CFDataRef)pdfData;
CGDataProviderRef provider = CGDataProviderCreateWithCFData(myPDFData);
CGPDFDocumentRef pdf = CGPDFDocumentCreateWithProvider(provider);
但我想你只是想在 web 视图中显示它,而以上不是你需要的。
但是,如果您已经拥有 url,那么存储 URL 而不是存储 pdf 不是更容易。
此外,如果您有数据,您可以暂时将其写入文档目录中的文件,然后使用 Web 视图加载此 url。
IE;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"New1.pdf"];
NSURL *fileURL = [NSURLRequest requestWithURL:appFile];
[data writeToURL:fileURL atomically:YES];
进而 :
NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];
[webView loadRequest:request];
如果你想从文档目录中删除文件,你可以使用:
[[NSFileManager defaultManager] removeItemAtURL:fileUrl error:nil];
删除您创建的临时 pdf。
于 2013-04-04T09:17:35.797 回答