我使用 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。任何帮助将不胜感激!