Convertir PowerPoint en PDF avec Python

Aperçu

La conversion de documents PowerPoint en format PDF offre plusieurs avantages, notamment l’assurance de la compatibilité sur différents appareils et la préservation de la mise en page et du format de votre présentation. Cet article vous montre comment convertir des présentations en documents PDF, utiliser diverses options pour contrôler la qualité des images, inclure des diapositives cachées, protéger par mot de passe les documents PDF, détecter les substitutions de police, sélectionner des diapositives pour la conversion et appliquer des normes de conformité aux documents de sortie.

Conversions PowerPoint en PDF

Avec Aspose.Slides, vous pouvez convertir des présentations dans ces formats en PDF :

  • PPT
  • PPTX
  • ODP

Pour convertir une présentation en PDF avec Python, il vous suffit de passer le nom du fichier en argument dans la classe Presentation puis de sauvegarder la présentation en PDF en utilisant une méthode Save. La classe Presentation expose la méthode Save qui est généralement utilisée pour convertir une présentation en PDF.

Aspose.Slides vous permet de convertir :

  • une présentation entière en PDF
  • des diapositives spécifiques dans une présentation en PDF
  • une présentation

Aspose.Slides exporte des présentations en PDF d’une manière qui rend le contenu des PDF résultants très similaire à celui des présentations originales. Ces éléments et attributs connus sont souvent rendus correctement dans les conversions de présentation en PDF :

  • images
  • zones de texte et autres formes
  • textes et leur formatage
  • paragraphes et leur formatage
  • hyperliens
  • en-têtes et pieds de page
  • puces
  • tableaux

Convertir PowerPoint en PDF

L’opération standard de conversion PowerPoint en PDF est exécutée en utilisant des options par défaut. Dans ce cas, Aspose.Slides essaie de convertir la présentation fournie en PDF en utilisant des paramètres optimaux aux niveaux de qualité maximum. Ce code Python vous montre comment convertir un PowerPoint en PDF :

Étapes : Conversions PowerPoint en PDF avec Python

Le code d’exemple suivant explique ces conversions en utilisant Python via .NET

Code des étapes :

  • Créer une instance de la classe Presentation et lui fournir le fichier PowerPoint.
    • .ppt pour charger un fichier PPT dans la classe Presentation.
    • .pptx pour charger un fichier PPTX dans la classe Presentation.
    • .odp pour charger un fichier ODP dans la classe Presentation.
    • .pps pour charger un fichier PPS dans la classe Presentation.
  • Sauvegarder la Presentation au format PDF en appelant la méthode Save et en utilisant l’énumération SaveFormat.PDF.
import aspose.slides as slides

# Instancie une classe Presentation qui représente un fichier PowerPoint
presentation = slides.Presentation("PowerPoint.ppt")

# Sauvegarde la présentation en tant que PDF
presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF)

Convertir PowerPoint en PDF avec options

Aspose.Slides fournit des options personnalisées — des propriétés sous la classe PdfOptions — qui vous permettent de personnaliser le PDF (résultant du processus de conversion), de verrouiller le PDF avec un mot de passe ou même de spécifier comment le processus de conversion doit se dérouler.

Convertir PowerPoint en PDF avec options personnalisées

En utilisant des options de conversion personnalisées, vous pouvez définir votre paramètre de qualité préféré pour les images raster, spécifier comment les métadonnées doivent être gérées, définir un niveau de compression pour les textes, définir les DPI pour les images, etc.

L’exemple de code ci-dessous démontre une opération dans laquelle une présentation PowerPoint est convertie en PDF avec plusieurs options personnalisées :

import aspose.slides as slides

# Instancie la classe PdfOptions
pdf_options = slides.export.PdfOptions()

# Définit la qualité pour les images JPG
pdf_options.jpeg_quality = 90

# Définit les DPI pour les images
pdf_options.sufficient_resolution = 300

# Définit le comportement pour les métadonnées
pdf_options.save_metafiles_as_png = True

# Définit le niveau de compression du texte pour le contenu textuel
pdf_options.text_compression = slides.export.PdfTextCompression.FLATE

# Définit le mode de conformité du PDF
pdf_options.compliance = slides.export.PdfCompliance.PDF15

# Instancie la classe Presentation qui représente un document PowerPoint
with slides.Presentation("PowerPoint.pptx") as presentation:
    # Sauvegarde la présentation comme document PDF
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Convertir PowerPoint en PDF avec diapositives cachées

Si une présentation contient des diapositives cachées, vous pouvez utiliser une option personnalisée — la propriété show_hidden_slides de la classe PdfOptions — pour indiquer à Aspose.Slides d’inclure les diapositives cachées en tant que pages dans le PDF résultant.

Ce code Python vous montre comment convertir une présentation PowerPoint en PDF avec les diapositives cachées incluses :

import aspose.slides as slides

# Instancie une classe Presentation qui représente un fichier PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Instancie la classe PdfOptions
pdfOptions = slides.export.PdfOptions()

# Ajoute des diapositives cachées
pdfOptions.show_hidden_slides = True

# Sauvegarde la présentation en tant que PDF
presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions)

Convertir PowerPoint en PDF protégé par mot de passe

Ce code Python vous montre comment convertir un PowerPoint en PDF protégé par mot de passe (en utilisant les paramètres de protection de la classe PdfOptions) :

import aspose.slides as slides

# Instancie un objet Presentation qui représente un fichier PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Instancie la classe PdfOptions
pdfOptions = slides.export.PdfOptions()

# Définit le mot de passe du PDF et les autorisations d'accès
pdfOptions.password = "password"
pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT

# Sauvegarde la présentation en tant que PDF
presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions)

Détecter les substitutions de police

Aspose.Slides fournit la propriété warning_callback sous la classe SaveOptions pour vous permettre de détecter les substitutions de police dans un processus de conversion de présentation en PDF.

Ce code Python vous montre comment détecter les substitutions de police :

[TODO[SLIDESPYNET-91]: les callbacks ne sont pas pris en charge pour le moment]

Convertir des diapositives sélectionnées de PowerPoint en PDF

Ce code Python vous montre comment convertir des diapositives spécifiques d’une présentation PowerPoint en PDF :

import aspose.slides as slides

# Instancie un objet Presentation qui représente un fichier PowerPoint
presentation = slides.Presentation("PowerPoint.pptx")

# Définit un tableau de positions de diapositives
slides_array = [ 1, 3 ]

# Sauvegarde la présentation en tant que PDF
presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF)

Convertir PowerPoint en PDF avec taille de diapositive personnalisée

Ce code Python vous montre comment convertir un PowerPoint lorsque sa taille de diapositive est spécifiée en un PDF :

import aspose.slides as slides

# Instancie un objet Presentation qui représente un fichier PowerPoint 
presentation = slides.Presentation("SelectedSlides.pptx")
auxPresentation = slides.Presentation()

slide = presentation.slides[0]

auxPresentation.slides.insert_clone(0, slide)

# Définit le type et la taille de la diapositive 
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("PDFnotes_out.pdf", slides.export.SaveFormat.PDF, pdfOptions)

Convertir PowerPoint en PDF en vue des notes de diapositive

Ce code Python vous montre comment convertir un PowerPoint en PDF notes :

import aspose.slides as slides

# Instancie une classe Presentation qui représente un fichier PowerPoint
presentation = slides.Presentation("NotesFile.pptx")

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

# Sauvegarde la présentation en tant que PDF notes
presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions)

Normes d’accessibilité et de conformité pour PDF

Aspose.Slides vous permet d’utiliser une procédure de conversion qui respecte les lignes directrices pour l’accessibilité du contenu Web (WCAG). Vous pouvez exporter un document PowerPoint en PDF en utilisant l’une de ces normes de conformité : PDF/A1a, PDF/A1b, et PDF/UA.

Ce code Python démontre une opération de conversion PowerPoint en PDF dans laquelle plusieurs PDFs basés sur différentes normes de conformité sont obtenus :

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-compliance.pdf", slides.export.SaveFormat.PDF, options)

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

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