C# 如何获取在Aspose.Words中运行的BackgroundColor值?

C# 如何获取在Aspose.Words中运行的BackgroundColor值?,c#,aspose.words,C#,Aspose.words,这是: •Aspose.Words •系统图纸 如果修改了一个主.docx文档段落(始终启用TrackChange),则必须确定修改的运行的背景色(颜色代码) 当一个运行被很好地修改时,它被正确地确定(例如,当编写“客户”而不是“承包商”时,它显示为修改后的运行)。如何获取背景色代码 文档的格式为表格。我拿走了所有的细胞。在单元格中,我记录所有段落,在段落中,我记录所有运行: foreach(Run run in par.Runs) //par - it's Paragraph in Cells

这是:

•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属性获取运行节点的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合作,担任开发人员宣传员。

.ToString(“X2”)
总是返回前导零,因此下面的额外代码是多余的。您是否检查了clr.R、clr.G和clr.B的实际值?不,在我的情况下,它返回的十六进制代码没有前导零。我以前尝试过string.format。实际值为0。黑色(#000000)。我认为,它只返回字体颜色。或者有错误,我不知道。请通过任何免费文件共享服务器(如Dropbox)共享示例输入文档。然后我将分享代码示例。-我与Aspose合作,担任开发人员宣传员。