当我将透明的PNG图像放入我创建的PDF时,iText(版本5.5.10)会自动为其创建一个软掩码。但是,在某些情况下,我需要删除此掩码(或者首先保持iText不生成它)因为,正如PDF规范明确指出的那样,此掩码会覆盖图形状态下的任何其他当前软掩码,我肯定需要后者占上风。
if (<my-condition> && picture?.ImageMask != null)
picture.ImageMask = null;
不起作用,因为传递null
会抛出异常(iText显然会尝试使用提供的值而不进行任何检查,这会导致空引用)。
答案 0 :(得分:1)
哦,亲爱的,我的坏,我的立场得到了纠正,虽然我浏览了文档,但显而易见的解决方案首先逃过了我。那里的是布尔值:
if (<my-condition> && picture.Smask)
picture.Smask = false;