Generador de PDFs simples y rápidos para Python, ideal para entornos educativos y gubernamentales.
Project description
🚀 TurboPDF — Generador de PDFs Profesionales y Modulares para Django
✨ Crea formularios oficiales, informes y documentos institucionales en minutos — con componentes HTML reutilizables y una estructura base profesional.
TurboPDF te permite ensamblar PDFs complejos (como formularios de la UNP) usando componentes modulares (fila_dos.html, firma.html, etc.) y una estructura base reutilizable que incluye:
- Logos institucionales
- Márgenes y estilos oficiales
- Paginación automática
- Bloque "Archívese en:"
Ideal para entornos gubernamentales, educativos o empresariales que requieren documentos estandarizados.
🎯 ¿Por qué TurboPDF?
✅ Modular — Reutiliza componentes HTML en múltiples formularios
✅ Flexible — Construye cualquier formulario directamente desde tu vista
✅ Profesional — Estilos y estructura listos para documentos oficiales
✅ Django-Friendly — Integración directa con tus vistas y modelos
✅ Mantenible — La lógica del formulario vive en tu proyecto, no en la librería
⚡ Instalación
pip install turbopdf
📌 Requisitos:
Python ≥ 3.8 Django ≥ 3.2 wkhtmltopdf instalado en el sistema (guía de instalación )
🧩 Componentes incluidos
TurboPDF incluye componentes HTML listos para usar:
titulo_logo.html — Encabezado con logos y títulos fila_dos.html, fila_tres.html, fila_cuatro.html — Filas de datos tipo_identificacion.html — Selector de tipo de documento firma.html, firmaop2.html — Firmas del solicitante oficializacion.html — Pie de página con código y paginación archivese.html — Bloque "Archívese en:" pregunta_si_no.html, tipos_checkbox.html — Controles de selección texarea.html — Áreas de texto grandes anexos_limpio.html, manifiesto.html, leyenda_autoriza_correo.html — Componentes legales
🛠️ Cómo usar TurboPDF
Ejemplo 1: Formulario básico con encabezado y firma from django.http import HttpResponse from turbopdf.assemblers import BaseFormAssembler
context = {'nombreCompleto': 'Ana López'}
assembler = BaseFormAssembler(context)
assembler.add_raw_html('<div style="border:1px solid #303d50; padding:20px;">')
assembler.add_component('titulo_logo.html', {
'titulo1': "MI FORMULARIO OFICIAL",
'titulo2': "SUBTÍTULO",
'titulo3': "INSTITUCIÓN"
})
assembler.add_component('firmaop2.html', {'nombre_completo': context['nombreCompleto']})
assembler.add_raw_html('</div>')
assembler.add_component('archivese.html', {})
assembler.add_component('oficializacion.html', {
'codigo': "MIF-FT-01",
'fecha': "Oficialización: 01/01/2025",
'pagina': "Pág. 1 de 1"
})
response = HttpResponse(assembler.build(), content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="documento.pdf"'
return response
Ejemplo 2: Fila de datos + selección
assembler.add_component('fila_dos.html', {
'label1': "Nombre", 'valor1': "Juan Pérez",
'label2': "Correo", 'valor2': "juan@example.com"
})
assembler.add_component('pregunta_si_no.html', {
'pregunta': "¿Autoriza notificaciones por correo?",
'valor': "Sí"
})
Ejemplo 3: Tipo de identificación
assembler.add_component('tipo_identificacion.html', {
'numeracion1': 1,
'numeracion2': "2. Número de identificación *",
'numeroIdentificacion': "123456789",
'numeracion3': "3. Fecha de expedición *",
'fechaExpedicion': "01/01/2020",
'tipoIdentificacion': "Cédula de ciudadanía"
})
📜 Licencia
UNP - EcosistemaUNP ©
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turbopdf-1.3.2.tar.gz.
File metadata
- Download URL: turbopdf-1.3.2.tar.gz
- Upload date:
- Size: 109.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fb55a94ad4b928aac83f059a04a7ec9a7d1c443bce415816c571fe9f8711edb
|
|
| MD5 |
4d9539bd337dad8c2389912b212d32c7
|
|
| BLAKE2b-256 |
3f6455f4eb0043d38bba39e5e96486c4cfa040448d8404a2ad2699b9904e3b85
|
File details
Details for the file turbopdf-1.3.2-py3-none-any.whl.
File metadata
- Download URL: turbopdf-1.3.2-py3-none-any.whl
- Upload date:
- Size: 127.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e41501eaf5e3da255fc3d8080ebc588360a7bce1063a0e9228f64d07370735f1
|
|
| MD5 |
1c129827503f83f9c5e930375e85f75e
|
|
| BLAKE2b-256 |
7e85682c5b6310233fc370f64a0e818230d65271700999b153dc6054be2aff87
|