Skip to main content

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 Distribution

assemblerpdf-1.0.4.tar.gz (216.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

assemblerpdf-1.0.4-py3-none-any.whl (241.3 kB view details)

Uploaded Python 3

File details

Details for the file assemblerpdf-1.0.4.tar.gz.

File metadata

  • Download URL: assemblerpdf-1.0.4.tar.gz
  • Upload date:
  • Size: 216.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for assemblerpdf-1.0.4.tar.gz
Algorithm Hash digest
SHA256 3fbb40e38c00b165812f86e21bf11cc59831e9ab8319843af775623a25d3d70f
MD5 83aceff0cebc9236666f61fcfd32f217
BLAKE2b-256 69fd8d1aa19023f0b8ad76d4fcf44ed6e81cce0710ab44a53658c4d1190c6c8b

See more details on using hashes here.

File details

Details for the file assemblerpdf-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: assemblerpdf-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 241.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for assemblerpdf-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6db307a7f081475ad86e5a94ce8ffee0f0e9da844fb0ae20efbb1612c85dd73b
MD5 f195535a2a7dfcf67ea78db809b9995f
BLAKE2b-256 b9b85bcf0bdf90bf44b292af15531f7d6e83fa422cd901ebfe70fad71aaa8ca6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page