谷歌文档 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 令牌,但是在发布文档时,它返回以下错误。 令牌无效 TITLE>

令牌无效

错误401

以上是关于谷歌文档 OCR 实现 iphone的主要内容,如果未能解决你的问题,请参考以下文章

Tesseract OCR集成Android Studio实现OCR识别

Onenote实现OCR识别图片

谷歌视觉ocr:竖横线条文本识别

谷歌视觉 OCR 数据表

谷歌 OCR 在特定领域工作

非黑即白--谷歌OCR光学字符识别