Convertir PPT et PPTX en PDF en PHP [Fonctionnalités avancées incluses]
Vue d’ensemble
Convertir les présentations PowerPoint (PPT, PPTX, ODP, etc.) en format PDF en PHP offre plusieurs avantages, notamment la compatibilité entre 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 fichiers PDF par mot de passe, détecter les substitutions de polices, sélectionner des diapositives spécifiques pour la conversion et appliquer des normes de conformité aux documents de sortie.
Conversions de PowerPoint en PDF
En utilisant Aspose.Slides, vous pouvez convertir les présentations dans les formats suivants en PDF :
- PPT
- PPTX
- ODP
Pour convertir une présentation en PDF, transmettez le nom du fichier en argument à la classe Presentation puis enregistrez la présentation au format PDF à l’aide de la méthode save. La classe Presentation expose la méthode save généralement utilisée pour convertir une présentation en PDF.
Note
Aspose.Slides for PHP via Java insère les informations de son API et le numéro de version dans les documents générés. Par exemple, lors de la conversion d’une présentation en PDF, Aspose.Slides remplit le champ Application avec “Aspose.Slides” et le champ PDF Producer avec une valeur sous la forme “Aspose.Slides v XX.XX”. Note que vous ne pouvez pas demander à Aspose.Slides de modifier ou de supprimer ces informations des documents générés.Aspose.Slides vous permet de convertir :
- Des présentations entières en PDF
- Des diapositives spécifiques d’une présentation en PDF
Aspose.Slides exporte les présentations vers PDF, garantissant que les PDF résultants correspondent étroitement aux présentations d’origine. Les éléments et attributs sont rendus avec précision lors de la conversion, y compris :
- Images
- Zones de texte et formes
- Formatage du texte
- Formatage des paragraphes
- Hyperliens
- En‑têtes et pieds de page
- Puces
- Tables
Convertir PowerPoint en PDF
Le processus standard de conversion PowerPoint‑vers‑PDF utilise 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.
L’exemple suivant charge une présentation et enregistre toutes les diapositives visibles en PDF en utilisant les paramètres d’exportation par défaut.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PPT-to-PDF.pdf", SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Note
Aspose propose un convertisseur en ligne gratuit PowerPoint to PDF converter qui montre le processus de conversion présentation‑vers‑PDF. Vous pouvez tester ce convertisseur pour voir une implémentation en direct de la procédure décrite ici.Convertir PowerPoint en PDF avec Options
Aspose.Slides fournit des options personnalisées—propriétés de la classe PdfOptions—qui vous permettent de personnaliser le PDF résultant, de le protéger par mot de passe ou de spécifier le déroulement du processus de conversion.
Convertir PowerPoint en PDF avec Options Personnalisées
À l’aide d’options de conversion personnalisées, vous pouvez définir votre paramètre de qualité préféré pour les images raster, indiquer comment gérer les métafichiers, définir un niveau de compression pour le texte, configurer le DPI des images, etc.
L’exemple suivant exporte une présentation vers PDF 1.5 avec une qualité JPEG de 90, une résolution d’image de 300 DPI, les métafichiers enregistrés en PNG et une compression texte Flate.
use aspose\slides\PdfCompliance;
use aspose\slides\PdfOptions;
use aspose\slides\PdfTextCompression;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setJpegQuality(90);
$pdfOptions->setSufficientResolution(300);
$pdfOptions->setSaveMetafilesAsPng(true);
$pdfOptions->setTextCompression(PdfTextCompression::Flate);
$pdfOptions->setCompliance(PdfCompliance::Pdf15);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Conserver les Fichiers OLE Intégrés comme Pièces Jointes PDF
Si une présentation contient un classeur Excel intégré, vous pouvez souhaiter que les destinataires du PDF accèdent aux données du classeur ainsi qu’aux diapositives. Appelez setIncludeOleData avec true pour conserver les fichiers OLE intégrés comme pièces jointes dans le PDF résultant.
La valeur par défaut est false : l’image d’aperçu ou l’icône de l’objet OLE est rendue sur la page PDF, mais le fichier intégré n’est pas ajouté en tant que pièce jointe. Le définir à true ajoute également les données du fichier. L’aperçu reste une représentation visuelle ; la pièce jointe permet aux destinataires d’ouvrir ou d’enregistrer le fichier intégré séparément. L’objet OLE ne devient pas une feuille de calcul Excel interactive sur la page PDF.
L’exemple suivant charge une présentation contenant déjà un classeur Excel intégré et l’exporte en PDF avec le classeur attaché.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setIncludeOleData(true);
$presentation = new Presentation("presentation.pptx");
try {
$presentation->save("presentation.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Pour vérifier le résultat :
- Ouvrez le PDF exporté avec un lecteur qui accepte les pièces jointes, comme Adobe Acrobat Reader.
- Ouvrez le panneau Attachments du lecteur et localisez le classeur intégré.
- Enregistrez la pièce jointe et ouvrez‑la dans Excel pour examiner les données, ou ouvrez‑la directement si le lecteur le permet. L’aperçu sur la page PDF est séparé de la pièce jointe.
Note
Les normes PDF/A imposent des restrictions sur les pièces jointes : PDF/A‑1 interdit les fichiers intégrés, PDF/A‑2 n’autorise que les pièces jointes PDF/A, et PDF/A‑3 autorise d’autres types de fichiers, y compris les classeurs Excel. Ce sont des exigences des normes, pas des restrictions propres à Aspose.Slides. Cet exemple utilise le paramètre de conformité PDF par défaut et ne montre pas l’export PDF/A.Convertir PowerPoint en PDF avec Diapositives Masquées
Si une présentation contient des diapositives masquées, vous pouvez utiliser la méthode setShowHiddenSlides de la classe PdfOptions pour inclure les diapositives masquées en tant que pages du PDF résultant.
L’exemple suivant exporte une présentation en PDF, incluant les diapositives masquées.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setShowHiddenSlides(true);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PowerPoint-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Convertir PowerPoint en PDF Protégé par Mot de Passe
L’exemple suivant exporte une présentation en PDF qui nécessite le mot de passe password pour être ouvert. Les autorisations d’accès permettent l’impression, y compris l’impression haute qualité.
use aspose\slides\PdfAccessPermissions;
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setPassword("password");
$pdfOptions->setAccessPermissions(PdfAccessPermissions::PrintDocument | PdfAccessPermissions::HighQualityPrint);
$presentation = new Presentation("PowerPoint.pptx");
try {
$presentation->save("PPTX-to-PDF.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Détecter les Substitutions de Polices
Aspose.Slides fournit la méthode setWarningCallback de la classe PdfOptions qui permet de détecter les substitutions de polices pendant la conversion présentation‑vers‑PDF.
L’exemple suivant exporte une présentation en PDF et affiche les avertissements de substitution de police dans la console. Un avertissement est émis uniquement lorsqu’une police indisponible est substituée lors de l’export.
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\ReturnAction;
use aspose\slides\SaveFormat;
use aspose\slides\WarningType;
class FontSubstitutionHandler {
function warning($warning)
{
if (java_values($warning->getWarningType()) == WarningType::DataLoss && $warning->getDescription()->startsWith("Font will be substituted")) {
echo("Font substitution warning: " . $warning->getDescription());
}
return ReturnAction::Continue;
}
}
$warningCallback = java_closure(new FontSubstitutionHandler(), null, java("com.aspose.slides.IWarningCallback"));
$pdfOptions = new PdfOptions();
$pdfOptions->setWarningCallback($warningCallback);
$presentation = new Presentation("sample.pptx");
try {
$presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Note
Pour plus d’informations sur les substitutions de polices, consultez l’article Font Substitution.Gérer les Polices Sans Variante Gras Dédiée
Une présentation peut appliquer le gras à du texte même si la police ne possède pas de variante gras dédiée. Le texte apparaît alors en gras grâce à un “synthetic bold”, qui épaissit artificiellement les glyphes normaux. Lorsque ce texte paraît trop lourd ou diffère de l’apparence attendue dans le PDF, essayez d’appeler PdfOptions::setRasterizeUnsupportedFontStyles avec true. Cette option rend le texte concerné sous forme de bitmap lors de l’export PDF et peut améliorer son apparence pour certaines polices. Sa valeur par défaut est false.
La présentation d’exemple contient deux zones de texte : une avec texte normal et une avec mise en gras appliquée à la même police, qui ne possède pas de variante gras dédiée. L’exemple suivant charge la présentation, active la rasterisation des styles de police non pris en charge, et l’exporte en PDF :
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$pdfOptions = new PdfOptions();
$pdfOptions->setRasterizeUnsupportedFontStyles(true);
$presentation = new Presentation("unsupported-bold.pptx");
try {
$presentation->save("rasterized.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Les aperçus suivants montrent le résultat désactivé et le résultat activé. Dans cet exemple, le texte gras possède des traits plus épais avec l’option désactivée. Avec l’option activée, ses traits sont plus légers ; le texte normal reste inchangé. Comparez les résultats avant de choisir le paramètre pour votre présentation.
Option désactivée (false, la valeur par défaut) |
Option activée (true) |
|---|---|
![]() |
![]() |
Dans cet exemple, l’activation de l’option ne transforme en bitmap que le texte gras : il ne peut pas être sélectionné, copié ou recherché en tant que texte sans OCR, et ses bords apparaissent plus doux à 800 % de zoom. Le texte normal reste recherchable. Avec l’option désactivée, les deux chaînes restent du texte.
Cette option rasterise le texte formaté en gras lorsque sa police n’a pas de variante gras dédiée. La Font substitution sélectionne plutôt une autre police lorsque l’originale est indisponible.
Convertir des Diapositives Sélectionnées de PowerPoint en PDF
L’exemple suivant exporte les diapositives 1 et 3 d’une présentation vers PDF. Les numéros de diapositives dans ce tableau sont indicés à partir de 1, et la présentation d’entrée doit contenir au moins trois diapositives.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("PowerPoint.pptx");
try {
$slides = array(1, 3);
$presentation->save("PPTX-to-PDF.pdf", $slides, SaveFormat::Pdf);
} finally {
$presentation->dispose();
}
Convertir PowerPoint en PDF avec Taille de Diapositive Personnalisée
L’exemple suivant copie la première diapositive d’une présentation dans une nouvelle présentation avec une taille de diapositive de 612 × 792 points (8,5 × 11 pouces). Il redimensionne le contenu de la diapositive pour l’ajuster et exporte la diapositive unique en PDF.
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\SlideSizeScaleType;
$slideWidth = 612.0;
$slideHeight = 792.0;
$presentation = new Presentation("SelectedSlides.pptx");
$resizedPresentation = new Presentation();
try {
$resizedPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::EnsureFit);
$slide = $presentation->getSlides()->get_Item(0);
$resizedPresentation->getSlides()->insertClone(0, $slide);
// Supprimer la diapositive vide créée avec la nouvelle présentation.
$resizedPresentation->getSlides()->removeAt(1);
$resizedPresentation->save("PDF_with_custom_slide_size.pdf", SaveFormat::Pdf);
} finally {
$resizedPresentation->dispose();
$presentation->dispose();
}
Convertir PowerPoint en PDF en Vue Notes de Diapositive
L’exemple suivant exporte une présentation en PDF, plaçant les notes du présentateur de chaque diapositive sous la diapositive. Utilisez une présentation contenant des notes du présentateur pour voir le résultat.
use aspose\slides\NotesCommentsLayoutingOptions;
use aspose\slides\NotesPositions;
use aspose\slides\PdfOptions;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomFull);
$pdfOptions = new PdfOptions();
$pdfOptions->setSlidesLayoutOptions($notesOptions);
$presentation = new Presentation("SelectedSlides.pptx");
try {
$presentation->save("PDF_with_notes.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Accessibilité et Normes de Conformité pour 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 suivant l’une de ces normes de conformité : PDF/A1a, PDF/A1b et PDF/UA.
Ce code montre un processus de conversion PowerPoint‑vers‑PDF qui produit plusieurs PDF selon différentes normes de conformité :
$presentation = new Presentation("pres.pptx");
try {
$pdfOptions = new PdfOptions();
$pdfOptions->setCompliance(PdfCompliance::PdfA1a);
$presentation->save("pres-a1a-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
$pdfOptions->setCompliance(PdfCompliance::PdfA1b);
$presentation->save("pres-a1b-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
$pdfOptions->setCompliance(PdfCompliance::PdfUa);
$presentation->save("pres-ua-compliance.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
Note
Aspose.Slides prend en charge les opérations de conversion PDF, vous permettant de convertir des fichiers PDF vers des formats de fichiers populaires. Vous pouvez effectuer les conversions PDF to HTML, PDF to image, PDF to JPG, et PDF to PNG. D’autres opérations de conversion PDF vers des formats spécialisés—PDF to SVG, PDF to TIFF, et PDF to XML—sont également prises en charge.Note : Lors de l’exportation vers PDF/UA, Aspose.Slides traite les graphiques complexes tels que SmartArt, graphiques et 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 est fourni uniquement pour la figure entière.
FAQ
Puis‑je convertir plusieurs fichiers PowerPoint en PDF en masse ?
Oui, Aspose.Slides prend en charge la conversion par lots de plusieurs fichiers PPT ou PPTX en PDF. Vous pouvez parcourir vos fichiers et appliquer le processus de conversion programmatiquement.
Est‑il possible de protéger le PDF converti par mot de passe ?
Oui. Utilisez la classe PdfOptions pour définir un mot de passe et spécifier les autorisations d’accès pendant le processus de conversion.
Comment inclure les diapositives masquées dans le PDF ?
Appelez setShowHiddenSlides avec true dans la classe PdfOptions pour inclure les diapositives masquées dans le PDF résultant.
Aspose.Slides peut‑il maintenir une haute qualité d’image dans le PDF ?
Oui, vous pouvez contrôler la qualité des images en utilisant des méthodes telles que setJpegQuality et setSufficientResolution de la classe PdfOptions pour garantir des images haute qualité dans votre PDF.
Aspose.Slides prend‑il en charge les normes de conformité PDF/A ?
Oui, Aspose.Slides vous permet d’exporter des PDF conformes aux différentes normes, y compris PDF/A1a, PDF/A1b et PDF/UA, assurant que vos documents répondent aux exigences d’accessibilité et d’archivage.

