Vodoznak PDF v Javě – Přidat text k anotacím obrázků
Ochrana PDF souborů před neoprávněným šířením je pro vývojáře každodenní starostí. Watermark PDF Java vám umožní vložit viditelný text přímo do anotací obrázků, čímž zajistíte, že každá stránka nese vaši značku nebo upozornění na důvěrnost. V tomto tutoriálu uvidíte, proč je tento přístup spolehlivý, co potřebujete k zahájení a krok‑za‑krokem implementaci pomocí GroupDocs.Watermark pro Java.
Rychlé odpovědi
- Co knihovna dělá? Přidává, upravuje nebo odstraňuje vodoznaky v PDF, Word, Excel a souborech obrázků.
- Která primární metoda vytváří vodoznak?
Watermark.add()applied to anAnnotationobject. - Potřebuji licenci pro vývoj? Bezplatná zkušební verze funguje pro testování; pro produkci je vyžadována trvalá licence.
- Mohu zpracovávat velké PDF? Ano – API streamuje stránky, zvládá soubory > 500 MB bez načítání celého dokumentu do paměti.
- Je řešení thread‑safe? Všechny veřejné metody jsou bezstavu, takže můžete bezpečně spouštět více instancí paralelně.
Co je watermark pdf java?
watermark pdf java odkazuje na schopnost přidávat vizuální vodoznaky do PDF dokumentů z Java kódu, obvykle pomocí knihovny jako je GroupDocs.Watermark. Pomáhá vynucovat vlastnictví, důvěrnost nebo značku přímo v souboru při zachování původního rozvržení a umožňuje jemnou kontrolu nad vzhledem a umístěním.
Proč použít GroupDocs.Watermark pro Java?
GroupDocs.Watermark podporuje 50+ input and output formats, zpracovává PDF s více stovkami stránek za méně než 2 sekundy na standardním hardwaru a nevyžaduje instalaci plnohodnotného PDF prohlížeče. Jeho engine, který rozumí anotacím, zachovává původní rozvržení při vkládání textových vodoznaků s nastavitelnou neprůhledností, rotací a stylizací písma, což z něj činí rychlou, spolehlivou volbu pro enterprise‑grade vodoznakování.
Předpoklady
- Java Development Kit (JDK) 8 nebo vyšší.
- Maven (nebo ruční zahrnutí JAR) pro správu závislostí.
- Základní znalost struktury PDF a konceptů programování v Javě.
Jaké jsou předpoklady pro vodoznakování PDF v Javě?
Potřebujete kompatibilní JDK, Maven (nebo JAR soubory) a platnou licenci GroupDocs.Watermark. Knihovna běží na libovolném OS, který podporuje Java 8+, a funguje s Java 11, 17 a novějšími LTS verzemi. Dále zajistěte, aby váš projekt měl dostatek heap paměti (alespoň 2 GB) pro zpracování velkých PDF a aby měl zápisová oprávnění do výstupního adresáře.
Nastavení GroupDocs.Watermark pro Java
Než napíšete jakýkoli kód, přidejte knihovnu do svého projektu.
Nastavení Maven
Add the following to your pom.xml file:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/watermark/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>24.11</version>
</dependency>
</dependencies>
Přímé stažení
Alternatively, download the latest version from GroupDocs.Watermark for Java releases.
Získání licence
- Free Trial – explore core features without charge.
- Temporary License – unlock full capabilities during development.
- Purchase – obtain a permanent license for production use and premium support.
Základní inicializace
Watermark is the entry point class that loads a document, applies watermark objects, and saves the result.
import com.groupdocs.watermark.Watermarker;
public class WatermarkDemo {
public static void main(String[] args) {
// Initialize the watermarker with your PDF document path
PdfLoadOptions loadOptions = new PdfLoadOptions();
try (Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions)) {
System.out.println("Setup complete!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Jak přidat textový vodoznak k anotacím obrázků PDF pomocí GroupDocs.Watermark pro Java?
Watermark.load() loads a PDF document into the Watermark API for processing. TextWatermark represents a textual watermark with customizable font, size, color, opacity, and rotation. ImageAnnotation is a PDF annotation that contains an embedded image, which can be targeted for watermarking. annotation.addWatermark() attaches the created watermark to the annotation, and watermark.save() writes the modified document to the specified path.
Load your PDF with Watermark.load("sample.pdf"), create a TextWatermark instance, iterate over each ImageAnnotation, and call annotation.addWatermark(textWatermark). Finally, save the modified document with watermark.save("output.pdf"). This concise flow handles any number of annotations in a single pass and preserves original annotation metadata.
Přidání textového vodoznaku k anotacím obrázků PDF
The following sections break down each step.
Krok 1: Načtení PDF dokumentu
Open the target PDF file so the API can inspect its annotation objects.
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.options.PdfLoadOptions;
PdfLoadOptions loadOptions = new PdfLoadOptions();
try (Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions)) {
System.out.println("PDF loaded successfully.");
}
Krok 2: Vytvoření textového vodoznaku
TextWatermark represents a textual watermark with customizable font, size, color, opacity, and rotation.
import com.groupdocs.watermark.contents.PdfAnnotation;
import com.groupdocs.watermark.watermarks.TextWatermark;
import java.awt.Font;
import com.groupdocs.watermark.common.HorizontalAlignment;
import com.groupdocs.watermark.common.VerticalAlignment;
import com.groupdocs.watermark.saving.SizingType;
TextWatermark textWatermark = new TextWatermark("Confidential", new Font("Arial", 36));
textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
textWatermark.setVerticalAlignment(VerticalAlignment.Bottom);
textWatermark.setSizingType(SizingType.ScaleToParentDimensions);
textWatermark.setScaleFactor(0.5);
Krok 3: Aplikace vodoznaku na anotace
ImageAnnotation is a PDF annotation that contains an embedded image, which can be targeted for watermarking.
import com.groupdocs.watermark.contents.PdfPage;
for (PdfPage page : watermarker.getContent().getPages()) {
for (PdfAnnotation annotation : page.getAnnotations()) {
// Add watermark to image annotations
if (annotation.getImageData() != null) {
annotation.addWatermark(textWatermark);
}
}
}
Krok 4: Uložení vodoznakovaného PDF
watermark.save() writes the modified document to the specified path.
watermarker.save("YOUR_DOCUMENT_DIRECTORY/watermarked_document.pdf");
System.out.println("Document saved with watermark.");
Časté problémy a řešení
- Missing Dependencies – Verify that all GroupDocs artifacts are listed in
pom.xml. - File Path Issues – Use absolute paths or
Paths.get()to avoid relative‑path surprises. - Unsupported Annotation Types – The API currently handles
ImageAnnotation,TextAnnotation, andStampAnnotation; other types require custom handling.
Praktické aplikace
Adding a text watermark to PDF image annotations is especially useful for:
- Legal Documents – Mark contracts with “Confidential – For Internal Use Only”.
- Confidential Reports – Prevent accidental leaks by embedding a company‑wide label.
- Marketing Materials – Brand promotional PDFs with a subtle logo‑text overlay.
- Academic Drafts – Indicate “Draft – Do Not Distribute” on research papers before peer review.
Úvahy o výkonu
- Batch Processing – Group multiple PDFs into a single thread pool to minimise JVM overhead.
- Memory Management – The library streams pages, so allocate at least 2 GB heap for files larger than 200 MB.
- Watermark Settings – Lower opacity (e.g., 30 %) reduces visual clutter while still being detectable.
Často kladené otázky
Q: Can I add watermarks to other annotation types?
A: Yes, you can target TextAnnotation, StampAnnotation, or custom annotation objects by using the same addWatermark method.
Q: Is there a limit to how many watermarks I can place on a page?
A: No hard limit, but keep the total opacity below 70 % to maintain readability and avoid performance degradation.
Q: How do I remove a watermark after it’s been applied?
A: Use annotation.removeWatermark(watermarkId) or call Watermark.removeAll() to strip every watermark from the document.
Q: Does the library handle password‑protected PDFs?
A: Yes – provide the password when loading the document: Watermark.load("secure.pdf", "myPassword").
Q: What is the maximum file size supported?
A: The API can process files up to 2 GB on a 64‑bit JVM; larger files should be split into sections before watermarking.
Zdroje
- GroupDocs.Watermark Documentation
- API Reference
- Download GroupDocs.Watermark for Java
- GitHub Repository
- Free Support Forum
- Temporary License Application
Poslední aktualizace: 2026-07-30
Testováno s: GroupDocs.Watermark 23.9 for Java
Autor: GroupDocs