/** * extracts all text recursively through embedded tables and embedded SDTs */ public String getTextRecursively() { StringBuilder text = new StringBuilder(64); for (int i = 0; i < bodyElements.size(); i++) { boolean isLast = (i == bodyElements.size() - 1); appendBodyElementText(text, bodyElements.get(i), isLast); } return text.toString(); }
private void appendBodyElementText(StringBuilder text, IBodyElement e, boolean isLast) { if (e instanceof XWPFParagraph) { text.append(((XWPFParagraph) e).getText()); if (!isLast) { text.append('\t'); } } else if (e instanceof XWPFTable) { XWPFTable eTable = (XWPFTable) e; for (XWPFTableRow row : eTable.getRows()) { for (XWPFTableCell cell : row.getTableCells()) { List<IBodyElement> localBodyElements = cell.getBodyElements(); for (int i = 0; i < localBodyElements.size(); i++) { boolean localIsLast = (i == localBodyElements.size() - 1); appendBodyElementText(text, localBodyElements.get(i), localIsLast); } } } if (!isLast) { text.append('\n'); } } else if (e instanceof XWPFSDT) { text.append(((XWPFSDT) e).getContent().getText()); if (!isLast) { text.append('\t'); } } }
/** * extracts all text recursively through embedded tables and embedded SDTs */ public String getTextRecursively() { StringBuilder text = new StringBuilder(64); for (int i = 0; i < bodyElements.size(); i++) { boolean isLast = (i == bodyElements.size() - 1); appendBodyElementText(text, bodyElements.get(i), isLast); } return text.toString(); }
private void appendBodyElementText(StringBuilder text, IBodyElement e, boolean isLast) { if (e instanceof XWPFParagraph) { text.append(((XWPFParagraph) e).getText()); if (!isLast) { text.append('\t'); } } else if (e instanceof XWPFTable) { XWPFTable eTable = (XWPFTable) e; for (XWPFTableRow row : eTable.getRows()) { for (XWPFTableCell cell : row.getTableCells()) { List<IBodyElement> localBodyElements = cell.getBodyElements(); for (int i = 0; i < localBodyElements.size(); i++) { boolean localIsLast = (i == localBodyElements.size() - 1); appendBodyElementText(text, localBodyElements.get(i), localIsLast); } } } if (!isLast) { text.append('\n'); } } else if (e instanceof XWPFSDT) { text.append(((XWPFSDT) e).getContent().getText()); if (!isLast) { text.append('\t'); } } }