用途
Syncfusion Flutter SignaturePad 技能围绕 Flutter 组件 SfSignaturePad 展开,用于在 Flutter 应用中捕获手写签名或绘图。根据资料,它适合以下需求:为文档、表单或协议捕获数字签名;在审批工作流中实现电子签名功能;在 PDF 表单或数字文档中创建签名栏;构建合同、收据或法律表单的文档签署界面;添加手写输入用于笔记、草图或批注;在认证流程中实现签名验证界面;创建用于简单素描或标记的绘图表面;通过基于签名的认证捕获用户同意;构建需要手写签名的审批系统;在注册、结账或配送确认界面添加签名板。
主要能力
资料列出的关键特性包括:流畅绘制体验,针对触摸和触控笔输入优化,曲线平滑;笔画自定义,可控制笔画颜色、宽度和外观;背景支持,可添加背景颜色或背景图像;最小笔画校验,确保捕获有意义的签名;多种导出格式,可转换为图像(PNG、JPEG)或保存为原始数据;清除与重置,可通过代码清空签名板;只读模式,用于展示签名而不允许修改;回调,处理绘制开始、绘制和绘制结束事件;透明背景,支持透明签名捕获;高质量输出,可按所需分辨率导出签名。
使用方式
技能文档按主题组织,并给出对应参考文件:入门(references/getting-started.md)涵盖安装与包设置、基础 SfSignaturePad 实现、包依赖与导入、首个签名捕获示例和快速设置指南;组件概览(references/overview.md)涵盖组件特性、适用时机、核心能力与用例、组件架构和基础配置;自定义与样式(references/customization.md)涵盖笔画颜色、笔画宽度与最小/最大设置、背景颜色与图像、边框与容器样式、透明背景、视觉外观自定义和主题集成;保存与导出(references/saving-exporting.md)涵盖 toImage 方法转换为图像、图像格式选项(PNG、JPEG)、分辨率与质量设置、保存到存储、转换为 Uint8List、清除签名板、最小笔画数校验以及导出模式与最佳实践;事件处理(references/callbacks.md)涵盖 onDrawStart、onDraw、onDrawEnd 回调、签名事件处理、绘制期间校验、实时反馈模式和事件参数类型;高级功能(references/advanced-features.md)涵盖只读模式、背景图像支持、签名校验技术、自定义绘制约束、与表单集成、签名比较、多签名工作流和撤销/重做实现模式;无障碍(references/accessibility.md)涵盖屏幕阅读器支持、签名字段的语义标签、键盘无障碍注意事项、替代输入方式、WCAG 合规和无障碍签名工作流。
基础用法示例:通过 GlobalKey<SfSignaturePadState> 引用签名板,使用 SfSignaturePad 组件并设置 backgroundColor,调用 currentState.clear() 清除,调用 currentState.toImage() 获取图像。自定义示例展示 strokeColor、minimumStrokeWidth、maximumStrokeWidth 以及 onDrawStart、onDraw、onDrawEnd 回调。导出示例展示 toImage(pixelRatio: 3.0) 后通过 image.toByteData(format: ui.ImageByteFormat.png) 转为字节数据。
适用场景
资料给出的常见模式包括:文档签署流程(文档预览加签名区域,绘制结束后启用提交按钮,提交时导出图像并返回);多签名收集(如申请人签名与见证人签名分别使用独立 GlobalKey,分别导出后一并提交);只读签名展示(使用 Image.memory 展示已保存的签名数据);带实时反馈的交互式签名板。
限制
资料未提供该组件的收费、价格、平台支持范围、性能指标或与其他产品的对比信息,这些内容暂未提供。示例中的校验逻辑(如通过 toImage 是否为 null 判断是否有签名)来自资料原文,实际使用时应以官方文档为准。