converter emf wmf para svg C#

WMF é abreviado para Windows MetaFile enquanto EMF é uma versão melhorada, conhecida como Enhanced MetaFile. Esses metarquivos são frequentemente usados para fins de impressão. Você pode converter facilmente EMF ou WMF para o formato de arquivo de imagem SVG conforme suas necessidades. Vamos percorrer a seção a seguir para obter mais detalhes sobre essas conversões de arquivos:

Conversor WMF ou EMF para SVG - Instalação da API

Aspose.Imaging for .NET API permite criar, manipular ou editar WMF, EMF e vários outros formatos de arquivo suportados. Você pode configurar facilmente a API baixando-a da seção Downloads ou através da galeria NuGet com o seguinte comando de instalação:

PM> Install-Package Aspose.Imaging

Converter WMF para SVG programaticamente em C#

Você pode converter imagens WMF para SVG programaticamente usando a linguagem C# em seus aplicativos baseados em .NET. As etapas a seguir podem ser usadas para a imagem WMF para SVG:

  1. Carregar arquivo WMF de entrada
  2. Inicialize o objeto de classe WmfRasterizationOptions
  3. Salvar imagem SVG de saída

O trecho de código abaixo explica como converter WMF para imagem SVG programaticamente usando C#:

// Caminho para o arquivo WMF de entrada
string sourcePath = dataDir + @"TextHintTest.wmf";

// Caminho para a saída da imagem SVG
string destPath = dataDir + @"WMF_out.svg";

// Carregar arquivo WMF de entrada
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(sourcePath))
{
    // Inicialize a instância WmfRasterizationOptions
    WmfRasterizationOptions wmfRasterizationOptions = new WmfRasterizationOptions();
    wmfRasterizationOptions.BackgroundColor = Aspose.Imaging.Color.White;
    wmfRasterizationOptions.PageHeight = image.Height;
    wmfRasterizationOptions.PageWidth = image.Width;

    // Salvar imagem SVG de saída
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = wmfRasterizationOptions });            
}

Converter EMF para SVG programaticamente usando C#

Os arquivos EMF podem ser convertidos com eficiência para o formato de arquivo SVG. Por favor, siga os passos abaixo para realizar a conversão EMF:

  1. Carregar arquivo EMF de entrada
  2. Inicialize o objeto de classe EmfRasterizationOptions
  3. Definir propriedades diferentes
  4. Salvar imagem SVG de saída

O código a seguir é baseado nessas etapas. Ele explica como converter EMF para SVG programaticamente usando C#:

// Caminho para o arquivo EMF de entrada
string sourcePath = dataDir + @"test.emf";

// Caminho para a imagem SVG de saída
string destPath = dataDir + @"EMF_out.svg";

// Carregar arquivo EMF de entrada
using (Image image = Image.Load(sourcePath))
{                
    // Initilaize o objeto da classe EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();

    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Salvar imagem SVG de saída
    image.Save(destPath, new SvgOptions() { VectorRasterizationOptions = emfRasterizationOptions });                
}

Salvar texto como formas durante a conversão EMF para SVG usando C#

A API pode permitir que seus aplicativos processem os formatos de arquivo para diferentes casos de uso. Você simplesmente precisa fazer algumas chamadas de API sem considerar nenhum detalhe subjacente de um formato de arquivo. A API suporta muitas propriedades para controlar os processos de conversão de arquivos. Por exemplo, você pode salvar texto como formas durante a renderização de imagem EMF para SVG. Basta seguir os passos listados abaixo:

  1. Carregar arquivo EMF de entrada
  2. Especifique a instância EmfRasterizationOptions
  3. Defina a propriedade booleana para renderizar texto como formas
  4. Salvar arquivo SVG de saída

O código abaixo explica como renderizar texto como formas ao converter EMF para arquivo de imagem SVG com C#:

// Carregar arquivo EMF de entrada
using (Image image = Image.Load(dataDir + "Test.emf"))
{
    // Especifique a instância EmfRasterizationOptions
    EmfRasterizationOptions emfRasterizationOptions = new EmfRasterizationOptions();
    emfRasterizationOptions.BackgroundColor = Color.White;
    emfRasterizationOptions.PageWidth = image.Width;
    emfRasterizationOptions.PageHeight = image.Height;

    // Salvar arquivo SVG de saída 
    image.Save(dataDir + "TextAsShapes_out.svg", new SvgOptions
    {
        // Definir propriedade booleana para renderizar texto como formas
        VectorRasterizationOptions = emfRasterizationOptions,
        TextAsShapes = true
    });
}

Conclusão

Aprendemos como converter ou exportar os arquivos EMF e WMF para arquivos de imagem SVG programaticamente usando C#. Você pode explorar ainda mais os recursos consultando Examples Project ou API Documentation. Agradecemos seus comentários e sugestões, pois você pode nos escrever a qualquer momento nos Fóruns de suporte gratuito.

Veja também