Als u een Watermark wilt toevoegen aan PDF in Java, kan een visuele overlay uw documenten beschermen tegen ongeautoriseerd gebruik. Conholdate.Total for Java biedt een krachtige SDK die PDF‑manipulatie aan de serverkant vereenvoudigt. In deze gids ziet u een compleet, ready‑to‑run‑voorbeeld, leert u hoe elke regel werkt, stelt u de Maven‑afhankelijkheid in en ontdekt u opties om de dekking, rotatie en uitlijning fijn af te stemmen voor professionele resultaten.

Volledig codevoorbeeld: een tekstwatermerk toevoegen aan PDF in Java

Het volgende voorbeeld laat zien hoe u een tekstwatermerk aan een PDF kunt toevoegen met Conholdate.Total for Java.

import com.groupdocs.watermark.Watermark;
import com.groupdocs.watermark.options.PdfLoadOptions;
import com.groupdocs.watermark.options.PdfSaveOptions;
import com.groupdocs.watermark.watermarks.TextWatermark;
import com.groupdocs.watermark.watermarks.HorizontalAlignment;
import com.groupdocs.watermark.watermarks.VerticalAlignment;
import java.awt.Color;
import java.awt.Font;

public class AddPdfWatermark {
    public static void main(String[] args) {
        String inputFile = "input.pdf";
        String outputFile = "output.pdf";

// Create a text watermark
        Font font = new Font("Arial", Font.BOLD, 48);
        TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font);
        textWatermark.setColor(Color.RED);
        textWatermark.setOpacity(0.3);
        textWatermark.setRotationAngle(45);
        textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
        textWatermark.setVerticalAlignment(VerticalAlignment.Center);

// Load options for the source PDF (enable caching for large files)
        PdfLoadOptions loadOptions = new PdfLoadOptions(inputFile);
        loadOptions.setCacheSize(100 * 1024 * 1024); // 100 MB cache

// Initialize the Watermark processor
        Watermark watermark = new Watermark();

try {
            // Apply the watermark to every page of the PDF
            watermark.add(textWatermark, loadOptions);

// Save the watermarked PDF
            PdfSaveOptions saveOptions = new PdfSaveOptions();
            watermark.save(outputFile, saveOptions);
        } catch (Exception e) {
            System.err.println("Failed to add watermark: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Opmerking: Dit codevoorbeeld toont de kernfunctionaliteit. Voordat u het in uw project gebruikt, moet u de bestandspaden (input.pdf, output.pdf, enz.) bijwerken zodat ze overeenkomen met uw werkelijke bestandslocaties, verifiëren dat alle vereiste afhankelijkheden correct zijn geïnstalleerd, en grondig testen in uw ontwikkelomgeving. Als u problemen ondervindt, raadpleeg dan de officiële documentatie of neem contact op met het ondersteuningsteam voor hulp.

Begrijpen van het toevoegen van een watermerk aan PDF in Java-code

De code om een watermerk toe te voegen aan PDF in Java volgt een duidelijke volgorde die je kunt aanpassen voor elk PDF‑document.

  1. Initialiseer de Watermark-processor - Watermark watermark = new Watermark(); maakt de engine die watermerken toepast.
  2. Maak een TextWatermark - Het TextWatermark-object bevat de tekst, het lettertype, de kleur, de dekking en de rotatie.
    Font font = new Font("Arial", Font.BOLD, 48);
    TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font);
    
  3. Configureer het uiterlijk - Methoden zoals setColor, setOpacity en setRotationAngle bepalen hoe het watermerk eruitziet op de pagina.
  4. Laad de bron-PDF - PdfLoadOptions laadt het invoerbestand en schakelt caching in voor grote documenten, wat het geheugenverbruik vermindert.
  5. Toepassen en opslaan - watermark.add(textWatermark, loadOptions); past het watermerk toe op elke pagina, en watermark.save(outputFile, saveOptions); schrijft het resultaat.

Bron-PDF laden met caching

Wanneer u werkt met multi‑megabyte PDF‑bestanden, voorkomt het inschakelen van een cache dat de SDK het volledige document in het geheugen laadt. De regel loadOptions.setCacheSize(100 * 1024 * 1024); reserveert 100 MB voor tijdelijke opslag, waardoor de processor pagina’s kan streamen wanneer dat nodig is. Deze aanpak is vooral nuttig in serveromgevingen waar veel gelijktijdige watermerk‑taken kunnen worden uitgevoerd.

Voor gedetailleerde API‑informatie, zie de Java API‑referentie.

De omgeving gereedmaken voor PDF-watermarking

De workflow voor het toevoegen van een Watermark aan PDF in Java begint met het toevoegen van de Maven‑dependency. Daarna heb je een compatibele JDK en een kleine hoeveelheid configuratie nodig.

Vereisten en Java‑versie

  • Java 8 of hoger is vereist; de SDK maakt gebruik van moderne taalfeatures en streams.
  • Maven 3.5+ vereenvoudigt het beheer van afhankelijkheden.
  • Zorg ervoor dat het pom.xml‑bestand van uw project de Conholdate‑repository bevat zodat Maven het artefact kan oplossen.
<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>

U kunt de JAR‑bestanden ook rechtstreeks van de downloadpagina verkrijgen. Nadat u de afhankelijkheid hebt toegevoegd, voert u mvn clean install uit om te controleren of de SDK op uw classpath staat.

Gebruik van de REST API (optioneel)

Als u een taal‑agnostische aanpak verkiest, biedt Conholdate.Total ook een REST‑endpoint die watermerken kan toevoegen zonder Java‑code. Een eenvoudige curl‑opdracht ziet er als volgt uit:

curl -X POST "https://api.conholdate.com/v1/pdf/watermark" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -F "file=@input.pdf" \
  -F "text=CONFIDENTIAL" \
  -F "font=Arial" \
  -F "fontSize=48" \
  -F "color=FF0000" \
  -F "opacity=0.3" \
  -F "angle=45" \
  -F "horizontalAlignment=center" \
  -F "verticalAlignment=center" \
  -o output.pdf

De REST‑versie volgt dezelfde logische stappen laden, configureren, toepassen en opslaan, zodat u de aanpak kunt kiezen die het beste bij uw architectuur past.

Configureren van de weergave en positie van watermerk

De SDK biedt verschillende eigenschappen waarmee u het watermerk fijn kunt afstemmen. Hieronder staan de meest vaak aangepaste instellingen.

Lettertype en kleur aanpassen

U kunt het standaard Arial-lettertype vervangen door elk TrueType-lettertype dat op de server beschikbaar is. Het wijzigen van de kleur is net zo eenvoudig als het doorgeven van een andere java.awt.Color-constante of het maken van een aangepaste RGB-waarde.

Font customFont = new Font("Times New Roman", Font.ITALIC, 36);
textWatermark.setColor(new Color(0, 102, 204)); // Deep blue
textWatermark.setFont(customFont);

Aanpassen van doorzichtigheid en rotatie

Opacity bepaalt hoe transparant het watermerk verschijnt. De waarden variëren van 0.0 (volledig onzichtbaar) tot 1.0 (volledig ondoorzichtig). Rotatie laat je de tekst kantelen om het moeilijker te maken om te verwijderen.

textWatermark.setOpacity(0.45);      // 45% opacity
textWatermark.setRotationAngle(30); // 30 degrees clockwise

Watermerk uitlijnen op de pagina

De horizontale en verticale uitlijnings‑eigenschappen accepteren Left, Center, Right en Top, Center, Bottom. Centreren is gebruikelijk voor vertrouwelijke stempels, maar u kunt het watermerk in een hoek plaatsen voor brandingdoeleinden.

textWatermark.setHorizontalAlignment(HorizontalAlignment.Right);
textWatermark.setVerticalAlignment(VerticalAlignment.Bottom);

Als je tekstwatermerk aan PDF in Java wilt toevoegen met een andere lay-out op elke pagina, kun je deze eigenschappen aanpassen binnen een lus die pagina’s afzonderlijk verwerkt. De SDK ondersteunt ook afbeeldingswatermerken, verloopvullingen en meerregelige tekst als je scenario meer visuele complexiteit vereist.

Conclusie

Het toevoegen van een watermerk aan PDF in Java is eenvoudig met Conholdate.Total for Java. De SDK verwerkt het laden, verwerken en opslaan van PDF‑bestanden efficiënt, zelfs voor grote bestanden dankzij ingebouwde caching. Door de dekking, rotatie, het lettertype, de kleur en de uitlijning aan te passen, kun je professionele watermerken maken die ongeautoriseerde distributie ontmoedigen. Vergeet niet een juiste licentie voor productiegebruik aan te schaffen; je kunt een tijdelijke licentie aanvragen via de tijdelijke licentiepagina of de prijsopties bekijken op de prijspagina. Met de code‑ en configuratiestappen behandeld, ben je klaar om PDF‑watermarking in je Java‑toepassingen te integreren.

Veelgestelde vragen

Hoe kan ik een watermerk toevoegen aan een PDF in Java zonder low‑level PDF-code te schrijven?
Gebruik de Watermark‑klasse van Conholdate.Total for Java. Het abstraheert de PDF‑structuur, zodat je je kunt concentreren op watermerk‑eigenschappen zoals tekst, lettertype en plaatsing.

Welke opties zijn beschikbaar om de tekstwatermerk te stylen?
U kunt het lettertype (new Font(...)), de grootte, stijl (vet, cursief), kleur (setColor), doorzichtigheid (setOpacity), rotatie (setRotationAngle) en uitlijning (setHorizontalAlignment, setVerticalAlignment) instellen. Deze opties worden gedemonstreerd in het volledige codevoorbeeld.

Is de SDK in staat om grote PDF’s efficiënt te verwerken?
Ja. Door PdfLoadOptions.setCacheSize te configureren, schakel je streaming en caching in, waardoor het geheugenverbruik voor PDF’s van meerdere megabytes wordt verminderd. Dit maakt de add Watermark to PDF in Java workflow geschikt voor batchverwerking op servers.

Moet ik een licentie kopen om dit voorbeeld uit te voeren?
Een licentie is vereist voor productie‑implementaties. Verkrijg een tijdelijke licentie via de tijdelijke licentiepagina of bekijk de volledige prijsdetails op de prijspagina.

Lees meer