diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-05-02 12:07:36 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-05-02 12:07:36 +0100 |
| commit | 90680b0208bba24a970f8b7fd6f9092f5ca90407 (patch) | |
| tree | 4feeae49e3e130ce09c19e9b50ec8a28b6bd5ba8 /src/main | |
| parent | 3de728c3d0fecbb3fa3e9b8019941cb51a3d2867 (diff) | |
Read colspan for table cells
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java | 8 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java | 11 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java b/src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java index f0ce7be..69f8fa8 100644 --- a/src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java +++ b/src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java @@ -3,10 +3,16 @@ package org.zwobble.mammoth.internal.documents; import java.util.List; public class TableCell implements DocumentElement, HasChildren { + private final int colspan; private final List<DocumentElement> children; - public TableCell(List<DocumentElement> children) { + public TableCell(int colspan, List<DocumentElement> children) { this.children = children; + this.colspan = colspan; + } + + public int getColspan() { + return colspan; } @Override 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<String> 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<String> relationshipId = element.getAttributeOrNone("r:id"); Optional<String> anchor = element.getAttributeOrNone("w:anchor"); |
