0

PDFをシリアル化するにはNSData dataWithURL:、コアデータを使用して保存できると思います。ただし、pdf にデシリアライズして UIWebView で表示する方法についてはわかりません。

4

1 に答える 1

0

使用できますCGPDFDocumentCreateWithProvider

NSData 参照が次のpdfData場合:

CFDataRef myPDFData        = (CFDataRef)pdfData;
CGDataProviderRef provider = CGDataProviderCreateWithCFData(myPDFData);
CGPDFDocumentRef pdf       = CGPDFDocumentCreateWithProvider(provider);

しかし、あなたはそれをWebビューに表示したいだけだと思います.上記はあなたが必要とするものではありません.

ただし、既に URL を持っている場合は、PDF 自体よりも URL を保存する方が簡単ではないでしょうか。

また、データがある場合は、一時的にドキュメント ディレクトリ内のファイルに書き込み、Web ビューを使用してこの URL を読み込むことができます。

すなわち;

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 に答える