我正在使用WordprocessingML以编程方式创建word文档,但无法找到在文本(w:t)块中保留换行符的方法。在cannot preserve space between runs处有一个答案,通过以下方式处理空格:
t = new Text()
{
Text = "your text with spaces ",
Space = SpaceProcessingModeValues.Preserve
};
然而,我使用的JavaScript文件创建了docx文件的目录结构,并在源xml文件上运行xslt转换,以生成word使用的主document.xml文件。我不确定我是否拥有与上述代码相对应的实际低级WordprocessingML属性。我试过了:
<w:t xml:space="preserve">
Doesn't work.</w:t>
和
<w:t w:space="preserve">
Also, no joy.</w:t>
可以这样做,还是需要多段(w:p)标签?为了便于使用,我希望源xml文件的编辑器只需将所需的空格放在单个文本标记中,而不是手动添加其他xml标记,如制表符或段落。
答案 0 :(得分:0)
正确的属性是xml:space =&#34;保留&#34;通过检查正确构建的测试docx文件可以找到它,但它不允许换行/更改段落(它将这些作为单个空格计算)。标签和空格在w:t块内部工作,但令人遗憾的是,我确实必须在源xml中使用显式段落标记。答案是,它无法完成(除了在背景中涉及的字符串处理不值得)。
答案 1 :(得分:0)
如果要在段落中添加换行符,则需要使用需要插入到运行(w:br
)元素中的w:r
元素。例如,以下标记显示Foo
和Bar
,它们之间有一个空行。
<w:r>
<w:t>Foo</w:t>
<w:br/>
<w:br/>
<w:t>Bar</w:t>
</w:r>