Créer des présentations en PHP
Vue d’ensemble
Cet article montre comment créer une présentation dans Aspose.Slides, ajouter une zone de texte à sa première diapositive et enregistrer le résultat dans un fichier. Il montre également comment créer et enregistrer une présentation vide, ainsi que comment ouvrir une présentation existante dans un format pris en charge et l’enregistrer dans un autre format. Une courte FAQ à la fin couvre les questions courantes concernant les formats, les modèles, la taille des diapositives, les unités, l’utilisation de la mémoire, le multithreading, la licence, les signatures numériques et la prise en charge de VBA.
Avant de commencer, installez Aspose.Slides pour PHP via Java avec Composer et lancez PHP/Java Bridge dans Apache Tomcat. Consultez Installation pour la configuration complète. Les exemples ci-dessous supposent que Tomcat fonctionne sur localhost:8080 et que le dossier vendor de Composer se trouve à côté du script.
Créer une présentation PowerPoint
Pour créer une présentation et placer une zone de texte sur sa première diapositive, suivez ces étapes :
- Créez une instance de la classe Presentation. Une nouvelle présentation contient déjà une diapositive vide.
- Récupérez cette diapositive dans la collection renvoyée par Presentation::getSlides, en utilisant son indice 0.
- Ajoutez un rectangle avec la méthode ShapeCollection::addAutoShape et définissez son texte avec TextFrame::setText.
- Enregistrez la présentation en tant que fichier PPTX avec la méthode Presentation::save.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/fr/lib/aspose.slides.php");
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 400, 100);
$shape->getTextFrame()->setText("Hello, Aspose.Slides!");
$presentation->save(__DIR__ . "/hello.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Les deux lignes require_once chargent le client PHP/Java Bridge depuis Tomcat et les classes Aspose.Slides depuis le package Composer. Le coin supérieur gauche du rectangle se trouve à 50 points du bord gauche et à 50 points du bord supérieur de la diapositive, et le rectangle mesure 400 points de largeur sur 100 points de hauteur. Le fichier enregistré contient une diapositive avec ce rectangle et son texte. Sans licence, Aspose.Slides ajoute également un filigrane d’évaluation à chaque diapositive enregistrée ; voir Licensing.
Note
Aspose.Slides lit et écrit les fichiers à l’intérieur de Tomcat, pas dans votre processus PHP, ainsi un chemin relatif tel que"hello.pptx" est résolu par rapport au répertoire de travail de Tomcat. Les exemples de cette page construisent des chemins absolus avec __DIR__, de sorte que les fichiers sont lus et enregistrés à côté du script.
Créer et enregistrer une présentation
Pour créer une présentation vide et l’enregistrer, créez une instance de la classe Presentation et enregistrez‑la dans n’importe quel format de l’énumération SaveFormat. Le résultat est une présentation avec une diapositive vide.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/fr/lib/aspose.slides.php");
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation();
try {
$presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Ouvrir et enregistrer une présentation
Pour convertir une présentation d’un format à un autre, ouvrez‑la en passant son chemin au constructeur Presentation, puis enregistrez‑la dans le format cible. Aspose.Slides détecte le format d’entrée, tel que PPT, PPTX ou ODP, à partir du fichier lui‑même.
L’exemple ci‑dessous suppose une présentation OpenDocument nommée Sample.odp à côté du script et l’enregistre au format PPTX.
<?php
require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once(__DIR__ . "/vendor/aspose/slides/fr/lib/aspose.slides.php");
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation(__DIR__ . "/Sample.odp");
try {
$presentation->save(__DIR__ . "/OutputPresentation.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
FAQ
Quels formats puis‑je enregistrer pour une nouvelle présentation ?
Vous pouvez enregistrer au format PPTX, PPT et ODP, et exporter en PDF, XPS, HTML, SVG et images, entre autres.
Puis‑je partir d’un modèle (POTX/POTM) et enregistrer en PPTX standard ?
Oui. Chargez le modèle et enregistrez‑le dans le format souhaité ; les formats POTX/POTM/PPTM et similaires sont pris en charge.
Comment contrôler la taille/le rapport d’aspect des diapositives lors de la création d’une présentation ?
Définissez la taille de la diapositive (y compris les préréglages comme 4:3 et 16:9 ou des dimensions personnalisées) et choisissez comment le contenu doit être mis à l’échelle.
Dans quelles unités les tailles et coordonnées sont‑elles mesurées ?
En points : 1 pouce correspond à 72 unités.
Comment gérer des présentations très volumineuses (avec de nombreux médias) pour réduire l’utilisation de la mémoire ?
Utilisez les stratégies de gestion des BLOB, limitez le stockage en mémoire en exploitant des fichiers temporaires, et privilégiez les flux de travail basés sur fichiers plutôt que les flux purement en mémoire.
Puis‑je créer/enregistrer des présentations en parallèle ?
Vous ne pouvez pas manipuler la même instance Presentation depuis plusieurs threads. Exécutez des instances séparées et isolées par thread ou processus.
Comment supprimer le filigrane d’essai et les limitations ?
Appliquez une licence une fois par processus. Le XML de licence doit rester inchangé, et la configuration de la licence doit être synchronisée si plusieurs threads sont impliqués.
Puis‑je signer numériquement le PPTX que je crée ?
Oui. Les signatures numériques (ajout et vérification) sont prises en charge pour les présentations.
Les macros (VBA) sont‑elles prises en charge dans les présentations créées ?
Oui. Vous pouvez créer/modifier des projets VBA et enregistrer des fichiers avec macros tels que PPTM/PPSM.