MetafileRenderingOptions class

Allows to specify additional metafile rendering options.

To learn more, visit the Handling Windows Metafiles documentation article.

public class MetafileRenderingOptions


MetafileRenderingOptions()The default constructor.


EmfPlusDualRenderingMode { get; set; }Gets or sets a value determining how EMF+ Dual metafiles should be rendered.
EmulateRasterOperations { get; set; }Gets or sets a value determining whether or not the raster operations should be emulated.
EmulateRenderingToSizeOnPage { get; set; }Gets or sets a value determining whether metafile rendering emulates the display of the metafile according to the size on page or the display of the metafile in its default size.
EmulateRenderingToSizeOnPageResolution { get; set; }Gets or sets the resolution in pixels per inch for the emulation of metafile rendering to the size on page.
RenderingMode { get; set; }Gets or sets a value determining how metafile images should be rendered.
UseEmfEmbeddedToWmf { get; set; }Gets or sets a value determining how WMF metafiles with embedded EMF metafiles should be rendered.
UseGdiRasterOperationsEmulation { get; set; }Gets or sets a value determining whether or not to use the GDI+ for raster operations emulation.


Shows added a fallback to bitmap rendering and changing type of warnings about unsupported metafile records.

public void HandleBinaryRasterWarnings()
    Document doc = new Document(MyDir + "WMF with image.docx");

    MetafileRenderingOptions metafileRenderingOptions = new MetafileRenderingOptions();

    // Set the "EmulateRasterOperations" property to "false" to fall back to bitmap when
    // it encounters a metafile, which will require raster operations to render in the output PDF.
    metafileRenderingOptions.EmulateRasterOperations = false;

    // Set the "RenderingMode" property to "VectorWithFallback" to try to render every metafile using vector graphics.
    metafileRenderingOptions.RenderingMode = MetafileRenderingMode.VectorWithFallback;

    // Create a "PdfSaveOptions" object that we can pass to the document's "Save" method
    // to modify how that method converts the document to .PDF and applies the configuration
    // in our MetafileRenderingOptions object to the saving operation.
    PdfSaveOptions saveOptions = new PdfSaveOptions();
    saveOptions.MetafileRenderingOptions = metafileRenderingOptions;

    HandleDocumentWarnings callback = new HandleDocumentWarnings();
    doc.WarningCallback = callback;

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

    Assert.AreEqual(1, callback.Warnings.Count);
    Assert.AreEqual("'R2_XORPEN' binary raster operation is not supported.",

/// <summary>
/// Prints and collects formatting loss-related warnings that occur upon saving a document.
/// </summary>
public class HandleDocumentWarnings : IWarningCallback
    public void Warning(WarningInfo info)
        if (info.WarningType == WarningType.MinorFormattingLoss)
            Console.WriteLine("Unsupported operation: " + info.Description);

    public WarningInfoCollection Warnings = new WarningInfoCollection();

See Also