SignIt is a Django web app that lets you upload a PDF letter, place a signature (upload a PNG or draw one), and download a signed PDF.
- Upload a PDF and preview pages in the browser
- Upload a PNG signature or draw one in-app
- Drag, resize, confirm, and apply the signature to a page
- Download the signed PDF
- Django
- SQLite (default dev database)
- pypdf + ReportLab for PDF editing
- Pillow + NumPy for signature image processing
- pdf.js + interact.js (via CDN) for client-side preview and drag/resize
python -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
python -m pip install django pypdf reportlab Pillow numpy
python manage.py migrate
python manage.py runserverOpen http://127.0.0.1:8000/ and follow the upload and sign flow.
- Upload a PDF on the home page.
- Add a signature (upload PNG or draw).
- Drag and resize the signature, then confirm.
- Apply the signature and download the signed PDF.
Uploaded and generated files are stored under the media/ folder:
media/pdfs/for originalsmedia/signatures/for uploaded/drawn signaturesmedia/signed_pdfs/for final output
- This project uses session-based access to limit document access per browser session.
- For production, configure
DEBUG,ALLOWED_HOSTS, and a persistent storage backend.