Supprimer les filigranes des documents PDF à l'aide de Java

L’image ou le texte du filigrane est utilisé pour identifier l’auteur du document ou les informations de copyright. Vous pouvez détecter tous les filigranes disponibles dans un document, puis les supprimer. En tant que développeur Java, vous pouvez facilement supprimer les filigranes des documents par programmation. Dans cet article, vous apprendrez comment supprimer les filigranes des documents PDF à l’aide de Java.

Les sujets suivants sont abordés/couverts dans cet article:

API Java pour la suppression des filigranes

J’utiliserai l’API GroupDocs.Watermark for Java pour supprimer les filigranes des documents PDF. Il permet d’effectuer des opérations de tatouage d’image et de texte. Il vous permet également d’appliquer de nouveaux filigranes, de rechercher et de supprimer des filigranes existants dans des fichiers de formats pris en charge tels que Word, Excel, Powerpoint et PDF.

Vous pouvez télécharger le JAR de l’API ou simplement ajouter la configuration pom.xml suivante dans vos applications Java basées sur Maven pour essayer les exemples de code mentionnés ci-dessous.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-watermark</artifactId>
        <version>20.5</version> 
</dependency>

Supprimer tous les filigranes du PDF à l’aide de Java

Vous pouvez facilement supprimer tous les filigranes de vos documents PDF en suivant les étapes simples mentionnées ci-dessous:

  • Créer une instance de Watermarker classe
  • Spécifiez le chemin d’accès au fichier PDF d’entrée
  • Remplir PossibleWatermarkCollection en appelant la search() method
  • Appelez la méthode clear() pour supprimer tous les filigranes
  • Enregistrer le fichier mis à jour

L’exemple de code suivant montre comment supprimer tous les filigranes disponibles dans un document PDF à l’aide de Java.

// Créer une instance
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Rechercher tous les filigranes possibles
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Supprimer tous les filigranes trouvés
possibleWatermarks.clear();

// Enregistrer le fichier mis à jour
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Supprimer tous les filigranes du PDF à l'aide de Java

Supprimer tous les filigranes du PDF à l’aide de Java

La classe Watermarker facilite l’ajout, la suppression et la recherche de filigranes dans un document.

La classe PossibleWatermarkCollection représente une collection de filigranes possibles trouvés dans un contenu.

La méthode search() de la classe Watermarker recherche tous les filigranes possibles dans le document. Il renvoie le jeu de résultats en tant que PossibleWatermarkCollection.

Suppression des filigranes de texte uniquement à partir de PDF à l’aide de Java

Vous pouvez facilement supprimer tous les filigranes textuels de vos documents PDF en suivant les étapes simples mentionnées ci-dessous:

  • Créer une instance de Watermarker classe
  • Spécifiez le chemin d’accès au fichier PDF d’entrée
  • Remplir PossibleWatermarkCollection en appelant la search() method
  • Vérifiez si getText() n’est pas nul ou vide pour tous les PossibleWatermarks
  • Passez ensuite l’index à la méthode removeAt() pour le supprimer
  • Enregistrer le fichier mis à jour

L’exemple de code suivant montre comment supprimer uniquement les filigranes de texte disponibles dans un document PDF à l’aide de Java.

// Créer une instance
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Rechercher tous les filigranes possibles
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Supprimer tous les filigranes trouvés
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getText() != null && possibleWatermarks.get_Item(i).getText() != "")
  {
    possibleWatermarks.removeAt(i);
  }
}

// Enregistrer le document mis à jour
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Suppression des filigranes de texte uniquement à partir de PDF à l'aide de Java

Suppression des filigranes de texte uniquement à partir de PDF à l’aide de Java

La méthode removeAt() supprime l’élément à l’index spécifié de PossibleWatermarksCollection.

Supprimer les filigranes avec un formatage de texte particulier

Vous pouvez supprimer les filigranes de texte disponibles avec une mise en forme particulière de vos documents PDF en suivant les étapes simples mentionnées ci-dessous:

L’exemple de code suivant montre comment supprimer les filigranes de texte avec une mise en forme de texte particulière d’un document PDF à l’aide de Java.

// Créer une instance
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Définir les critères de recherche de mise en forme du texte
TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(false);

// Rechercher des filigranes possibles
PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();

// Enregistrer le document mis à jour
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Supprimer les filigranes avec un formatage de texte particulier

Supprimer les filigranes avec un formatage de texte particulier

Suppression des filigranes d’image uniquement à partir de PDF à l’aide de Java

Vous pouvez facilement supprimer tous les filigranes d’image uniquement de vos documents PDF en suivant les étapes simples mentionnées ci-dessous:

  • Créer une instance de Watermarker classe
  • Spécifiez le chemin d’accès au fichier PDF d’entrée
  • Remplir PossibleWatermarkCollection en appelant la search() method
  • Vérifiez si getImageData() n’est pas nul pour tous les PossibleWatermarks
  • Passez ensuite l’index à la méthode removeAt() pour le supprimer
  • Enregistrer le fichier mis à jour

L’exemple de code suivant montre comment supprimer uniquement les filigranes d’image disponibles dans un document PDF à l’aide de Java.

// Créer une instance
Watermarker watermarker = new Watermarker("C:\\Files\\sample.pdf");

// Rechercher tous les filigranes possibles
PossibleWatermarkCollection possibleWatermarks = watermarker.search();

// Supprimer tous les filigranes d'image
for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--)
{
  if(possibleWatermarks.get_Item(i).getImageData() != null)
  {
    possibleWatermarks.removeAt(i);
  }
}

// Enregistrer le document mis à jour
watermarker.save("C:\\Files\\output.pdf");

watermarker.close();
Suppression des filigranes d'image uniquement à partir de PDF à l'aide de Java

Suppression des filigranes d’image uniquement à partir de PDF à l’aide de Java

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment supprimer les filigranes de texte ou d’image d’un document PDF à l’aide de Java. De plus, vous avez appris à supprimer les filigranes de texte ou d’image uniquement des documents. Vous pouvez en savoir plus sur l’API GroupDocs.Watermark pour Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également