Opérations de présentation à faible code sur Android

Vue d’ensemble

Le package com.aspose.slides fournit des classes d’assistance statiques pour les opérations courantes sur les présentations. Ces assistants encapsulent des flux de travail fréquents du modèle d’objet dans des méthodes ciblées, afin que vous puissiez convertir ou fusionner des fichiers, traiter les éléments d’une présentation, collecter les formes et supprimer le contenu inutilisé avec moins de code.

Les assistants à faible code sont les plus utiles lorsque l’opération s’applique à un fichier ou à une présentation entière et que le flux de travail par défaut correspond à vos besoins. Utilisez le modèle complet Aspose.Slides lorsque vous avez besoin d’un contrôle fin sur des diapositives individuelles, des maîtres, des dispositions, des formes, des paramètres d’exportation ou les relations entre les éléments de la présentation.

Le tableau suivant résume les assistants disponibles :

Assistant À utiliser pour
Convert Convertir une présentation vers un autre format avec un appel direct fichier‑à‑fichier.
Merger Combiner des fichiers de présentation complets du même format.
ForEach Exécuter une action pour chaque diapositive, forme, paragraphe ou portion de texte.
Collect Récupérer les formes de toute la présentation pour un traitement ou une analyse répétés.
Compress Supprimer les maîtres et dispositions inutilisés et réduire les données de polices intégrées.

Convertir une présentation

Utilisez Convert.autoByExtension lorsque l’extension du fichier de sortie suffit à sélectionner le format d’exportation. La méthode ouvre la présentation source, détermine le format requis à partir du chemin de sortie et écrit le résultat.

import com.aspose.slides.Convert;

Convert.autoByExtension("input.pptx", "output.pdf");

La classe Convert propose également des méthodes dédiées pour les sorties PDF, SVG, JPEG, PNG et TIFF. Utilisez le modèle complet lorsque vous devez inspecter ou modifier la présentation avant l’exportation ou configurer une option d’exportation qui n’est pas exposée par l’assistant sélectionné. Consultez Convert Presentation pour les flux de travail et options spécifiques à chaque format.

Fusionner des présentations

Utilisez Merger.process pour combiner des fichiers de présentation complets en un seul appel. Les présentations d’entrée doivent avoir le même format de fichier.

import com.aspose.slides.Merger;

String[] inputFiles = { "part-1.pptx", "part-2.pptx" };
Merger.process(inputFiles, "merged.pptx");

Cet assistant convient lorsque toutes les diapositives doivent être ajoutées à un résultat unique sans les sélectionner ou les remapper individuellement. Utilisez le modèle complet lorsque vous devez fusionner des diapositives sélectionnées, appliquer un maître ou une disposition de destination, préserver explicitement les sections ou harmoniser des tailles de diapositive différentes. Consultez Merge Presentations pour ces scénarios.

Parcourir les éléments d’une présentation

La classe ForEach invoque un rappel pour chaque type d’élément de présentation demandé. Elle évite les boucles de collections imbriquées et est pratique pour une inspection ou des modifications de format à l’échelle de la présentation.

L’exemple suivant utilise ForEach.slide, ForEach.shape, ForEach.paragraph et ForEach.portion pour inspecter les éléments correspondants :

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    ForEach.slide(presentation, (slide, index) -> {
        System.out.println(String.format("Slide %d: %d shapes", index, slide.getShapes().size()));
    });

    ForEach.shape(presentation, (shape, slide, index) -> {
        System.out.println(String.format("Shape %d on %s: %s", index, slide.getClass().getSimpleName(), shape.getName()));
    });

    ForEach.paragraph(presentation, (paragraph, slide, index) -> {
        System.out.println(String.format("Paragraph %d on %s: %s", index, slide.getClass().getSimpleName(), paragraph.getText()));
    });

    ForEach.portion(presentation, (portion, paragraph, slide, index) -> {
        System.out.println(String.format("Portion %d on %s: %s", index, slide.getClass().getSimpleName(), portion.getText()));
    });
} finally {
    presentation.dispose();
}

Par défaut, le parcours des formes et du texte à l’échelle de la présentation inclut les diapositives normales, maîtres et de disposition. Les surcharges avec un paramètre includeNotes peuvent également traiter les diapositives de notes. Utilisez des boucles de collection directes lorsque l’ordre de parcours, la sortie anticipée, le filtrage avant l’invocation du rappel ou le contrôle détaillé parent‑enfant sont importants.

Collecter les formes

Utilisez Collect.shapes lorsque vous avez besoin d’une collection de toutes les formes d’une présentation plutôt que d’un rappel pour chaque forme. Cela est utile lorsque le même ensemble sera filtré, compté ou traité plusieurs fois.

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    Iterable<Shape> shapes = Collect.shapes(presentation);

    for (Shape shape : shapes) {
        System.out.println(String.format("%s: %s", shape.getName(), shape.getClass().getSimpleName()));
    }
} finally {
    presentation.dispose();
}

Utilisez ForEach.shape à la place lorsque chaque forme peut être traitée immédiatement et que vous n’avez pas besoin de conserver le résultat collecté.

Compresser le contenu d’une présentation

La classe Compress peut supprimer les éléments structurels inutilisés et réduire les données de polices intégrées :

import com.aspose.slides.*;

Presentation presentation = new Presentation("input.pptx");
try {
    Compress.removeUnusedLayoutSlides(presentation);
    Compress.removeUnusedMasterSlides(presentation);
    Compress.compressEmbeddedFonts(presentation);

    presentation.save("compressed.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

Supprimez d’abord les dispositions inutilisées, puis les maîtres inutilisés afin qu’un maître devenu non référencé après le nettoyage des dispositions puisse également être supprimé. Enregistrez la présentation optimisée dans un nouveau fichier si vous devez éventuellement conserver les maîtres, dispositions ou données complètes de polices intégrées d’origine. Pour plus de détails, consultez Slide Master et Embedded Font.

FAQ

Quand dois‑je utiliser l’API à faible code plutôt que le modèle complet d’objet ?

Utilisez les assistants à faible code lorsqu’une opération standard s’applique à un fichier ou à une présentation complète et ne nécessite pas de contrôle détaillé des éléments individuels. Utilisez le modèle complet lorsque vous devez sélectionner des diapositives spécifiques, contrôler les relations maître‑disposition, inspecter l’état intermédiaire ou configurer un comportement que l’assistant n’expose pas.

Le Merger peut‑il combiner des présentations de formats de fichier différents ?

Non. Merger.process requiert des présentations d’entrée dans le même format. Convertissez d’abord les fichiers d’entrée vers un format commun, par exemple avec Convert.autoByExtension, puis fusionnez les fichiers convertis.

ForEach traite‑t‑il les diapositives maître, disposition et notes ?

ForEach.slide parcourt les diapositives normales de la présentation. Les opérations ForEach.shape, ForEach.paragraph et ForEach.portion incluent par défaut les diapositives normales, maîtres et de disposition. Utilisez leurs surcharges avec includeNotes à true pour inclure les diapositives de notes.

Quelle est la différence entre ForEach.shape et Collect.shapes ?

Utilisez ForEach.shape pour traiter chaque forme immédiatement via un rappel. Utilisez Collect.shapes lorsque vous avez besoin d’un résultat itérable pouvant être conservé, filtré, compté ou parcouru plusieurs fois.

Compress rend‑il toujours le fichier de présentation plus petit ?

Pas nécessairement. Le résultat dépend de la présence ou non de dispositions inutilisées, de maîtres inutilisés ou de polices intégrées contenant des caractères inutilisés. Si aucun de ces éléments n’est présent, les opérations Compress peuvent ne pas réduire la taille du fichier.

Les modifications effectuées par ForEach ou Compress sont‑elles enregistrées automatiquement ?

Non. Ces assistants opèrent sur l’objet Presentation chargé en mémoire. Après avoir modifié des éléments dans un rappel ForEach ou exécuté Compress, appelez Presentation.save pour écrire le résultat.

Articles associés