Watermerken worden meestal gebruikt om documenten als concept aan te duiden en om illegaal gebruik van vertrouwelijke documenten te voorkomen. Wanneer het concept klaar is of de vertrouwelijkheid voorbij is, kunt u de watermerken van dergelijke documenten verwijderen. Watermerken kunnen op tekst of afbeeldingen zijn gebaseerd. In dit artikel zullen we bekijken hoe u watermerken uit PDF-documenten in Java kunt verwijderen.

Watermerken programmatisch verwijderen uit PDF-bestanden.

Java API om PDF-watermerken te verwijderen

GroupDocs.Watermark biedt Java API om watermerken in documenten en afbeeldingen van verschillende bestandsindelingen te verwerken. Als u een app voor het verwijderen van watermerken maakt, biedt deze u enkele handige manieren om:

  • Verwijder alle watermerken uit het PDF-document
  • Verwijder hyperlinkwatermerken
  • Verwijder watermerken met bepaalde tekstopmaak

Laten we eens kijken hoe een Java-ontwikkelaar op verschillende manieren watermerken uit PDF kan verwijderen met behulp van GroupDocs.Watermark for Java API. Download en configureer eerst de API met uw applicatie.

Downloaden of configureren

U kunt het JAR-bestand downloaden van de sectie downloads of de nieuwste repository- en afhankelijkheidsconfiguraties Maven gebruiken binnen uw Java-toepassingen.

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

Verwijder alle watermerken uit PDF-bestanden in Java

De API geeft u de mogelijkheid om eenvoudig een bepaald watermerk en alle watermerken uit het document te vinden en vervolgens te verwijderen. De volgende stappen laten zien hoe u alle watermerken uit een PDF-document in Java kunt verwijderen.

  • Laad het PDF-document met Watermarker.
  • Haal alle mogelijke watermerken op als een verzameling met behulp van zoeken.
  • Doorzoek de hele collectie en verwijder elk watermerk of degene die aan het criterium voldoet.
  • Sla de bijgewerkte PDF op zonder watermerk erop.

De volgende Java-code verwijdert alle watermerken uit een PDF-document.

// Verwijder de watermerken uit PDF en andere documenten in Java
Watermarker watermarker = new Watermarker("filepath/document-with-watermarks.pdf");

PossibleWatermarkCollection possibleWatermarks = watermarker.search();
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    // Verwijder elk watermerk door de index in het document te vermelden.
    possibleWatermarks.removeAt(i);
}
watermarker.save("filepath/no-watermarks.pdf");
watermarker.close();

Hyperlinkwatermerk in Java verwijderen

De watermerken-API maakt het mogelijk om hyperlinks uit het PDF-document te zoeken en te verwijderen. Met de volgende stappen kunnen hyperlinkwatermerken uit een PDF-document in de Java-toepassing worden verwijderd.

  • Laad het PDF-bestand met Watermarker.
  • Haal de mogelijke watermerken op als een verzameling met behulp van zoeken.
  • Doorloop de verzameling en verwijder het (de) watermerk(en) die aan het criterium voldoen.
  • Sla de bijgewerkte PDF op zonder watermerken meer.

Het volgende Java-codevoorbeeld laat zien hoe u hyperlinkwatermerken met een bepaalde URL in een PDF-document kunt vinden en verwijderen.

// Verwijder hyperlinkwatermerken uit PDF in Java
Watermarker watermarker = new Watermarker("path/watermark-document.pdf");

PossibleWatermarkCollection watermarks = watermarker.search(new TextSearchCriteria(Pattern.compile("someurl.com")));
for (int i = 0 ; i < watermarks.getCount(); i++)
{
    if (HyperlinkPossibleWatermark.class.isInstance(watermarks.get_Item(i)))
    {
        System.out.println(watermarks.get_Item(i).getText());
        watermarks.removeAt(i);
    }
}
watermarker.save("path/no-hyperlink-watermarks.pdf");

Watermerk uit PDF verwijderen met bepaalde tekstopmaak in Java

Het watermerk met de specifieke tekstopmaak kan ook worden verwijderd. U kunt de naam van het lettertype, de grootte, kleur, enz. Als zoekcriterium opgeven. De API vindt de watermerken met overeenkomende eigenschappen. De volgende stappen laten zien hoe u watermerken kunt zoeken en verwijderen uit een PDF-bestand met een specifieke tekstopmaak in Java.

  • Laad het PDF-bestand met Watermarker.
  • Stel het zoekcriterium in met TextFormattingSearchCriteria.
  • Geef alle vereiste opmaakeigenschappen op.
  • Zoek en verkrijg alle mogelijke watermerken als een verzameling door de gedefinieerde criteria op te geven.
  • Verwijder alle gezochte watermerken met behulp van de clear() methode.
  • Sla de bijgewerkte PDF zonder watermerk op met de gedefinieerde eigenschappen.

De volgende Java-code verwijdert de watermerken in een PDF-document met de opgegeven tekstopmaak.

// Verwijder watermerken met specifieke tekstopmaak uit een PDF in Java
Watermarker watermarker = new Watermarker("path/watermarks.pdf");

TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
criteria.setForegroundColorRange(new ColorRange());
criteria.getForegroundColorRange().setMinHue(-5);
criteria.getForegroundColorRange().setMaxHue(10);
criteria.getForegroundColorRange().setMinBrightness(0.01f);
criteria.getForegroundColorRange().setMaxBrightness(0.99f);
criteria.setBackgroundColorRange(new ColorRange());
criteria.getBackgroundColorRange().setEmpty(true);
criteria.setFontName("Arial");
criteria.setMinFontSize(19);
criteria.setMaxFontSize(42);
criteria.setFontBold(true);

PossibleWatermarkCollection watermarks = watermarker.search(criteria);
watermarks.clear();
watermarker.save("path/removed-watermarks.pdf");
watermarker.close();

Conclusie

Kortom, we hebben manieren geleerd om verschillende watermerken uit de PDF-documenten in Java te verwijderen. We hebben specifiek alle toegepaste watermerken verwijderd en vervolgens hyperlinks, watermerken en watermerken met specifieke tekstopmaak verwijderd. Probeer uw eigen Java-toepassing te bouwen voor het vinden en verwijderen van de watermerken van PDF-documenten. Bovendien kunt u meer te weten komen over GroupDocs.Watermark for Java in de bijbehorende documentatie. Neem voor vragen contact met ons op via het forum.

Zie ook