Enum HtmlMetafileFormat

Enum HtmlMetafileFormat

Namespace: Aspose.Words.Saving
Assembly: Aspose.Words.dll (25.12.0)

Indicates the format in which metafiles are saved to HTML documents.

public enum HtmlMetafileFormat

Fields

EmfOrWmf = 2

Metafiles are saved as is, without conversion.

Png = 0

Metafiles are rendered to raster PNG images.

Svg = 1

Metafiles are converted to vector SVG images.

Examples

Shows how to convert SVG objects to a different format when saving HTML documents.

string html = 
                                                                                                 @"<html>
                                                                                                     <svg xmlns='http://www.w3.org/2000/svg' width='500' height='40' viewBox='0 0 500 40'>
                                                                                                         <text x='0' y='35' font-family='Verdana' font-size='35'>Hello world!</text>
                                                                                                     </svg>
                                                                                                 </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 { ConvertSvgToEmf = true };

                                                                                             Document doc = new Document(new MemoryStream(Encoding.UTF8.GetBytes(html)), loadOptions);

                                                                                             // 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 { MetafileFormat = htmlMetafileFormat };

                                                                                             doc.Save(ArtifactsDir + "HtmlSaveOptions.MetafileFormat.html", options);

                                                                                             string outDocContents = File.ReadAllText(ArtifactsDir + "HtmlSaveOptions.MetafileFormat.html");

                                                                                             switch (htmlMetafileFormat)
                                                                                             {
                                                                                                 case HtmlMetafileFormat.Png:
                                                                                                     Assert.That(outDocContents.Contains(
                                                                                                         "<p style=\"margin-top:0pt; margin-bottom:0pt\">" +
                                                                                                             "<img src=\"HtmlSaveOptions.MetafileFormat.001.png\" 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>"), Is.True);
                                                                                                     break;
                                                                                                 case HtmlMetafileFormat.Svg:
                                                                                                     Assert.That(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\">"), Is.True);
                                                                                                     break;
                                                                                                 case HtmlMetafileFormat.EmfOrWmf:
                                                                                                     Assert.That(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>"), Is.True);
                                                                                                     break;
                                                                                             }
 English