diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-13 21:59:28 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-13 21:59:28 +0000 |
| commit | 487bf06d9247b4e2369826af9118c2d4b7dcf0a0 (patch) | |
| tree | 21810351aab4c0d130c88b2bfdc9be7269c4d297 /src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java | |
| parent | 4a6dd0bddad42cfec4f4ae88893eefde2721b7ba (diff) | |
Read text boxes
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java index c8e1785..19f649a 100644 --- a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java @@ -59,12 +59,15 @@ public class BodyXmlReader { case "w:endnoteReference": return readNoteReference(NoteType.ENDNOTE, element); + case "w:pict": + return readPict(element); + case "w:ins": case "w:smartTag": case "w:drawing": - case "w:roundrect": - case "w:shape": - case "w:textbox": + case "v:roundrect": + case "v:shape": + case "v:textbox": case "w:txbxContent": return readElements(element.children()); @@ -90,7 +93,7 @@ public class BodyXmlReader { default: Warning warning = warning("An unrecognised element was ignored: " + element.getName()); - return new ReadResult(list(), list(warning)); + return ReadResult.emptyWithWarning(warning); } } @@ -141,7 +144,7 @@ public class BodyXmlReader { return ReadResult.map( readParagraphStyle(properties), readElements(element.children()), - (style, children) -> new Paragraph(style, numbering, children)); + (style, children) -> new Paragraph(style, numbering, children)).appendExtra(); } private Result<Optional<Style>> readParagraphStyle(XmlElementLike properties) { @@ -188,7 +191,7 @@ public class BodyXmlReader { if (breakType.equals("")) { return success(LineBreak.LINE_BREAK); } else { - return new ReadResult(list(), list(warning("Unsupported break type: " + breakType))); + return ReadResult.emptyWithWarning(warning("Unsupported break type: " + breakType)); } } @@ -221,6 +224,10 @@ public class BodyXmlReader { return success(new NoteReference(noteType, noteId)); } + private ReadResult readPict(XmlElement element) { + return readElements(element.children()).toExtra(); + } + private Optional<String> readVal(XmlElementLike element, String name) { return element.findChildOrEmpty(name).getAttributeOrNone("w:val"); } |
