diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-04-27 17:24:36 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-04-27 17:24:36 +0100 |
| commit | a47c069ab224071866288769d8e2af46e29572f6 (patch) | |
| tree | fda5a11c61345244222249f73b0e812099e908da /lib/document-xml-reader.js | |
| parent | edc871d3aa33bded7ee766a7374fcdbfe93a01bd (diff) | |
Add support for anchored images
Diffstat (limited to 'lib/document-xml-reader.js')
| -rw-r--r-- | lib/document-xml-reader.js | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/lib/document-xml-reader.js b/lib/document-xml-reader.js index 1724b5b..caf0ac6 100644 --- a/lib/document-xml-reader.js +++ b/lib/document-xml-reader.js @@ -105,31 +105,34 @@ function DocumentXmlReader(relationships, docxFile) { "w:drawing": function(element) { return readXmlElements(element.children); }, - "wp:inline": function(element) { - var blips = element - .getElementsByTagName("a:graphic") - .getElementsByTagName("a:graphicData") - .getElementsByTagName("pic:pic") - .getElementsByTagName("pic:blipFill") - .getElementsByTagName("a:blip"); - - var results = blips.map(function(blip) { - var relationshipId = blip.attributes["r:embed"]; - var imagePath = relationships[relationshipId].target; - var readImage = docxFile.read.bind(docxFile, path.join("word", imagePath)); - var altText = element.first("wp:docPr").attributes.descr; - - var image = documents.Image(readImage, altText) - return new Result(image); - }); - - return Result.combine(results); - } + "wp:inline": readDrawingElement, + "wp:anchor": readDrawingElement }; return { convertXmlToDocument: convertXmlToDocument, readXmlElement: readXmlElement }; + + function readDrawingElement(element) { + var blips = element + .getElementsByTagName("a:graphic") + .getElementsByTagName("a:graphicData") + .getElementsByTagName("pic:pic") + .getElementsByTagName("pic:blipFill") + .getElementsByTagName("a:blip"); + + var results = blips.map(function(blip) { + var relationshipId = blip.attributes["r:embed"]; + var imagePath = relationships[relationshipId].target; + var readImage = docxFile.read.bind(docxFile, path.join("word", imagePath)); + var altText = element.first("wp:docPr").attributes.descr; + + var image = documents.Image(readImage, altText) + return new Result(image); + }); + + return Result.combine(results); + } } var ignoreElements = { |
