Convertir SVG a PDF en Python

En este artículo, encontrará información sobre cómo convertir SVG a PDF usando los métodos convert_svg() de la clase Converter y cómo aplicar PdfSaveOptions. Con Aspose.HTML for Python via .NET, puede convertir formato SVG a PDF mediante programación con control total sobre una amplia gama de parámetros de conversión. Además, puede probar un convertidor SVG en línea para probar la funcionalidad de la API de Python y convertir SVG sobre la marcha.

Convertidor SVG en línea

Puede convertir SVG a otros formatos con la API Aspose.HTML en tiempo real. Cargue SVG desde su sistema de archivos local o URL, seleccione el formato de salida y ejecute el ejemplo. Las opciones de guardado están configuradas de forma predeterminada. Recibirá inmediatamente el resultado de la conversión como un archivo separado.

                
            

Convertir SVG a PDF

Consideremos cómo convertir un documento SVG a un formato de archivo PDF. Los métodos convert_svg() de la clase Converter se utilizan principalmente como la forma más sencilla de convertir un archivo SVG a varios formatos. Debes seguir algunos pasos:

  1. Cargue un documento SVG. Para convertir, puede cargar SVG desde un archivo, URL o cadena de código. En el siguiente ejemplo, creamos un archivo SVG a partir de código.
  2. Cree un nuevo objeto PdfSaveOptions. Si no configura opciones específicas para guardar el archivo PDF resultante, se utilizarán las opciones predeterminadas.
  3. Utilice el método convert_svg(content, base_uri, options, output_path) de la clase Converter para guardar SVG como un archivo PDF.
 1import os
 2from aspose.html import *
 3from aspose.html.converters import *
 4from aspose.html.saving import *
 5
 6# Setup directories and define paths
 7output_dir = "output/"
 8if not os.path.exists(output_dir):
 9    os.makedirs(output_dir)
10save_path = os.path.join(output_dir, "circles.pdf")
11
12# SVG code
13svg_code = """
14<svg xmlns="http://www.w3.org/2000/svg">
15    <circle id="base" cx="100" cy="100" r="80" fill="teal" stroke="salmon" stroke-width="10" />
16    <g> 
17        <use href="#base" transform="translate(120, 10) scale(0.9)" />
18        <use href="#base" transform="translate(240, 20) scale(0.8)" />
19        <use href="#base" transform="translate(360, 30) scale(0.7)" />
20        <use href="#base" transform="translate(480, 40) scale(0.6)" />
21        <use href="#base" transform="translate(600, 50) scale(0.5)" />
22    </g>
23</svg>
24"""
25
26# Initialize PdfSaveOptions
27options = PdfSaveOptions()
28
29# Convert SVG to PDF
30Converter.convert_svg(svg_code, ".", options, save_path)

La figura muestra la calidad de la representación de SVG a PDF utilizando un fragmento del archivo circles.pdf como ejemplo. Hablamos de un fragmento de archivo porque el tamaño completo del archivo corresponderá a una página A4 ya que las opciones de guardado están configuradas de forma predeterminada.

Texto “imagen circulos.pdf”

Convierta SVG a PDF usando PdfSaveOptions

Aspose.HTML for Python via .NET proporciona la clase PdfSaveOptions, que le brinda más control sobre cómo se guardan los documentos en formato PDF. Algunas propiedades de esta clase heredan propiedades de clases base, como PdfRenderingOptions o RenderingOptions. Aquí hay una descripción de algunas propiedades disponibles en PdfSaveOptions:

Para convertir SVG a PDF con la especificación PdfSaveOptions, debe seguir algunos pasos:

  1. Cargue un archivo SVG usando uno de los constructores SVGDocument() de la clase SVGDocument.
  2. Cree un nuevo objeto PdfSaveOptions y especifique las opciones de guardado.
  3. Utilice uno de los métodos convert_svg() para guardar SVG como un archivo PDF. En el ejemplo, el método convert_svg() toma el document, las options y la ruta del archivo de salida save_path y realiza la operación de conversión.

El siguiente fragmento de código de Python configura las opciones de guardado de PDF para establecer el tamaño y los márgenes de la página, aplicar reglas CSS para la impresión, comprimir imágenes JPEG con una calidad del 80 % y habilitar archivos PDF etiquetados para mejorar la accesibilidad:

 1import os
 2from aspose.html import *
 3from aspose.html.saving import *
 4from aspose.html.drawing import *
 5from aspose.html.converters import *
 6from aspose.html.dom.svg import *
 7
 8# Setup directories and define paths
 9output_dir = "output/"
10input_dir = "data/"
11if not os.path.exists(output_dir):
12    os.makedirs(output_dir)
13
14document_path = os.path.join(input_dir, "document.svg")
15save_path = os.path.join(output_dir, "svg-to-pdf.pdf")
16
17# Load an SVG document
18document = SVGDocument(document_path)
19
20# Initialize PdfSaveOptions
21options = PdfSaveOptions()
22
23# Customize save options for PDF
24options.page_setup.any_page = Page(Size(600, 500), Margin(20, 20, 10, 10))
25options.css.media_type.PRINT
26options.jpeg_quality = 80
27options.is_tagged_pdf = True
28
29# Convert SVG to PDF
30Converter.convert_svg(document, options, save_path)

En el ejemplo anterior, usamos:

Compruebe la calidad de la conversión de SVG a PDF con nuestro Convertidor de SVG a PDF en línea. Sube, convierte tus archivos y obtén resultados en unos segundos. ¡Pruebe nuestro potente conversor de SVG a PDF gratis ahora!

Descargue nuestro Aspose.HTML para Python a través de la biblioteca .NET le permite convertir con éxito, rápida y fácilmente sus documentos HTML, MHTML, EPUB, SVG y Markdown a los formatos más populares.

Texto “Convertidor de SVG a PDF”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.