我想在iOS中生成的pdf中插入不可见的文本。怎么办呢?
这就是我现在生成PDF的方式:
- (void) generatePdfWithFilePath: (NSString *)thefilePath words:(NSString *)string
{
UIGraphicsBeginPDFContextToFile(thefilePath, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil);
[self drawText:string];
// Close the PDF context and write the contents out.
UIGraphicsEndPDFContext();
}
答案 0 :(得分:0)
在PDF源代码中,隐藏文本可以使用文本渲染模式3 ('无填充或描边字形')编写。这就是OCR如何将其文本插入PDF页面,这些页面基本上只包含扫描图像:
3 Tr
其他文字渲染模式在PDF源代码中表示如下:
0 Tr
(填写文字)1 Tr
(笔划文字)2 Tr
(填充,然后是笔划文字)4 Tr
(填写文字并添加到剪辑路径)5 Tr
(描边文字并添加到裁剪路径)您必须自己找出如何指示您的PDF生成库使用文本渲染模式3。
另请参阅此答案(在超级用户上):"PDF has an extra blank in all words after running through Ghostscript"
注意:这个'隐形'文字仍然可以选择;用户仍然可以复制'n'paste它;屏幕阅读器可以大声朗读;文本提取工具可以提取它; pdftotext
可以将其转换为文本文件...