private void appendParagraph(XWPFParagraph paragraph, StringBuilder text) { for (IRunElement run : paragraph.getRuns()) { text.append(run); } }
for (IRunElement run : paragraph.getRuns()) { if (! concatenatePhoneticRuns && run instanceof XWPFRun) { text.append(((XWPFRun)run).text());
public Integer getRunPos() { XWPFParagraph paragraph = (XWPFParagraph) run.getParent(); List<XWPFRun> runs = paragraph.getRuns(); for (int i = 0; i < runs.size(); i++) { if (run == runs.get(i)) { return i; } } return null; }
public RunningRunParagraph(XWPFParagraph paragraph, Pattern pattern) { this.paragraph = paragraph; this.runs = paragraph.getRuns(); if (null == runs || runs.isEmpty()) return; buildRunEdge(pattern); }
public XWPFRun getBeforeRun() { Integer runPos = getRunPos(); if (null == runPos) return null; XWPFParagraph paragraph = (XWPFParagraph) run.getParent(); return runPos == 0 ? null : paragraph.getRuns().get(runPos - 1); }
/** * 替换段落里面的变量 * * @param para * 要替换的段落 * @param params * 参数 */ private static void replaceInPara(XWPFParagraph para, Map<String, Object> params) { List<XWPFRun> runs; Matcher matcher; if (matcher(para.getParagraphText()).find()) { runs = para.getRuns(); for (int i = 0; i < runs.size(); i++) { XWPFRun run = runs.get(i); String runText = run.toString(); matcher = matcher(runText); if (matcher.find()) { while ((matcher = matcher(runText)).find()) { runText = matcher.replaceFirst(String.valueOf(params.get(matcher.group(1)))); } // 直接调用XWPFRun的setText()方法设置文本时,在底层会重新创建一个XWPFRun,把文本附加在当前文本后面, // 所以我们不能直接设值,需要先删除当前run,然后再自己手动插入一个新的run。 para.removeRun(i); para.insertNewRun(i).setText(runText); } } } }
if (pos >= 0 && pos <= paragraph.getRuns().size()) { PackageRelationship relationship = paragraph.getDocument().getPackagePart() .addExternalRelationship(link, XWPFRelation.HYPERLINK.getRelation());
private void appendParagraph(XWPFParagraph paragraph, StringBuilder text) { for (IRunElement run : paragraph.getRuns()) { text.append(run); } }
XWPFParagraph para = (XWPFParagraph) xwpfParagraphElement; for (XWPFRun run : para.getRuns()) { if (run.getText(0) != null) { String text = run.getText(0); Matcher expressionMatcher = expression.matcher(text); if (expressionMatcher.find() && expressionMatcher.groupCount() > 0) { System.out.println("Expression Found..."); } } }
public static String getBackgroundColor( XWPFParagraph paragraph ) { List<XWPFRun> runs = paragraph.getRuns(); if ( runs.isEmpty() ) { return null; } return getBackgroundColor( runs.get( 0 ) ); }
public void readFontSizeFromDocx() throws IOException { InputStream is = this.getClass().getClassLoader().getResourceAsStream("templates/ExampleFontSize.docx"); XWPFDocument doc = new XWPFDocument(is); for (XWPFParagraph paragraph : doc.getParagraphs()) { for (XWPFRun run : paragraph.getRuns()) { System.out.println(run.getFontSize()); } } }
XWPFDocument doc = new XWPFDocument(OPCPackage.open("myfile.docx")); for (XWPFParagraph paragraph : doc.getParagraphs()) { int pos = 0; for (XWPFRun run : paragraph.getRuns()) { for (character c : run.text().toCharArray()) { System.out.println("The character at " + pos + " is " + c); pos++; } } }
para=tableCell.addParagraph(); List<XWPFRun> runs=para.getRuns(); XWPFRun run=null; if(runs!=null && runs.size()>0){
for (XWPFRun run : paragraph.getRuns()) { XmlCursor c = run.getCTR().newCursor(); c.selectPath("./*");
public void changeText(XWPFParagraph p, String newText) { List<XWPFRun> runs = p.getRuns(); for(int i = runs.size() - 1; i > 0; i--) { p.removeRun(i); } XWPFRun run = runs.get(0); run.setText(newText, 0); }