Convertir SVG a PDF – Ejemplos de C#
Convertir documentos SVG a otros formatos es una de las características principales de Aspose.SVG for .NET API. La conversión es necesaria por varias razones: trabajar en un formato familiar y conveniente o aprovechar diferentes formatos para tareas específicas. PDF es un formato de archivo compatible con todos los sistemas operativos y se utiliza para presentar imágenes, documentos y libros. Los archivos en PDF se pueden ver, imprimir y compartir en línea fácilmente.
El artículo proporciona información sobre una lista de escenarios de conversión de SVG a PDF compatibles y cómo ejecutarlos. Puede convertir SVG a PDF y otros formatos populares de cualquier forma: en línea o mediante programación.
Convertidor SVG en línea
Puede comprobar la funcionalidad de la API Aspose.SVG y convertir SVG en tiempo real. Cargue SVG desde el sistema de archivos local, seleccione el formato de salida y ejecute el ejemplo. En el ejemplo, las opciones de guardar están configuradas de forma predeterminada. Recibirá inmediatamente el resultado en un archivo separado.
Si desea convertir SVG a PDF mediante programación, consulte los siguientes ejemplos de código C#.
Convertir SVG a PDF usando el método ConvertSVG()
Los métodos estáticos de la clase Converter pueden convertir SVG a PDF con una sola línea de código. Es la forma más sencilla de conversión. Convertir un archivo a otro formato usando los métodos ConvertSVG() es una secuencia de operaciones entre las que se encuentran cargar y guardar documentos:
- Cargue un documento SVG usando uno de los constructores SVGDocument() ( lineto.svg).
- Cree una instancia de la clase PdfSaveOptions.
- Utilice el método ConvertSVG() para convertir y guardar SVG como un archivo PDF.
El siguiente fragmento de código se puede utilizar para convertir un archivo SVG a formato PDF:
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Converters;
4using System.Drawing;
5using Aspose.Svg.Saving;
6...
7
8 // Initialize an SVG document from a file
9 using (var document = new SVGDocument(Path.Combine(DataDir, "lineto.svg")))
10 {
11 // Initialize an instance of the PdfSaveOptions class
12 var saveOptions = new PdfSaveOptions();
13 saveOptions.BackgroundColor = Color.Gray;
14
15 // Convert SVG to PDF
16 Converter.ConvertSVG(document, saveOptions, Path.Combine(OutputDir, "lineto_out.pdf"));
17 }
El constructor
PdfSaveOptions() inicializa una instancia de la clase PdfSaveOptions que se pasa al método ConvertSVG(). El método
ConvertSVG() toma el document
, saveOptions
, la ruta del archivo de salida y realiza la operación de conversión. En el ejemplo anterior, agregamos la propiedad “BackgroundColor” que establece “Color”, que llenará el fondo de cada página.
Puede descargar los ejemplos completos y los archivos de datos desde GitHub. Encontrará información sobre cómo descargar desde GitHub y ejecutar ejemplos en la sección Cómo ejecutar los ejemplos.
Opciones de guardado – PdfSaveOptions
Puede convertir SVG a PDF utilizando las opciones de guardado predeterminadas o personalizadas. El uso de PdfSaveOptions o PdfRenderingOptions le permite personalizar el proceso de renderizado; puede especificar el tamaño de la página, los márgenes, el color de fondo, los permisos de archivo, CSS, etc.
Property | Description |
---|---|
JpegQuality | Specifies the quality of JPEG compression for images. The default value is 95. |
Css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
DocumentInfo | This property contains information about the output PDF document. |
BackgroundColor | This property sets the color that will fill the background of every page. By default, this property is Transparent. |
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
HorizontalResolution | Sets the horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
VerticalResolution | Sets the vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
Encryption | This property gets or sets encryption details. If it is not set, then no encryption will be performed. |
Nota: Las opciones que se implementan con la clase PdfSaveOptions heredan de la clase PdfRenderingOptions.
Convertir SVG a PDF usando el método RenderTo()
Considere el escenario de conversión de SVG a PDF utilizando el método RenderTo():
- Inicializar un documento usando el constructor SVGDocument() ( light.svg).
- Inicialice una instancia de la clase PdfRenderingOptions y especifique las propiedades del documento.
- Cree una nueva instancia de la clase PdfDevice.
- Convertir el documento mediante el método RenderTo().
El siguiente fragmento de código se puede utilizar para convertir un archivo SVG a formato PDF:
1using Aspose.Svg;
2using System.IO;
3using Aspose.Svg.Drawing;
4using Aspose.Svg.Rendering;
5using Aspose.Svg.Rendering.Pdf;
6...
7
8 // Initialize an SVG document from a file
9 using (var document = new SVGDocument(Path.Combine(DataDir, "light.svg")))
10 {
11 // Initialize an instance of the PdfRenderingOptions class and set custom PageSetup and JpegQuality properties
12 var pdfRenderingOptions = new PdfRenderingOptions();
13 pdfRenderingOptions.PageSetup.AnyPage = new Page(new Drawing.Size(500, 500), new Margin(10, 10, 10, 10));
14 pdfRenderingOptions.JpegQuality = 10;
15
16 // Initialize an instance of the PdfDevice class
17 using (IDevice device = new PdfDevice(pdfRenderingOptions, Path.Combine(OutputDir, "light_out.pdf")))
18 {
19 // Render SVG to PDF and send the document to the rendering device
20 document.RenderTo(device);
21 }
22 }
El constructor
PdfRenderingOptions() inicializa un nuevo objeto de la clase
PdfRenderingOptions que se pasa como argumento al constructor
PdfDevice(options, file
). El último inicializa una nueva instancia de la clase
PdfDevice representando las opciones y el nombre del archivo de salida. El método
RenderTo(device
) convierte SVG a PDF y envía el documento actual al dispositivo de renderizado de salida.
JpegQuality
especifica la calidad de la compresión JPEG para imágenes. El valor predeterminado es 95. En el ejemplo anterior, el valor JpegQuality
usado es 10. La figura ilustra la conversión de SVG a PDF para dos archivos
light.svg y
lineto.svg: a) El El valor JpegQuality
es el predeterminado; b) El valor de JpegQuality
es 10.
Puede convertir SVG a PDF con nuestro Convertidor SVG a PDF gratuito en línea que funciona con alta calidad, fácil y rápido. ¡Simplemente cargue, convierta sus archivos y obtenga resultados en unos segundos!