2015-07-23 4 views
1

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

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); 

Нужна помощь. Благодарю.

ответ

0

Формат файла docx не обрабатывает \ n как новую строку.

Так что вам нужно разделить вашу строку на \ п, и создать новую P, или использовать ш: ш, например, так:

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

Спасибо @JasonPlutext. Это приятное обходное решение. Также он не распознает \ t, любое обходное решение для того же (за исключением помещения трех пробелов вручную ex. "")? – Dhwanit

Смежные вопросы