Skip to content

PDF 生成模板编辑器

开源可视化 PDF 生成引擎,支持自定义模板,并提供面向开发者的 API,灵活构建文档生成流程。

查看 GitHub
Guides

获取水印

使用 getWatermarkCount() 获取文档中的水印数量:

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

使用 getWatermark() 根据索引获取指定水印:

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

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

使用 getWatermarks() 获取全部水印:

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

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

导出图片水印内容

获取图片水印信息时,默认情况下 imagePath 为空。如果需要将图片水印位图导出为临时本地文件,请将 exportImageexportImages 设为 true

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

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

获取全部水印并导出图片水印内容:

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

导出的图片路径指向 SDK 管理的临时或缓存文件。如果应用需要长期保存图片,请将其复制到应用自行管理的位置。