Spaces:
Runtime error
Runtime error
A newer version of the Gradio SDK is available: 6.13.0
metadata
title: SignLib - AI Signature Generator
emoji: 🖋️
colorFrom: purple
colorTo: indigo
sdk: gradio
sdk_version: 6.5.1
app_file: app.py
pinned: false
license: mit
tags:
- signature
- synthetic-data
- ai
- machine-learning
- document-processing
- dataset-generation
🖋️ SignLib - AI Signature Generator
Automatically add signatures to documents for synthetic data generation and AI training datasets.
🎯 Features
- Automatic Background Removal - Removes signature background automatically
- Smart Positioning - Finds optimal white space in document
- Color Adaptation - Auto-detects text color or use custom colors
- Position Control - Customize placement with
bottom_percentandright_percent - Multiple Formats - Supports PDF, TIFF, PNG, JPEG
🚀 How to Use
- Upload Document: PDF, TIFF, PNG, or JPEG file
- Upload Signature: PNG file (transparent background recommended)
- Adjust Parameters:
- Color Mode: Auto-detect or choose custom color
- Size: 5-30% of document width (12% recommended)
- Rotation: -20° to +20° for natural variation
- Position: Control search area from bottom and right
- Click "Add Signature": Generate signed document instantly!
💡 Use Cases
- AI Training Data: Generate synthetic signed documents for ML models
- Dataset Augmentation: Create diverse training samples
- Document Automation: Batch process documents
- Testing & Development: Generate test documents
📦 Installation
pip install signlib
🐍 Python Usage
from signlib import create_sign
# Simple usage
create_sign('document.pdf', 'signature.png')
# With position control
create_sign(
'document.pdf',
'signature.png',
bottom_percent=40,
right_percent=40
)
# Full control
create_sign(
document_path='document.pdf',
sign_path='signature.png',
signature_color=(0, 0, 255), # Blue
scale_factor=0.12, # 12% size
rotation_angle=5.0, # 5° rotation
bottom_percent=25,
right_percent=50
)
📊 Batch Processing Example
Generate 1000 synthetic training samples:
from signlib import create_sign
import random
from pathlib import Path
documents = list(Path('documents').glob('*.pdf'))
signatures = list(Path('signatures').glob('*.png'))
for i in range(1000):
doc = random.choice(documents)
sig = random.choice(signatures)
create_sign(
str(doc),
str(sig),
output_path=f'training_data/sample_{i:04d}.pdf',
scale_factor=random.uniform(0.10, 0.15),
rotation_angle=random.uniform(-10, 10),
bottom_percent=random.randint(20, 35),
right_percent=random.randint(40, 60)
)
🔗 Links
- PyPI: https://pypi.org/project/signlib/
- GitHub: https://github.com/cagrigungor/signlib
- Author: Cagri Gungor (@cagrigungor)
📄 License
MIT License - Free for commercial and open-source use.
Perfect for AI researchers, ML engineers, and data scientists! 🚀