public class HtmlMetafileFormat
extends java.lang.Object
Examples:
Shows how to convert SVG objects to a different format when saving HTML documents.
String html =
"<html>\n <svg xmlns='http://www.w3.org/2000/svg' width='500' height='40' viewBox='0 0 500 40'>\n <text x='0' y='35' font-family='Verdana' font-size='35'>Hello world!</text>\n </svg>\n </html>";
// Use 'ConvertSvgToEmf' to turn back the legacy behavior
// where all SVG images loaded from an HTML document were converted to EMF.
// Now SVG images are loaded without conversion
// if the MS Word version specified in load options supports SVG images natively.
HtmlLoadOptions loadOptions = new HtmlLoadOptions(); { loadOptions.setConvertSvgToEmf(true); }
Document doc = new Document(new ByteArrayInputStream(html.getBytes()));
// This document contains a <svg> element in the form of text.
// When we save the document to HTML, we can pass a SaveOptions object
// to determine how the saving operation handles this object.
// Setting the "MetafileFormat" property to "HtmlMetafileFormat.Png" to convert it to a PNG image.
// Setting the "MetafileFormat" property to "HtmlMetafileFormat.Svg" preserve it as a SVG object.
// Setting the "MetafileFormat" property to "HtmlMetafileFormat.EmfOrWmf" to convert it to a metafile.
HtmlSaveOptions options = new HtmlSaveOptions();
{
options.setMetafileFormat(htmlMetafileFormat);
}
doc.save(getArtifactsDir() + "HtmlSaveOptions.MetafileFormat.html", options);
String outDocContents = FileUtils.readFileToString(new File(getArtifactsDir() + "HtmlSaveOptions.MetafileFormat.html"), StandardCharsets.UTF_8);
switch (htmlMetafileFormat) {
case HtmlMetafileFormat.PNG:
Assert.assertTrue(outDocContents.contains(
"<p style=\"margin-top:0pt; margin-bottom:0pt\">" +
"<img src=\"HtmlSaveOptions.MetafileFormat.001.png\" width=\"501\" height=\"41\" alt=\"\" " +
"style=\"-aw-left-pos:0pt; -aw-rel-hpos:column; -aw-rel-vpos:paragraph; -aw-top-pos:0pt; -aw-wrap-type:inline\" />" +
"</p>"));
break;
case HtmlMetafileFormat.SVG:
Assert.assertTrue(outDocContents.contains(
"<span style=\"-aw-left-pos:0pt; -aw-rel-hpos:column; -aw-rel-vpos:paragraph; -aw-top-pos:0pt; -aw-wrap-type:inline\">" +
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" width=\"499\" height=\"40\">"));
break;
case HtmlMetafileFormat.EMF_OR_WMF:
Assert.assertTrue(outDocContents.contains(
"<p style=\"margin-top:0pt; margin-bottom:0pt\">" +
"<img src=\"HtmlSaveOptions.MetafileFormat.001.emf\" width=\"500\" height=\"40\" alt=\"\" " +
"style=\"-aw-left-pos:0pt; -aw-rel-hpos:column; -aw-rel-vpos:paragraph; -aw-top-pos:0pt; -aw-wrap-type:inline\" />" +
"</p>"));
break;
}
| Modifier and Type | Field and Description |
|---|---|
static int |
EMF_OR_WMF
Metafiles are saved as is, without conversion.
|
static int |
length |
static int |
PNG
Metafiles are rendered to raster PNG images.
|
static int |
SVG
Metafiles are converted to vector SVG images.
|
| Modifier and Type | Method and Description |
|---|---|
static int |
fromName(java.lang.String htmlMetafileFormatName) |
static java.lang.String |
getName(int htmlMetafileFormat) |
static int[] |
getValues() |
static java.lang.String |
toString(int htmlMetafileFormat) |