如何删除iText自动添加的SMask?

时间:2017-05-29 12:45:32

标签: c# pdf itext

当我将透明的PNG图像放入我创建的PDF时,iText(版本5.5.10)会自动为其创建一个软掩码。但是,在某些情况下,我需要删除此掩码(或者首先保持iText不生成它)因为,正如PDF规范明确指出的那样,此掩码会覆盖图形状态下的任何其他当前软掩码,我肯定需要后者占上风。

if (<my-condition> && picture?.ImageMask != null)
  picture.ImageMask = null;

不起作用,因为传递null会抛出异常(iText显然会尝试使用提供的值而不进行任何检查,这会导致空引用)。

1 个答案:

答案 0 :(得分:1)

哦,亲爱的,我的坏,我的立场得到了纠正,虽然我浏览了文档,但显而易见的解决方案首先逃过了我。那里的布尔值:

if (<my-condition> && picture.Smask)
  picture.Smask = false;