Как напечатать симпатичный 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);