У меня проблема с чтением пробелов из файла docx с использованием Apache POI 3.15. У меня есть документ Word с разрывами строк в нем, при чтении файла через apache poi я не могу найти способ получить эти разрывы строк. Когда я вызываю paragraph.getParagraphText()
, текст возвращается с разрывами строки. Когда я перебираю объекты XWPFRun, я получаю только текст и форматирование, но не информацию о переносах строк.
Это код, который я использую. Списки br, tab, cr и разделитель всегда пусты.
XWPFDocument document = new XWPFDocument(fis);
List<XWPFParagraph> paragraphs = document.getParagraphs();
for(XWPFParagraph paragraph : paragraphs) {
//System.out.println(paragraph.getParagraphText());
for(XWPFRun run : paragraph.getRuns()) {
CTR ctr = run.getCTR();
List<CTBr> brList = ctr.getBrList();
List<CTEmpty> tabList = ctr.getTabList();
List<CTEmpty> crList = ctr.getCrList();
List<CTEmpty> separatorList = ctr.getSeparatorList();
String text = run.getText(run.getTextPosition());
String color =run.getColor();
boolean bold = run.isBold();
boolean italic = run.isItalic();
System.out.println("text: " + text + " color: " + color + " bold: " + bold + " italic: " + italic);
for(CTEmpty cr : crList) {
System.out.println(cr);
}
}
}
Использует ли объект CTR для правильного пути или есть другой способ получить эти разрывы строк?