Convertir PPT et PPTX en PDF avec JavaScript [Fonctionnalités avancées incluses]
Vue d’ensemble
La conversion de présentations PowerPoint et OpenDocument (PPT, PPTX, ODP, etc.) au format PDF en JavaScript offre plusieurs avantages, notamment la 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 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
- 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 qui est généralement utilisée pour convertir une présentation en PDF.
Note
Aspose.Slides for Node.js via Java insère ses informations d’API et son numéro de version dans les documents de sortie. 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 de sortie.Aspose.Slides vous permet de convertir :
- L’intégralité des présentations en PDF
- Des diapositives spécifiques d’une présentation en PDF
Aspose.Slides exporte les présentations vers PDF, en veillant à ce que les PDF résultants correspondent étroitement aux présentations originales. Les éléments et attributs sont rendus avec précision lors de la conversion, notamment :
- 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
- Tables
Convertir PowerPoint en PDF
Le processus de conversion standard de PowerPoint en 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.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("PowerPoint.ppt");
try {
presentation.save("PPT-to-PDF.pdf", aspose.slides.SaveFormat.Pdf);
} finally {
presentation.dispose();
}
Note
Aspose propose un convertisseur PowerPoint en PDF gratuit en ligne qui montre le processus de conversion de présentation en PDF. Vous pouvez tester ce convertisseur pour une implémentation en direct de la procédure décrite ici.Convertir PowerPoint en PDF avec Options
Aspose.Slides propose des options personnalisées — propriétés de la classe PdfOptions — qui vous permettent de personnaliser le PDF résultant, de verrouiller le PDF avec un mot de passe ou 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 réglage de qualité préféré pour les images matricielles, spécifier comment les métafichiers doivent être traités, définir un niveau de compression pour le texte, configurer le DPI des images, etc.
L’exemple suivant exporte une présentation en PDF 1.5 avec une qualité JPEG réglée à 90, une résolution d’image de 300 DPI, les métafichiers enregistrés au format PNG et une compression de texte Flate.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setJpegQuality(java.newByte(90));
pdfOptions.setSufficientResolution(300);
pdfOptions.setSaveMetafilesAsPng(true);
pdfOptions.setTextCompression(aspose.slides.PdfTextCompression.Flate);
pdfOptions.setCompliance(aspose.slides.PdfCompliance.Pdf15);
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
presentation.save("PowerPoint-to-PDF.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Sélection Automatique de la Compression d’Image
Lorsqu’une présentation contient de nombreuses photographies ou captures d’écran, réduire la taille du PDF exporté peut faciliter l’envoi par courriel ou le téléchargement. Appelez PdfOptions.setBestImagesCompressionRatio avec true pour sélectionner automatiquement l’algorithme de compression le plus approprié pour chaque image lors de l’exportation du PDF.
L’exemple suivant charge une présentation existante, active la sélection automatique de la compression d’image et l’enregistre en tant que document PDF. Tous les autres paramètres d’exportation PDF conservent leurs valeurs par défaut.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setBestImagesCompressionRatio(true);
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
presentation.save("presentation.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Cette option sélectionne un algorithme de compression pour chaque image. Réduire la valeur transmise à setJpegQuality diminue la qualité des images JPEG, tandis que réduire la valeur transmise à setSufficientResolution permet d’échantillonner les images à une résolution inférieure, ce qui peut réduire les détails. L’activation de la sélection automatique de la compression ne modifie pas ces réglages.
Sélectionner les algorithmes de compression d’image nécessite du temps de traitement et de la mémoire supplémentaires. La réduction de taille dépend des images de la présentation et des paramètres d’exportation ; une réduction fixe n’est pas garantie pour chaque présentation.
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 puissent accéder aux données du classeur ainsi que visualiser les 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 son fichier intégré n’est pas inclus en tant que pièce jointe. Mettre l’option à true inclut en plus 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 séparément le fichier intégré. 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 joint.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setIncludeOleData(true);
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
presentation.save("presentation.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Pour vérifier le résultat :
- Ouvrez le PDF exporté dans un lecteur qui prend en charge les pièces jointes, tel qu’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 inspecter ses données, ou ouvrez‑la directement si le lecteur le permet. L’aperçu sur la page PDF est distinct 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 ne permet que les pièces jointes PDF/A, et PDF/A‑3 autorise d’autres types de fichiers, y compris les classeurs Excel. Il s’agit d’exigences des normes, et non de restrictions propres à Aspose.Slides. Cet exemple utilise le réglage de conformité PDF par défaut et ne montre pas l’exportation 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 dans le PDF résultant.
L’exemple suivant exporte une présentation en PDF, en incluant toutes les diapositives masquées.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setShowHiddenSlides(true);
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
presentation.save("PowerPoint-to-PDF.pdf", aspose.slides.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 autorisent l’impression, y compris l’impression de haute qualité.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setPassword("password");
pdfOptions.setAccessPermissions(aspose.slides.PdfAccessPermissions.PrintDocument | aspose.slides.PdfAccessPermissions.HighQualityPrint);
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
presentation.save("PPTX-to-PDF.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Détecter les Substitutions de Polices
Aspose.Slides fournit la méthode setWarningCallback de la classe PdfOptions qui vous permet de détecter les substitutions de polices pendant le processus de conversion de présentation en PDF.
L’exemple suivant exporte une présentation en PDF et affiche les avertissements de substitution de polices dans la console. Un avertissement est affiché uniquement lorsqu’une police indisponible est substituée lors de l’exportation.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
const FontSubstitutionHandler = java.newProxy("com.aspose.slides.IWarningCallback", {
warning: function (warning) {
if (warning.getWarningType() === aspose.slides.WarningType.DataLoss && warning.getDescription().startsWith("Font will be substituted")) {
console.warn("Font substitution warning: " + warning.getDescription());
}
return aspose.slides.ReturnAction.Continue;
}
});
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setWarningCallback(FontSubstitutionHandler);
let presentation = new aspose.slides.Presentation("sample.pptx");
try {
presentation.save("output.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Note
Pour plus d’informations sur la substitution de polices, consultez l’article Font Substitution.Gérer les Polices Sans Variante Grasse Dédiée
Une présentation peut appliquer une mise en forme en gras à du texte même si la police ne possède pas de variante grasse dédiée. Le texte peut ainsi apparaître en gras grâce à un faux gras, 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’exportation 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 : l’une avec du texte normal et l’autre avec une mise en forme en gras appliquée à la même police, qui n’a pas de variante grasse 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 :
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setRasterizeUnsupportedFontStyles(true);
let presentation = new aspose.slides.Presentation("unsupported-bold.pptx");
try {
presentation.save("rasterized.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Les aperçus suivants montrent la sortie désactivée et la sortie activée. Dans cet exemple, le texte en gras a 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 réglage pour votre présentation.
Option désactivée (false, par défaut) |
Option activée (true) |
|---|---|
![]() |
![]() |
Dans cet exemple, l’activation de l’option transforme uniquement le texte en gras en bitmap : il ne peut pas être sélectionné, copié ou recherché comme texte sans OCR, et ses contours apparaissent plus doux à 800 % de zoom. Le texte normal reste interrogeable. Avec l’option désactivée, les deux chaînes restent du texte.
Cette option rasterise le texte mis en forme gras lorsque sa police ne possède pas de variante grasse dédiée. La Font substitution sélectionne à la place une autre police si 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 en PDF. Les numéros de diapositives dans ce tableau sont indexés à partir de 1, et la présentation d’entrée doit contenir au moins trois diapositives.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let presentation = new aspose.slides.Presentation("PowerPoint.pptx");
try {
let slides = java.newArray("int", [1, 3]);
presentation.save("PPTX-to-PDF.pdf", slides, aspose.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 ajuste le contenu de la diapositive pour le faire tenir et exporte la diapositive unique en PDF.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const slideWidth = 612;
const slideHeight = 792;
let presentation = new aspose.slides.Presentation("SelectedSlides.pptx");
let resizedPresentation = new aspose.slides.Presentation();
try {
resizedPresentation.getSlideSize().setSize(slideWidth, slideHeight, aspose.slides.SlideSizeScaleType.EnsureFit);
let slide = presentation.getSlides().get_Item(0);
resizedPresentation.getSlides().insertClone(0, slide);
// Supprimer la diapositive vide avec laquelle la nouvelle présentation a été créée.
resizedPresentation.getSlides().removeAt(1);
resizedPresentation.save("PDF_with_custom_slide_size.pdf", aspose.slides.SaveFormat.Pdf);
} finally {
resizedPresentation.dispose();
presentation.dispose();
}
Convertir PowerPoint en PDF en Vue Notes
L’exemple suivant exporte une présentation en PDF, en 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.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let notesOptions = new aspose.slides.NotesCommentsLayoutingOptions();
notesOptions.setNotesPosition(aspose.slides.NotesPositions.BottomFull);
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setSlidesLayoutOptions(notesOptions);
let presentation = new aspose.slides.Presentation("SelectedSlides.pptx");
try {
presentation.save("PDF_with_notes.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
} finally {
presentation.dispose();
}
Normes d’Accessibilité et 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 utilisant l’une de ces normes de conformité : PDF/A1a, PDF/A1b et PDF/UA.
Ce code montre un processus de conversion PowerPoint en PDF qui produit plusieurs PDFs selon différentes normes de conformité :
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("pres.pptx");
try {
let pdfOptions = new aspose.slides.PdfOptions();
pdfOptions.setCompliance(aspose.slides.PdfCompliance.PdfA1a);
presentation.save("pres-a1a-compliance.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
pdfOptions.setCompliance(aspose.slides.PdfCompliance.PdfA1b);
presentation.save("pres-a1b-compliance.pdf", aspose.slides.SaveFormat.Pdf, pdfOptions);
pdfOptions.setCompliance(aspose.slides.PdfCompliance.PdfUa);
presentation.save("pres-ua-compliance.pdf", aspose.slides.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 fichier populaires. Vous pouvez réaliser les conversions PDF to HTML, 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 — sont également prises en charge.Note : Lors de l’exportation vers PDF/UA, Aspose.Slides traite les graphiques complexes tels que SmartArt, les graphiques et les formules comme une figure unique. Les éléments de chemin individuels ne sont pas conservés comme du contenu séparé et peuvent être marqués comme artefacts ; le texte alternatif n’est fourni que pour la figure entière.
FAQ
Puis-je convertir plusieurs fichiers PowerPoint en PDF en lot ?
Oui, Aspose.Slides prend en charge la conversion par lots de plusieurs fichiers PPT ou PPTX en PDF. Vous pouvez itérer sur vos fichiers et appliquer le processus de conversion par programme.
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 définir les permissions 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 dans la classe PdfOptions afin d’assurer des images de 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 PDFs conformes à diverses normes, y compris PDF/A1a, PDF/A1b et PDF/UA, garantissant que vos documents répondent aux exigences d’accessibilité et d’archivage.

