assemblerpdf 1.0.6__tar.gz → 1.0.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {assemblerpdf-1.0.6/src/assemblerpdf.egg-info → assemblerpdf-1.0.7}/PKG-INFO +1 -1
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/pyproject.toml +1 -1
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/assemblers/base.py +41 -1
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/style.html +92 -11
- assemblerpdf-1.0.7/src/assemblerpdf/templates/assemblerpdf/layout/table.html +33 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7/src/assemblerpdf.egg-info}/PKG-INFO +1 -1
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf.egg-info/SOURCES.txt +1 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/MANIFEST.in +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/README.md +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/setup.cfg +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/__init__.py +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/assemblers/__init__.py +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/assemblers/form.py +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/assemblers/report.py +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/core.py +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/fonts/Inter-Bold.ttf +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/fonts/Inter-Medium.ttf +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/fonts/Inter-Regular.ttf +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/img/Logo-unp-rojo.png +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/img/logo-mininterior-rojo.jpg +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/fields/checkbox.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/fields/field_input.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/fields/field_label.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/fields/input.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/fields/radio.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/fields/textarea.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/footer.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/footer_fixed.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/grid_row.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/header.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/section.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/misc/signature.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/anexos.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/anexos_limpio.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/archivese.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/autoriza_envio.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/checkbox.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/control_cambios.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/datos_basicosinf.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/datos_ot.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/encaso_de.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fiila_dos_check.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_cinco_zona.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_cuatro.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_cuatro_si_no.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_cuatro_zona.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_dos.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_dos_zona.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_instructivo.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_tres.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_tres_checkbox.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_tres_zona.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_uno.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/firma.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/firma_doble.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/firmaop2.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/firmas_oficializacion.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/hechos_sobrevinientes.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/hechos_sobrevinientes_vacio.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/iformfilacuatro.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/informacion_doble.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/input_2checks.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/input_check.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/input_checkbox.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/input_solitario.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/label_input_dos.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/leyenda_autoriza_correo.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/leyenda_superiol.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/logos.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/manifiesto.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/notificacion_correo.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/oficializacion.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/pregunta_si_no.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/pregunta_tresopciones.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/qr_oficializacion.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/situacion_amenaza.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/style.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/subtitulo_icono.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/subtitulo_icono_largo.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_doble.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_instructivo.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_matriz_riesgo.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_proyeccion.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_simple.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/texarea.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tipo_identificacion.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tipos_checkbox.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/titulo.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/titulo_logo.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/titulo_principal.html +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/utils/__init__.py +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/utils/template_loader.py +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf.egg-info/dependency_links.txt +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf.egg-info/requires.txt +0 -0
- {assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf.egg-info/top_level.txt +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "assemblerpdf"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.7"
|
|
8
8
|
description = "Generador de PDFs usando WeasyPrint, diseñado para formularios y reportes con componentes genéricos."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -2,7 +2,7 @@ import os
|
|
|
2
2
|
from assemblerpdf.core import generate_pdf_from_string
|
|
3
3
|
|
|
4
4
|
class BaseFormAssembler:
|
|
5
|
-
def __init__(self, context=None, codigo=None, fecha=None, version=None, auto_decorations=True, custom_css_path=None, custom_css_content=None, pdf_forms=False):
|
|
5
|
+
def __init__(self, context=None, codigo=None, fecha=None, version=None, auto_decorations=True, custom_css_path=None, custom_css_content=None, pdf_forms=False, margin_top=None, margin_bottom=None, margin_left=None, margin_right=None, padding_top=None, padding_bottom=None, padding_left=None, padding_right=None):
|
|
6
6
|
self.context = context or {}
|
|
7
7
|
self.components = []
|
|
8
8
|
self.codigo = codigo
|
|
@@ -12,6 +12,14 @@ class BaseFormAssembler:
|
|
|
12
12
|
self.custom_css_path = custom_css_path
|
|
13
13
|
self.custom_css_content = custom_css_content
|
|
14
14
|
self.pdf_forms = pdf_forms
|
|
15
|
+
self.margin_top = margin_top
|
|
16
|
+
self.margin_bottom = margin_bottom
|
|
17
|
+
self.margin_left = margin_left
|
|
18
|
+
self.margin_right = margin_right
|
|
19
|
+
self.padding_top = padding_top
|
|
20
|
+
self.padding_bottom = padding_bottom
|
|
21
|
+
self.padding_left = padding_left
|
|
22
|
+
self.padding_right = padding_right
|
|
15
23
|
|
|
16
24
|
def _get_img_base(self):
|
|
17
25
|
import assemblerpdf
|
|
@@ -31,6 +39,14 @@ class BaseFormAssembler:
|
|
|
31
39
|
'version': self.version,
|
|
32
40
|
'custom_css_path': self.custom_css_path,
|
|
33
41
|
'custom_css_content': self.custom_css_content,
|
|
42
|
+
'margin_top': self.margin_top,
|
|
43
|
+
'margin_bottom': self.margin_bottom,
|
|
44
|
+
'margin_left': self.margin_left,
|
|
45
|
+
'margin_right': self.margin_right,
|
|
46
|
+
'padding_top': self.padding_top,
|
|
47
|
+
'padding_bottom': self.padding_bottom,
|
|
48
|
+
'padding_left': self.padding_left,
|
|
49
|
+
'padding_right': self.padding_right,
|
|
34
50
|
**self.context,
|
|
35
51
|
**(extra_context or {}),
|
|
36
52
|
'disabled': extra_context.get('disabled', False) if extra_context else False,
|
|
@@ -89,6 +105,30 @@ class BaseFormAssembler:
|
|
|
89
105
|
self.components.append(row_html)
|
|
90
106
|
return self
|
|
91
107
|
|
|
108
|
+
def add_table(self, headers=None, rows=None, titulo=None, class_group=None, style_group=None, extra_context=None):
|
|
109
|
+
"""
|
|
110
|
+
Agrega una tabla genérica altamente dinámica y estilizada al documento.
|
|
111
|
+
|
|
112
|
+
Args:
|
|
113
|
+
headers (list): Lista de diccionarios que definen las columnas:
|
|
114
|
+
[{"text": "Col 1", "width": "30%", "align": "left"}, ...]
|
|
115
|
+
rows (list): Lista de diccionarios, cada uno con una lista de celdas:
|
|
116
|
+
[{"cells": [{"content": "Valor 1", "rowspan": 2}, {"content": "Valor 2"}]}]
|
|
117
|
+
titulo (str): Título superior opcional de la tabla.
|
|
118
|
+
class_group (str): Clase CSS adicional para la tabla.
|
|
119
|
+
style_group (str): Estilo inline adicional para la tabla.
|
|
120
|
+
extra_context (dict): Contexto extra
|
|
121
|
+
"""
|
|
122
|
+
ctx = {
|
|
123
|
+
'headers': headers or [],
|
|
124
|
+
'rows': rows or [],
|
|
125
|
+
'titulo': titulo,
|
|
126
|
+
'class_group': class_group,
|
|
127
|
+
'style_group': style_group,
|
|
128
|
+
**(extra_context or {})
|
|
129
|
+
}
|
|
130
|
+
return self.add_component('table.html', ctx)
|
|
131
|
+
|
|
92
132
|
def add_raw_html(self, html):
|
|
93
133
|
"""Agrega HTML crudo al documento."""
|
|
94
134
|
self.components.append(html)
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/style.html
RENAMED
|
@@ -35,19 +35,22 @@
|
|
|
35
35
|
{% if auto_decorations %}
|
|
36
36
|
@page {
|
|
37
37
|
size: letter;
|
|
38
|
-
margin-top: 1.5cm;
|
|
39
|
-
margin-bottom: 2.2cm; /* Espacio reservado para el footer fijo */
|
|
40
|
-
margin-left: 1.2cm;
|
|
41
|
-
margin-right: 1.2cm;
|
|
38
|
+
margin-top: {{ margin_top|default('1.5cm') }};
|
|
39
|
+
margin-bottom: {{ margin_bottom|default('2.2cm') }}; /* Espacio reservado para el footer fijo */
|
|
40
|
+
margin-left: {{ margin_left|default('1.2cm') }};
|
|
41
|
+
margin-right: {{ margin_right|default('1.2cm') }};
|
|
42
42
|
border: 1px solid #303d50;
|
|
43
43
|
border-radius: 5px;
|
|
44
|
-
padding:
|
|
44
|
+
padding-top: {{ padding_top|default('15px') }};
|
|
45
|
+
padding-bottom: {{ padding_bottom|default('5px') }};
|
|
46
|
+
padding-left: {{ padding_left|default('15px') }};
|
|
47
|
+
padding-right: {{ padding_right|default('15px') }};
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
/* Pie de página fijo de oficialización */
|
|
48
51
|
.oficializacion-fija {
|
|
49
52
|
position: fixed;
|
|
50
|
-
bottom: -
|
|
53
|
+
bottom: calc(-{{ margin_bottom|default('2.2cm') }} + 0.5cm); /* Posicionado dentro del margen inferior */
|
|
51
54
|
left: 0;
|
|
52
55
|
width: 100%;
|
|
53
56
|
z-index: 9999;
|
|
@@ -62,16 +65,16 @@
|
|
|
62
65
|
}
|
|
63
66
|
|
|
64
67
|
/* Evitar saltos de página huérfanos dentro de grupos compactos */
|
|
65
|
-
.signature-container, .form-group, .choice-container {
|
|
68
|
+
.signature-container, .form-group, .choice-container, .grid-row {
|
|
66
69
|
page-break-inside: avoid;
|
|
67
70
|
}
|
|
68
71
|
{% else %}
|
|
69
72
|
@page {
|
|
70
73
|
size: letter;
|
|
71
|
-
margin-top: 1.5cm;
|
|
72
|
-
margin-bottom: 1.5cm;
|
|
73
|
-
margin-left: 1cm;
|
|
74
|
-
margin-right: 1cm;
|
|
74
|
+
margin-top: {{ margin_top|default('1.5cm') }};
|
|
75
|
+
margin-bottom: {{ margin_bottom|default('1.5cm') }};
|
|
76
|
+
margin-left: {{ margin_left|default('1cm') }};
|
|
77
|
+
margin-right: {{ margin_right|default('1cm') }};
|
|
75
78
|
}
|
|
76
79
|
{% endif %}
|
|
77
80
|
|
|
@@ -159,7 +162,9 @@
|
|
|
159
162
|
display: inline-block;
|
|
160
163
|
vertical-align: middle;
|
|
161
164
|
margin-right: 16px;
|
|
165
|
+
margin-bottom: 8px;
|
|
162
166
|
font-size: 11px;
|
|
167
|
+
line-height: 1.6;
|
|
163
168
|
}
|
|
164
169
|
|
|
165
170
|
.choice-box {
|
|
@@ -280,6 +285,39 @@
|
|
|
280
285
|
text-transform: uppercase;
|
|
281
286
|
}
|
|
282
287
|
|
|
288
|
+
/* Preset de Título Principal (con fondo azul oscuro y texto blanco) */
|
|
289
|
+
.section-container.main-section-title {
|
|
290
|
+
background-color: #303d50 !important;
|
|
291
|
+
padding: 4px 10px !important;
|
|
292
|
+
border-radius: 4px !important;
|
|
293
|
+
margin-top: 12px !important;
|
|
294
|
+
margin-bottom: 6px !important;
|
|
295
|
+
border-bottom: none !important;
|
|
296
|
+
page-break-after: avoid !important;
|
|
297
|
+
page-break-inside: avoid !important;
|
|
298
|
+
display: block !important;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.section-container.main-section-title .section-title {
|
|
302
|
+
color: #ffffff !important;
|
|
303
|
+
font-size: 11px !important;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/* Preset de Subtítulo (con icono y espaciado compacto) */
|
|
307
|
+
.section-container.subtitle-section {
|
|
308
|
+
margin-top: 8px !important;
|
|
309
|
+
margin-bottom: 4px !important;
|
|
310
|
+
border-bottom: 1px solid #cbd5e1 !important;
|
|
311
|
+
padding-bottom: 4px !important;
|
|
312
|
+
page-break-after: avoid !important;
|
|
313
|
+
page-break-inside: avoid !important;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.section-container.subtitle-section .section-title {
|
|
317
|
+
color: #303d50 !important;
|
|
318
|
+
font-size: 10px !important;
|
|
319
|
+
}
|
|
320
|
+
|
|
283
321
|
/* ✍️ Firma */
|
|
284
322
|
.signature-container {
|
|
285
323
|
display: flex;
|
|
@@ -342,6 +380,49 @@
|
|
|
342
380
|
width: 20%;
|
|
343
381
|
}
|
|
344
382
|
|
|
383
|
+
/* 📊 Tabla Genérica */
|
|
384
|
+
.table-container {
|
|
385
|
+
width: 100%;
|
|
386
|
+
margin-top: 10px;
|
|
387
|
+
margin-bottom: 10px;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.table-title-bar {
|
|
391
|
+
background-color: #303d50;
|
|
392
|
+
padding: 6px 12px;
|
|
393
|
+
border-radius: 4px 4px 0 0;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
.assembler-table {
|
|
397
|
+
width: 100%;
|
|
398
|
+
border-collapse: collapse;
|
|
399
|
+
border: 1px solid #cbd5e1;
|
|
400
|
+
font-family: 'Inter', sans-serif;
|
|
401
|
+
font-size: 9.5px;
|
|
402
|
+
background-color: #ffffff;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.assembler-table th {
|
|
406
|
+
padding: 6px 10px;
|
|
407
|
+
font-weight: bold;
|
|
408
|
+
border: 1px solid #475569;
|
|
409
|
+
background-color: #303d50;
|
|
410
|
+
color: #ffffff;
|
|
411
|
+
font-size: 9.5px;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.assembler-table td {
|
|
415
|
+
padding: 6px 10px;
|
|
416
|
+
border: 1px solid #cbd5e1;
|
|
417
|
+
vertical-align: top;
|
|
418
|
+
font-size: 9.5px;
|
|
419
|
+
color: #334155;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
.assembler-table tr {
|
|
423
|
+
page-break-inside: avoid;
|
|
424
|
+
}
|
|
425
|
+
|
|
345
426
|
/* Saltos de Página */
|
|
346
427
|
.page-break {
|
|
347
428
|
page-break-before: always;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<div class="table-container {{ class_group|default('') }}" style="margin-top: {{ margin_top|default('10px') }}; margin-bottom: {{ margin_bottom|default('10px') }}; {{ style_group|default('') }}">
|
|
2
|
+
{% if titulo %}
|
|
3
|
+
<div class="table-title-bar" style="background-color: #303d50; padding: 6px 12px; border-radius: 4px 4px 0 0;">
|
|
4
|
+
<span style="font-size: 11px; font-weight: bold; color: #ffffff; text-transform: uppercase;">{{ titulo }}</span>
|
|
5
|
+
</div>
|
|
6
|
+
{% endif %}
|
|
7
|
+
<table class="assembler-table" style="width: 100%; border-collapse: collapse; border: 1px solid #cbd5e1; font-family: 'Inter', sans-serif; font-size: 9.5px; {% if titulo %}border-top: none; border-radius: 0 0 4px 4px;{% else %}border-radius: 4px;{% endif %} overflow: hidden;">
|
|
8
|
+
{% if headers %}
|
|
9
|
+
<thead>
|
|
10
|
+
<tr style="background-color: #303d50; color: #ffffff;">
|
|
11
|
+
{% for h in headers %}
|
|
12
|
+
<th style="padding: 6px 10px; font-weight: bold; text-align: {{ h.align|default('left') }}; font-size: 9.5px; border: 1px solid #cbd5e1; {% if h.width %}width: {{ h.width }};{% endif %} {{ h.style|default('') }}" {% if h.colspan %}colspan="{{ h.colspan }}"{% endif %} {% if h.rowspan %}rowspan="{{ h.rowspan }}"{% endif %}>
|
|
13
|
+
{{ h.text }}
|
|
14
|
+
</th>
|
|
15
|
+
{% endfor %}
|
|
16
|
+
</tr>
|
|
17
|
+
</thead>
|
|
18
|
+
{% endif %}
|
|
19
|
+
<tbody>
|
|
20
|
+
{% for row in rows %}
|
|
21
|
+
<tr style="{{ row.style|default('') }}">
|
|
22
|
+
{% for cell in row.cells %}
|
|
23
|
+
<td style="padding: 6px 10px; border: 1px solid #cbd5e1; vertical-align: top; text-align: {{ cell.align|default('left') }}; {{ cell.style|default('') }}"
|
|
24
|
+
{% if cell.rowspan %}rowspan="{{ cell.rowspan }}"{% endif %}
|
|
25
|
+
{% if cell.colspan %}colspan="{{ cell.colspan }}"{% endif %}>
|
|
26
|
+
{{ cell.content|safe }}
|
|
27
|
+
</td>
|
|
28
|
+
{% endfor %}
|
|
29
|
+
</tr>
|
|
30
|
+
{% endfor %}
|
|
31
|
+
</tbody>
|
|
32
|
+
</table>
|
|
33
|
+
</div>
|
|
@@ -29,6 +29,7 @@ src/assemblerpdf/templates/assemblerpdf/layout/grid_row.html
|
|
|
29
29
|
src/assemblerpdf/templates/assemblerpdf/layout/header.html
|
|
30
30
|
src/assemblerpdf/templates/assemblerpdf/layout/section.html
|
|
31
31
|
src/assemblerpdf/templates/assemblerpdf/layout/style.html
|
|
32
|
+
src/assemblerpdf/templates/assemblerpdf/layout/table.html
|
|
32
33
|
src/assemblerpdf/templates/assemblerpdf/misc/signature.html
|
|
33
34
|
src/assemblerpdf/templates/sistema/anexos.html
|
|
34
35
|
src/assemblerpdf/templates/sistema/anexos_limpio.html
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/fields/input.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/fields/radio.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/footer.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/assemblerpdf/layout/header.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/anexos_limpio.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/autoriza_envio.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/control_cambios.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/datos_basicosinf.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fiila_dos_check.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_cinco_zona.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_cuatro.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_cuatro_si_no.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_cuatro_zona.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_dos_zona.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_instructivo.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_tres_checkbox.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/fila_tres_zona.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/firma_doble.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/iformfilacuatro.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/informacion_doble.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/input_2checks.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/input_check.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/input_checkbox.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/input_solitario.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/label_input_dos.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/leyenda_superiol.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/manifiesto.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/oficializacion.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/pregunta_si_no.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/qr_oficializacion.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/situacion_amenaza.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/subtitulo_icono.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_doble.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_instructivo.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_proyeccion.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tabla_simple.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/tipos_checkbox.html
RENAMED
|
File without changes
|
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/titulo_logo.html
RENAMED
|
File without changes
|
{assemblerpdf-1.0.6 → assemblerpdf-1.0.7}/src/assemblerpdf/templates/sistema/titulo_principal.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|