aboutsummaryrefslogtreecommitdiff
path: root/lib/docx/body-reader.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-09-07 20:04:58 +0100
committerMichael Williamson <mike@zwobble.org>2015-09-07 20:04:58 +0100
commite5e37a6f2cfa04e146d534028fbf291aac2a9fe2 (patch)
tree82f731589d4534b51b2dd1caf4b51848c0468eb1 /lib/docx/body-reader.js
parent97144ee9f557ef4886456972d36583b6b62685d2 (diff)
Add support for external images
Diffstat (limited to 'lib/docx/body-reader.js')
-rw-r--r--lib/docx/body-reader.js15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js
index 25a263a..4126fde 100644
--- a/lib/docx/body-reader.js
+++ b/lib/docx/body-reader.js
@@ -11,6 +11,7 @@ function BodyReader(options) {
var relationships = options.relationships;
var contentTypes = options.contentTypes;
var docxFile = options.docxFile;
+ var files = options.files;
var numbering = options.numbering;
var styles = options.styles;
@@ -216,9 +217,17 @@ function BodyReader(options) {
}
function readBlip(element, blip) {
- var relationshipId = blip.attributes["r:embed"];
- var imagePath = joinZipPath("word", relationships[relationshipId].target);
- var readImage = docxFile.read.bind(docxFile, imagePath);
+ var embedRelationshipId = blip.attributes["r:embed"];
+ var linkRelationshipid = blip.attributes["r:link"];
+ var imagePath;
+ var readImage;
+ if (embedRelationshipId) {
+ imagePath = joinZipPath("word", relationships[embedRelationshipId].target);
+ readImage = docxFile.read.bind(docxFile, imagePath);
+ } else {
+ imagePath = relationships[linkRelationshipid].target;
+ readImage = files.read.bind(files, imagePath);
+ }
var altText = element.first("wp:docPr").attributes.descr;
var contentType = contentTypes.findContentType(imagePath);