전자서명 구현 (feat. react-signature-canvas)

soo's·2024년 2월 7일
1

TIL

목록 보기
51/53

이번 프로젝트에서 전자서명 구현이 필요했다.
react-signature-canvas 라이브러리를 사용했는데, npm 문서는 여기참고하면 된다.

1. 설치

yarn add react-signature-canvas

위 명령어를 통해 라이브러리 설치

2. 사용

import SignatureCanvas from 'react-signature-canvas'

<SignatureCanvas
        canvasProps={{
          className:
            'sigCanvas',
        }}
      />

사용법은 import하고 컴포넌트를 바로 사용해주면 된다.
해당 컴포넌트에서 canvasProps 이름으로 prop을 전달받고 있는데

아래와 같은 프롭들을 전달할 수 있다

  • velocityFilterWeight : number, default: 0.7
  • minWidth : number, default: 0.5
  • maxWidth : number, default: 2.5
  • minDistance: number, default: 5
  • dotSize : number or function, default: () => (this.minWidth + this.maxWidth) / 2
  • penColor : string, default: 'black'
  • throttle : number, default: 16

또한 서명 동작에 대한 이벤트 리스너로 아래의 두가지 리스너가 있다.

  • onEnd : 서명 시작된 때를 감지
  • onBegin : 서명이 시작된 후 끝날 때를 감지

3. api

문서를 바탕으로 제공하고 있는 api들을 정리해봤다.

  • isEmpty() : boolean
  • clear() : backgroundColor prop을 사용해 서명 클리어
  • fromDataURL(base64String, options) : base64 문자열 이미지를 캔버스로 그려줌
  • toDataURL(mimetype, encoderOptions): 서명 이미지를 데이터 url(base64String)으로 변환
  • off(): 연결된 이벤트 핸들러 모두 해제
  • on(): 모든 이벤트 핸들러 연결
  • getTrimmedCanvas(): 모든 공백을 제거한 버전의 서명을 캔버스로 반환

0개의 댓글