base64Binary でエンコードされたバイナリ PDF ファイルを受け取りました。どうすればiPhoneで元に戻すことができますか? どのツールキットを使用できますか?
ありがとう。
base64Binary でエンコードされたバイナリ PDF ファイルを受け取りました。どうすればiPhoneで元に戻すことができますか? どのツールキットを使用できますか?
ありがとう。
解決
NSString *binaryString = [myDict objectForKey:@"key"];
NSData* myData = [NSData dataFromBase64String: binaryString];
NSLog(@" %@",datas);
[self savePDF:myData];
PDFを保存するのはこんな感じです
- (void)savePDF:(NSData *)pdfContent
{
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES );
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *finalPath = [documentsDirectory stringByAppendingPathComponent:@"myPdf.pdf"];
NSLog(@"%@",finalPath);
NSURL *url = [NSURL fileURLWithPath:finalPath];
[pdfContent writeToURL:url atomically:YES];
// [aWebView loadRequest:[NSURLRequest requestWithURL:url]];
}
ここでヘッダーを取得します。
解決済み:
NSData theData = [NSData dataWithData:[GTMBase64 decodeString:theBinary]]; //first transfer it to NSData.
[m_oTestingWeb loadData:theData
MIMEType:@"application/pdf"
textEncodingName:@"UTF-8"
baseURL:nil]; //using the web view to show it back
バイナリ (base64 pdf 文字列) を pdf に変換して表示するには、Swift 3 でこれを行うことができます。
// Here you convert the binary base 64 pdf string to pdf
let pdfData = Data(base64Encoded: theBase64PDFString, options: .ignoreUnknownCharacters)
// here you can display the pdf on a UIWebView
webView.load(pdfData!,
mimeType: "application/pdf",
textEncodingName: "UTF-8",
baseURL: URL(fileURLWithPath: ""))
「バイナリ」という言葉で NSData を意味する場合は、次の方法に従うことができます。
バイナリ データが既に PDF 形式になっている場合は、通常のNSData
方法writeToFile:atomically
でファイルに書き込むことができると思います。
[<NSDataObject> writeToFile:<FilePath> atomically:YES];
次に、DocInteractionを使用して PDF ファイルを開いて表示できます。
これがお役に立てば幸いです。
PDFを表示するには、を使用しUIWebView
てPDFをフィードするだけです。もう少し洗練されたものが必要な場合は、AppleのZoomingPDFViewerサンプルコードを見てください(別の質問への回答でそのコードが見つかりました)。
このサイトbase64 エンコーディングにアクセスしてください。ここでは、base64 データを NSData にデコードするためのコードを取得します。そのデータを使用して、pdf を保存したり、UIWebView または Quartz Core を使用して pdf を表示したりできます。