aboutsummaryrefslogtreecommitdiff
path: root/lib/document-xml-reader.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-04-27 17:24:36 +0100
committerMichael Williamson <mike@zwobble.org>2013-04-27 17:24:36 +0100
commita47c069ab224071866288769d8e2af46e29572f6 (patch)
treefda5a11c61345244222249f73b0e812099e908da /lib/document-xml-reader.js
parentedc871d3aa33bded7ee766a7374fcdbfe93a01bd (diff)
Add support for anchored images
Diffstat (limited to 'lib/document-xml-reader.js')
-rw-r--r--lib/document-xml-reader.js43
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 = {