Guardar SVG em C#

Saiba como salvar SVG programaticamente usando Aspose.SVG for .NET.

Como salvar SVG em C#

A biblioteca Aspose.SVG for .NET fornece métodos Save() sobrecarregados que permitem salvar documentos SVG em arquivos locais, fluxos, arquivos Zip ou URLs, suportando cenários básicos e avançados. É possível guardar documentos diretamente utilizando um caminho de ficheiro ou um objeto Url. Parâmetros opcionais estão disponíveis para especificar o formato de saída (como SVG, SVGZ, etc.) e SVGSaveOptions para um controle mais detalhado sobre o processo de salvamento. Além disso, a API Aspose.SVG for .NET suporta o salvamento através de objetos ResourceHandler, que permitem mecanismos de armazenamento de recursos personalizados, como fluxos de memória ou um arquivo Zip.


Vamos ver como salvar um documento SVG de forma programática. Mas primeiro, certifique-se de que você tem Aspose.SVG for .NET instalado em seu projeto. A instalação da API é fácil – use o Console do NuGet Package Manager e execute o seguinte comando:


Instalar o Aspose.SVG for .NET

Install-Package Aspose.SVG



Guardar SVG num ficheiro

Eis uma forma simples de guardar um documento SVG num ficheiro. Este exemplo carrega um ficheiro SVG existente, permite-lhe modificá-lo se o desejar e, em seguida, guarda a versão actualizada num novo ficheiro:

  1. Carrega um documento SVG utilizando o construtor SVGDocument() . Trabalhar com o documento.
  2. Guardar o ficheiro SVG utilizando o método Save(path) .

Código C# para guardar um documento SVG

using Aspose.Svg;
...

    // Load the SVG document from a file
    using (SVGDocument document = new SVGDocument("document.svg"))
    {
        // Work with the document

        // Save SVG to the file
        document.Save("document-edited.svg");
    }



Converter e guardar SVG como SVGZ

Os ficheiros SVGZ são documentos SVG normalizados comprimidos com GZIP. Mantêm toda a fidelidade e escalabilidade do SVG original, reduzindo significativamente o tamanho do ficheiro, muitas vezes em 60-80%. O seguinte snippet C# carrega um ficheiro SVG e guarda-o num URL no formato SVGZ comprimido:


Código C# para guardar SVG como SVGZ

using System.IO;
using Aspose.Svg;
...

    // Set a full path to save an SVG document
    Url url = new Url(Path.Combine(OutputUrl, "shapes_out.svgz"), Directory.GetCurrentDirectory());

    //  Load the SVG document from a file
    using (SVGDocument document = new SVGDocument(Path.Combine(DataDir, "shapes.svg")))
    {
        // Work with the document

        // Save the document as SVGZ to a Url
        document.Save(url, SVGSaveFormat.SVGZ);
    }





  1. O objeto Url especifica o caminho de destino para salvar o arquivo compactado. Ele combina o diretório de saída e o nome do arquivo.
  2. o SVGDocument carrega o ficheiro SVG original para a memória, permitindo-lhe analisar ou editar a sua estrutura.
  3. O método Save(url, saveFormat) exporta o documento no formato SVGZ especificando SVGSaveFormat.SVGZ. A saída será uma versão comprimida em GZIP do SVG original.

Recursos úteis

  • Recomendamos que visite o artigo Save an SVG Document se quiser saber mais sobre como salvar um documento SVG em um arquivo, fluxo de memória, arquivo ZIP ou URL usando a biblioteca Aspose.SVG for .NET.
  • O artigo Convert SVG to SVGZ in C# descreve o que é o formato SVGZ e como guardar um SVG como SVGZ utilizando Aspose.SVG for .NET.



Outras caraterísticas suportadas

Use a biblioteca Aspose.SVG for .NET para converter, mesclar, editar documentos SVG, converter códigos de cores, vetorizar imagens e muito mais!