【问题标题】:How can I generate a pdf in iOS that contains embedded hocr data?如何在 iOS 中生成包含嵌入式 hocr 数据的 pdf?
【发布时间】:2013-05-13 15:44:07
【问题描述】:

我使用 ocr 客户端 tesseract 在 hocr 文件中生成 ocr 文本和位置数据。我想从图像中创建一个 pdf,其中嵌入了来自 tesseract 的不可见文本层。我不知道该怎么做。生成没有文本数据的 pdf 很容易:

NSMutableData *pdfFile = [[NSMutableData alloc] init];
UIImage *image = [UIImage imageWithCGImage:[self.sourceImageArray[0] CGImage]];
CGRect rect;
rect = CGRectMake(0, 0, image.size.height ,image.size.width);
UIGraphicsBeginPDFContextToData(pdfFile, CGRectZero, nil);
for (int i = 0; i < [self.sourceImageArray count] ; i++){
        UIGraphicsBeginPDFPageWithInfo(rect, nil);
        UIImage *contextImage = self.sourceImageArray[i];
        [contextImage drawInRect:rect];
    }
UIGraphicsEndPDFContext();
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,                                                NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:@"multipage.pdf"];
NSData* data = pdfFile;
[data writeToFile:path atomically:YES];

在 PDF 源代码中,可以使用文本渲染模式 3(“既不填充也不描边字形”)编写不可见的文本。这就是 OCR 将其文本插入基本上只包含扫描图像的 PDF 页面的方式。

所以问题是如何在不可见模式 3 下使用石英将文本渲染为 pdf。 任何帮助将不胜感激!

【问题讨论】:

    标签: ios pdf ocr quartz-graphics tesseract


    【解决方案1】:

    您不能使用渲染模式3渲染文本。您可以做的是在页面上绘制常规文本,然后绘制图像。图像将掩盖文本,并且不可见。对于文本搜索操作,渲染模式 0 和 3 没有区别。

    【讨论】:

      猜你喜欢
      • 2019-06-27
      • 2021-03-29
      • 1970-01-01
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      相关资源
      最近更新 更多