# @almothafar/angular-signature-pad 中文文档

规范地址：https://npmcn.com/package/%40almothafar/angular-signature-pad/

版本：10\.0\.0
npm 元数据更新时间：2026-06-21T20:38:44.465Z
中文译文更新时间：2026-11-05T21:39:00.990Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40almothafar/angular-signature-pad
原文对照：https://npmcn.com/package/%40almothafar/angular-signature-pad/?lang=original
项目主页：https://github.com/almothafar/angular-signature-pad#readme
源码仓库：https://github.com/almothafar/angular-signature-pad

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：41.4 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：@angular/common \>=20\.0\.0，@angular/core \>=20\.0\.0
- 首次发布：2020-12-23T14:09:30.071Z
- 最新版本发布：2026-06-21T20:38:44.365Z
- 近 30 天下载量：98604（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 5 个）

## 中文简介

Szimek/ signative pad 的角组件包装器

## 安装

```sh
npm install @almothafar/angular-signature-pad
```

也可以使用：`pnpm add @almothafar/angular-signature-pad`、`yarn add @almothafar/angular-signature-pad`、`bun add @almothafar/angular-signature-pad`

## README

# 角形签名纸

[![npm downloads](https://img.shields.io/npm/dt/@almothafar/angular-signature-pad.svg)](https://www.npmjs.com/package/@almothafar/angular-signature-pad) [![npm version](https://img.shields.io/npm/v/@almothafar/angular-signature-pad.svg)](https://www.npmjs.com/package/@almothafar/angular-signature-pad) [![npm license](https://img.shields.io/npm/l/@almothafar/angular-signature-pad.svg)](https://www.npmjs.com/package/@almothafar/angular-signature-pad) [![GitHub issues](https://img.shields.io/github/issues/almothafar/angular-signature-pad.svg)](https://github.com/almothafar/angular-signature-pad/issues) [![Angular 22](https://img.shields.io/badge/Angular-22-DD0031?logo=angular)](https://angular.io/)

角组件 [szimek/ 签名( p)](https://www.npmjs.com/package/signature_pad)。 。 。 .

**现在支持角力22!** 由独立组件和现代Angular信号API所建.

## 安装

```shell
npm install @almothafar/angular-signature-pad --save
```

## 执行

-   [现场直播](https://almothafar.github.io/angular-signature-pad/)
-   [来源](https://github.com/almothafar/angular-signature-pad/tree/master/projects/demo)

## 用法实例

API 与 API 相同 [szimek/ 签名( p)](https://www.npmjs.com/package/signature_pad)。 。 。 .

选项如下 [szimek/ 签名( p)](https://www.npmjs.com/package/signature_pad) 增加以下内容:

-   帆布宽度( px)
-   画布高度( px)

提供上述选项是为了避免从您的组件直接访问DOM来调整画布大小.

```typescript
import { Component, viewChild } from '@angular/core';
import { SignaturePadComponent, NgSignaturePadOptions } from '@almothafar/angular-signature-pad';

@Component({
  selector: 'app-signature',
  standalone: true,
  imports: [SignaturePadComponent],
  template: `
    <signature-pad
      [options]="signaturePadOptions"
      (drawStart)="drawStart($event)"
      (drawEnd)="drawComplete($event)"
      (drawClear)="drawCleared()" />
  `
})
export class SignaturePadPage {

  public signaturePad = viewChild(SignaturePadComponent);

  public signaturePadOptions: NgSignaturePadOptions = { // passed through to szimek/signature_pad constructor
    minWidth: 5,
    canvasWidth: 500,
    canvasHeight: 300
  };

  ngAfterViewInit() {
    // this.signaturePad() is now available
    this.signaturePad().set('minWidth', 5); // set szimek/signature_pad options at runtime
    this.signaturePad().clear(); // invoke functions from szimek/signature_pad API
  }

  drawComplete(event: MouseEvent | Touch) {
    // will be notified of szimek/signature_pad's onEnd event
    console.log('Completed drawing', event);
    console.log(this.signaturePad().toDataURL());
  }

  drawStart(event: MouseEvent | Touch) {
    // will be notified of szimek/signature_pad's onBegin event
    console.log('Start drawing', event);
  }

  drawCleared() {
    // will be notified when clear() is called on the pad
    console.log('Pad cleared');
  }
}
```

### 从v9.x到v10.x的迁移

**角地二十二相辅.** 对等依赖范围保持不变(Angular) `>=20.0.0`),因此Angular 20/21上已有的v9消费者继续工作——没有API更改. 图书馆现在从Angular 22工具链起航,并且完全无区相容. 升级不需要修改代码.

### 从v8.x到v9.x的迁移

**角19号投下** ——目前最小的同级依赖是Angular 20.0.0+.

**`drawEnd` 不再发出 `null` {\\fn华文楷体\\fs16\\1che0e0e0}安全.** 如果你正在检查一个 `null` 事件发生时 `drawEnd` 处理器以检测清除后, 切换到新的专用 `drawClear` 输出 :

**在(v8.x)之前:**

```html
<signature-pad (drawEnd)="onDrawEnd($event)"></signature-pad>
```

```typescript
onDrawEnd(event: MouseEvent | Touch | null) {
  if (!event) {
    // pad was cleared
  }
}
```

**在(v9.x)之后:**

```html
<signature-pad (drawEnd)="onDrawEnd($event)" (drawClear)="onDrawCleared()" />
```

```typescript
onDrawEnd(event: MouseEvent | Touch) { }

onDrawCleared() {
  // pad was cleared
}
```

**`options` 现在是一个 `model()` 信号**,允许可选双向绑定:

```html
<!-- one-way (as before) -->
<signature-pad [options]="myOptions" />

<!-- two-way (new) -->
<signature-pad [(options)]="myOptions" />
```

### 从v6.x迁移到v7.x

在v7.x中,该组件现在是独立的. 更新您的导入 :

**在(v6.x)之前:**

```typescript
import { AngularSignaturePadModule } from '@almothafar/angular-signature-pad';

@NgModule({
  imports: [AngularSignaturePadModule]
})
```

**在(v7.x)之后:**

```typescript
import { SignaturePadComponent } from '@almothafar/angular-signature-pad';

@Component({
  standalone: true,
  imports: [SignaturePadComponent]
})
```

或者如果你还在使用NgModule:

```typescript
import { SignaturePadComponent } from '@almothafar/angular-signature-pad';

@NgModule({
  imports: [SignaturePadComponent]
})
```

## 常见问题

### @almothafar/angular-signature-pad 是什么？

Szimek/ signative pad 的角组件包装器

### 如何安装 @almothafar/angular-signature-pad？

在项目目录运行 npm install @almothafar/angular-signature-pad，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@angular/common（\>=20\.0\.0）、@angular/core（\>=20\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @almothafar/angular-signature-pad 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @almothafar/angular-signature-pad 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @almothafar/angular-signature-pad 可以商用吗？

@almothafar/angular-signature-pad 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @almothafar/angular-signature-pad 的下载量有多少？

根据 npm 官方下载统计，@almothafar/angular-signature-pad 在 2026/10/06 – 2026/11/04 这 30 天内被下载 98,604 次，日均约 3,287 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @almothafar/angular-signature-pad 还在维护吗？

最新版本 10\.0\.0 发布于 2026/06/22（4 个月前）；至今共发布 14 个版本，其中过去 12 个月发布了 5 个；首次发布于 2020/12/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

