这是:
•Aspose.Words
•System.Drawing
如果修改了.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一起担任开发人员推广人员。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句