如何使用docx4j将漂亮的JSON打印到word文档中?

时间:2015-07-23 12:22:52

标签: java json pretty-print docx4j xmlroot

我想在word文档中打印一个简单漂亮的json字符串(包含多个换行符 - 很多\ n)。我试过以下但是docx4j只是在一行中打印所有内容(没有\ n)。理想情况下它应该打印multiline pretty json,因为它识别json字符串包含的“\ n”:

1)

  wordMLPackage.getMainDocumentPart().addParagraphOfText({multiline pretty json String})

2)

  ObjectFactory factory = Context.getWmlObjectFactory();
  P p = factory.createP();
  Text t = factory.createText();
  t.setValue(text);
  R run = factory.createR();
  run.getContent().add(t);
  p.getContent().add(run);
  PPr ppr = factory.createPPr();
  p.setPPr(ppr);
  ParaRPr paraRpr = factory.createParaRPr();
  ppr.setRPr(paraRpr);
  wordMLPackage.getMainDocumentPart().addObject(p);

寻求帮助。感谢。

1 个答案:

答案 0 :(得分:0)

docx文件格式不会将\ n视为换行符。

所以你需要将字符串拆分为\ n,然后创建一个新的P,或使用w:br,如下所示:

Br br = wmlObjectFactory.createBr(); 
run.getContent().add( br);