如何使用 docx4j 将 pretty JSON 打印到 word 文档中?

How to print pretty JSON using docx4j into a word document?

我想将一个简单漂亮的 json 字符串(包含多个换行符 - 许多 \n)打印到 word 文档中。我尝试了以下但 docx4j 只是在一行中内联打印所有内容(没有 \n)。理想情况下它应该打印多行漂亮 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);

寻求帮助。谢谢

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

所以你需要在 \n 上拆分你的字符串,或者创建一个新的 P,或者使用 w:br,像这样:

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