我正在使用iTextSharp爲PDF格式的現有文檔添加水印。我閱讀它們,創建一個PdfTemplate對象,將水印文本,顏色,透明度等添加到此PdfTemplate中,然後將該模板添加到使用PdfWriter.DirectContent的PdfContentByte中。iText展平問題與水印文本
這個解決方案已經爲我所投放的所有文檔工作了一段時間,但由於某些原因,一些特定的PDF已經在水印文本週圍打印了一個不透明的矩形。
我已經嘗試了很多東西,包括將PdfGState的OverPrintMode設置爲1,在創建它之後打開生成的文件,然後在保存新副本之前使用PdfStamper的setFormFlattening和setFreeTextFlattening ...至今沒有任何工作。
問題是我不在乎拼合表單域或按鈕,我只是想在生成完整的東西后將文檔的所有圖層展平。 iText API甚至有可能嗎?
我還在爲這件事而苦苦掙扎。我設法通過將我的PdfGState實例的TextKnockout屬性設置爲false來解決我的一些問題。這實際上是我見過的最糟糕的記錄功能,谷歌搜索只提供了三個結果...有沒有人能夠改變他們的PDF模板,使它不會在文本週圍放置一個不透明的盒子? –
PdfTemplate不會自己做。它只是包裝任何繪圖命令已經存在。我們可以看到一些代碼/樣本PDF文件嗎? –
@Mark Storer它似乎是一個透明度問題,就好像PDF是一個不尊重PdfGState透明屬性的舊版本。另外,如果我使用虛擬打印機將此文檔打印到新文件,它看起來很好。只有當我直接打印到物理打印機(該打印機似乎不重要,我已經嘗試了幾次),問題纔會顯現。 –