ios - UIWebView 从 NSString 加载 PDF 字节

标签 ios objective-c pdf uiwebview

我有一个将 PDF 字节作为字符串返回的网络服务。我通过执行以下操作将字符串转换为 NSData:

NSData* bytes = [fileBytes dataUsingEncoding:NSUTF8StringEncoding];

然后我尝试通过以下方式将字节加载到 webview 中:

 [self.webViewFile loadData:bytes MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];

但我收到错误消息:“找不到 PDF 标题:找不到 `%PDF'。”

当打印到控制台时,我的字节串的开头看起来像这样:“%PDF-1.6 %\U00e2\U00e3\U00cf\U00d3"

最佳答案

PDF 文件是二进制文件。它们很少能直接表示为 UTF8 编码的字符串。您的 PDF 文件更有可能使用 Base64 编码编码为 UTF8 字符串。

您可以使用

直接从字符串创建 NSData 对象
NSData *data = [[NSData alloc]initWithBase64EncodedString:fileBytes options:0];

关于ios - UIWebView 从 NSString 加载 PDF 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20385322/

相关文章:

iphone - 在未(尚未)发布的游戏中测试成就

ios - isEqualToString 没有按预期工作?

objective-c - Objective C 中的单元测试 -> 如何复制 sqlite 数据库

java - GWT - 防止 PDF 文件在 IE 中缓存?

Android 浏览器无法下载 pdf 文件

java - Android Java 从 webview 生成带有单独页眉和页脚的 PDF 文件

objective-c - 无法将表格重新排序才能正常工作

iphone - 如何创建支持横向和纵向但不在它们之间旋转(保持其初始方向)的 View Controller

iphone - SQLite3 - 乱序调用的库例程

ios - react 性 cocoa `then` 运算符(operator)