Как преобразовать двоичный файл в PDF-файл на iPhone? - PullRequest
1 голос
/ 15 ноября 2011

Я получаю двоичный файл PDF, который является base64Binary, как я могу преобразовать его обратно на iPhone? Какие наборы инструментов я могу использовать? Благодарю.

Ответы [ 6 ]

4 голосов
/ 10 февраля 2012

Решение

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]];
}

Получить заголовки здесь.

3 голосов
/ 15 ноября 2011

Решено:

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
1 голос
/ 15 ноября 2011

Если вы имеете в виду NSData под словом «двоичный», то вы можете использовать следующий метод.

Я думаю, что если двоичные данные уже в формате PDF, то мы можем просто использовать обычный метод NSData для writeToFile:atomically, чтобы записать их в файл.

[<NSDataObject> writeToFile:<FilePath> atomically:YES];

И затем вы можете использовать DocInteraction , чтобы открыть и отобразить файл PDF.

Надеюсь, это поможет вам.

0 голосов
/ 02 декабря 2016

Чтобы преобразовать двоичный файл (строка 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: ""))
0 голосов
/ 10 февраля 2012

Посетите этот сайт base64 кодировка . Здесь Вы получите код для декодирования данных base64 в NSData. Используя эти данные, вы можете сохранить PDF, просмотреть PDF с помощью UIWebView или с помощью Quartz Core.

0 голосов
/ 15 ноября 2011

Чтобы отобразить PDF, вы можете просто использовать UIWebView и передать его в PDF .Если вы хотите, чтобы это было немного сложнее, посмотрите на пример кода Apple ZoomingPDFViewer (обнаружил, что один из ответ на другой вопрос ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...