From 1b54156c52caf3f2e9fe7eef29ba5ce6bd098ded Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 2 May 2016 11:32:44 +0100 Subject: Read colSpan for table cells --- lib/documents.js | 6 ++++-- lib/docx/body-reader.js | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/documents.js b/lib/documents.js index 4e4211b..8b979c2 100644 --- a/lib/documents.js +++ b/lib/documents.js @@ -139,10 +139,12 @@ function TableRow(children) { }; } -function TableCell(children) { +function TableCell(children, options) { + options = options || {}; return { type: types.tableCell, - children: children + children: children, + colSpan: options.colSpan == null ? 1 : options.colSpan }; } diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js index 4e7ff03..126896c 100644 --- a/lib/docx/body-reader.js +++ b/lib/docx/body-reader.js @@ -164,7 +164,14 @@ function BodyReader(options) { return readXmlElements(element.children).map(documents.TableRow); }, "w:tc": function(element) { - return readXmlElements(element.children).map(documents.TableCell); + return readXmlElements(element.children).map(function(children) { + var gridSpan = element + .firstOrEmpty("w:tcPr") + .firstOrEmpty("w:gridSpan") + .attributes["w:val"]; + var colSpan = gridSpan ? parseInt(gridSpan) : 1; + return documents.TableCell(children, {colSpan: colSpan}); + }); }, "w:footnoteReference": noteReferenceReader("footnote"), "w:endnoteReference": noteReferenceReader("endnote"), -- cgit v1.2.3