diff options
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/DocumentConverter.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/DocumentConverter.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index da10324..f4c15b3 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -1,5 +1,6 @@ package org.zwobble.mammoth; +import com.google.common.collect.ImmutableMap; import com.google.common.io.ByteStreams; import org.zwobble.mammoth.documents.*; import org.zwobble.mammoth.html.Html; @@ -134,9 +135,15 @@ public class DocumentConverter { return image.getContentType() .map(contentType -> { try { + ImmutableMap.Builder<String, String> attributes = ImmutableMap.builder(); + String base64 = Base64.getEncoder().encodeToString(ByteStreams.toByteArray(image.open())); String src = "data:" + contentType + ";base64," + base64; - return list(Html.selfClosingElement("img", map("src", src))); + attributes.put("src", src); + + image.getAltText().ifPresent(altText -> attributes.put("alt", altText)); + + return list(Html.selfClosingElement("img", attributes.build())); } catch (IOException exception) { // TODO: return a result with a warning throw new RuntimeException(exception); |
