Skip to content
ComPDF
DemoFAQ

PDF Generation Template Editor

Open-source visual PDF generation engine with customizable templates and developer-friendly APIs.

View on GitHub
Guides

Get Watermarks

Use getWatermarkCount() to get the number of watermarks in the document.

dart
final int count = await document.getWatermarkCount();
print('Watermark count: $count');

Use getWatermark() to get a specific watermark by index:

dart
final CPDFWatermark? watermark = await document.getWatermark(0);

if (watermark != null) {
  print('Type: ${watermark.type.name}');
  print('Pages: ${watermark.pages}');
  print('Opacity: ${watermark.opacity}');
}

Use getWatermarks() to get all watermarks:

dart
final List<CPDFWatermark> watermarks = await document.getWatermarks();

for (final CPDFWatermark watermark in watermarks) {
  print('#${watermark.index}: ${watermark.type.name}');
}

Export Image Watermark Content

When getting image watermark information, imagePath is empty by default. Set exportImage or exportImages to true to export the image watermark bitmap to a temporary local file.

dart
final CPDFWatermark? watermark = await document.getWatermark(
  0,
  exportImage: true,
);

if (watermark != null && watermark.isImageExported) {
  print('Exported image path: ${watermark.imagePath}');
}

To export images for all watermarks:

dart
final List<CPDFWatermark> watermarks = await document.getWatermarks(
  exportImages: true,
);

Exported image paths point to SDK-managed temporary or cache files. If your app needs to keep an image, copy it to an app-managed location.