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.
 1# Convert SVG code to PDF document using Python
 2
 3import os
 4import aspose.html.converters as conv
 5import aspose.html.saving as sav
 6
 7# Setup directories and define paths
 8output_dir = "output/"
 9if not os.path.exists(output_dir):
10    os.makedirs(output_dir)
11save_path = os.path.join(output_dir, "circles.pdf")
12
13# SVG code
14svg_code = """
15<svg xmlns="http://www.w3.org/2000/svg">
16    <circle id="base" cx="100" cy="100" r="80" fill="teal" stroke="salmon" stroke-width="10" />
17    <g> 
18        <use href="#base" transform="translate(120, 10) scale(0.9)" />
19        <use href="#base" transform="translate(240, 20) scale(0.8)" />
20        <use href="#base" transform="translate(360, 30) scale(0.7)" />
21        <use href="#base" transform="translate(480, 40) scale(0.6)" />
22        <use href="#base" transform="translate(600, 50) scale(0.5)" />
23    </g>
24</svg>
25"""
26
27# Initialize PdfSaveOptions
28options = sav.PdfSaveOptions()
29
30# Convert SVG to PDF
31conv.Converter.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:

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