Convertir PPT et PPTX en PDF avec Python | Options avancées

Aperçu

Convertir des présentations PowerPoint (PPT, PPTX, ODP) en format PDF avec Python offre plusieurs avantages, notamment la garantie de compatibilité sur différents appareils et la préservation de la mise en page et du formatage de votre présentation. Ce guide montre comment convertir des présentations en documents PDF, utiliser diverses options pour contrôler la qualité des images, inclure les diapositives masquées, protéger les PDF par mot de passe, détecter les substitutions de police, sélectionner des diapositives spécifiques pour la conversion et appliquer des normes de conformité aux documents de sortie.

Conversions PowerPoint vers PDF

À l’aide d’Aspose.Slides, vous pouvez convertir des présentations de ces formats en PDF :

  • PPT
  • PPTX
  • ODP

Pour convertir une présentation en PDF avec Python, il suffit de passer le nom du fichier en argument de la classe Presentation puis d’enregistrer la présentation au format PDF en utilisant la méthode Save. La classe Presentation expose la méthode Save généralement utilisée pour convertir une présentation en PDF.

Aspose.Slides vous permet de convertir :

  • Présentations entières en PDF
  • Diapositives spécifiques d’une présentation en PDF

Aspose.Slides exporte les présentations en PDF, en veillant à ce que le contenu des PDF résultants corresponde étroitement aux présentations originales. Les éléments et attributs sont rendus avec précision lors de la conversion, y compris :

  • Images
  • Zones de texte et formes
  • Mise en forme du texte
  • Mise en forme des paragraphes
  • Hyperliens
  • En‑têtes et pieds de page
  • Puces
  • Tableaux

Convertir PowerPoint en PDF

L’opération standard de conversion PowerPoint → PDF s’exécute avec les options par défaut. Dans ce cas, Aspose.Slides tente de convertir la présentation fournie en PDF en utilisant des paramètres optimaux aux niveaux de qualité maximale. 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 Python via .NET

Étapes du code :

  • Créez une instance de la classe Presentation et fournissez‑lui le fichier PowerPoint.
    • extension .ppt pour charger le fichier PPT dans la classe Presentation.
    • extension .pptx pour charger le fichier PPTX dans la classe Presentation.
    • extension .odp pour charger le fichier ODP dans la classe Presentation.
    • extension .pps pour charger le fichier PPS dans la classe Presentation.
  • Enregistrez 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")

# Enregistre la présentation au format 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 de la classe PdfOptions – qui vous permettent de personnaliser le PDF (résultat du processus de conversion), de verrouiller le PDF par mot de passe ou même de spécifier le déroulement de la conversion.

Convertir PowerPoint en PDF avec options personnalisées

À l’aide d’options de conversion personnalisées, vous pouvez définir votre réglage de qualité préféré pour les images raster, spécifier la gestion des métafichiers, définir un niveau de compression pour les textes, fixer le DPI des images, etc.

L’exemple de code ci‑dessous montre une opération où 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 le DPI pour les images
pdf_options.sufficient_resolution = 300

# Définit le comportement pour les métafichiers
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é 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:
    # Enregistre la présentation en tant que document PDF
    presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)

Convertir PowerPoint en PDF avec diapositives masquées

Si une présentation contient des diapositives masquées, vous pouvez utiliser une option personnalisée – la propriété show_hidden_slides de la classe PdfOptions – pour demander à Aspose.Slides d’inclure les diapositives masquées comme pages dans le PDF résultant.

Ce code Python vous montre comment convertir une présentation PowerPoint en PDF avec les diapositives masqué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 les diapositives masquées
pdfOptions.show_hidden_slides = True

# Enregistre la présentation au format 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 PDF et les autorisations d'accès
pdfOptions.password = "password"
pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT

# Enregistre la présentation au format 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 de la classe SaveOptions pour vous permettre de détecter les substitutions de police lors d’une conversion présentation → PDF.

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

[TODO[SLIDESPYNET-91]: callbacks are not supported for now]

Convertir des diapositives sélectionnées d’un 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 ]

# Enregistre la présentation au format 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 dont la taille de diapositive est spécifiée en PDF :

import aspose.slides as slides

slide_width = 612
slide_height = 792

# Instancie la classe Presentation qui représente un fichier PowerPoint ou OpenDocument.
with slides.Presentation("SelectedSlides.pptx") as presentation:

    # Crée une nouvelle présentation avec une taille de diapositive ajustée.
    with slides.Presentation() as resized_presentation:

        # Définit la taille de diapositive personnalisée.
        resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT)

        # Clone la première diapositive de la présentation originale.
        slide = presentation.slides[0]
        resized_presentation.slides.insert_clone(0, slide)

        # Enregistre la présentation redimensionnée au format PDF avec les notes.
        resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF)

Convertir PowerPoint en PDF en mode 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

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

Normes d’accessibilité et de conformité pour les PDF

Aspose.Slides vous permet d’utiliser une procédure de conversion conforme aux Web Content Accessibility Guidelines (WCAG). Vous pouvez exporter un document PowerPoint en PDF en respectant l’une de ces normes de conformité : PDF/A1a, PDF/A1b et PDF/UA.

Ce code Python montre une opération de conversion PowerPoint → PDF où plusieurs PDF 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)

Note : lors de l’exportation vers PDF/UA, Aspose.Slides traite les graphiques complexes tels que SmartArt, les diagrammes et les formules comme une figure unique. Les éléments de chemin individuels ne sont pas conservés comme contenu séparé et peuvent être marqués comme artefacts ; le texte alternatif n’est fourni que pour la figure entière.

FAQ

Aspose.Slides pour Python peut‑il supprimer les informations d’application du PDF ?

Non, Aspose.Slides pour Python inclut automatiquement les informations d’API et le numéro de version dans le PDF de sortie. Ces informations ne peuvent pas être modifiées ou supprimées.

Comment n’inclure que des diapositives spécifiques dans la conversion PDF ?

Vous pouvez spécifier les indices des diapositives à convertir en transmettant un tableau de positions de diapositives à la méthode save.

Est‑il possible de protéger le PDF par mot de passe lors de la conversion ?

Oui, vous pouvez définir un mot de passe et spécifier les autorisations d’accès en utilisant la classe PdfOptions avant d’enregistrer la présentation au format PDF.

Aspose.Slides prend‑il en charge la conversion de PDF vers d’autres formats ?

Oui, Aspose.Slides prend en charge la conversion des PDF vers des formats tels que HTML, les formats d’image (JPG, PNG), SVG, TIFF et XML.

Comment garantir que mon PDF respecte les normes d’accessibilité ?

Définissez la propriété compliance dans PdfOptions sur des normes comme PDF_A1A, PDF_A1B ou PDF_UA pour assurer la conformité aux directives d’accessibilité.

Puis‑je inclure les diapositives masquées dans le PDF final ?

Oui, en définissant la propriété show_hidden_slides dans PdfOptions sur True, les diapositives masquées seront incluses dans le PDF.

Comment ajuster la qualité et la résolution des images lors de la conversion ?

Utilisez les propriétés jpeg_quality et sufficient_resolution dans PdfOptions pour contrôler la qualité et la résolution des images dans le PDF résultant.

Aspose.Slides gère‑t‑il automatiquement les substitutions de police ?

Aspose.Slides détecte les substitutions de police pendant la conversion, et vous pouvez les gérer à l’aide de la propriété warning_callback dans SaveOptions (actuellement limitée).

Ressources supplémentaires