aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-14 12:58:58 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-14 12:58:58 +0000
commita82d898bc1c6901749f89a905e63c9e511baae84 (patch)
tree12d5c2d6557c718fda59c43226ea97c39e72ba74 /src/main/java
parent3eb73c4ba53dc273e9724d1b4a498502628eaf8f (diff)
Include alt text for images if available
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/mammoth/DocumentConverter.java9
-rw-r--r--src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java4
2 files changed, 12 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);
diff --git a/src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java b/src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java
index 73f4734..f8bea1d 100644
--- a/src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java
+++ b/src/main/java/org/zwobble/mammoth/html/HtmlSelfClosingElement.java
@@ -11,6 +11,10 @@ public class HtmlSelfClosingElement implements HtmlNode {
this.attributes = attributes;
}
+ public Map<String, String> getAttributes() {
+ return attributes;
+ }
+
@Override
public void write(StringBuilder builder) {
builder.append("<").append(tagName);