iOS中隐形的pdf文本

时间:2012-08-13 15:51:07

标签: ios pdf-generation

我想在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();
}

1 个答案:

答案 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可以将其转换为文本文件...