From 90680b0208bba24a970f8b7fd6f9092f5ca90407 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 2 May 2016 12:07:36 +0100 Subject: Read colspan for table cells --- .../java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java') diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java index 113578d..47034cc 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java @@ -66,7 +66,7 @@ public class BodyXmlReader { case "w:tr": return readElements(element.children()).map(TableRow::new); case "w:tc": - return readElements(element.children()).map(TableCell::new); + return readTableCell(element); case "w:hyperlink": return readHyperlink(element); @@ -231,6 +231,15 @@ public class BodyXmlReader { } } + private ReadResult readTableCell(XmlElement element) { + Optional gridSpan = element + .findChildOrEmpty("w:tcPr") + .findChildOrEmpty("w:gridSpan") + .getAttributeOrNone("w:val"); + int colspan = gridSpan.map(Integer::parseInt).orElse(1); + return readElements(element.children()).map(children -> new TableCell(colspan, children)); + } + private ReadResult readHyperlink(XmlElement element) { Optional relationshipId = element.getAttributeOrNone("r:id"); Optional anchor = element.getAttributeOrNone("w:anchor"); -- cgit v1.2.3