MetafileRenderingOptions

MetafileRenderingOptions class

Позволяет указать дополнительные параметры рендеринга метафайла.

Чтобы узнать больше, посетитеОбработка метафайлов Windows документальная статья.

public class MetafileRenderingOptions

Конструкторы

ИмяОписание
MetafileRenderingOptions()Конструктор по умолчанию.

Характеристики

ИмяОписание
EmfPlusDualRenderingMode { get; set; }Возвращает или задает значение, определяющее, как следует отображать метафайлы EMF+ Dual.
EmulateRasterOperations { get; set; }Возвращает или задает значение, определяющее, следует ли эмулировать растровые операции.
EmulateRenderingToSizeOnPage { get; set; }Возвращает или задает значение, определяющее, эмулирует ли рендеринг метафайла отображение метафайла в соответствии с размером на странице или отображение метафайла в его размере по умолчанию.
EmulateRenderingToSizeOnPageResolution { get; set; }Возвращает или задает разрешение в пикселях на дюйм для эмуляции рендеринга метафайла до размера на странице.
RenderingMode { get; set; }Возвращает или задает значение, определяющее, как должны отображаться изображения метафайлов.
UseEmfEmbeddedToWmf { get; set; }Возвращает или задает значение, определяющее, как должны отображаться метафайлы WMF со встроенными метафайлами EMF.
UseGdiRasterOperationsEmulation { get; set; }Возвращает или задает значение, определяющее, следует ли использовать GDI+ для эмуляции растровых операций.

Примеры

В шоу добавлена возможность отката к растровому рендерингу и изменен тип предупреждений о неподдерживаемых записях метафайлов.

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

    MetafileRenderingOptions metafileRenderingOptions = new MetafileRenderingOptions();

    // Установите свойство "EmulateRasterOperations" в значение "false", чтобы вернуться к растровому изображению, когда
    // он обнаруживает метафайл, для рендеринга которого в выходном PDF-файле потребуются растровые операции.
    metafileRenderingOptions.EmulateRasterOperations = false;

    // Установите свойство «RenderingMode» на «VectorWithFallback», чтобы попытаться визуализировать каждый метафайл с использованием векторной графики.
    metafileRenderingOptions.RenderingMode = MetafileRenderingMode.VectorWithFallback;

    // Создаем объект "PdfSaveOptions", который можно передать методу "Save" документа
    // чтобы изменить способ преобразования этим методом документа в .PDF и применения конфигурации
    // в нашем объекте MetafileRenderingOptions для операции сохранения.
    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.",
        callback.Warnings[0].Description);
}

/// <summary>
/// Печатает и собирает предупреждения, связанные с потерей форматирования, которые возникают при сохранении документа.
/// </summary>
public class HandleDocumentWarnings : IWarningCallback
{
    public void Warning(WarningInfo info)
    {
        if (info.WarningType == WarningType.MinorFormattingLoss)
        {
            Console.WriteLine("Unsupported operation: " + info.Description);
            Warnings.Warning(info);
        }
    }

    public WarningInfoCollection Warnings = new WarningInfoCollection();
}

Смотрите также