Fusionner efficacement des présentations en PHP
Fusion de présentations
Lorsque vous fusionnez une présentation avec une autre, vous combinez effectivement leurs diapositives dans une seule présentation pour obtenir un seul fichier.
Info
La plupart des programmes de présentation (PowerPoint ou OpenOffice) ne disposent pas de fonctions permettant aux utilisateurs de combiner des présentations de cette manière.
Aspose.Slides for PHP via Java, cependant, vous permet de fusionner des présentations de différentes manières. Vous pouvez fusionner des présentations avec toutes leurs formes, styles, textes, formats, commentaires, animations, etc., sans vous soucier d’une perte de qualité ou de données.
Voir aussi
Ce qui peut être fusionné
Avec Aspose.Slides, vous pouvez fusionner
- des présentations complètes. Toutes les diapositives des présentations se retrouvent dans une présentation unique
- des diapositives spécifiques. Les diapositives sélectionnées se retrouvent dans une présentation unique
- des présentations dans un même format (PPT vers PPT, PPTX vers PPTX, etc.) et dans des formats différents (PPT vers PPTX, PPTX vers ODP, etc.) les unes vers les autres.
Note
En plus des présentations, Aspose.Slides vous permet de fusionner d’autres fichiers :
- Images, telles que JPG vers JPG ou PNG vers PNG
- Documents, tels que PDF vers PDF ou HTML vers HTML
- Et deux fichiers différents tels que image vers PDF, JPG vers PDF ou TIFF vers PDF.
Options de fusion
Vous pouvez appliquer des options qui déterminent si
- chaque diapositive de la présentation de sortie conserve un style unique
- un style spécifique est utilisé pour toutes les diapositives de la présentation de sortie.
Pour fusionner des présentations, Aspose.Slides fournit les méthodes addClone (de la classe SlideCollection ). Il existe plusieurs implémentations des méthodes addClone qui définissent les paramètres du processus de fusion de présentations. Chaque objet Presentation possède une collection de diapositive ; vous pouvez donc appeler une méthode addClone depuis la présentation dans laquelle vous souhaitez fusionner les diapositives.
La méthode addClone renvoie un objet Slide, qui est un clone de la diapositive source. Les diapositives d’une présentation de sortie sont simplement une copie des diapositives de la source. Par conséquent, vous pouvez modifier les diapositives résultantes (par exemple, appliquer des styles, des options de formatage ou des mises en page) sans vous soucier d’impact sur les présentations source.
Fusionner des présentations
Aspose.Slides fournit la méthode addClone(Slide) qui vous permet de combiner des diapositives tout en conservant leurs mises en page et styles (paramètres par défaut).
Ce code PHP vous montre comment fusionner des présentations :
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
Fusionner des présentations avec un masque de diapositive
Aspose.Slides fournit la méthode addClone(Slide, MasterSlide, boolean) qui vous permet de combiner des diapositives tout en appliquant un modèle de masque de diapositive. Ainsi, si nécessaire, vous pouvez modifier le style des diapositives de la présentation de sortie.
Ce code démontre l’opération décrite :
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres2->getMasters()->get_Item(0), true);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
Note
La mise en page de la diapositive pour le masque est déterminée automatiquement. Lorsqu’aucune mise en page appropriée ne peut être déterminée, si le paramètre booléenallowCloneMissingLayout de la méthode addClone est fixé à true, la mise en page de la diapositive source est utilisée. Sinon, PptxEditException sera levée.
Si vous voulez que les diapositives de la présentation de sortie utilisent une mise en page différente, utilisez plutôt la méthode addClone(Slide, LayoutSlide) lors de la fusion.
Fusionner des diapositives spécifiques de présentations
Fusionner des diapositives spécifiques provenant de plusieurs présentations est utile pour créer des jeux de diapositives personnalisés. Aspose.Slides for PHP via Java vous permet de sélectionner et d’importer uniquement les diapositives dont vous avez besoin. L’API conserve le formatage, la mise en page et le design des diapositives originales.
Le code PHP suivant crée une nouvelle présentation, ajoute des diapositives titres provenant de deux autres présentations et enregistre le résultat dans un fichier :
function getTitleSlide(Presentation $presentation) {
for ($i = 0; $i < java_values($presentation->getSlides()->size()); $i++) {
$slide = $presentation->getSlides()->get_Item($i);
if (java_values($slide->getLayoutSlide()->getLayoutType()) === SlideLayoutType::Title) {
return $slide;
}
}
return null;
}
$presentation = new Presentation();
$presentation1 = new Presentation($folderPath . "presentation1.pptx");
$presentation2 = new Presentation($folderPath . "presentation2.pptx");
try {
$presentation->getSlides()->removeAt(0);
$slide1 = getTitleSlide($presentation1);
if ($slide1 != null)
$presentation->getSlides()->addClone($slide1);
$slide2 = getTitleSlide($presentation2);
if ($slide2 != null)
$presentation->getSlides()->addClone($slide2);
$presentation->save($folderPath . "combined.pptx", SaveFormat::Pptx);
} finally {
$presentation2->dispose();
$presentation1->dispose();
$presentation->dispose();
}
Fusionner des présentations avec une mise en page de diapositive
Ce code PHP montre comment combiner des diapositives de présentations tout en appliquant votre mise en page de diapositive préférée afin d’obtenir une présentation de sortie unique :
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres2->getLayoutSlides()->get_Item(0));
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
Fusionner des présentations avec des tailles de diapositive différentes
Note
Vous ne pouvez pas fusionner des présentations avec des tailles de diapositive différentes.Pour fusionner 2 présentations dont les tailles de diapositives diffèrent, vous devez redimensionner l’une des présentations afin qu’elle corresponde à la taille de l’autre.
Ce code d’exemple montre l’opération décrite :
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
$pres2->getSlideSize()->setSize($pres1->getSlideSize()->getSize()->getWidth(), $pres1->getSlideSize()->getSize()->getHeight(), SlideSizeScaleType::EnsureFit);
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide);
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
Fusionner des diapositives dans une section de présentation
Ce code PHP montre comment fusionner une diapositive spécifique dans une section d’une présentation :
$pres1 = new Presentation("pres1.pptx");
try {
$pres2 = new Presentation("pres2.pptx");
try {
foreach($pres2->getSlides() as $slide) {
$pres1->getSlides()->addClone($slide, $pres1->getSections()->get_Item(0));
}
} finally {
if (!java_is_null($pres2)) {
$pres2->dispose();
}
}
$pres1->save("combined.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres1)) {
$pres1->dispose();
}
}
La diapositive est ajoutée à la fin de la section.
Voir aussi
Aspose propose un Créateur de collage en ligne GRATUIT. En utilisant ce service en ligne, vous pouvez fusionner des images JPG vers JPG ou PNG vers PNG, créer des grilles de photos et bien plus encore.
Découvrez le Aspose MERGEUR EN LIGNE GRATUIT. Il vous permet de fusionner des présentations PowerPoint dans le même format (par ex., PPT vers PPT, PPTX vers PPTX) ou entre différents formats (par ex., PPT vers PPTX, PPTX vers ODP).
FAQ
Existe-t-il des limitations quant au nombre de diapositives lors de la fusion de présentations ?
Aucune limitation stricte. Aspose.Slides peut gérer de gros fichiers, mais les performances dépendent de la taille et des ressources système. Pour des présentations très volumineuses, il est recommandé d’utiliser une JVM 64 bits et d’allouer suffisamment de mémoire heap.
Puis-je fusionner des présentations contenant des vidéos ou de l’audio intégrés ?
Oui, Aspose.Slides conserve le contenu multimédia intégré aux diapositives, mais la présentation finale peut devenir nettement plus volumineuse.
Les polices seront‑elles conservées lors de la fusion de présentations ?
Oui. Les polices utilisées dans les présentations sources sont conservées dans le fichier de sortie, à condition qu’elles soient installées sur le système ou intégré.
