水印 0.4.2+

Facade API付费版本需要 Univer 服务端Univer on Node.jsPreset
---❌ 通过 plugin 引入

水印功能旨在为网页或应用提供灵活且安全的水印方案。通过该功能,开发者可以在页面上动态生成文本或图片水印,以防止内容未经授权的使用或传播。并支持多种配置。

水印支持三种设置方式,分别为 UI 界面、Facade API、和插件配置。

水印类型支持三种类型,分别是用户信息类型、自定义图片类型、自定义文本类型,水印的展示只支持某一种类型的展示,优先级为用户信息类型 > 自定义图片类型 > 自定义文本类型。

Presets 安装

npm install @univerjs/watermark
import { createUniver, defaultTheme, LocaleType, Tools } from '@univerjs/presets';
import { UniverSheetsCorePreset } from '@univerjs/presets/preset-sheets-core';
import UniverPresetSheetsCoreZhCN from '@univerjs/presets/preset-sheets-core/locales/zh-CN';
import { UniverWatermarkPlugin } from '@univerjs/watermark';
import watermarkZhCN from '@univerjs/watermark/locale/zh-CN';
 
import '@univerjs/watermark/lib/index.css';
 
import '@univerjs/watermark/facade';
 
const { univerAPI } = createUniver({
  locale: LocaleType.ZH_CN,
  locales: {
    zhCN: Tools.deepMerge(
      {},
      UniverPresetSheetsCoreZhCN,
      watermarkZhCN,
    ),
  },
  theme: defaultTheme,
  presets: [
    UniverSheetsCorePreset(),
  ],
  plugins: [
    UniverWatermarkPlugin,
  ],
});

高级安装

npm install @univerjs/watermark
import { LocaleType, Tools } from '@univerjs/core';
import { UniverWatermarkPlugin } from '@univerjs/watermark';
import watermarkZhCN from '@univerjs/watermark/locale/zh-CN';
 
import '@univerjs/watermark/lib/index.css';
 
import '@univerjs/watermark/facade';
 
const univer = new Univer({
  theme: defaultTheme,
  locale: LocaleType.ZH_CN,
  locales: {
    [LocaleType.ZH_CN]: Tools.deepMerge(
      watermarkZhCN
    ),
  },
});
 
univer.registerPlugin(UniverWatermarkPlugin);

配置

univer.registerPlugin(UniverWatermarkPlugin, {
  textWatermarkSettings: {
    content: "Univer",
  }
})

详细的配置信息可以在 GitHub 上找到。

Facade API

设置水印

univerAPI.setWatermark("text", { content: "hello", repeat: true })

移除水印

univerAPI.setWatermark(null);

参考链接