0819c35bbb
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>
1.9 KiB
1.9 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_from_markdown | function | py | infra | 1.0.0 | impure | def pdf_from_markdown(markdown_string, output_path, css, page_size) -> str | Convierte un string Markdown a PDF via HTML + weasyprint. Incluye CSS por defecto para tipografia legible. Soporta tablas, codigo y headers. Requiere weasyprint y markdown instalados. |
|
|
false | error_go_core |
|
|
output_path con el PDF generado en disco | false | python/functions/infra/pdf_from_markdown.py |
Ejemplo
md_content = """
# Especificacion de la API
## Endpoints
| Metodo | Path | Descripcion |
|--------|------|-------------|
| GET | /fn | Lista funciones |
| POST | /fn | Crea funcion |
## Notas
Usar `Authorization: Bearer <token>` en todos los requests.
"""
output = pdf_from_markdown(md_content, "api_spec.pdf")
Instalacion
pip install weasyprint markdown
# Linux
sudo apt install libpango-1.0-0 libcairo2 libgdk-pixbuf-2.0-0
Notas
Usa las extensiones tables, fenced_code y nl2br de la libreria markdown. El CSS por defecto incluye estilos para: tipografia base (Helvetica 11pt), headers jerarquicos, bloques de codigo con fondo gris, tablas con bordes y blockquotes. Stub activo: lanza RuntimeError con instrucciones si alguna dependencia falta.