[英]How to get the BackgroundColor value for Run in Aspose.Words?
这是:
• Aspose.Words
• 系统绘图
如果主 .docx 文档段落之一被修改(始终启用 TrackChange),您必须确定修改后的运行的背景颜色(颜色代码)。
当一个运行被修改好时,它被正确地确定(例如,当写“客户”而不是“承包商”时,它显示为修改的运行)。 如何获取背景颜色代码?
文档被格式化为表格。 我把所有的细胞。 在单元格中,我选取了所有段落,在段落中,我选取了所有运行:
foreach(Run run in par.Runs) //par - it's Paragraph in Cells
{
if(run.IsInsertRevision || run.IsDeleteRevision) //check revisions (in TrackChange)
{
Paragraph parpar = run.ParentParagraph; //taking parent paragraph
Shading shading = builder.ParagraphFormat.Shading; //create a new shading for current paragraph
System.Drawing.Color clr = shading.BackgroundPatternColor; //trying to get a backgroung color
string r = clr.R.ToString("X2");
string g = clr.G.ToString("X2");
string b = clr.B.ToString("X2");
r = r.Length == 1 ? "0" + r : r;
g = g.Length == 1 ? "0" + g : g;
b = b.Length == 1 ? "0" + b : b;
string code = "#" + r + g + b;
Console.WriteLine(code); //it's #000000 instead #fff001 (real backgroung color in the document)
}
}
请使用 Run.Font.Shading.BackgroundPatternColor 属性获取 Run 节点的 BackgroundColor。
Document doc = new Document(MyDir + "Sample.docx");
Table table = (Table)doc.GetChild(NodeType.Table, 0, true);
foreach (Paragraph par in table.LastRow.LastCell.Paragraphs)
{
foreach (Run run in par.Runs) //par - it's Paragraph in Cells
{
if (run.IsInsertRevision || run.IsDeleteRevision) //check revisions (in TrackChange)
{
Console.WriteLine(run.Font.Shading.BackgroundPatternColor);
}
}
}
我与 Aspose 合作,担任开发人员布道者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.