C# iTextSharp TextRenderInfo.GetFillColor()和TextRenderInfo.GetStrokeColor()有时返回null?

C# iTextSharp TextRenderInfo.GetFillColor()和TextRenderInfo.GetStrokeColor()有时返回null?,c#,.net,itext,C#,.net,Itext,我试图在使用iTextSharp解析PDF时获取文本颜色。问题是,有时方法TextRenderInfo.GetFillColor()和TextRenderInfo.GetStrokeColor()返回null。知道为什么会这样吗 如果没有为填充或笔划分别明确设置颜色,则可能发生这种情况 在这种情况下,PDF规范有一个默认值: 颜色空间 -名称或数组- 应解释颜色值的当前颜色空间(见8.6“颜色空间”)。有两个单独的颜色空间参数:一个用于笔划,另一个用于所有其他绘制操作。初始值:设备灰色 颜色 -

我试图在使用iTextSharp解析PDF时获取文本颜色。问题是,有时方法TextRenderInfo.GetFillColor()和TextRenderInfo.GetStrokeColor()返回null。知道为什么会这样吗

如果没有为填充或笔划分别明确设置颜色,则可能发生这种情况

在这种情况下,PDF规范有一个默认值:

颜色空间 -名称或数组- 应解释颜色值的当前颜色空间(见8.6“颜色空间”)。有两个单独的颜色空间参数:一个用于笔划,另一个用于所有其他绘制操作。初始值:设备灰色

颜色 -(各种)- 喷漆操作期间使用的当前颜色(见8.6“颜色空间”)。该参数的类型和解释取决于当前的颜色空间;对于大多数颜色空间,颜色值由一到四个数字组成。有两个单独的颜色参数:一个用于笔划,另一个用于所有其他绘制操作。初始值:黑色

(ISO 32000-1表52–与设备无关的图形状态参数)

因此,如果得到空填充或笔划颜色,则可以将其解释为灰度黑色