Отсутствие пробелов в абзацах 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" говорит ему, чтобы он висел на пустом месте (записано из памяти - синтаксис может быть неправильным).