0

要序列化 ​​pdf,我相信您可以NSData dataWithURL:在 Core Data 中使用和存储。但是,我不确定您将如何反序列化回 pdf 并使用 UIWebView 查看它。

4

1 回答 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 回答