2

使用 OpenXmlSDK 2.0 我正在阅读和写入 powerpoint 文档。我们有一种情况,PowerPoint 文档中的一个简单字符串的空格被剥离。

当对一个段落进行多次内联标记更改时,就会出现单个段落中的例句。重新创建下面的标记可能有点棘手,但是使用 powerpoint 标记完整地编写句子然后应用格式似乎会产生下面的结果。

敏捷棕色狐狸。

这导致标记大致类似于:

<a:p>
    <a:r>
        <a:t>The</a:t>
    </a:r>

    <a:r>
        <a:t> </a:t>
    </a:r>

    <a:r>
        <a:t b="1">quick</a:t>
    </a:r>

    <a:r>
        <a:t> </a:t>
    </a:r>

    <a:r>
        <a:t i="1">brown</a:t>
    </a:r>

    <a:r>
        <a:t> fox</a:t>
    </a:r>

</a:p>

这一切看起来工作正常,并且在 PowerPoint 客户端中正确打开。但是当打开时,使用 OpenXmlSDK 在演示文稿的其他地方进行更改,保存和关闭文档时,标记已被简化为:

<a:p>
    <a:r>
        <a:t>The</a:t>
    </a:r>

    <a:r>
        <a:t /> <!-- Whitespace missing, causes PowerPoint to ignore it. -->
    </a:r>

    <a:r>
        <a:t b="1">quick</a:t>
    </a:r>

    <a:r>
        <a:t /> <!-- Whitespace missing, causes PowerPoint to ignore it. -->
    </a:r>

    <a:r>
        <a:t i="1">brown</a:t>
    </a:r>

    <a:r>
        <a:t> fox</a:t>
    </a:r>

</a:p>

是否有在标记中指示以保留空间的技巧?或者我们可以用另一种方式来构建这些运行以包含空间?

4

1 回答 1

0

你需要做 <a:t xml:space="preserve"> </a:t>

xml:space="preserve" 告诉它挂在空格上(从内存中写入 - 可能语法错误)。

于 2011-05-25T01:58:56.567 回答