Ajouter un identifiant visuel aux fichiers PDF est essentiel pour protéger la propriété intellectuelle et marquer les documents. Le GroupDocs.Watermark Cloud SDK for Java offre une API simple pour intégrer des filigranes d’image directement dans les PDF depuis votre application Java. Dans ce tutoriel, vous apprendrez comment ajouter un filigrane d’image aux documents PDF en Java, consulter un exemple complet fonctionnel et explorer les appels REST cURL équivalents pour l’intégration cloud.

Ajouter un filigrane d’image aux documents PDF en Java en 5 étapes

  1. Initialiser le client API : Créez une instance ApiClient avec votre ID client et votre secret.
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

Cette étape connecte votre code Java au service Cloud GroupDocs.Watermark. Consultez la référence API pour plus de détails.

  1. Spécifiez le fichier PDF source : Créez un objet FileInfo qui pointe vers le PDF que vous souhaitez ajouter un filigrane.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");

Le fichier doit être téléchargé dans votre stockage GroupDocs avant la requête.

  1. Configurer le filigrane d’image : Définissez le chemin de l’image, l’opacité, le facteur d’échelle, la rotation et l’alignement.
ImageWatermark imageWatermark = new ImageWatermark();
imageWatermark.setImagePath("watermark.png");
imageWatermark.setOpacity(0.5);
imageWatermark.setScaleFactor(0.3);
imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
imageWatermark.setMargin(new Margin(10, 10, 10, 10));

Ajustez ces valeurs pour obtenir l’apparence souhaitée ; l’opacité contrôle la transparence, tandis que le facteur d’échelle détermine la taille relative à la page.

  1. Définir les options de filigrane et le chemin de sortie : Combinez les informations du fichier et le filigrane dans un objet WatermarkOptions.
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);
options.setImageWatermark(imageWatermark);
options.setOutputPath("output.pdf");

Le outputPath indique au service où stocker le PDF résultant.

  1. Exécuter la requête : Construisez un AddWatermarkRequest et appelez l’API. Gérez les réponses de succès ou d’erreur.
    AddWatermarkRequest request = new AddWatermarkRequest(options);
    try {
        AddWatermarkResponse response = watermarkApi.addWatermark(request);
        System.out.println("Watermark added successfully. Output file: " + response.getPath());
    } catch (Exception e) {
        System.err.println("Error adding watermark: " + e.getMessage());
    }
    
    Après l’exécution, le PDF filigrané est disponible à l’emplacement que vous avez spécifié.

Exemple complet de code : Ajouter un filigrane d’image aux documents PDF en Java

L’exemple suivant montre l’implémentation complète, de l’initialisation du client jusqu’à l’enregistrement du PDF filigrané.

import com.groupdocs.cloud.watermark.api.WatermarkApi;
import com.groupdocs.cloud.watermark.client.ApiClient;
import com.groupdocs.cloud.watermark.model.AddWatermarkRequest;
import com.groupdocs.cloud.watermark.model.AddWatermarkResponse;
import com.groupdocs.cloud.watermark.model.FileInfo;
import com.groupdocs.cloud.watermark.model.ImageWatermark;
import com.groupdocs.cloud.watermark.model.Margin;
import com.groupdocs.cloud.watermark.model.WatermarkOptions;
import com.groupdocs.cloud.watermark.model.enums.HorizontalAlignment;
import com.groupdocs.cloud.watermark.model.enums.VerticalAlignment;

public class AddImageWatermarkExample {
    public static void main(String[] args) {
        // Initialize API client (replace with your actual credentials)
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        WatermarkApi watermarkApi = new WatermarkApi(apiClient);

// Input PDF file information
        FileInfo fileInfo = new FileInfo();
        fileInfo.setFilePath("input.pdf");

// Image watermark configuration
        ImageWatermark imageWatermark = new ImageWatermark();
        imageWatermark.setImagePath("watermark.png");          // Path to watermark image
        imageWatermark.setOpacity(0.5);                        // 50% opacity
        imageWatermark.setScaleFactor(0.3);                    // 30% of page size
        imageWatermark.setRotationAngle(0);                    // No rotation
        imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
        imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
        imageWatermark.setMargin(new Margin(10, 10, 10, 10));  // 10 points margin on all sides

// Watermark options
        WatermarkOptions options = new WatermarkOptions();
        options.setFileInfo(fileInfo);
        options.setImageWatermark(imageWatermark);
        options.setOutputPath("output.pdf"); // Resulting PDF with watermark

// Create request and call API
        AddWatermarkRequest request = new AddWatermarkRequest(options);
        try {
            AddWatermarkResponse response = watermarkApi.addWatermark(request);
            System.out.println("Watermark added successfully. Output file: " + response.getPath());
        } catch (Exception e) {
            System.err.println("Error 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 les chemins de fichiers (input.pdf, watermark.png, output.pdf) pour qu’ils correspondent à vos emplacements réels, 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.

Appliquer un filigrane d’image aux documents PDF via cURL et l’API REST

Voici les appels REST que vous pouvez utiliser avec cURL pour obtenir le même résultat sans écrire de code Java.

  1. Obtenir un jeton d’accès

    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"}'
    

    La réponse contient un access_token utilisé dans les appels suivants.

  2. Télécharger le PDF source

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=input.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/input.pdf"
    
  3. Téléverser l’image de filigrane

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=watermark.png" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/watermark.png"
    
  4. Ajouter le filigrane d’image

    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.pdf" },
               "imageWatermark": {
                   "imagePath": "watermark.png",
                   "opacity": 0.5,
                   "scaleFactor": 0.3,
                   "horizontalAlignment": "Center",
                   "verticalAlignment": "Center",
                   "margin": { "top": 10, "right": 10, "bottom": 10, "left": 10 }
               },
               "outputPath": "output.pdf"
             }'
    

    Cette requête reproduit la logique du code Java, en appliquant les mêmes paramètres d’opacité, d’échelle et d’alignement.

  5. Télécharger le PDF filigrané

    curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.pdf
    

Pour plus de détails sur les corps de requête et les paramètres pris en charge, consultez la documentation officielle de l’API.

Installation et configuration du GroupDocs.Watermark Cloud SDK for Java

Ajoutez la dépendance Maven à votre pom.xml (ou le fragment Gradle équivalent). La bibliothèque est hébergée sur Maven Central.

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

Vous avez également besoin d’un compte GroupDocs Cloud valide. Récupérez votre Client ID et Client Secret depuis le portail GroupDocs. Aucune installation d’exécution supplémentaire n’est requise car le SDK communique avec le service cloud.

Affinement des options de filigrane d’image pour les documents PDF

Le SDK expose plusieurs propriétés qui vous permettent de contrôler l’apparence visuelle du filigrane.

Ajuster l’opacité

imageWatermark.setOpacity(0.75); // 75% opacity for a more visible watermark

Les valeurs d’opacité vont de 0.0 (totalement transparent) à 1.0 (totalement opaque).

Modifier le facteur d’échelle

imageWatermark.setScaleFactor(0.5); // Watermark occupies 50% of the page width

Le facteur d’échelle détermine la taille du filigrane par rapport aux dimensions de la page.

Définir l’alignement et les marges

imageWatermark.setHorizontalAlignment(HorizontalAlignment.RIGHT);
imageWatermark.setVerticalAlignment(VerticalAlignment.BOTTOM);
imageWatermark.setMargin(new Margin(20, 20, 20, 20));

Ces paramètres placent le filigrane dans le coin inférieur‑droit avec une marge de 20 points.

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

Conclusion

Ajouter un filigrane d’image aux documents PDF en Java est une tâche simple lorsque vous utilisez le GroupDocs.Watermark Cloud SDK for Java. Le SDK gère toute la manipulation PDF de bas niveau, vous permettant de vous concentrer sur les aspects visuels tels que l’opacité, le redimensionnement et le positionnement. Que vous préfériez une implémentation Java native ou un flux de travail cURL basé sur le cloud, les mêmes résultats de haute qualité sont réalisables sans sacrifier les performances. N’oubliez pas d’obtenir une licence appropriée pour une utilisation en production ; les détails de tarification sont disponibles sur la page du produit et une page de licence temporaire peut être utilisée pour l’évaluation.

FAQs

  • Comment ajouter un filigrane d’image à un PDF en Java sans perdre la qualité ?
    Utilisez la propriété scaleFactor pour dimensionner le filigrane par rapport à la page et conserver le DPI d’origine du PDF source. Le SDK préserve la résolution du PDF, de sorte que le filigrane reste net à n’importe quel niveau de zoom.

  • Puis-je ajouter plusieurs filigranes au même PDF ?
    Oui. Créez des objets ImageWatermark distincts avec des configurations différentes et ajoutez‑les séquentiellement en appelant addWatermark plusieurs fois ou en les ajoutant à une liste dans la requête.

  • Quels sont les formats d’image pris en charge pour le filigrane ?
    L’API accepte les types d’image courants tels que PNG, JPG, BMP, GIF et TIFF. PNG est recommandé pour une qualité sans perte et la prise en charge de la transparence.

  • Existe-t-il un moyen de prévisualiser le filigrane avant de l’appliquer ?
    Vous pouvez utiliser le GroupDocs.Watermark Cloud SDK for Java pour générer un PDF temporaire avec le filigrane et le télécharger pour révision. Cela utilise le même appel addWatermark avec un chemin de sortie pointant vers un emplacement temporaire.

Read More