L’intégration d’un filigrane dans une feuille de calcul aide à protéger les données sensibles et indique la propriété du document. Conholdate.Total for Java fournit une API simple qui vous permet d’insérer un filigrane dans Excel en Java avec seulement quelques lignes de code. Ce guide vous accompagne à travers la configuration requise, l’implémentation complète et les principales options de configuration afin que vous puissiez sécuriser vos classeurs Excel efficacement.
Comment insérer un filigrane dans Excel en Java - Étape par étape
Charger le classeur avec ExcelLoadOptions
- Charger le classeur Excel : Utilisez
WatermarkeravecExcelLoadOptionspour ouvrir le fichier.
Watermarker watermarker = new Watermarker(inputPath, new ExcelLoadOptions());
La classe Watermarker est documentée dans la référence API. Charger avec ExcelLoadOptions vous donne le contrôle de l’utilisation de la mémoire, ce qui est essentiel pour les classeurs volumineux.
Créer un filigrane texte avec style
- Créer un filigrane texte : définir la police, la couleur, l’opacité, la rotation et l’alignement.
Font font = new Font("Arial", 36);
TextWatermark watermark = new TextWatermark("CONFIDENTIAL", font);
watermark.setColor(Color.RED);
watermark.setOpacity(0.3);
watermark.setRotationAngle(45);
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
Définir opacity à 0,3 rend le filigrane semi‑transparent, tandis qu’une rotation de 45 degrés le place en diagonale sur la feuille. Vous pouvez ajuster ces valeurs pour respecter les directives de marque ou les exigences de conformité.
Appliquer le filigrane à toutes les feuilles de calcul
- Ajouter le filigrane au classeur : La méthode
addl’applique à chaque feuille de calcul en un seul appel.
watermarker.add(watermark);
Si vous avez besoin d’un contrôle par feuille, vous pouvez récupérer les feuilles individuelles via watermarker.getWorksheets() et appeler add sur chacune séparément.
Enregistrer le classeur filigrané
- Enregistrer le classeur filigrané : choisissez
ExcelSaveOptionspour contrôler le format de sortie et préserver les métadonnées d’origine.
watermarker.save(outputPath, new ExcelSaveOptions());
L’objet ExcelSaveOptions vous permet de spécifier si vous souhaitez conserver la version originale du fichier ou le mettre à jour vers la dernière norme XLSX.
Libérer les ressources pour éviter les fuites de mémoire
- Fermer le Watermarker : Libérez les ressources pour éviter les fuites de mémoire, surtout lors du traitement de nombreux fichiers en lot.
watermarker.close();
Fermer le Watermarker vide également toutes les opérations d’écriture en attente, garantissant que le fichier de sortie n’est pas corrompu.
Ces étapes illustrent comment insérer un filigrane dans Excel en Java tout en vous offrant un contrôle sur l’apparence et les performances.
Exemple complet de code : Insérer un filigrane dans Excel en Java - Filigrane Java complet
Le code suivant montre le processus complet, depuis le chargement du classeur jusqu’à l’enregistrement du résultat.
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.contents.TextWatermark;
import com.groupdocs.watermark.common.Font;
import com.groupdocs.watermark.common.Color;
import com.groupdocs.watermark.contents.HorizontalAlignment;
import com.groupdocs.watermark.contents.VerticalAlignment;
import com.groupdocs.watermark.options.load.ExcelLoadOptions;
import com.groupdocs.watermark.options.save.ExcelSaveOptions;
public class ExcelWatermarkExample {
public static void main(String[] args) {
String inputPath = "input.xlsx";
String outputPath = "output_watermarked.xlsx";
Watermarker watermarker = null;
try {
// Load the Excel workbook (works for both XLS and XLSX)
ExcelLoadOptions loadOptions = new ExcelLoadOptions();
// For very large workbooks you can enable streaming mode:
// loadOptions.setLoadAllWorksheets(false);
watermarker = new Watermarker(inputPath, loadOptions);
// Create a text watermark with desired appearance
Font font = new Font("Arial", 36);
TextWatermark watermark = new TextWatermark("CONFIDENTIAL", font);
watermark.setColor(Color.RED);
watermark.setOpacity(0.3); // 30% opacity
watermark.setRotationAngle(45); // diagonal
watermark.setHorizontalAlignment(HorizontalAlignment.Center);
watermark.setVerticalAlignment(VerticalAlignment.Center);
// Apply the watermark to all worksheets
watermarker.add(watermark);
// Save the watermarked workbook
ExcelSaveOptions saveOptions = new ExcelSaveOptions();
watermarker.save(outputPath, saveOptions);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (watermarker != null) {
watermarker.close();
}
}
}
}
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.xlsx,output_watermarked.xlsx) 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.
Préparer l’environnement
Ajouter le référentiel Maven et la dépendance
Ajoutez le référentiel Maven Conholdate et la dépendance SDK à votre pom.xml:
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
Vous pouvez également télécharger les derniers JAR directement depuis la page de téléchargement. Le SDK nécessite Java 8 ou une version supérieure, et un IDE compatible tel qu’IntelliJ IDEA ou Eclipse facilitera le débogage.
Configurer la licence (utilisation en production)
Avant d’exécuter le code de filigrane dans un environnement de production, appliquez votre fichier de licence :
import com.groupdocs.watermark.License;
License license = new License();
license.setLicense("path/to/Conholdate.Total.Java.lic");
Une licence temporaire est disponible pour l’évaluation sur la page de licence temporaire. Pour les projets à long terme, consultez la page de tarification pour choisir le bon plan.
Ce qui rend Conholdate.Total for Java adapté à l’ajout de filigranes Excel
Prise en charge complète XLS/XLSX
La bibliothèque gère à la fois les formats XLS hérités et les formats XLSX modernes sans nécessiter de conversion, en préservant les formules, les graphiques et les macros.
Mode de diffusion efficace pour les grands classeurs
Lorsque vous travaillez avec des classeurs contenant des milliers de lignes, activez le streaming en définissant loadOptions.setLoadAllWorksheets(false). Cela réduit considérablement la consommation de mémoire.
Options avancées de style de filigrane
Vous pouvez contrôler la famille de police, la taille, la couleur, l’opacité, l’angle de rotation et l’alignement. Le tableau ci-dessous résume les propriétés les plus souvent modifiées :
| Propriété | Valeur d’exemple | Impact |
|---|---|---|
| Font | new Font("Arial", 36) | Détermine le style visuel du texte du filigrane. |
| Color | Color.RED | Définit la couleur du filigrane ; toute valeur RGB est acceptée. |
| Opacity | 0.3 (30%) | Contrôle la transparence ; des valeurs plus faibles rendent le filigrane moins intrusif. |
| Rotation Angle | 45 degrees | Positionne le filigrane en diagonale pour une meilleure couverture. |
| Horizontal Alignment | HorizontalAlignment.Center | Place le filigrane horizontalement. |
| Vertical Alignment | VerticalAlignment.Center | Place le filigrane verticalement. |
Couverture automatique des feuilles de calcul
Un seul appel à watermarker.add(watermark) propage le filigrane à chaque feuille, vous évitant d’écrire des boucles répétitives.
Options d’enregistrement simples
ExcelSaveOptions vous permet de conserver le format de fichier d’origine ou de le mettre à jour vers la dernière version XLSX, et vous pouvez également spécifier si vous souhaitez conserver les macros.
Toutes ces fonctionnalités sont décrites en détail dans la documentation officielle.
Conclusion
Dans ce tutoriel, vous avez appris comment insérer un filigrane dans Excel en Java en utilisant les puissantes fonctionnalités de Conholdate.Total for Java. En suivant le guide étape par étape, vous pouvez protéger vos feuilles de calcul avec du texte personnalisé, contrôler l’apparence et gérer efficacement les gros fichiers. Pour les déploiements en production, vous aurez besoin d’une version sous licence ; explorez les tarifs sur la page de tarification et obtenez une licence temporaire depuis la page de licence temporaire pour évaluer le SDK.
FAQ
Comment ajouter un filigrane d’image au lieu du texte ?
Utilisez la classeImageWatermark, définissez son opacité et son alignement, puis ajoutez‑la à l’instanceWatermarkercomme dans l’exemple de texte. L’image peut être un PNG, JPEG, ou BMP, et vous pouvez également la redimensionner pour l’adapter à la feuille de calcul. Consultez la référence API pour plus de détails.Le filigrane sera-t-il visible après la conversion du classeur en PDF ?
Oui. Le filigrane est intégré dans le classeur et apparaîtra dans tout format que vous convertirez ultérieurement, tel que le PDF, lors de l’utilisation de Conholdate.Total for Java. Le processus de conversion conserve tous les éléments visuels, y compris les filigranes.Puis-je contrôler le filigrane par feuille de calcul ?
Le SDK applique le filigrane à toutes les feuilles de calcul par défaut, mais vous pouvez charger des feuilles de calcul individuelles en utilisantwatermarker.getWorksheets().get_Item(index)et appeleraddsur chacune d’elles sélectivement. Cela vous donne un contrôle granulaire pour les rapports qui nécessitent une identité visuelle différente par feuille.Ai-je besoin d’une licence pour le développement et les tests ?
Une licence temporaire est disponible pour l’évaluation sur la page de licence temporaire. Pour un usage commercial, achetez une licence complète via la page de tarification. Le fichier de licence doit être chargé à l’exécution comme indiqué dans la section Configuration.
