@univerjs/watermark

GitHubEdit on GitHub

Watermark rendering plugin for Univer.

import { UniverWatermarkPlugin } from '@univerjs/watermark'

univer.registerPlugin(UniverWatermarkPlugin, IUniverWatermarkConfig)

IUniverWatermarkConfig

import type { IImageWatermarkConfig, ITextWatermarkConfig, IUserInfoWatermarkConfig } from '@univerjs/engine-render'

export interface IUniverWatermarkConfig {
  userWatermarkSettings?: Partial<IUserInfoWatermarkConfig>
  textWatermarkSettings?: Partial<ITextWatermarkConfig>
  imageWatermarkSettings?: Partial<IImageWatermarkConfig>
}

IGeneralWatermarkConfig

export interface IGeneralWatermarkConfig {
  x: number
  y: number
  repeat: boolean
  spacingX: number
  spacingY: number
  rotate: number
  opacity: number
}

IImageWatermarkConfig

export interface IImageWatermarkConfig extends IGeneralWatermarkConfig {
  url: string
  width: number
  height: number
  maintainAspectRatio: boolean
  originRatio: number
}

ITextWatermarkConfig

export interface ITextWatermarkConfig extends IGeneralWatermarkConfig {
  content?: string
  fontSize: number
  color: string
  bold: boolean
  italic: boolean
  direction: 'ltr' | 'rtl' | 'inherit'
}

IUserInfoWatermarkConfig

export interface IUserInfoWatermarkConfig extends IGeneralWatermarkConfig, Omit<ITextWatermarkConfig, 'content'> {
  name: boolean
  email: boolean
  phone: boolean
  uid: boolean
}