标签: wordprocessingml

如何从C#中的word(docx)文档中获取文本?

我试图从word文档中获取纯文本.具体来说,xpath给了我麻烦.你如何选择标签?这是我的代码.

public static string TextDump(Package package)
{
    StringBuilder builder = new StringBuilder();

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(package.GetPart(new Uri("/word/document.xml", UriKind.Relative)).GetStream());

    foreach (XmlNode node in xmlDoc.SelectNodes("/descendant::w:t"))
    {
        builder.AppendLine(node.InnerText);
    }
    return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)

xpath docx openxml wordprocessingml

3
推荐指数
1
解决办法
4595
查看次数

如何删除空段元素?

我想删除包含的段落"{Some Text}".下面的方法就是这样,但是我注意到在删除段落后,剩下的是空段落元素.

如何以<w:p />编程方式删除元素?

以下是我最初用来删除段落的内容.

 using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(file, true))
        {
            MainDocumentPart mainPart = wordDoc.MainDocumentPart;
            Document D = mainPart.Document;

            foreach (Paragraph P in D.Descendants<Paragraph>())
            {
                if (P.InnerText.Contains("{SomeText}"))
                {
                    P.RemoveAllChildren();
                    //P.Remove();   //doesn't remove
                }
            }
            D.Save();
        }
Run Code Online (Sandbox Code Playgroud)

这就是document.xml的后缀:

<w:p />
<w:p />
<w:p />
<w:p />
<w:p />
<w:p />
<w:p />
Run Code Online (Sandbox Code Playgroud)

c# ms-word openxml openxml-sdk wordprocessingml

2
推荐指数
1
解决办法
2496
查看次数

Docx:似乎无法获得要呈现的项目符号列表

我正在使用 XML 从头开始​​构建 DocX 文档。我有一个非常简单的目标:创建一个项目符号列表,就像ulHTML 中的a 一样。阅读编号列表WordProcessingML 规范(第 2.9 节),我创建了我认为可以满足此要求的内容。这是我的numbering.xml样子:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:numbering xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:mo="http://schemas.microsoft.com/office/mac/office/2008/main" xmlns:mv="urn:schemas-microsoft-com:mac:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing">
  <w:abstractNum w:abstractNumId="1">
    <w:multiLevelType w:val="singleLevel"/>
    <w:lvl w:ilvl="0">
      <w:start w:val="1"/>
      <w:numFmt w:val="bullet"/>
      <w:lvlText w:val="&#8226;"/>
      <w:lvlJc w:val="left"/>
      <w:pPr>
        <w:tabs>
          <w:tab w:pos="360" w:val="num"/>
        </w:tabs>
        <w:ind w:hanging="360" w:left="360"/>
      </w:pPr>
      <w:rPr>
        <w:rFonts w:ascii="Symbol" w:hAnsi="Symbol" w:hint="default"/>
      </w:rPr>
    </w:lvl>
  </w:abstractNum>
  <w:num w:numId="1">
    <w:abstractNumId w:val="1"/>
  </w:num>
</w:numbering>
Run Code Online (Sandbox Code Playgroud)

所以我有一个 id 为 1 的抽象编号,定义为带有一些缩进的单个级别和一个项目符号作为 lvlText(符号&#8226;呈现为 …

docx wordprocessingml

2
推荐指数
1
解决办法
2330
查看次数

通过OpenXML在Word 2007中创建两个项目符号列表

我想获得输出两个项目符号列表,如图所示:

在此输入图像描述

但我得到的是这两个列表都有第二个(黑色圆圈)皮肤.

我的代码:

private static void AddNumberingDefinition(WordprocessingDocument docx)
        {
            NumberingDefinitionsPart numberingPart =
  docx.MainDocumentPart.AddNewPart<NumberingDefinitionsPart>();

            Numbering element =
              new Numbering(
                //     new Nsid(){ Val="FFFFFF80"},
                new AbstractNum(new Nsid() { Val = "FFFFFF80" },
                    new MultiLevelType() { Val = MultiLevelValues.HybridMultilevel },
                new TemplateCode() { Val = "4970B4E6" },
                  new Level(
                    new NumberingFormat() { Val = NumberFormatValues.Bullet },
                    new LevelText() { Val = "°" },//char.ConvertFromUtf32(61616) }
                    new LevelJustification() { Val = LevelJustificationValues.Left }//,
                //  new RunProperties() { RunFonts = new RunFonts() { Hint = FontTypeHintValues.Default, …
Run Code Online (Sandbox Code Playgroud)

ms-word openxml wordprocessingml

1
推荐指数
1
解决办法
2411
查看次数

C#WordprocessingDocument-在单元格中插入图像

我有一种方法可以替换文档特定文本中的标签。如何更换标签图片? 在此处输入图片说明

c# image openxml wordprocessingml

0
推荐指数
1
解决办法
2276
查看次数

标签 统计

wordprocessingml ×5

openxml ×4

c# ×2

docx ×2

ms-word ×2

image ×1

openxml-sdk ×1

xpath ×1