This project demonstrates the integration between CarboneIO (document generation) and Subnoto (electronic signatures).
The application generates a PDF document using CarboneIO with signature fields, extracts signature positions from the CarboneIO response, creates an envelope in Subnoto, adds signature blocks based on the extracted positions, and sends the envelope for signing.
Full documentation is available in the tutorial Integrate CarboneIO with Subnoto.
- Node.js 18+
- pnpm
- CarboneIO API key
- Subnoto API credentials (access key, secret key, workspace UUID)
- Install dependencies:
pnpm install- Configure environment variables:
cp env.example .envEdit .env with your credentials:
CARBONE_API_KEY=your_carbone_api_key_here
SUBNOTO_API_BASE_URL=https://enclave.subnoto.com
SUBNOTO_ACCESS_KEY=your_subnoto_access_key_here
SUBNOTO_SECRET_KEY=your_subnoto_secret_key_here
SUBNOTO_WORKSPACE_UUID=your_subnoto_workspace_uuid_here
Development mode:
pnpm devProduction mode:
pnpm build
pnpm start- Generates a PDF using CarboneIO template with signature placeholders (using
:signformat) - Extracts signature positions from the CarboneIO response metadata
- Uploads the PDF to Subnoto and creates an envelope
- Maps CarboneIO signature positions to Subnoto signature blocks
- Sends the envelope to recipients for signing