Les filigranes d’image indésirables peuvent rendre les documents PDF peu professionnels et entraver le traitement en aval. Le GroupDocs.Watermark Cloud SDK for Java propose une API robuste qui permet aux développeurs Java de supprimer programmétiquement ces filigranes des fichiers PDF. Ce guide montre comment supprimer le filigrane d’image d’un PDF en Java en utilisant le point de terminaison de suppression du SDK. À la fin, vous pourrez intégrer la suppression automatique des filigranes dans n’importe quelle application Java.

Environnement de développement Java - Prérequis et configuration

Avant de commencer, assurez‑vous d’avoir les éléments suivants :

  • Java 17 ou version supérieure installé.
  • Maven ou Gradle pour la gestion des dépendances.
  • Un compte GroupDocs Cloud avec client ID et client secret.

Ajoutez le SDK à votre projet avec la dépendance Maven ci-dessous (vous pouvez également utiliser l’équivalent Gradle). Les dernières binaires sont disponibles sur la page de téléchargement.

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

Initialisez le client API en utilisant vos informations d’identification. Cet extrait provient directement du code d’exemple.

ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

Avec le client prêt, vous pouvez passer au flux de travail réel de suppression.

Guide étape par étape pour supprimer le filigrane d’image d’un PDF en Java

Étape 1 : Charger le document source

Tout d’abord, spécifiez le PDF que vous souhaitez nettoyer. L’objet FileInfo indique à l’API où se trouve le fichier et fournit éventuellement un mot de passe.

FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.pdf");
// inputFile.setPassword("pdfPassword"); // Uncomment if needed

Étape 2 : Définir les critères du filigrane d’image

Créez un ImageSearchCriteria qui pointe vers l’image du filigrane que vous souhaitez supprimer. C’est le cœur de l’opération supprimer le filigrane d’image d’un PDF en Java.

ImageSearchCriteria imageCriteria = new ImageSearchCriteria();
imageCriteria.setImagePath("watermark.png");

Étape 3 : Configurer les options de suppression

Combinez les informations du fichier et les critères de recherche dans un objet RemoveOptions. Vous définissez également l’emplacement où le PDF nettoyé sera enregistré.

RemoveOptions removeOptions = new RemoveOptions();
removeOptions.setFileInfo(inputFile);
removeOptions.setOutputPath("output.pdf");
removeOptions.setSearchCriteria(Collections.singletonList(imageCriteria));

Étape 4 : Exécuter l’appel de suppression

Appelez la méthode remove sur le WatermarkApi. L’appel renvoie un RemoveResult qui contient le chemin du fichier traité.

RemoveResult result = watermarkApi.remove(removeOptions);
System.out.println("Watermark removal completed. Output file: " + result.getPath());

Étape 5 : Traiter le résultat

Gérez toutes les exceptions qui pourraient survenir. Le SDK lève ApiException pour les erreurs côté service et Exception générique pour les problèmes inattendus.

try {
    // removal code above
} catch (ApiException e) {
    System.err.println("API exception occurred: " + e.getMessage());
} catch (Exception e) {
    System.err.println("Unexpected error: " + e.getMessage());
}

Exemple complet de code : Supprimer le filigrane d’image avec GroupDocs

L’exemple suivant montre le flux de travail complet, de l’initialisation du client à la gestion du résultat.

import com.groupdocs.watermark.cloud.api.WatermarkApi;
import com.groupdocs.watermark.cloud.client.ApiClient;
import com.groupdocs.watermark.cloud.client.ApiException;
import com.groupdocs.watermark.cloud.model.FileInfo;
import com.groupdocs.watermark.cloud.model.ImageSearchCriteria;
import com.groupdocs.watermark.cloud.model.RemoveOptions;
import com.groupdocs.watermark.cloud.model.RemoveResult;
import java.util.Collections;

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

// Prepare input file information
        FileInfo inputFile = new FileInfo();
        inputFile.setFilePath("input.pdf");
        // If the PDF is password protected, uncomment the following line and set the password
        // inputFile.setPassword("pdfPassword");

// Define the image watermark to be removed
        ImageSearchCriteria imageCriteria = new ImageSearchCriteria();
        imageCriteria.setImagePath("watermark.png");

// Set up removal options
        RemoveOptions removeOptions = new RemoveOptions();
        removeOptions.setFileInfo(inputFile);
        removeOptions.setOutputPath("output.pdf");
        removeOptions.setSearchCriteria(Collections.singletonList(imageCriteria));

try {
            // Execute removal
            RemoveResult result = watermarkApi.remove(removeOptions);
            System.out.println("Watermark removal completed. Output file: " + result.getPath());
        } catch (ApiException e) {
            System.err.println("API exception occurred: " + e.getMessage());
        } catch (Exception e) {
            System.err.println("Unexpected error: " + e.getMessage());
        }
    }
}

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.

Opération de suppression de filigrane via l’API REST avec cURL

Si vous préférez une approche REST pure, la même opération peut être effectuée avec des commandes cURL.

  1. Authentifier et 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"}'
  1. Téléverser 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=@/local/path/input.pdf"
  1. Exécuter la suppression du filigrane
curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/remove" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": {"filePath":"input.pdf"},
           "outputPath":"output.pdf",
           "searchCriteria":[{"type":"Image","imagePath":"watermark.png"}]
         }'
  1. Télécharger le PDF nettoyé
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

Pour une référence complète, consultez la documentation de l’API.

Options de suppression du réglage fin

Le SDK propose plusieurs propriétés que vous pouvez ajuster pour répondre à différents scénarios.

  • Protection par mot de passe - Si le PDF source est chiffré, définissez le mot de passe sur FileInfo.
  inputFile.setPassword("mySecret");
  • Critères de recherche multiples - Supprimez plusieurs filigranes en un seul appel en ajoutant davantage d’objets ImageSearchCriteria à la liste.
  ImageSearchCriteria logoCriteria = new ImageSearchCriteria();
  logoCriteria.setImagePath("logo.png");
  removeOptions.setSearchCriteria(Arrays.asList(imageCriteria, logoCriteria));
  • Format de sortie - Bien que le format par défaut soit PDF, vous pouvez changer le format de sortie en définissant outputPath avec une extension différente (par exemple, output.docx).
  removeOptions.setOutputPath("output.docx");

Ces options vous permettent d’adapter le processus de suppression du filigrane d’image d’un PDF en Java à vos besoins exacts.

Conclusion

La suppression programmatique d’un filigrane image des fichiers PDF est simple avec le GroupDocs.Watermark Cloud SDK for Java. En suivant les étapes ci‑dessus, vous pouvez intégrer la suppression de filigrane dans n’importe quel backend Java, gérer les PDF chiffrés et affiner l’opération avec des options flexibles. N’oubliez pas d’obtenir une licence appropriée pour la production ; les détails de tarification sont disponibles sur la page du produit, et une licence temporaire peut être demandée via la page de licence temporaire. Commencez dès aujourd’hui à nettoyer vos PDF et à fournir des documents soignés à vos utilisateurs.

FAQs

  • Comment supprimer le filigrane d’image d’un PDF en Java ?
    Utilisez la méthode remove de WatermarkApi avec un ImageSearchCriteria qui pointe vers l’image du filigrane. L’exemple complet de code dans cet article montre les étapes exactes.

  • Et si mon PDF est protégé par mot de passe ?
    Définissez le mot de passe sur l’objet FileInfo (inputFile.setPassword("yourPassword")) avant d’appeler l’API de suppression. Le SDK déchiffrera, traitera et re‑chiffrera le fichier automatiquement.

  • Puis-je supprimer les filigranes d’autres formats, tels que DOCX?
    Oui. La même API fonctionne avec n’importe quel format pris en charge par GroupDocs.Watermark. Il suffit de modifier les extensions de filePath et outputPath en conséquence.

  • Existe-t-il des limites à la taille du PDF que je peux traiter ?
    Le service cloud gère les fichiers jusqu’à 500 Mo par requête. Pour les documents plus volumineux, envisagez de diviser le PDF en parties plus petites avant le traitement.

En savoir plus