diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/docx/DocumentReader.java | 8 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/MammothTests.java | 7 | ||||
| -rw-r--r-- | src/test/resources/test-data/tiny-picture-custom-content-type.docx | bin | 0 -> 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 Binary files differnew file mode 100644 index 0000000..3638f88 --- /dev/null +++ b/src/test/resources/test-data/tiny-picture-custom-content-type.docx |
