2016-05-17 35 views
0

存在多個API,例如, docx4j,Apache POI,微軟的SDK,它可以處理docx文件。我用docx4j來創建下面的代碼片段。但是,它不會在「單詞之前的文本」和「這是文本」之間創建空格。我想知道這是一個錯誤還是我可以做任何事情。Office Open XML在運行元素之間創建空間

您可以解壓縮docx文件並將其再壓縮一次(僅限內容;不是文件夾!),以便對document.xml進行更改,從而更改docx文本。創建空間的邏輯對我來說似乎很奇怪。有沒有人對如何充分創建

 <w:proofErr w:type="spellStart"/> 
     <w:r> 
      <w:t>the text prior to the word</w:t> 
     </w:r> 
     <w:proofErr w:type="spellEnd"/> 
     <w:r> 
      <w:t> </w:t> 
     </w:r> 
     <w:r> 
      <w:t xml:space="preserve"> </w:t> 
     </w:r> 
     <w:commentRangeStart w:id="1"/> 
     <w:r> 
      <w:t>this is text</w:t> 
     </w:r> 

回答

1

添加XML的anwser:空間=「保存」屬性來運行文本在裏面,開始或結尾的空白。例如:

<w:r> 
     <w:t xml:space="preserve">the text prior to the word </w:t> 
    </w:r> 
+0

這沒有奏效。它是獨家還是? – user1772306

+1

在Word中輸入一個句子。強迫它使用多次運行,或者通過大膽描述一個字,或者通過錯誤的方式。保存並解壓縮結果。你會看到這是你如何做到的。很難說你做錯了什麼,除非你能把你的結果docx放在某個地方.... – JasonPlutext