Converter SVG para PDF em C#

Deseja converter imagens SVG em documentos PDF? Se assim for, você está no lugar certo. Este artigo mostrará como converter SVG para PDF em C# seguindo algumas etapas simples.

SVG (Scalable Vector Graphics) é um tipo de arquivo de padrão aberto que funciona independentemente da resolução. É um formato baseado em XML que usa gráficos vetoriais e suporta animação limitada. Arquivos SVG são apenas arquivos XML, então qualquer editor de texto pode editá-los. A maioria dos navegadores modernos oferece suporte a arquivos SVG e é capaz de renderizar sua marcação. Em certos casos, podemos precisar exportar imagens SVG para documentos PDF.

PDF é o formato de documento mais amplamente utilizado. Ele mantém a formatação original intacta, por isso é tão popular. Podemos facilmente converter documentos SVG para o formato PDF programaticamente. Então vamos começar!

Os seguintes tópicos serão abordados neste artigo:

  1. API C# para converter SVG em PDF
  2. Converter SVG para PDF
  3. Renderizar SVG para PDF

API C# para converter SVG em PDF

Para converter SVG em PDF, usaremos a API Aspose.SVG for .NET. A API fornece uma maneira fácil de carregar, analisar, renderizar, criar e converter arquivos SVG em formatos populares sem quaisquer dependências de software.

A API fornece a classe SVGDocument que representa a raiz da hierarquia SVG e contém todo o conteúdo. A classe PdfSaveOptions permite especificar as opções de salvamento do PDF. Temos o método Converter.ConvertSVG(SVGDocument, PdfSaveOptions, string) que converte fonte SVG em PDF. A classe PdfRenderingOptions representa opções de renderização para PdfDevice. A classe PdfDevice permite a renderização em um documento PDF.

Por favor, baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.SVG

Converta SVG para PDF usando C#

Podemos converter facilmente um arquivo de imagem SVG em PDF seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um SVG usando a classe SVGDocument.
  2. Em seguida, crie uma instância da classe PdfSaveOptions.
  3. Depois disso, especifique as opções de salvamento do PDF, como BackgroundColor, etc.
  4. Finalmente, chame o método Converter.ConvertSVG(). Ele usa SVGDocument, PdfSaveOptions e o caminho do arquivo PDF de saída como argumentos.

O exemplo de código a seguir mostra como converter SVG em PDF em C#.

// Este exemplo de código demonstra como converter SVG em PDF
// Carregar um documento SVG de um arquivo
var document = new SVGDocument("C:\\Files\\Fill-Circle.svg");

// Inicialize uma instância da classe PdfSaveOptions
var saveOptions = new PdfSaveOptions();
saveOptions.BackgroundColor = System.Drawing.Color.DarkBlue;

// Converter SVG para PDF
Converter.ConvertSVG(document, saveOptions, "C:\\Files\\Circles_out.pdf");
Converter-SVG-para-PDF-usando-CSharp

Converta SVG para PDF usando C#.

Renderizar SVG para PDF em C#

Como alternativa, podemos renderizar um SVG para um PDF seguindo as etapas abaixo:

  1. Em primeiro lugar, carregue um SVG usando a classe SVGDocument.
  2. Em seguida, crie uma instância da classe PdfRenderingOptions.
  3. Em seguida, especifique as opções de salvamento do PDF, como PageSetup, JpegQuality, etc.
  4. Depois disso, inicialize uma instância da classe PdfDevice. Ele usa PdfRenderingOptions e o caminho do arquivo PDF de saída como argumentos.
  5. Finalmente, chame o método RenderTo(). Leva PdfDevice como um argumento.

O exemplo de código a seguir mostra como renderizar SVG para PDF em C#.

// Este exemplo de código demonstra como renderizar SVG para PDF
// Carregar um documento SVG de um arquivo
var document = new SVGDocument("C:\\Files\\Fill-Circle.svg");

// Inicialize uma instância da classe PdfRenderingOptions 
// Definir propriedades personalizadas PageSetup e JpegQuality
var pdfRenderingOptions = new PdfRenderingOptions();
pdfRenderingOptions.PageSetup.AnyPage = new Page(new Aspose.Svg.Drawing.Size(500, 500), new Margin(10, 10, 10, 10));
pdfRenderingOptions.JpegQuality = 10;

// Inicialize uma instância da classe PdfDevice
using (IDevice device = new PdfDevice(pdfRenderingOptions, "C:\\Files\\Render_out.pdf"))
{
    // Renderize SVG para PDF e envie o documento para o dispositivo de renderização
    document.RenderTo(device);
}

Obtenha licença temporária gratuita

Você pode obter uma licença temporária gratuita para experimentar o Aspose.SVG para .NET sem limitações de avaliação.

Conclusão

Neste artigo, aprendemos como:

  • carregar uma imagem SVG existente;
  • definir opções de salvamento de PDF;
  • especificar opções de renderização de PDF;
  • salve SVG como PDF em C#.

Além de converter SVG para PDF em C#, você pode aprender mais sobre Aspose.SVG para .NET usando documentação e explorar diferentes recursos suportados pela API. Em caso de ambiguidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também