aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/DocumentReader.java8
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/MammothTests.java7
-rw-r--r--src/test/resources/test-data/tiny-picture-custom-content-type.docxbin0 -> 10876 bytes
3 files changed, 14 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/DocumentReader.java b/src/main/java/org/zwobble/mammoth/docx/DocumentReader.java
index 6d5af48..06d8ad5 100644
--- a/src/main/java/org/zwobble/mammoth/docx/DocumentReader.java
+++ b/src/main/java/org/zwobble/mammoth/docx/DocumentReader.java
@@ -20,7 +20,7 @@ public class DocumentReader {
public static Result<Document> readDocument(DocxFile zipFile) {
Styles styles = readStyles(zipFile);
Numbering numbering = Numbering.EMPTY;
- ContentTypes contentTypes = ContentTypes.DEFAULT;
+ ContentTypes contentTypes = readContentTypes(zipFile);
FileReader fileReader = uri -> {
throw new UnsupportedOperationException();
};
@@ -52,6 +52,12 @@ public class DocumentReader {
.orElse(Styles.EMPTY);
}
+ private static ContentTypes readContentTypes(DocxFile file) {
+ return tryParseOfficeXml(file, "[Content_Types].xml")
+ .map(ContentTypesXml::readContentTypesXmlElement)
+ .orElse(ContentTypes.DEFAULT);
+ }
+
private static Relationships readRelationships(DocxFile zipFile, String name) {
return tryParseOfficeXml(zipFile, "word/_rels/" + name + ".xml.rels")
.map(RelationshipsXml::readRelationshipsXmlElement)
diff --git a/src/test/java/org/zwobble/mammoth/tests/MammothTests.java b/src/test/java/org/zwobble/mammoth/tests/MammothTests.java
index 0a61661..46bafb2 100644
--- a/src/test/java/org/zwobble/mammoth/tests/MammothTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/MammothTests.java
@@ -47,6 +47,13 @@ public class MammothTests {
}
@Test
+ public void contentTypesAreRead() {
+ assertThat(
+ convertToHtml("tiny-picture-custom-content-type.docx"),
+ deepEquals(success("<p><img src=\"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAOvgAADr4B6kKxwAAAABNJREFUKFNj/M+ADzDhlWUYqdIAQSwBE8U+X40AAAAASUVORK5CYII=\" /></p>")));
+ }
+
+ @Test
public void footnotesAreAppendedToText() {
assertThat(
convertToHtml("footnotes.docx", Mammoth.Options.DEFAULT.idPrefix("doc-42-")),
diff --git a/src/test/resources/test-data/tiny-picture-custom-content-type.docx b/src/test/resources/test-data/tiny-picture-custom-content-type.docx
new file mode 100644
index 0000000..3638f88
--- /dev/null
+++ b/src/test/resources/test-data/tiny-picture-custom-content-type.docx
Binary files differ