Click or drag to resize

MetafileRenderingMode Enumeration

Specifies how Aspose.Words should render WMF and EMF metafiles.

Namespace:  Aspose.Words.Saving
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.3
Syntax
public enum MetafileRenderingMode
Members
  Member nameValueDescription
VectorWithFallback0 Aspose.Words tries to render a metafile as vector graphics. If Aspose.Words cannot correctly render some of the metafile records to vector graphics then Aspose.Words renders this metafile to a bitmap.
Vector1 Aspose.Words renders a metafile as vector graphics.
Bitmap2 Aspose.Words invokes GDI+ to render a metafile to a bitmap and then saves the bitmap to the output document.
Examples
Shows added fallback to bitmap rendering and changing type of warnings about unsupported metafile records.
Document doc = new Document(MyDir + "WMF with image.docx");

    MetafileRenderingOptions metafileRenderingOptions =
        new MetafileRenderingOptions
        {
            EmulateRasterOperations = false,
            RenderingMode = MetafileRenderingMode.VectorWithFallback
        };

    // If Aspose.Words cannot correctly render some of the metafile records to vector graphics then Aspose.Words renders this metafile to a bitmap
    HandleDocumentWarnings callback = new HandleDocumentWarnings();
    doc.WarningCallback = callback;

    PdfSaveOptions saveOptions = new PdfSaveOptions();
    saveOptions.MetafileRenderingOptions = metafileRenderingOptions;

    doc.Save(ArtifactsDir + "PdfSaveOptions.HandleBinaryRasterWarnings.pdf", saveOptions);

    Assert.AreEqual(1, callback.Warnings.Count);
    Assert.True(callback.Warnings[0].Description.Contains("R2_XORPEN"));
}

public class HandleDocumentWarnings : IWarningCallback
{
    /// <summary>
    /// Our callback only needs to implement the "Warning" method. This method is called whenever there is a
    /// potential issue during document processing. The callback can be set to listen for warnings generated during document
    /// load and/or document save.
    /// </summary>
    public void Warning(WarningInfo info)
    {
        // For now type of warnings about unsupported metafile records changed from
        // DataLoss/UnexpectedContent to MinorFormattingLoss
        if (info.WarningType == WarningType.MinorFormattingLoss)
        {
            Console.WriteLine("Unsupported operation: " + info.Description);
            Warnings.Warning(info);
        }
    }

    public WarningInfoCollection Warnings = new WarningInfoCollection();
}
See Also