我正在尝试从xCode中的二进制xString创建一个PDF对象。 (来自SAP的OData,utf-8)
以下是编码:
const char* buf = [temp1 UTF8String];
pdffile = [NSData dataWithBytes:buf length:length1];
[webDisplay loadData:self.pdffile MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];
self.webDisplay.scalesPageToFit = YES;
temp1是一个XString length1是PDF文件的长度,以字节为单位。
我收到以下错误消息:
无法找到PDF标题:'%PDF'未找到
一些想法?
答案 0 :(得分:2)
这是解决方案: 在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];
答案 1 :(得分:1)
在我错误删除的答案中你说:
我使用两个SAP标准功能模块从PDF创建一个XString: SCMS_AO_TABLE_GET_BYTES和SCMS_BINARY_TO_XSTRING -
当你说你有2550,你是2,然后是5等......或者你的意思是0x25。十六进制25是你想要的,如果你有一个ascii 2然后一个ascii5肯定不会工作。检查调试器中的内存。