2017-08-08 93 views
0

我們目前正在從Aspose.PDF遷移至iText。遷移所有遺留的Aspose代碼只有在現有的PDF留下明文的置換後,讀幾個教程和示例頁面上http://itextsupport.com/後,我仍然不明白如何替換PDF文本。用iText代替純文本

爲了使它更具體:

有一個基礎的PDF包含文本,且該文本的部分應被替換或刪除。不僅在視覺上而且在元層次上。在Aspose中有一種叫做PdfContentEditor的東西,它實現了這一點。對於我來說,如果修改了實際的PDF或者創建了基於基本PDF和修改的新PDF,這並不重要。

任何人在那裏誰與iText的這樣做了嗎?

+0

*「在閱讀Aspose有其實現的正是這種東西叫'PdfContentEditor'。」 * - 。你的意思是它的'ReplaceText'方法或?你的意思是索姆其他功能? – mkl

+0

的確,我們目前使用'com.aspose.pdf.kit.PdfContentEditor.replaceText(String,String)'。 – Hannes

回答

2

那是不可能的。 爲什麼?

  • pdf文檔僅包含在查看器中呈現文檔所需的說明。 (例如,「去到位置10,20,使字符‘Z’)
  • 沒有更高級別的信息(例如,‘這文本在一行中屬於’,‘這些線組成一個段’)

假設你想用「第一項」一詞取代「阿爾法」。 然後,你會期望在同一行迴流的所有項目,但(查看更早),該文件根本沒有的資料才知道在同一行上屬於什麼也不是微不足道的,以確定哪些元素屬於一起

+0

有一點讓我困惑。 OP說他正在從Aspose遷移到iText,聽起來好像他能夠使用Aspose替換文本。我想知道他是如何使用Aspose替換文字的。你所說的一般是真實的:你用肉眼在頁面上看到的文本可能不會以這種方式存儲在PDF語法中,但也許OP的要求並不那麼複雜。需要更多信息。 OP應詳細說明具體的用例。 –

+0

據我所知Aspose有一個文本替換功能,它只是在內容流或類似的東西上進行字符串替換。他們自己記錄了缺陷。參看[這個問題](https://stackoverflow.com/q/45162218/1729265)。 – mkl

+0

@BrunoLowagie我只是想對我原來的問題添加更多的說明。 – Hannes