gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 01:47:33 26 4
gpt4 key购买 nike

我正在使用 XML 从头开始​​构建 DocX 文档。我有一个非常简单的目标:创建一个项目符号列表,就像 HTML 中的 ul 一样。阅读 WordProcessingML specification for numbered lists (section 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>

所以我有一个 id 为 1 的抽象编号,定义为带有一些缩进的单个级别和一个项目符号作为 lvlText(符号 呈现为 ). 1 的抽象编号由 1 的“实际”编号引用。

这是我的 document.xml 的样子:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document 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:body>
<w:p w:rsidR="00851CFD" w:rsidRDefault="00851CFD">
<w:r>
<w:t>This is a test</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
</w:numPr>
</w:pPr>
<w:r>
<w:t>foo</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
</w:numPr>
</w:pPr>
<w:r>
<w:t>bar</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
</w:numPr>
</w:pPr>
<w:r>
<w:t>baz</w:t>
</w:r>
</w:p>
<w:sectPr w:rsidR="008E365B" w:rsidSect="008E365B">
<w:pgSz w:h="15840" w:w="12240"/>
<w:pgMar w:bottom="1440" w:gutter="0" w:left="1800" w:right="1800" w:top="1440"/>
</w:sectPr>
</w:body>
</w:document>

有一个初始段落,然后是三行指定 1numId(指向我们之前定义的编号),以及 0 的缩进级别。所以我们应该得到的是这样的:

This is a test

  • foo
  • bar
  • baz

但是当我在 Microsoft Word 中打开它时,它会(大致)呈现为

This is a test

  1. foo
  2. bar
  3. baz

当我在 Google 文档中打开它时,它只是呈现文本:

This is a test

foo

bar

baz

我似乎真的在遵循标准中规定的规范。我不知道我错过了什么。为什么子弹没有被渲染?我可以在这里做什么?

最佳答案

确保您正确引用文档中的编号部分。 Word 在找不到编号定义时使用默认(1、2、3、...)编号。

word/_rels/document.xml.rels 文件应该如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId1"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering"
Target="numbering.xml"/>
<!-- other relationships go here. -->
</Relationships>

关于Docx:似乎无法获得要呈现的项目符号列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24894787/

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