1

我想将不可见的文本插入到 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();
}
4

1 回答 1

0

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

3 Tr

其他文本渲染模式在 PDF 源代码中表示如下:

  • 0 Tr (填写文字)
  • 1 Tr (笔画文字)
  • 2 Tr (填充,然后描边文本)
  • 4 Tr (填充文本并添加到剪切路径)
  • 5 Tr (描边文本并添加到剪切路径)

不过,您必须自己找出如何指示您的 PDF 生成库使用文本渲染模式 3。

另请参阅此答案(在超级用户上):“通过 Ghostscript 运行后,PDF 在所有单词中都有一个额外的空白”

注意:这个“不可见”的文本仍然可以选择;用户仍然可以复制'n'粘贴它;屏幕阅读器可以大声朗读;文本提取工具可以提取它;pdftotext可以转换成文本文件...

于 2012-08-13T16:50:34.517 回答