UNPKG

pdf-e-signature

Version:

A React component that allows users to select positions for e-signatures on PDFs

123 lines (93 loc) 2.99 kB
# PDF E-Signature A React component library that allows users to select positions for e-signatures on PDFs and sign documents digitally. ## Installation ```bash npm install pdf-e-signature # or yarn add pdf-e-signature ``` ## Features - PDF document viewer - Signature positioning interface - Multiple signature formats - Signature storage and management - PDF document signing ## Usage ### Basic Example ```jsx import React, { useState } from 'react'; import { PDFSignatureSelector, SignPdf } from 'pdf-e-signature'; const SignatureApp = () => { const [pdfFile, setPdfFile] = useState(null); const [pdfUrl, setPdfUrl] = useState(null); const [signaturePositions, setSignaturePositions] = useState([]); const [signedPdf, setSignedPdf] = useState(null); const handleFileChange = (e) => { const file = e.target.files[0]; if (file && file.type === 'application/pdf') { setPdfFile(file); const fileURL = URL.createObjectURL(file); setPdfUrl(fileURL); setSignaturePositions([]); } }; const handleSigningComplete = (signedPdfBlob) => { setSignedPdf(URL.createObjectURL(signedPdfBlob)); }; return ( <div> <input type="file" accept=".pdf" onChange={handleFileChange} /> {pdfFile && ( <PDFSignatureSelector pdfFile={pdfFile} onSave={(e) => {setSignaturePositions(e.signaturePositions) }} pdfUrl={pdfUrl} /> )} {pdfFile && signaturePositions.length > 0 && ( <SignPdf pdfFile={pdfFile} pdfUrl={pdfUrl} signaturePositions={signaturePositions} onSigningComplete={handleSigningComplete} /> )} {signedPdf && ( <div> <h3>Signed Document:</h3> <iframe src={signedPdf} width="100%" height="500px" /> </div> )} </div> ); }; export default SignatureApp; ``` ## Components ### PDFSignatureSelector Component for selecting positions where signatures should be placed on a PDF document. #### Props | Prop | Type | Required | Description | |------|------|----------|-------------| | pdfFile | File or Blob | Yes | PDF file to display and select positions on | | pdfUrl | Pdf Url | Yes | PDF url to display and select positions on | | onSave | Function | Yes | Callback function that receives the selected signature positions and pdf file | ### SignPdf Component for creating a signature and applying it to a PDF document. #### Props | Prop | Type | Required | Description | |------|------|----------|-------------| | pdfFile | File or Blob | Yes | PDF file to sign | | pdfUrl | Pdf Url | Yes | PDF url to sign | | signaturePositions | Array | Yes | Array of positions where signatures should be placed | | onSigningComplete | Function | Yes | Callback function that receives the signed PDF | ## Development ### Prerequisites - Node.js >= 14 - npm or yarn 2. Install dependencies ```bash npm install # or yarn ```