A simple web application to sign PDF documents with image-based signatures.
- Upload and view PDF documents
- Add signature images (PNG, JPG)
- Drag and drop signature positioning
- Resize signatures while maintaining aspect ratio
- Multi-page PDF support
- Download signed PDFs
- PDFs are never stored on the server: they stay in the browser and are only processed in memory when saving
- Signatures not saved to the library are deleted after 24 hours
docker compose up -d
# Open http://localhost:5000Or with docker run:
docker build -t signatron .
docker run -p 5000:5000 signatron# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python app.py
# Open http://localhost:5000- Click "Open PDF" to upload a PDF document
- Click "Add Signature" to upload a signature image (PNG/JPG)
- Drag the signature to position it on the PDF
- Use the corner handle to resize the signature
- Click "Save PDF" to download the signed document
Signatron/
├── app.py # Flask backend
├── templates/
│ └── index.html # Web UI
├── static/
│ └── app.js # Frontend logic
├── requirements.txt # Python dependencies
├── Dockerfile
└── docker-compose.yml
- Flask - Web framework
- PyPDF - PDF reading/writing
- Pillow - Image processing
- ReportLab - PDF overlay generation
- Gunicorn - Production WSGI server
This project is licensed under the GNU General Public License v3.0 or later. See LICENSE for details.
- oquinterol