ITextSharp、ITextExtractionStrategy 提取颜色(Pantone、CMYK)
ITextSharp, ITextExtractionStrategy Extract the Color (Pantone,CMYK)
我想使用 ITextSharp 从 PDF 中提取 Pantone 颜色。
我的代码取自 Chris Haas awnser。它经过大量修改以提取带有位置的单词(不仅仅是块),但其核心仍然相同。
现在我必须提取更多的 RGB 值,如 CMYK 值或 Pantone 颜色,存储在 PDF 中。
public void RenderText(TextRenderInfo renderInfo)
{
var colorSupported = renderInfo.GetFillColor();
...
}
或
renderInfo.GetStrokeColor();
不符合我的需求。我想提取更多然后RGB。
我假设你说
renderInfo.GetFillColor()
or renderInfo.GetStrokeColor()
does not fit my needs. I would like to extract More then RGB.
因为那些方法 return BaseColor
实际上只提供 RGB 值。
不过,如果您更准确地检查类型层次结构,您会注意到有多个 class 派生自 BaseColor
,即 CMYKColor
、DeviceNColor
, GrayColor
、LabColor
、PatternColor
、ShadingColor
、SpotColor
、UncoloredPattern
,甚至更多。
您必须识别 returned 颜色对象的实际 class 并进行相应的投射。
我想使用 ITextSharp 从 PDF 中提取 Pantone 颜色。
我的代码取自 Chris Haas awnser。它经过大量修改以提取带有位置的单词(不仅仅是块),但其核心仍然相同。 现在我必须提取更多的 RGB 值,如 CMYK 值或 Pantone 颜色,存储在 PDF 中。
public void RenderText(TextRenderInfo renderInfo)
{
var colorSupported = renderInfo.GetFillColor();
...
}
或
renderInfo.GetStrokeColor();
不符合我的需求。我想提取更多然后RGB。
我假设你说
renderInfo.GetFillColor()
orrenderInfo.GetStrokeColor()
does not fit my needs. I would like to extract More then RGB.
因为那些方法 return BaseColor
实际上只提供 RGB 值。
不过,如果您更准确地检查类型层次结构,您会注意到有多个 class 派生自 BaseColor
,即 CMYKColor
、DeviceNColor
, GrayColor
、LabColor
、PatternColor
、ShadingColor
、SpotColor
、UncoloredPattern
,甚至更多。
您必须识别 returned 颜色对象的实际 class 并进行相应的投射。