找不到PDF标题:找不到'%PDF'

时间:2012-01-13 21:14:17

标签: iphone objective-c ios cocoa ipad

我正在尝试从webservice端点下载pdf内容,该内容将以二进制形式出现。解码到base64后,我将解码后的文件附加到webview,其中显示无法找到pdf标题错误。

有谁知道如何解决此错误?我错过了这里的任何一步吗?

感谢。

3 个答案:

答案 0 :(得分:3)

尝试添加类似

的内容
NSData *dataContent; // response data.
CFDataRef myPDFData;
myPDFData = (CFDataRef)dataContent;
CGDataProviderRef provider = CGDataProviderCreateWithCFData(myPDFData);

pdfDocument = CGPDFDocumentCreateWithProvider(provider);

CGDataProviderRelease(provider);

然后将pdfDocument加载到您的webview中。

或者看看制作自定义的zoomPDFViewer。 Apple在http://developer.apple.com/library/ios/#samplecode/ZoomingPDFViewer/Introduction/Intro.html有一个很好的例子,这就是我所做的,因为我无法在webview中正确加载pdfdocument。

答案 1 :(得分:2)

我在开发阅读pdf的应用程序时出现此错误,问题是您在调用它的地方不存在PDF。正在返回的二进制数据是您的Web服务正在调用的错误响应。例如,如果我在:

请求pdf文档

http://localhost:8080/template/DocumentServlet?documentId=923447&JSSESIONID=77EFJD3IJD8I3MMWW2435353J

如果该文件在该地址不存在,那么我将得到错误响应,这就是返回的二进制数据。

答案 2 :(得分:0)

如果您使用SAP Web服务,这是解决方案: 在SAP System中有一种方法可以将二进制数据(XSTRING)转换为Base64: cl_http_utility => encode_x_base64 使用http可以传输Base64数据。 在xcode中我使用了这个库: a link

// 3) Decode Base 64
// Then you can put that back like this
NSData  *b64DecData = [Base64 decode:b64EncStr];

然后:[webDisplay loadData:b64DecData MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];