From 7d96c9aee67b7de9f8acd5139f34bfdb9f01f798 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 9 Sep 2025 09:56:57 +0100 Subject: Test reading of table rows when non-rows are present --- .../zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java index 436d5d9..649a47b 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java @@ -500,6 +500,7 @@ class StatefulBodyXmlReader { private ReadResult calculateRowspans(List rows) { Optional error = checkTableRows(rows); if (error.isPresent()) { + rows = removeUnmergedTableCells(rows); return ReadResult.withWarning(rows, error.get()); } @@ -561,6 +562,16 @@ class StatefulBodyXmlReader { return Optional.empty(); } + private List removeUnmergedTableCells(List rows) { + return Lists.eagerMap( + rows, + transformElementsOfType( + UnmergedTableCell.class, + cell -> new TableCell(1, cell.colspan, cell.children) + ) + ); + } + private ReadResult readTableRow(XmlElement element) { XmlElementLike properties = element.findChildOrEmpty("w:trPr"); -- cgit v1.2.3