Отсутствие пробелов в абзацах PPTX с использованием OpenXmlSDK

Используя 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>

Есть ли уловка, чтобы указать в разметке, чтобы сохранить место? Или другой способ, которым мы можем структурировать эти пробеги, чтобы включить пробелы?

1 ответ

Вам нужно сделать

Xml:space="preserve" говорит ему, чтобы он висел на пустом месте (записано из памяти - синтаксис может быть неправильным).

Другие вопросы по тегам