Files
fn_registry/python/functions/infra/pdf_add_table.md
T
egutierrez df424f2de0 feat: issue/0020 — generacion de PDFs en Python y Go
Añade 3 tipos Python (PDFDoc, PDFPage, PDFStyle) y 10 funciones Python
para construir PDFs con fpdf2 (builder fluent), fusionar PDFs con pypdf
y convertir HTML/Markdown a PDF via weasyprint (stub si no disponible).
Añade pdf_simple_report en Go como stub hasta que go-pdf/fpdf se integre.

- python/types/infra/: pdf_doc, pdf_page, pdf_style
- python/functions/infra/: pdf_create, pdf_add_page, pdf_add_text,
  pdf_add_table, pdf_add_image, pdf_add_header_footer, pdf_from_html,
  pdf_from_markdown, pdf_merge, pdf_save
- functions/infra/pdf_simple_report.go: stub Go con ReportSection/ReportTable
- 17 tests Python pasando (pytest)
- fpdf2 y pypdf añadidos via uv al venv Python

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 02:02:51 +02:00

2.3 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
pdf_add_table function py infra 1.0.0 impure def pdf_add_table(doc, headers, rows, col_widths, header_style, row_style, border, row_height, alternate_bg) -> PDFDoc Añade una tabla con fila de headers y filas de datos al documento PDF. Soporta anchos de columna personalizados, estilos diferenciados para headers/datos, bordes y colores alternados en filas.
pdf
table
data
builder
infra
pdf_doc_py_infra
pdf_style_py_infra
pdf_doc_py_infra
false error_go_core
name desc
doc PDFDoc con pagina activa
name desc
headers lista de strings con nombres de columna de la tabla
name desc
rows lista de listas de strings con los datos de cada fila
name desc
col_widths lista de anchos de columna en mm; None distribuye uniformemente el ancho disponible
name desc
header_style PDFStyle para la fila de headers; None usa Helvetica-Bold 10pt
name desc
row_style PDFStyle para filas de datos; None usa Helvetica 10pt
name desc
border tipo de borde: 0=sin borde, 1=borde completo
name desc
row_height altura de cada celda en mm, por defecto 8
name desc
alternate_bg si True alterna fondo gris claro en filas pares para mejorar legibilidad
PDFDoc con la tabla renderizada en la pagina activa true
tabla con headers y datos
tabla con col_widths personalizados
tabla sin borde
python/functions/infra/pdf_add_table_test.py python/functions/infra/pdf_add_table.py

Ejemplo

headers = ["Dominio", "Funciones", "Purity"]
rows = [
    ["core", "45", "pure"],
    ["infra", "38", "impure"],
    ["finance", "22", "mixed"],
]
doc = pdf_add_table(doc, headers, rows, col_widths=[70, 40, 60])

Notas

Las columnas se distribuyen uniformemente si col_widths es None. Si la lista tiene menos elementos que columnas, se completa con distribucion uniforme. El fondo alternado usa gris muy claro (245, 245, 245) en filas impares para mejorar la lectura de tablas largas. No gestiona overflow de celdas — textos muy largos se truncan en fpdf2 con cell().