Gérer le Placeholder

Modifier le texte dans un Placeholder

En utilisant Aspose.Slides pour Java, vous pouvez trouver et modifier des placeholders sur des diapositives dans des présentations. Aspose.Slides vous permet d’apporter des modifications au texte dans un placeholder.

Prérequis : Vous avez besoin d’une présentation contenant un placeholder. Vous pouvez créer une telle présentation dans l’application standard Microsoft PowerPoint.

Voici comment vous utilisez Aspose.Slides pour remplacer le texte dans le placeholder de cette présentation :

  1. Instanciez la classe Presentation et passez la présentation comme argument.
  2. Obtenez une référence à la diapositive par son index.
  3. Itérez à travers les formes pour trouver le placeholder.
  4. Transformez la forme du placeholder en un AutoShape et modifiez le texte en utilisant le TextFrame associé à l'AutoShape.
  5. Enregistrez la présentation modifiée.

Ce code Java montre comment modifier le texte dans un placeholder :

// Instancie une classe Presentation
Presentation pres = new Presentation("ReplacingText.pptx");
try {

    // Accède à la première diapositive
    ISlide sld = pres.getSlides().get_Item(0);

    // Itère à travers les formes pour trouver le placeholder
    for (IShape shp : sld.getShapes()) 
    {
        if (shp.getPlaceholder() != null) {
            // Modifie le texte dans chaque placeholder
            ((IAutoShape) shp).getTextFrame().setText("Ceci est un Placeholder");
        }
    }

    // Enregistre la présentation sur le disque
    pres.save("output_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Définir le texte d’invite dans un Placeholder

Les mises en page standard et pré-construites contiennent des textes d’invite de placeholder tels que Cliquez pour ajouter un titre ou Cliquez pour ajouter un sous-titre. En utilisant Aspose.Slides, vous pouvez insérer vos textes d’invite préférés dans les mises en page de placeholder.

Ce code Java vous montre comment définir le texte d’invite dans un placeholder :

Presentation pres = new Presentation("Presentation.pptx");
try {
    ISlide slide = pres.getSlides().get_Item(0);
    for (IShape shape : slide.getSlide().getShapes()) // Itère à travers la diapositive
    {
        if (shape.getPlaceholder() != null && shape instanceof AutoShape)
        {
            String text = "";
            if (shape.getPlaceholder().getType() == PlaceholderType.CenteredTitle) // PowerPoint affiche "Cliquez pour ajouter un titre" 
            {
                text = "Ajouter un Titre";
            }
            else if (shape.getPlaceholder().getType() == PlaceholderType.Subtitle) // Ajoute un sous-titre
            {
                text = "Ajouter un Sous-titre";
            }

            ((IAutoShape)shape).getTextFrame().setText(text);
            System.out.println("Placeholder avec texte : " + text);
        }
    }

    pres.save("Placeholders_PromptText.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Définir la transparence de l’image du Placeholder

Aspose.Slides vous permet de définir la transparence de l’image de fond dans un placeholder de texte. En ajustant la transparence de l’image dans un tel cadre, vous pouvez faire ressortir le texte ou l’image (en fonction des couleurs du texte et de l’image).

Ce code Java vous montre comment définir la transparence pour une image de fond (dans une forme) :

Presentation presentation = new Presentation("example.pptx");

IAutoShape shape = (IAutoShape) presentation.getSlides().get_Item(0).getShapes().get_Item(0);

IImageTransformOperationCollection operationCollection = shape.getFillFormat().getPictureFillFormat().getPicture().getImageTransform();
for (int i = 0; i < operationCollection.size(); i++)
{
    if(operationCollection.get_Item(i) instanceof AlphaModulateFixed)
    {
        AlphaModulateFixed alphaModulate = (AlphaModulateFixed)operationCollection.get_Item(i);
        float currentValue = 100 - alphaModulate.getAmount();
        System.out.println("Valeur de transparence actuelle : " + currentValue);

        int alphaValue = 40;
        alphaModulate.setAmount(100 - alphaValue);
    }
}

presentation.save("example_out.pptx", SaveFormat.Pptx);