2017-06-20 85 views
1

我正在使用itextsharp。我想要做的就是在Pdf上創建一個不透明的覆蓋區域。我迄今爲止的代碼創建了一個藍色矩形,但我可以看到下面的所有內容。我想讓它隱藏下面的內容。這裏是代碼:如何使用itextsharp在PDF上創建一個不透明的覆蓋區域?

var cb = writer.DirectContent; 
cb.SetColorStroke(BaseColor.BLUE); 
cb.Rectangle(10, 10, 560, 350); 
cb.FillStroke(); 
+1

哪些內容涵蓋取決於您添加內容的順序。如果您先添加內容,然後添加矩形,矩形將覆蓋內容。如果您先添加矩形,然後添加內容,則內容將覆蓋內容。 –

+1

請注意,即使您覆蓋了內容,內容也會一直存在。人們將始終能夠複製/粘貼矩形下的文本。如果你想避免這種情況,你需要申請編輯(如果你需要編輯,你可能想切換到iText 7)。 –

+0

噢,好吧,讓我試一試 – CarneyCode

回答

1

感謝@BrunoLowagie,我已經回答了我自己的問題。簡單地說,將填充邏輯放在最後,在所有其他覆蓋物等之後使該區域不透明:

cb.SetColorFill(BaseColor.WHITE); 
cb.Rectangle(filledOverlay.X, filledOverlay.Y, filledOverlay.Width, filledOverlay.Height); 
cb.Fill();