[Bug 61421] org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Rule M2.4 exception
https://bz.apache.org/bugzilla/show_bug.cgi?id=61421 Dominik Stadlerchanged: What|Removed |Added Resolution|--- |WONTFIX Status|NEW |RESOLVED --- Comment #2 from Dominik Stadler --- I don't think using the existing parts for creating new XWFPDocument instances like you try to do here will work, probably better to immediately retrieve the necessary information from the part and not create many instances of XWPFDocument here. If you still cannot get it to work when not doing this copying, then please reopen this issue and attach a real self-sufficient unit-test, your example relies on some classes that are not included, so it cannot be reproduced easily. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org
[Bug 61421] org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Rule M2.4 exception
https://bz.apache.org/bugzilla/show_bug.cgi?id=61421 Alexchanged: What|Removed |Added OS||All --- Comment #1 from Alex --- Code that caused the drop XWPFDocument docx = new XWPFDocument(new FileInputStream("D:\\curs.docx")); ArrayList topic = new ArrayList<>(); int i = 0; for(XWPFParagraph paragraph : docx.getParagraphs()){ byte sid = paragraph.getStyleID() != null ? (byte) paragraph.getStyleID().charAt(0) : 0; if (sid >= 49 && sid <=52 ){ if (paragraph.getText().length() > 0) { System.out.println(paragraph.getStyleID() + ":" + paragraph.getText()); Segment segment = new Segment(paragraph.getText(), Integer.valueOf(paragraph.getStyleID().charAt(0))); segment.doc = new XWPFDocument(docx.getPackage()); segment.from = i; if(topic.size() > 0){ topic.get(topic.size() - 1).to = i - 1; } topic.add(segment); } } i++; } for(Segment segment : topic){ i = 0; for(XWPFParagraph paragraph : docx.getParagraphs()) { if(!(i >= segment.from && i <=segment.to)){ int pPos = segment.doc.getPosOfParagraph(paragraph); segment.doc.removeBodyElement(pPos); } i++; } segment.doc.write(new FileOutputStream(new File("D:\\test\\" + segment.title + ".docx"))); segment.doc.close(); } -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org