Ajouter des légendes dynamiques, des sous‑titres ou des messages promotionnels aux GIF animés est un besoin courant pour les applications web et mobiles modernes. GroupDocs.Watermark Cloud SDK for Java fournit une bibliothèque puissante basée sur REST qui rend cette tâche simple. Dans ce guide, vous apprendrez comment ajouter une superposition de texte à un GIF en utilisant REST en Java, voir une implémentation Java complète, explorer les commandes cURL équivalentes et comprendre les étapes de configuration requises.

Ajouter une superposition de texte à un GIF en utilisant REST en Java - Exemple de code

Cet exemple montre comment configurer un filigrane texte et l’appliquer à chaque image d’un fichier GIF.

import com.groupdocs.watermark.cloud.api.WatermarkApi;
import com.groupdocs.watermark.cloud.client.ApiException;
import com.groupdocs.watermark.cloud.client.Configuration;
import com.groupdocs.watermark.cloud.model.AddWatermarkRequest;
import com.groupdocs.watermark.cloud.model.AddWatermarkResponse;
import com.groupdocs.watermark.cloud.model.FileInfo;
import com.groupdocs.watermark.cloud.model.OutputFileInfo;
import com.groupdocs.watermark.cloud.model.TextWatermarkOptions;
import com.groupdocs.watermark.cloud.model.HorizontalAlignment;
import com.groupdocs.watermark.cloud.model.VerticalAlignment;

public class AddTextOverlayToGif {
    public static void main(String[] args) {
        // Initialize API configuration (replace with your actual clientId and clientSecret)
        Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        WatermarkApi watermarkApi = new WatermarkApi(config);

// Prepare input file information
        FileInfo inputFile = new FileInfo();
        inputFile.setFilePath("input.gif");          // Path to the source GIF in the storage
        inputFile.setStorageName("MyStorage");       // Optional: name of the storage

// Prepare output file information
        OutputFileInfo outputFile = new OutputFileInfo();
        outputFile.setFilePath("output.gif");        // Desired path for the watermarked GIF
        outputFile.setStorageName("MyStorage");      // Optional: name of the storage

// Configure text watermark options
        TextWatermarkOptions textOptions = new TextWatermarkOptions();
        textOptions.setText("Sample Watermark");
        textOptions.setFontFamily("Arial");
        textOptions.setFontSize(24.0);
        textOptions.setColor("#FF0000");             // Red color in HEX
        textOptions.setOpacity(0.5);                 // 50% opacity
        textOptions.setRotationAngle(0.0);
        textOptions.setHorizontalAlignment(HorizontalAlignment.CENTER);
        textOptions.setVerticalAlignment(VerticalAlignment.MIDDLE);
        textOptions.setPageRange("1-");               // Apply to all frames/pages

// Build the request
        AddWatermarkRequest request = new AddWatermarkRequest();
        request.setFileInfo(inputFile);
        request.setOutputFileInfo(outputFile);
        request.setOptions(textOptions);

try {
            // Execute the request
            AddWatermarkResponse response = watermarkApi.addWatermark(request);
            System.out.println("Watermark added successfully. Output file: " + response.getPath());
        } catch (ApiException e) {
            System.err.println("Error while adding watermark: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez-vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.

Superposer du texte sur un GIF avec l’API REST en utilisant cURL

Voici les commandes cURL qui effectuent la même opération depuis un terminal. Elles illustrent le flux de travail complet de l’API REST : authentification, téléversement, ajout de filigrane et téléchargement.

# 1. Obtain an access token
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

Remplacez YOUR_ACCESS_TOKEN dans les appels suivants par le jeton renvoyé ci‑dessus.

# 2. Upload the source GIF to storage
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.gif" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @path/to/local/input.gif
# 3. Add text overlay to the GIF
curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/add" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.gif", "storageName": "MyStorage" },
           "outputFileInfo": { "filePath": "output.gif", "storageName": "MyStorage" },
           "options": {
               "text": "Sample Watermark",
               "fontFamily": "Arial",
               "fontSize": 24,
               "color": "#FF0000",
               "opacity": 0.5,
               "horizontalAlignment": "Center",
               "verticalAlignment": "Middle",
               "pageRange": "1-"
           }
         }'
# 4. Download the watermarked GIF
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.gif" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o path/to/local/output.gif

Pour plus de détails sur les corps de requête et les formats de réponse, consultez la documentation officielle de l’API.

Analyse détaillée de l’ajout d’une superposition de texte à un GIF via REST en Java - Fonctionnement

  1. Initialiser le client API - new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET") crée un objet de configuration qui contient vos identifiants. L’instance WatermarkApi utilise cette configuration pour signer chaque requête.
Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(config);
  1. Spécifier les fichiers source et destination - FileInfo et OutputFileInfo indiquent au service où lire le GIF original et où écrire le résultat. Les deux peuvent faire référence à un nom de stockage personnalisé.

    FileInfo inputFile = new FileInfo();
    inputFile.setFilePath("input.gif");
    inputFile.setStorageName("MyStorage");
    
  2. Configurer le filigrane texte - TextWatermarkOptions contient toutes les propriétés visuelles : texte, police, taille, couleur, opacité, rotation et alignement. Définir pageRange sur "1-" garantit que chaque image du GIF animé reçoit la superposition.

TextWatermarkOptions textOptions = new TextWatermarkOptions();
textOptions.setText("Sample Watermark");
textOptions.setFontFamily("Arial");
textOptions.setFontSize(24.0);
textOptions.setColor("#FF0000");
textOptions.setOpacity(0.5);
textOptions.setHorizontalAlignment(HorizontalAlignment.CENTER);
textOptions.setVerticalAlignment(VerticalAlignment.MIDDLE);
textOptions.setPageRange("1-");
  1. Construire et envoyer la requête - AddWatermarkRequest regroupe les informations du fichier et les options. L’appel de watermarkApi.addWatermark(request) exécute l’opération sur le serveur et renvoie le chemin du fichier traité.

    AddWatermarkRequest request = new AddWatermarkRequest();
    request.setFileInfo(inputFile);
    request.setOutputFileInfo(outputFile);
    request.setOptions(textOptions);
    AddWatermarkResponse response = watermarkApi.addWatermark(request);
    
  2. Gérer la réponse - La réponse contient le chemin du fichier de sortie. Dans une application réelle, vous téléchargeriez généralement le fichier ou transmettriez le chemin à un autre service.

Pour une liste complète des classes et des propriétés, consultez la référence API.

Installation et configuration de GroupDocs.Watermark Cloud SDK for Java

Ajoutez la dépendance Maven à votre pom.xml (ou l’entrée Gradle équivalente). Cela récupère la version 23.8 du SDK.

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-watermark-cloud</artifactId>
    <version>23.8</version>
</dependency>

Prérequis

  • Java 8 ou version supérieure
  • Un compte GroupDocs Cloud actif
  • Client ID et Client Secret (disponibles dans le tableau de bord GroupDocs Cloud)

Exemple de configuration

Configuration config = new Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");

Téléchargez les derniers JAR depuis la page de téléchargement. Pour une utilisation en production, appliquez une licence valide obtenue à partir de la page de licence temporaire.

Conclusion

Ajouter une superposition de texte à un GIF en utilisant REST en Java devient une opération répétable côté serveur grâce au GroupDocs.Watermark Cloud SDK for Java. Le SDK abstrait les complexités de la gestion des images animées, vous permettant de vous concentrer sur le contenu de vos sous‑titres ou messages promotionnels. Après avoir intégré le code d’exemple ou le workflow cURL, vous pouvez affiner les styles de police, les couleurs et l’opacité pour correspondre à votre marque. N’oubliez pas d’obtenir une licence de production ; les détails de tarification sont disponibles sur la page produit, et une licence temporaire peut être obtenue pour les tests via la page de licence temporaire. Bon codage !

FAQs

  • Comment ajouter une superposition de texte à un GIF en utilisant REST en Java lorsque le texte change selon l’utilisateur ?
    Créez l’objet TextWatermarkOptions à l’exécution avec la chaîne spécifique à l’utilisateur, puis appelez la même méthode addWatermark. L’API traite chaque requête de manière indépendante, de sorte que le contenu dynamique est entièrement pris en charge.

  • Puis-je ajouter des sous-titres à un GIF animé sans affecter sa vitesse d’animation ?
    Oui. Le filigrane est appliqué à chaque image tout en préservant le délai d’image d’origine. Il suffit de définir pageRange sur "1-" afin que chaque image reçoive la même superposition.

  • Quels formats sont pris en charge pour la couleur du texte superposé ?
    Le SDK accepte les codes couleur HEX (par exemple, #FF0000) et les noms de couleur standard HTML. Consultez la référence API pour la liste complète.

  • Ai-je besoin d’une licence pour le développement et les tests ?
    Une licence temporaire suffit pour l’évaluation et les tests. Pour les déploiements en production, achetez une licence complète depuis la page du produit et appliquez‑la à l’aide de l’API de licence du SDK.

Read More