谷歌文档 OCR 实现 iphone
Posted
技术标签:
【中文标题】谷歌文档 OCR 实现 iphone【英文标题】:Google docs OCR implementation iphone 【发布时间】:2011-10-27 10:52:08 【问题描述】:我正在尝试将 google docs OCR 功能集成到我的 iPhone 应用程序中。以下是 google docs 文档的内容。
要对 .pdf、.jpg、.png 或 .gif 文件执行 OCR,请在上传文件时包含 ocr=true 参数:
POST /feeds/default/private/full?ocr=true
GData-Version: 3.0
Authorization: <your authorization header here>
Content-Length: 1984
Content-Type: image/png
Slug: OCRd Doc
... png contents here ...
现在,我正在使用以下代码发出 HTTP 发布请求。
responseData = [[NSMutableData data] retain];
NSURL *url = [NSURL URLWithString:@"http://docs.google.com/feeds/default/private/full?ocr=true"];
UIImage *img = [UIImage imageNamed:@"Submit-top.png"];
NSData *data = UIImagePNGRepresentation(img);
int a = [data length];
NSString *imgLength = [NSString stringWithFormat:@"%d" ,a];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url];
[request setHTTPBody:data];
[request setHTTPMethod:@"POST"];
[request addValue:@"3.0" forHTTPHeaderField:@"GData-Version:"];
[request addValue:auth.accessToken forHTTPHeaderField:@"Authorization:"];
[request addValue:imgLength forHTTPHeaderField:@"Content-Length:"];
[request addValue:@"image/png" forHTTPHeaderField:@"Content-Type:"];
[request addValue:@"OCRd Doc" forHTTPHeaderField:@"Slug:"];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *str = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"%@", str);
但我收到状态码为 400 的响应。
【问题讨论】:
【参考方案1】:而不是使用:
[request addValue:@"3.0" forHTTPHeaderField:@"GData-Version:"];
用途:
[request setValue:@"3.0" forHTTPHeaderField:@"GData-Version"];
注意从addValue:
到setValue:
的更改以及forHTTPHeaderField:
字符串中冒号的删除。
对其余的 addValue:
行执行相同操作。
addValue:
追加,而setValue:
替换。
【讨论】:
现在它说未经授权的标题。我需要在下一行的授权字段中输入什么? [请求 addValue:auth.accessToken forHTTPHeaderField:@"Authorization:"]; Google 推荐使用 OAuth 2.0,详情见这里:code.google.com/apis/documents/docs/3.0/… 阅读文档后,我能够使用 ClientLogin 从谷歌获取 Auth 令牌,但是在发布文档时,它返回以下错误。令牌无效
错误401
以上是关于谷歌文档 OCR 实现 iphone的主要内容,如果未能解决你的问题,请参考以下文章