aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2014-04-22 11:49:29 +0100
committerMichael Williamson <mike@zwobble.org>2014-04-22 11:49:29 +0100
commit354114f396bd864b199c3f46852acc1beb3c5672 (patch)
treeb3d18afc52ca8318d48103ce4380b7ae623acb77 /lib
parent310102bdac9a4258abc99447a7decd7024ca0667 (diff)
Read styles when reading docx file
Diffstat (limited to 'lib')
-rw-r--r--lib/docx/docx-reader.js15
-rw-r--r--lib/docx/styles-reader.js2
2 files changed, 14 insertions, 3 deletions
diff --git a/lib/docx/docx-reader.js b/lib/docx/docx-reader.js
index 20c4834..ae09adc 100644
--- a/lib/docx/docx-reader.js
+++ b/lib/docx/docx-reader.js
@@ -9,6 +9,7 @@ var DocumentXmlReader = require("./document-xml-reader").DocumentXmlReader;
var relationshipsReader = require("./relationships-reader");
var contentTypesReader = require("./content-types-reader");
var numberingXml = require("./numbering-xml");
+var stylesReader = require("./styles-reader");
function read(options) {
@@ -18,13 +19,15 @@ function read(options) {
readRelationshipsFromZipFile(docxFile),
readContentTypesFromZipFile(docxFile),
readNumberingFromZipFile(docxFile),
- readXmlFromZipFile(docxFile, "word/document.xml")
- ]).spread(function(relationships, contentTypes, numbering, documentXml) {
+ readStylesFromZipFile(docxFile),
+ readXmlFromZipFile(docxFile, "word/document.xml"),
+ ]).spread(function(relationships, contentTypes, numbering, styles, documentXml) {
var reader = new DocumentXmlReader({
relationships: relationships,
contentTypes: contentTypes,
docxFile: docxFile,
- numbering: numbering
+ numbering: numbering,
+ styles: styles
});
return reader.convertXmlToDocument(documentXml);
});
@@ -57,3 +60,9 @@ var readNumberingFromZipFile = xmlFileReader({
readElement: numberingXml.readNumberingXml,
defaultValue: numberingXml.defaultNumbering
});
+
+var readStylesFromZipFile = xmlFileReader({
+ filename: "word/styles.xml",
+ readElement: stylesReader.readStylesXml,
+ defaultValue: stylesReader.defaultStyles
+});
diff --git a/lib/docx/styles-reader.js b/lib/docx/styles-reader.js
index 5cfabbf..75776fc 100644
--- a/lib/docx/styles-reader.js
+++ b/lib/docx/styles-reader.js
@@ -1,5 +1,7 @@
exports.readStylesXml = readStylesXml;
+exports.defaultStyles = new Styles({}, {});
+
function Styles(paragraphStyles, characterStyles) {
return {
findParagraphStyleById: function(styleId) {