2011-02-28 54 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

相關問題