# @univerjs/watermark

> Language fallback: requested `zh-CN`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/watermark](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/watermark)

- Agent Markdown: [https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/watermark.md](https://docs.univer.ai/zh-CN/reference/packages/plugins/univerjs/watermark.md)

- Requested language: `zh-CN`

- Content language: `en-US`

- Documentation version: `1.0.0-rc.0`

- Source: [packages/plugins/univerjs/watermark.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/packages/plugins/univerjs/watermark.mdx)

---

Watermark rendering plugin for Univer.

```typescript
// [!code word:UniverWatermarkPlugin]
// [!code word:IUniverWatermarkConfig]
import { UniverWatermarkPlugin } from '@univerjs/watermark'

univer.registerPlugin(UniverWatermarkPlugin, IUniverWatermarkConfig)
```

## Entry Points

* Facade: `@univerjs/watermark/facade`

## IUniverWatermarkConfig

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

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

### IGeneralWatermarkConfig

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

### IImageWatermarkConfig

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

### ITextWatermarkConfig

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

### IUserInfoWatermarkConfig

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