C# 如何使用itextsharp在Pdf上创建区域的不透明覆盖?

C# 如何使用itextsharp在Pdf上创建区域的不透明覆盖?,c#,pdf,itext,C#,Pdf,Itext,我正在使用itextsharp。我所要做的就是在Pdf上创建一个不透明的覆盖区域。到目前为止,我的代码创建了一个蓝色矩形,但我可以看到下面的所有内容。我想让它把下面的东西藏起来。代码如下: var cb = writer.DirectContent; cb.SetColorStroke(BaseColor.BLUE); cb.Rectangle(10, 10, 560, 350); cb.FillStroke(); 感谢@BrunoLowagie,我回答了自己的问题。简单地说,将填充逻辑放在最

我正在使用
itextsharp
。我所要做的就是在
Pdf
上创建一个不透明的覆盖区域。到目前为止,我的代码创建了一个蓝色矩形,但我可以看到下面的所有内容。我想让它把下面的东西藏起来。代码如下:

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

感谢@BrunoLowagie,我回答了自己的问题。简单地说,将填充逻辑放在最后,在所有其他覆盖等使区域不透明之后:

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

哪些内容包含哪些内容取决于添加内容的顺序。如果先添加内容,然后添加矩形,则矩形将覆盖内容。如果先添加矩形,然后添加内容,内容将覆盖内容。请注意,即使覆盖内容,内容也将始终存在。人们将始终能够在矩形下方复制/粘贴文本。如果您想避免这种情况,您需要应用编校(如果需要编校,您可能希望切换到iText 7)。哦,好的,让我试试something@BrunoLowagie在结束之前,将填充逻辑放在最后,这正是我想要的。@BrunoLowagie谢谢你,我相信你的答案。