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
- Initialiser le client API : Créez une instance
ApiClientavec 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.
- Spécifiez le fichier PDF source : Créez un objet
FileInfoqui 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.
- 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.
- 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.
- Exécuter la requête : Construisez un
AddWatermarkRequestet appelez l’API. Gérez les réponses de succès ou d’erreur.Après l’exécution, le PDF filigrané est disponible à l’emplacement que vous avez spécifié.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()); }
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.
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_tokenutilisé dans les appels suivants.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"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"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.
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éscaleFactorpour 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 objetsImageWatermarkdistincts avec des configurations différentes et ajoutez‑les séquentiellement en appelantaddWatermarkplusieurs 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 appeladdWatermarkavec un chemin de sortie pointant vers un emplacement temporaire.
