You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2017/08/16 05:39:35 UTC

[Bug 61421] New: org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Rule M2.4 exception

https://bz.apache.org/bugzilla/show_bug.cgi?id=61421

            Bug ID: 61421
           Summary: org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeEx
                    ception: Rule M2.4 exception
           Product: POI
           Version: 3.16-FINAL
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XWPF
          Assignee: dev@poi.apache.org
          Reporter: garfid.n.rena@gmail.com
  Target Milestone: ---

Created attachment 35230
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=35230&action=edit
The file caused the exeption

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 61421] org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Rule M2.4 exception

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=61421

Alex <ga...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 OS|                            |All

--- Comment #1 from Alex <ga...@gmail.com> ---
Code that caused the drop

XWPFDocument docx = new XWPFDocument(new FileInputStream("D:\\curs.docx"));
            ArrayList<Segment> 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-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 61421] org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Rule M2.4 exception

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=61421

Dominik Stadler <do...@gmx.at> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |WONTFIX
             Status|NEW                         |RESOLVED

--- Comment #2 from Dominik Stadler <do...@gmx.at> ---
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-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org