Convertir SVG a PDF en C#

¿Quiere convertir imágenes SVG en documentos PDF? Si es así, estás en el lugar correcto. Este artículo le mostrará cómo convertir SVG a PDF en C# siguiendo unos sencillos pasos.

SVG (Scalable Vector Graphics) es un tipo de archivo de estándar abierto que funciona independientemente de la resolución. Es un formato basado en XML que utiliza gráficos vectoriales y admite animación limitada. Los archivos SVG son solo archivos XML, por lo que cualquier editor de texto puede editarlos. La mayoría de los navegadores modernos admiten archivos SVG y son capaces de representar su marcado. En ciertos casos, es posible que necesitemos exportar imágenes SVG a documentos PDF.

PDF es el formato de documento más utilizado. Mantiene intacto el formato original, razón por la cual es tan popular. Podemos convertir fácilmente documentos SVG a formato PDF mediante programación. ¡Entonces empecemos!

En este artículo se tratarán los siguientes temas:

  1. API de C# para convertir SVG a PDF
  2. Convertir SVG a PDF
  3. Renderizar SVG a PDF

API de C# para convertir SVG a PDF

Para convertir SVG a PDF, usaremos la API Aspose.SVG para .NET. La API proporciona una manera fácil de cargar, analizar, renderizar, crear y convertir archivos SVG a formatos populares sin dependencias de software.

La API proporciona la clase SVGDocument que representa la raíz de la jerarquía SVG y contiene todo el contenido. La clase PdfSaveOptions permite especificar las opciones de guardado de PDF. Tenemos el método Converter.ConvertSVG(SVGDocument, PdfSaveOptions, string) que convierte la fuente SVG en PDF. La clase PdfRenderingOptions representa las opciones de representación para PdfDevice. La clase PdfDevice permite renderizar un documento PDF.

Descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.SVG

Convierte SVG a PDF usando C#

Podemos convertir fácilmente un archivo de imagen SVG a PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un SVG usando la clase SVGDocument.
  2. A continuación, cree una instancia de la clase PdfSaveOptions.
  3. Después de eso, especifique las opciones de guardado de PDF, como Color de fondo, etc.
  4. Finalmente, llama al método Converter.ConvertSVG(). Toma SVGDocument, PdfSaveOptions y la ruta del archivo PDF de salida como argumentos.

El siguiente ejemplo de código muestra cómo convertir SVG a PDF en C#.

// Este ejemplo de código demuestra cómo convertir SVG a PDF
// Cargar un documento SVG desde un archivo
var document = new SVGDocument("C:\\Files\\Fill-Circle.svg");

// Inicializar una instancia de la clase PdfSaveOptions
var saveOptions = new PdfSaveOptions();
saveOptions.BackgroundColor = System.Drawing.Color.DarkBlue;

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

Convierte SVG a PDF usando C#.

Renderizar SVG a PDF en C#

Alternativamente, podemos convertir un SVG en un PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un SVG usando la clase SVGDocument.
  2. A continuación, cree una instancia de la clase PdfRenderingOptions.
  3. Luego, especifique las opciones de guardado de PDF como PageSetup, JpegQuality, etc.
  4. Después de eso, inicialice una instancia de la clase PdfDevice. Toma PdfRenderingOptions y la ruta del archivo PDF de salida como argumentos.
  5. Finalmente, llama al método RenderTo(). Toma PdfDevice como argumento.

El siguiente ejemplo de código muestra cómo convertir SVG a PDF en C#.

// Este ejemplo de código demuestra cómo convertir SVG a PDF
// Cargar un documento SVG desde un archivo
var document = new SVGDocument("C:\\Files\\Fill-Circle.svg");

// Inicializar una instancia de la clase PdfRenderingOptions 
// Establecer propiedades personalizadas de PageSetup y 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;

// Inicializar una instancia de la clase PdfDevice
using (IDevice device = new PdfDevice(pdfRenderingOptions, "C:\\Files\\Render_out.pdf"))
{
    // Renderice SVG a PDF y envíe el documento al dispositivo de renderizado
    document.RenderTo(device);
}

Obtenga una Licencia Temporal Gratis

Puede obtener una licencia temporal gratuita para probar Aspose.SVG para .NET sin limitaciones de evaluación.

Conclusión

En este artículo, hemos aprendido a:

  • cargar una imagen SVG existente;
  • definir las opciones de guardado de PDF;
  • especificar las opciones de representación de PDF;
  • guardar SVG como PDF en C#.

Además de convertir SVG a PDF en C#, puede obtener más información sobre Aspose.SVG para .NET utilizando documentación y explorar diferentes funciones compatibles con la API. En caso de cualquier ambigüedad, no dude en contactarnos en nuestro foro de soporte gratuito.

Ver también