Как напечатать симпатичный JSON, используя docx4j, в текстовый документ?

Я хочу напечатать простую красивую строку json (содержащую несколько разрывов строк - много \n) в текстовом документе. Я попробовал следующее, но docx4j просто печатает все содержимое в одной строке (без \n). В идеале он должен печатать многострочный довольно json, поскольку он распознает "\n", содержащую строку json:

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 ответ

Формат файла docx не рассматривает \n как символ новой строки.

Поэтому вам нужно разделить строку на \n и либо создать новый P, либо использовать w:br, например так:

Br br = wmlObjectFactory.createBr(); 
run.getContent().add( br);
Другие вопросы по тегам