MetafileRenderingOptionsRenderingMode Property

Gets or sets a value determining how metafile images should be rendered.

Namespace:  Aspose.Words.Saving
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.3
Syntax
public MetafileRenderingMode RenderingMode { get; set; }

Property Value

Type: MetafileRenderingMode
Remarks

The default value depends on the save format. For images it is Bitmap. For other formats it is VectorWithFallback.

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