如何从 Word [C#][Spire.Doc] 中获取线条颜色
How to get line color from Word [C#][Spire.Doc]
我有word文档,里面的文字像this。在我自己的小项目中,我通过 Spire.Doc 将 .doc 或 .docx 文档转换为 .txt 文件并逐行获取行,然后对它们进行一些工作,但现在出现了多色文本,我需要得到一条红线如下: 逐条获取 Word 线,如果线颜色不是黑色,则将这条彩色线添加到字符串中。我想忽略黑色文本,并获得带有红色文本的行。我该怎么做?
您可以使用以下代码获取红色文本:
Document document = new Document();
document.LoadFromFile("2.docx");
Section section = document.Sections[0];
StringBuilder sb = new StringBuilder();
foreach (Paragraph paragraph in section.Paragraphs)
{
foreach (DocumentObject obj in paragraph.ChildObjects)
{
if (obj is TextRange)
{
TextRange tr = obj as TextRange;
if (tr.CharacterFormat.TextColor.ToArgb() == Color.Red.ToArgb())
{
sb.AppendLine(tr.Text);
}
}
}
File.WriteAllText("RedText.txt", sb.ToString());
我有word文档,里面的文字像this。在我自己的小项目中,我通过 Spire.Doc 将 .doc 或 .docx 文档转换为 .txt 文件并逐行获取行,然后对它们进行一些工作,但现在出现了多色文本,我需要得到一条红线如下: 逐条获取 Word 线,如果线颜色不是黑色,则将这条彩色线添加到字符串中。我想忽略黑色文本,并获得带有红色文本的行。我该怎么做?
您可以使用以下代码获取红色文本:
Document document = new Document();
document.LoadFromFile("2.docx");
Section section = document.Sections[0];
StringBuilder sb = new StringBuilder();
foreach (Paragraph paragraph in section.Paragraphs)
{
foreach (DocumentObject obj in paragraph.ChildObjects)
{
if (obj is TextRange)
{
TextRange tr = obj as TextRange;
if (tr.CharacterFormat.TextColor.ToArgb() == Color.Red.ToArgb())
{
sb.AppendLine(tr.Text);
}
}
}
File.WriteAllText("RedText.txt", sb.ToString());