Generador de PDFs usando WeasyPrint, diseñado para formularios y reportes con componentes genéricos.
Project description
🚀 assemblerpdf
✨ Generador de PDFs dinámicos utilizando WeasyPrint con componentes HTML genéricos y reutilizables.
Esta librería permite ensamblar PDFs complejos utilizando un conjunto de componentes reutilizables (grid_row, input, textarea, checkbox, radio, etc.), con soporte para la fuente Inter descargada automáticamente, y con instalador automatizado de dependencias del sistema operativo (Pango, Cairo, etc.).
⚡ Instalación y Configuración
Puedes instalar la librería localmente para desarrollo:
pip install -e .
E instalar las dependencias del sistema (como Cairo/Pango para WeasyPrint) y descargar las fuentes corriendo el siguiente comando en Python:
import assemblerpdf
assemblerpdf.install_dependencies()
🛠️ Uso Básico
from assemblerpdf.assemblers.base import BaseFormAssembler
# Crear contexto de datos
context = {
"nombreCompleto": "Juan Pérez",
"fechaDiligenciamiento": "2026-06-03"
}
# Inicializar ensamblador
assembler = BaseFormAssembler(context)
# Agregar componentes genéricos
assembler.add_component("header.html", {
"titulo1": "FORMULARIO DE PRUEBA",
"titulo2": "SUBTÍTULO",
"titulo3": "UNIDAD NACIONAL DE PROTECCIÓN"
})
assembler.add_component("section.html", {
"titulo": "Datos de Identificación",
"icono": "fa-user"
})
# Agregar fila de inputs
assembler.add_grid_row([
{"template": "input.html", "context": {"label": "Nombre Completo", "valor": context["nombreCompleto"], "ancho": "70%"}},
{"template": "input.html", "context": {"label": "Fecha", "valor": context["fechaDiligenciamiento"], "ancho": "30%"}}
])
# Construir PDF
pdf_bytes = assembler.build()
with open("test.pdf", "wb") as f:
f.write(pdf_bytes)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 assemblerpdf-1.0.3-py3-none-any.whl.
File metadata
- Download URL: assemblerpdf-1.0.3-py3-none-any.whl
- Upload date:
- Size: 241.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83b628fd2a01e4388f928911dee1dc49c6e64fc62d3dbad6c3bc33bb1b91ea0b
|
|
| MD5 |
a3f840ab85110486516dcf254ea94315
|
|
| BLAKE2b-256 |
f7470202d7685704eb4caa6d956c8763d52a93a725419733b81e44619661df66
|