ocr クライアント tesseract を使用して、ocr テキストと位置データを hocr ファイルに生成しました。tesseract からのテキストの目に見えないレイヤーが埋め込まれた画像から pdf を作成したいと思います。これを行う方法がわかりません。テキスト データなしで 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 (「グリフ形状を塗りつぶしもストロークもしない」) を使用して、目に見えないテキストを書き込むことができます。これが、基本的にスキャンされた画像のみで構成される PDF ページに OCR がそのテキストを挿入する方法です。
したがって、問題は、非表示モード 3 でクォーツを使用してテキストを PDF にレンダリングする方法です。