aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-13 21:59:28 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-13 21:59:28 +0000
commit487bf06d9247b4e2369826af9118c2d4b7dcf0a0 (patch)
tree21810351aab4c0d130c88b2bfdc9be7269c4d297 /src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
parent4a6dd0bddad42cfec4f4ae88893eefde2721b7ba (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.java19
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");
}