我正在尝试使用poi-ooxml生成docx文档。以下代码几乎生成了我想要的文档,但是由于某种原因,它删除了文本的结尾和开头空格。
XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun para1run1 = paragraph1.createRun();
para1run1.setText("Dette er ein tekst med space på slutten. Den har ein ");
XWPFRun para1run2 = paragraph1.createRun();
para1run2.setText("utheva tekst");
para1run2.setBold(true);
XWPFRun para1run3 = paragraph1.createRun();
para1run3.setText(" før ein tekst med space i byrjinga. Denne paragrafen skal også ha litt tekst slik at den blir ganske lang og går over fleire linjer.");
XWPFParagraph paragraph2 = document.createParagraph();
XWPFRun para2run1 = paragraph2.createRun();
para2run1.setText("Dette er ein tekst med space på slutten. Den har ein ");
XWPFRun para2run2 = paragraph2.createRun();
para2run2.setText("kursiv tekst");
para2run2.setItalic(true);
XWPFRun para2run3 = paragraph2.createRun();
para2run3.setText(" før ein tekst med space i byrjinga. Denne paragrafen skal også ha litt tekst slik at den blir ganske lang og går over fleire linjer.");
document.write(new FileOutputStream("c:/tmp/doc/docxtest.docx"));
代码生成了文档,但是删除了文本“ utheva tekst”和“ kursiv tekst”之前和之后的空格,最终结果如下所示:
Dette er ein tekst med space plut。我在拜金加(Berjinga)的医疗空间。 Denne paragrafen skalogsåha litt tekst slik在fleire linjer上的den blir ganske lang oggår中。
Dette er ein tekst med space plut。我在拜尔金加(Berjinga)的医疗空间。 Denne paragrafen skalogsåha litt tekst slik在fleire linjer上的den blir ganske lang oggår中。
“ utheva tekst”为粗体,“ kursiv tekst”为斜体。
在这方面的任何帮助将非常有用。
最佳答案
无论您使用poi还是docx4j,我都希望您需要@xml:space即
<w:t xml:space="preserve">
在docx4j中,有一个方法setSpace(String value)进行设置。