Skill ofimatica ES es
Hoja de Encargo — Generación de PDF
Generación de hojas de encargo en PDF profesional con fpdf2
Contenido completo
# Hoja de Encargo — Generación de PDF
## Descripción
Este módulo genera **hojas de encargo** (briefings / cartas de encargo) en formato PDF profesional para despachos de abogados y consultoras jurídicas en España. La hoja de encargo es el documento que formaliza la relación entre el despacho y el cliente, definiendo el alcance del servicio jurídico, honorarios, plazos, y condiciones generales.
La herramienta utiliza **fpdf2**, una librería Python moderna para generar PDFs con soporte UTF-8 y tipografías personalizadas. Permite generar documentos bilingües (español/inglés) y personalizar el diseño con logotipos, encabezados, y pie de página.
El contenido jurídico de la hoja de encargo se fundamenta en el **Código Deontológico de la Abogacía Española (Resolución MC/116/2024)** y en la jurisprudencia sobre el contrato de mandato (arts. 1709-1739 Código Civil), que rige la relación abogado-cliente cuando no existe otra figura contractual específica.
## Capabilities
- Generación de hojas de encargo personalizadas con datos del despacho y del cliente
- Secciones: identificación de partes, objeto del encargo, alcance del servicio, honorarios, gastos, confidencialidad, revocación, ley aplicable
- Soporte para logotipos, encabezados, y pies de página personalizados
- Tipografías con soporte completo de caracteres UTF-8 (acentos, ñ, eñes)
- Numeración automática de páginas y marca de agua opcional (BORRADOR, CONFIDENCIAL)
- Exportación en PDF con calidad de impresión
## Casos de uso
- **Nuevo cliente corporativo**: un despacho genera una hoja de encargo para un cliente empresa que requiere asesoría fiscal continua, con honorarios fijos trimestrales.
- **Asuntos procesales**: un letrado prepara la hoja de encargo para la defensa de un trabajador en un procedimiento de despido, detallando honorarios por fase procesal.
- **Operaciones complejas**: un despacho de M&A genera una hoja de encargo para una operación de fusión que incluye due diligence, redacción de acuerdos, y asistencia en AAM.
- **Asesoría recurrente**: un despacho genera una hoja de encargo marco para asesoría continua a una pyme en materia laboral y fiscal.
## Uso
### Generar hoja de encargo básica
```python
from fpdf import FPDF
class HojaEncargoPDF(FPDF):
def __init__(self):
super().__init__()
self.add_font("DejaVu", "", "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", uni=True)
self.add_font("DejaVu", "B", "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", uni=True)
self.add_font("DejaVu", "I", "/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf", uni=True)
def header(self):
self.set_font("DejaVu", "B", 14)
self.cell(0, 10, "HOJA DE ENCARGO", new_x="LMARGIN", new_y="NEXT", align="C")
self.ln(5)
def footer(self):
self.set_y(-15)
self.set_font("DejaVu", "I", 8)
self.cell(0, 10, f"Página {self.page_no()}/{{nb}}", align="C")
def add_section(self, titulo: str, contenido: str):
self.set_font("DejaVu", "B", 12)
self.cell(0, 10, titulo, new_x="LMARGIN", new_y="NEXT")
self.set_font("DejaVu", "", 10)
self.multi_cell(0, 6, contenido)
self.ln(3)
# Uso
pdf = HojaEncargoPDF()
pdf.add_page()
pdf.add_section("1. IDENTIFICACIÓN DE PARTES",
"MANDANTE: [Nombre o razón social del cliente]\n"
"Domicilio: [Dirección]\n"
"CIF/NIF: [Número de identificación]\n\n"
"MANDATARIO: [Nombre del despacho]\n"
"Domicilio: [Dirección del despacho]\n"
"IC: [Número de colegio de abogados]")
pdf.add_section("2. OBJETO DEL ENCARGO",
"La presente hoja de encargo tiene por objeto la prestación de servicios "
"jurídicos profesionales en los términos aquí descritos, conforme al "
"mandato civil regulado en los arts. 1709-1739 del Código Civil y el "
"Código Deontológico de la Abogacía Española (Resolución MC/116/2024).")
pdf.add_section("3. HONORARIOS",
"Los honorarios profesionales se fijan en la cantidad de [importe] €, "
"IVA no incluido, según el siguiente desglose:\n"
" - Asesoría inicial: [importe] €\n"
" - Redacción documentos: [importe] €\n"
" - Asistencia judicial: [importe] € (por acto)")
pdf.add_section("4. CONFIDENCIALIDAD",
"El mandatario se compromete a mantener estricta confidencialidad sobre "
"toda información recibida del mandante, conforme al deber de secreto "
"profesional (art. 9.1 Código Deontológico de la Abogacía Española).")
pdf.output("hoja_encargo.pdf")
```
### Generar con marca de agua
```python
def add_watermark(pdf: FPDF, texto: str = "BORRADOR"):
"""Añade marca de agua diagonal al PDF."""
pdf.set_fill_color(200, 200, 200)
pdf.set_draw_color(200, 200, 200)
pdf.set_font("DejaVu", "B", 80)
pdf.set_text_color(220, 220, 220)
# Rotar y centrar
pdf.rotate(-45, x=pdf.w/2, y=pdf.h/2)
pdf.cell(0, 0, texto, align="C", fill=True)
pdf.rotate(0, x=pdf.w/2, y=pdf.h/2)
```
### Uso desde prompt (LLM)
```
Genera una hoja de encargo para un despacho que va a representar a un
particular en un procedimiento de despido improcedente. Incluye:
- Mandante: Juan García López, DNI 12345678A
- Mandatario: Despacho Pérez & Asociados, IC 1234
- Honorarios: 2.000 € más IVA por la fase extrajudicial, 3.000 € más
IVA por la fase judicial (hasta sentencia de primera instancia)
- Confidencialidad estándar
- Ley aplicable: Derecho español
```
## Dependencias
```
pip install fpdf2
```
Opcional — fuentes gratuitas con soporte UTF-8:
```
# Instalar fuentes DejaVu (Linux)
sudo apt-get install fonts-dejavu-core
# macOS — incluir las fuentes en el proyecto o usar:
# /Library/Fonts/DejaVu Sans.ttf
```
## Fuente de datos
- **fpdf2**: <https://pyfpdf.github.io/fpdf2/> — Librería Python para generación de PDFs. MIT License.
- **Código Deontológico de la Abogacía Española**: Resolución MC/116/2024 — Marco ético para la relación abogado-cliente.
- **Código Civil**: arts. 1709-1739 — Contrato de mandato, que rige la relación contractual abogado-cliente.
## Salida
- **PDF**: documento profesional con la hoja de encargo completa, listo para firma. Incluye numeración de páginas y estructura profesional.
## Notas
- Para producción, incluya las fuentes TTF en el directorio del proyecto (licencia DejaVu: Bitstream Vera Fonts, public domain).
- fpdf2 soporta **imágenes**, **tablas**, **hipervínculos**, y **formularios PDF**. Consulte la documentación: <https://pyfpdf.github.io/fpdf2/tutorials/index.html>
- Este módulo **no realiza validación jurídica** del contenido de la hoja de encargo. Verifique siempre con un abogado Colegiado que el contenido cumple los requisitos del Código Deontológico.
- Para documentos que requieran firma electrónica, considere usar **PyPDF2** o **reportlab** con soporte XFA/PAdES.