2011-02-28 23 views
3

我想将不可见文本插入到现有PDF文件中,以使其可搜索。如何将不可见的文本插入到PDF中?

我应该使用什么库
我希望链接到特定的API方法使用。

自由,理想的开源。
非常感谢!

(对于好奇:我想自动OCR扫描入方向带纸,让他们searcheable,在露天仓库)

回答

3

3个选项。

  1. 文字渲染模式3:“无笔画,无填充”。 myPdfContentByte.setTextRenderMode(PdfContentByte.TEXT_RENDER_MODE_INVISIBLE);
  2. 绘制背后的文字。你大概已经扫描了页面的图像。 iText的myPdfStamper.getUnderContent(pageNum)将允许您在扫描下绘制文本。
  3. 在页面的媒体或裁切框外绘制文本。如果你只是想要一些随机的,精通PDF的搜索引擎来打开你的页面,这将起作用,但是如果你希望看PDF的人看到适当的文本选择框......不是那么多。
0

你不必来渲染文本不可见。只需将它们放在适当的位置,但将扫描的图像覆盖在文本上。或者,您可以将图像渲染到图像上,并将笔画和笔刷的alpha值设置为零。

+0

当然,只要文本对最终用户不可见,任何事情都可以(这就是我的意思是“隐形”)。你会用什么库的API方法? – 2011-02-28 05:59:15

+0

如果您已经使用其他组件扫描了OCR文本和扫描的图像,那么大多数PDF库将能够在页面上呈现扫描图像,然后在其上显示单独的文本。您应该在页面上呈现文本,而不是在图像上,只是覆盖PDF页面中图像元素上的文本元素。我为一家制作商业PDF组件的公司(www.gnostice.com)工作,但我的猜测是您应该可以使用PDFBox或iText。 – BZ1 2011-02-28 11:14:34

1

This显示了如何创建包含文本的PDF文档,并且this显示了如何添加图像。首先添加文本,然后在其上添加图像 - 文本对最终用户将变为“不可见”,但仍可由搜索引擎搜索。 This也可能有用。

+0

我不想添加图像。正如我所说,我正在修改一个*现有* PDF文件。 – 2011-03-02 03:19:27

+0

好吧,我以某种方式假定扫描的页面是图像。在这种情况下,[this](http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/Overlay.java?view=markup)可能会有帮助 - 你可以用文本创建一个新的PDF并在其上覆盖原始PDF。 – nikhil500 2011-03-02 05:09:01

相关问题