Convertir PowerPoint a PDF en Python

Descripción general

Convertir documentos de PowerPoint al formato PDF ofrece varias ventajas, incluyendo asegurar la compatibilidad entre diferentes dispositivos y preservar el diseño y la formateo de tu presentación. Este artículo te muestra cómo convertir presentaciones a documentos PDF, usar varias opciones para controlar la calidad de imagen, incluir diapositivas ocultas, proteger documentos PDF con contraseña, detectar sustituciones de fuentes, seleccionar diapositivas para conversión y aplicar estándares de cumplimiento a los documentos de salida.

Conversiones de PowerPoint a PDF

Usando Aspose.Slides, puedes convertir presentaciones en estos formatos a PDF:

  • PPT
  • PPTX
  • ODP

Para convertir una presentación a PDF en Python, simplemente debes pasar el nombre del archivo como un argumento en la clase Presentation y luego guardar la presentación como un PDF usando un método Save. La clase Presentation expone el método Save que se utiliza comúnmente para convertir una presentación a PDF.

Aspose.Slides permite convertir:

  • una presentación completa a PDF
  • diapositivas específicas en una presentación a PDF
  • una presentación

Aspose.Slides exporta presentaciones a PDF de una manera que hace que el contenido de los PDFs resultantes sea muy similar al de las presentaciones originales. Estos elementos y atributos conocidos suelen renderizarse correctamente en conversiones de presentación a PDF:

  • imágenes
  • cuadros de texto y otras formas
  • textos y su formato
  • párrafos y su formato
  • hiperenlaces
  • encabezados y pies de página
  • viñetas
  • tablas

Convertir PowerPoint a PDF

La operación estándar de conversión de PowerPoint a PDF se ejecuta usando opciones predeterminadas. En este caso, Aspose.Slides intenta convertir la presentación proporcionada a PDF usando configuraciones óptimas en los niveles de calidad máximos. Este código Python te muestra cómo convertir un PowerPoint a PDF:

Pasos: Conversiones de PowerPoint a PDF en Python

El siguiente código de ejemplo explica estas conversiones usando Python a través de .NET

Pasos de Código:

  • Crea una instancia de la clase Presentation y proporciona el archivo de PowerPoint.
    • .ppt extensión para cargar PPT archivo dentro de la clase Presentation.
    • .pptx extensión para cargar PPTX archivo dentro de la clase Presentation.
    • .odp extensión para cargar ODP archivo dentro de la clase Presentation.
    • .pps extensión para cargar PPS archivo dentro de la clase Presentation.
  • Guarda la Presentation en formato PDF llamando al método Save y usando la enumeración SaveFormat.PDF.
import aspose.slides as slides

# Instancia una clase Presentation que representa un archivo de PowerPoint
presentation = slides.Presentation("PowerPoint.ppt")

# Guarda la presentación como un PDF
presentation.save("PPT-a-PDF.pdf", slides.export.SaveFormat.PDF)

Convertir PowerPoint a PDF con Opciones

Aspose.Slides proporciona opciones personalizadas—propiedades bajo la clase PdfOptions—que te permiten personalizar el PDF (resultado del proceso de conversión), bloquear el PDF con una contraseña, o incluso especificar cómo debe ir el proceso de conversión.

Convertir PowerPoint a PDF con Opciones Personalizadas

Usando opciones de conversión personalizadas, puedes establecer tu configuración de calidad preferida para imágenes rasterizadas, especificar cómo deben manejarse los metafiles, establecer un nivel de compresión para textos, establecer DPI para imágenes, etc.

El siguiente ejemplo de código demuestra una operación en la que se convierte una presentación de PowerPoint a PDF con varias opciones personalizadas:

import aspose.slides as slides

# Instancia la clase PdfOptions
pdf_options = slides.export.PdfOptions()

# Establece la calidad para imágenes JPG
pdf_options.jpeg_quality = 90

# Establece DPI para imágenes
pdf_options.sufficient_resolution = 300

# Establece el comportamiento para metafiles
pdf_options.save_metafiles_as_png = True

# Establece el nivel de compresión de texto para contenido textual
pdf_options.text_compression = slides.export.PdfTextCompression.FLATE

# Define el modo de cumplimiento del PDF
pdf_options.compliance = slides.export.PdfCompliance.PDF15

# Instancia la clase Presentation que representa un documento de PowerPoint
with slides.Presentation("PowerPoint.pptx") as presentation:
    # Guarda la presentación como un documento PDF
    presentation.save("PowerPoint-a-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Convertir PowerPoint a PDF con Diapositivas Ocultas

Si una presentación contiene diapositivas ocultas, puedes usar una opción personalizada—la propiedad show_hidden_slides de la clase PdfOptions—para instruir a Aspose.Slides a incluir las diapositivas ocultas como páginas en el PDF resultante.

Este código Python te muestra cómo convertir una presentación de PowerPoint a PDF con las diapositivas ocultas incluidas:

import aspose.slides as slides

# Instancia una clase Presentation que representa un archivo de PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Instancia la clase PdfOptions
pdfOptions = slides.export.PdfOptions()

# Agrega diapositivas ocultas
pdfOptions.show_hidden_slides = True

# Guarda la presentación como un PDF
presentation.save("PowerPoint-a-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions)

Convertir PowerPoint a PDF Protegido con Contraseña

Este código Python te muestra cómo convertir un PowerPoint a un PDF protegido con contraseña (usando parámetros de protección de la clase PdfOptions):

import aspose.slides as slides

# Instancia un objeto Presentation que representa un archivo de PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Instancia la clase PdfOptions
pdfOptions = slides.export.PdfOptions()

# Establece la contraseña del PDF y permisos de acceso
pdfOptions.password = "contraseña"
pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT

# Guarda la presentación como un PDF
presentation.save("PPTX-a-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions)

Detectar Sustituciones de Fuentes**

Aspose.Slides proporciona la propiedad warning_callback bajo la clase SaveOptions para permitirte detectar sustituciones de fuentes en un proceso de conversión de presentación a PDF.

Este código Python te muestra cómo detectar sustituciones de fuentes:

[TODO[SLIDESPYNET-91]: los callbacks no son compatibles por ahora]

Convertir Diapositivas Seleccionadas en PowerPoint a PDF

Este código Python te muestra cómo convertir diapositivas específicas en una presentación de PowerPoint a PDF:

import aspose.slides as slides

# Instancia un objeto Presentation que representa un archivo de PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Establece un arreglo de posiciones de diapositivas
slides_array = [ 1, 3 ]

# Guarda la presentación como un PDF
presentation.save("PPTX-a-PDF.pdf", slides_array, slides.export.SaveFormat.PDF)

Convertir PowerPoint a PDF con Tamaño de Diapositiva Personalizado

Este código Python te muestra cómo convertir un PowerPoint cuando su tamaño de diapositiva está especificado a un PDF:

import aspose.slides as slides

# Instancia un objeto Presentation que representa un archivo de PowerPoint 
presentation = slides.Presentation("DiapositivasSeleccionadas.pptx")
auxPresentation = slides.Presentation()

slide = presentation.slides[0]

auxPresentation.slides.insert_clone(0, slide)

# Establece el tipo y tamaño de la diapositiva 
auxPresentation.slide_size.set_size(612, 792, slides.SlideSizeScaleType.ENSURE_FIT)

pdfOptions = slides.export.PdfOptions()
pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL

auxPresentation.save("PDFnotas_salida.pdf", slides.export.SaveFormat.PDF, pdfOptions)

Convertir PowerPoint a PDF en Vista de Diapositivas de Notas

Este código Python te muestra cómo convertir un PowerPoint a PDF notas:

import aspose.slides as slides

# Instancia una clase Presentation que representa un archivo de PowerPoint
presentation = slides.Presentation("ArchivoNotas.pptx")

pdfOptions = slides.export.PdfOptions()
pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL

# Guarda la presentación a PDF notas
presentation.Save("Pdf_Notas_salida.tiff", slides.export.SaveFormat.PDF, pdfOptions)

Estándares de Accesibilidad y Cumplimiento para PDF

Aspose.Slides te permite usar un procedimiento de conversión que cumple con las Directrices de Accesibilidad para el Contenido Web (WCAG). Puedes exportar un documento de PowerPoint a PDF usando cualquiera de estos estándares de cumplimiento: PDF/A1a, PDF/A1b y PDF/UA.

Este código Python demuestra una operación de conversión de PowerPoint a PDF en la que se obtienen múltiples PDFs basados en diferentes estándares de cumplimiento:

import aspose.slides as slides

pres = slides.Presentation("pres.pptx")

options = slides.export.PdfOptions()

options.compliance = slides.export.PdfCompliance.PDF_A1A
pres.save("pres-a1a-cumplimiento.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_A1B
pres.save("pres-a1b-cumplimiento.pdf", slides.export.SaveFormat.PDF, options)

options.compliance = slides.export.PdfCompliance.PDF_UA
pres.save("pres-ua-cumplimiento.pdf", slides.export.SaveFormat.PDF, options)