gpt4 book ai didi

OpenXml - 迭代段落的运行并查找运行是否有斜体或粗体文本

转载 作者:行者123 更新时间:2023-12-02 10:25:16 26 4
gpt4 key购买 nike

我正在尝试迭代段落运行,查找运行是否有斜体/粗体文本,并将该文本替换为其他内容。

就性能而言,哪种方法是最好的。

最佳答案

如果您只对内联标记感兴趣,以下代码可以提供帮助。只需将 Convert() 方法更改为您想要的任何内容即可。

using System.Linq;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

class Program
{
static void Main(string[] args)
{
using (var doc = WordprocessingDocument.Open(@"c:\doc1.docx", true))
{
foreach (var paragraph in doc.MainDocumentPart.RootElement.Descendants<Paragraph>())
{
foreach (var run in paragraph.Elements<Run>())
{
if (run.RunProperties != null &&
(run.RunProperties.Bold != null && (run.RunProperties.Bold.Val == null || run.RunProperties.Bold.Val) ||
run.RunProperties.Italic != null && (run.RunProperties.Italic.Val == null || run.RunProperties.Italic.Val)))
Process(run);
}
}
}
}

static void Process(Run run)
{
string text = run.Elements<Text>().Aggregate("", (s, t) => s + t.Text);
run.RemoveAllChildren<Text>();
run.AppendChild(new Text(Convert(text)));

}

static string Convert(string text)
{
return text.ToUpper();
}
}

关于OpenXml - 迭代段落的运行并查找运行是否有斜体或粗体文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10620115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com