aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/ContentTypes.java18
-rw-r--r--src/main/java/org/zwobble/mammoth/xml/XmlNodes.java4
2 files changed, 21 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/ContentTypes.java b/src/main/java/org/zwobble/mammoth/docx/ContentTypes.java
index bd61763..f36ca49 100644
--- a/src/main/java/org/zwobble/mammoth/docx/ContentTypes.java
+++ b/src/main/java/org/zwobble/mammoth/docx/ContentTypes.java
@@ -1,11 +1,22 @@
package org.zwobble.mammoth.docx;
+import com.google.common.collect.ImmutableMap;
import com.google.common.io.Files;
import java.util.Map;
import java.util.Optional;
public class ContentTypes {
+ private static final Map<String, String> imageExtensions = ImmutableMap.<String, String>builder()
+ .put("png", "png")
+ .put("gif", "gif")
+ .put("jpeg", "jpeg")
+ .put("jpg", "jpeg")
+ .put("bmp", "bmp")
+ .put("tif", "tiff")
+ .put("tiff", "tiff")
+ .build();
+
private final Map<String, String> extensionDefaults;
private final Map<String, String> overrides;
@@ -19,7 +30,12 @@ public class ContentTypes {
return Optional.ofNullable(overrides.get(path));
} else {
String extension = Files.getFileExtension(path);
- return Optional.ofNullable(extensionDefaults.get(extension));
+ if (extensionDefaults.containsKey(extension)) {
+ return Optional.ofNullable(extensionDefaults.get(extension));
+ } else {
+ return Optional.ofNullable(imageExtensions.get(extension.toLowerCase()))
+ .map(imageType -> "image/" + imageType);
+ }
}
}
}
diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java b/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java
index 272a710..ce36615 100644
--- a/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java
+++ b/src/main/java/org/zwobble/mammoth/xml/XmlNodes.java
@@ -7,6 +7,10 @@ import java.util.List;
import java.util.Map;
public class XmlNodes {
+ public static XmlElement element(String name) {
+ return element(name, ImmutableList.of());
+ }
+
public static XmlElement element(String name, Map<String, String> attributes) {
return element(name, attributes, ImmutableList.of());
}