assemblerpdf 1.0.0__py3-none-any.whl
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/__init__.py +16 -0
- assemblerpdf/assemblers/__init__.py +9 -0
- assemblerpdf/assemblers/base.py +120 -0
- assemblerpdf/assemblers/form.py +257 -0
- assemblerpdf/assemblers/report.py +44 -0
- assemblerpdf/core.py +193 -0
- assemblerpdf/fonts/Inter-Bold.ttf +0 -0
- assemblerpdf/fonts/Inter-Medium.ttf +0 -0
- assemblerpdf/fonts/Inter-Regular.ttf +0 -0
- assemblerpdf/img/Logo-unp-rojo.png +0 -0
- assemblerpdf/img/logo-mininterior-rojo.jpg +0 -0
- assemblerpdf/templates/assemblerpdf/checkbox.html +16 -0
- assemblerpdf/templates/assemblerpdf/footer.html +16 -0
- assemblerpdf/templates/assemblerpdf/grid_row.html +7 -0
- assemblerpdf/templates/assemblerpdf/header.html +19 -0
- assemblerpdf/templates/assemblerpdf/input.html +12 -0
- assemblerpdf/templates/assemblerpdf/radio.html +14 -0
- assemblerpdf/templates/assemblerpdf/section.html +6 -0
- assemblerpdf/templates/assemblerpdf/signature.html +14 -0
- assemblerpdf/templates/assemblerpdf/style.html +318 -0
- assemblerpdf/templates/assemblerpdf/textarea.html +12 -0
- assemblerpdf/templates/sistema/anexos.html +38 -0
- assemblerpdf/templates/sistema/anexos_limpio.html +52 -0
- assemblerpdf/templates/sistema/archivese.html +18 -0
- assemblerpdf/templates/sistema/autoriza_envio.html +33 -0
- assemblerpdf/templates/sistema/checkbox.html +41 -0
- assemblerpdf/templates/sistema/control_cambios.html +43 -0
- assemblerpdf/templates/sistema/datos_basicosinf.html +16 -0
- assemblerpdf/templates/sistema/datos_ot.html +33 -0
- assemblerpdf/templates/sistema/encaso_de.html +5 -0
- assemblerpdf/templates/sistema/fiila_dos_check.html +54 -0
- assemblerpdf/templates/sistema/fila_cinco_zona.html +54 -0
- assemblerpdf/templates/sistema/fila_cuatro.html +20 -0
- assemblerpdf/templates/sistema/fila_cuatro_si_no.html +46 -0
- assemblerpdf/templates/sistema/fila_cuatro_zona.html +48 -0
- assemblerpdf/templates/sistema/fila_dos.html +12 -0
- assemblerpdf/templates/sistema/fila_dos_zona.html +40 -0
- assemblerpdf/templates/sistema/fila_instructivo.html +16 -0
- assemblerpdf/templates/sistema/fila_tres.html +16 -0
- assemblerpdf/templates/sistema/fila_tres_checkbox.html +66 -0
- assemblerpdf/templates/sistema/fila_tres_zona.html +45 -0
- assemblerpdf/templates/sistema/fila_uno.html +8 -0
- assemblerpdf/templates/sistema/firma.html +10 -0
- assemblerpdf/templates/sistema/firma_doble.html +32 -0
- assemblerpdf/templates/sistema/firmaop2.html +17 -0
- assemblerpdf/templates/sistema/firmas_oficializacion.html +66 -0
- assemblerpdf/templates/sistema/hechos_sobrevinientes.html +261 -0
- assemblerpdf/templates/sistema/hechos_sobrevinientes_vacio.html +209 -0
- assemblerpdf/templates/sistema/iformfilacuatro.html +20 -0
- assemblerpdf/templates/sistema/informacion_doble.html +0 -0
- assemblerpdf/templates/sistema/input_2checks.html +98 -0
- assemblerpdf/templates/sistema/input_check.html +40 -0
- assemblerpdf/templates/sistema/input_checkbox.html +53 -0
- assemblerpdf/templates/sistema/input_solitario.html +9 -0
- assemblerpdf/templates/sistema/label_input_dos.html +24 -0
- assemblerpdf/templates/sistema/leyenda_autoriza_correo.html +8 -0
- assemblerpdf/templates/sistema/leyenda_superiol.html +5 -0
- assemblerpdf/templates/sistema/logos.html +4 -0
- assemblerpdf/templates/sistema/manifiesto.html +41 -0
- assemblerpdf/templates/sistema/notificacion_correo.html +14 -0
- assemblerpdf/templates/sistema/oficializacion.html +21 -0
- assemblerpdf/templates/sistema/pregunta_si_no.html +34 -0
- assemblerpdf/templates/sistema/pregunta_tresopciones.html +47 -0
- assemblerpdf/templates/sistema/qr_oficializacion.html +7 -0
- assemblerpdf/templates/sistema/situacion_amenaza.html +82 -0
- assemblerpdf/templates/sistema/style.html +228 -0
- assemblerpdf/templates/sistema/subtitulo_icono.html +6 -0
- assemblerpdf/templates/sistema/subtitulo_icono_largo.html +6 -0
- assemblerpdf/templates/sistema/tabla_doble.html +15 -0
- assemblerpdf/templates/sistema/tabla_instructivo.html +12 -0
- assemblerpdf/templates/sistema/tabla_matriz_riesgo.html +135 -0
- assemblerpdf/templates/sistema/tabla_proyeccion.html +37 -0
- assemblerpdf/templates/sistema/tabla_simple.html +187 -0
- assemblerpdf/templates/sistema/texarea.html +9 -0
- assemblerpdf/templates/sistema/tipo_identificacion.html +55 -0
- assemblerpdf/templates/sistema/tipos_checkbox.html +47 -0
- assemblerpdf/templates/sistema/titulo.html +6 -0
- assemblerpdf/templates/sistema/titulo_logo.html +22 -0
- assemblerpdf/templates/sistema/titulo_principal.html +5 -0
- assemblerpdf/utils/__init__.py +1 -0
- assemblerpdf/utils/template_loader.py +48 -0
- assemblerpdf-1.0.0.dist-info/METADATA +86 -0
- assemblerpdf-1.0.0.dist-info/RECORD +85 -0
- assemblerpdf-1.0.0.dist-info/WHEEL +5 -0
- assemblerpdf-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<table>
|
|
2
|
+
<tr>
|
|
3
|
+
<td class="celda-i" style="width: 530px">
|
|
4
|
+
<label>{{ numeracion1 }}</label>
|
|
5
|
+
<div style="position: relative; height: 35px;">
|
|
6
|
+
<!-- Opción 1: Cédula de ciudadanía -->
|
|
7
|
+
<div class="chequeo-i" style="position: absolute; left: 0; min-width: 200px;">
|
|
8
|
+
<div style="position: relative;">
|
|
9
|
+
<i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
|
|
10
|
+
{% if tipoIdentificacion == 1 %}
|
|
11
|
+
<i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
|
|
12
|
+
{% endif %}
|
|
13
|
+
<p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
|
|
14
|
+
Cédula de ciudadanía
|
|
15
|
+
</p>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<!-- Opción 2: Cédula de extranjería -->
|
|
20
|
+
<div class="chequeo-i" style="position: absolute; left: 190px; min-width: 200px;">
|
|
21
|
+
<div style="position: relative;">
|
|
22
|
+
<i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
|
|
23
|
+
{% if tipoIdentificacion == 2 %}
|
|
24
|
+
<i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
|
|
25
|
+
{% endif %}
|
|
26
|
+
<p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
|
|
27
|
+
Cédula de extranjería
|
|
28
|
+
</p>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<!-- Opción 3: Pasaporte -->
|
|
33
|
+
<div class="chequeo-i" style="position: absolute; left: 380px; min-width: 200px;">
|
|
34
|
+
<div style="position: relative;">
|
|
35
|
+
<i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
|
|
36
|
+
{% if tipoIdentificacion == 3 %}
|
|
37
|
+
<i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
|
|
38
|
+
{% endif %}
|
|
39
|
+
<p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
|
|
40
|
+
Pasaporte
|
|
41
|
+
</p>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</td>
|
|
46
|
+
<td class="celda-d" style="width: 270px;padding-right: 0px;padding-left: 30px;">
|
|
47
|
+
<label>{{ numeracion2 }}</label>
|
|
48
|
+
<input type="text" id="documento" name="numeroDocumento" value="{{ numeroIdentificacion }}">
|
|
49
|
+
</td>
|
|
50
|
+
<td class="celda-d" style="width: 240px;">
|
|
51
|
+
<label for="expedicion">{{ numeracion3 }}</label>
|
|
52
|
+
<input type="text" id="expedicion" name="expedicion" value="{{ fechaExpedicion }}">
|
|
53
|
+
</td>
|
|
54
|
+
</tr>
|
|
55
|
+
</table>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<table>
|
|
2
|
+
<tr>
|
|
3
|
+
<td class="celda-i" style="width: 530px">
|
|
4
|
+
<label>{{ labelSelect }}</label>
|
|
5
|
+
<div style="position: relative; height: 35px;">
|
|
6
|
+
<!-- Opción 1: Femenino -->
|
|
7
|
+
<div class="chequeo-i" style="position: absolute; left: 0; min-width: 200px;">
|
|
8
|
+
<div style="position: relative;">
|
|
9
|
+
<i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
|
|
10
|
+
{% if genero == 1 %}
|
|
11
|
+
<i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
|
|
12
|
+
{% endif %}
|
|
13
|
+
<p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
|
|
14
|
+
{{ labelSelected1 }}
|
|
15
|
+
</p>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<!-- Opción 2: Masculino -->
|
|
20
|
+
<div class="chequeo-i" style="position: absolute; left: 185px; min-width: 200px;">
|
|
21
|
+
<div style="position: relative;">
|
|
22
|
+
<i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
|
|
23
|
+
{% if genero == 2 %}
|
|
24
|
+
<i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
|
|
25
|
+
{% endif %}
|
|
26
|
+
<p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
|
|
27
|
+
{{ labelSelected2 }}
|
|
28
|
+
</p>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<!-- Opción 3: No binario -->
|
|
33
|
+
<div class="chequeo-i" style="position: absolute; left: 365px; min-width: 200px;">
|
|
34
|
+
<div style="position: relative;">
|
|
35
|
+
<i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
|
|
36
|
+
{% if genero == 3 %}
|
|
37
|
+
<i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
|
|
38
|
+
{% endif %}
|
|
39
|
+
<p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
|
|
40
|
+
{{ labelSelected3 }}
|
|
41
|
+
</p>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</td>
|
|
46
|
+
</tr>
|
|
47
|
+
</table>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<table style="width: 100%; margin: 5px 20px; border-collapse: collapse;">
|
|
2
|
+
<tr>
|
|
3
|
+
<!-- Logo izquierdo -->
|
|
4
|
+
<td style="width: 20%; text-align: left;">
|
|
5
|
+
<img src="{{ img_base }}/Logo-unp-rojo.png" alt="Logo UNP" style="height: 80px;">
|
|
6
|
+
</td>
|
|
7
|
+
|
|
8
|
+
<!-- Título centrado -->
|
|
9
|
+
<td style="width: 40%; text-align: center;">
|
|
10
|
+
<p style="font-size: {{fuente1}}; color: #303d50; font-weight: 700; margin: 0;">{{ titulo1 }}</p>
|
|
11
|
+
<p style="font-size: {{fuente2}}; color: #303d50; font-weight: 700; margin: 0;">{{ titulo2 }}</p>
|
|
12
|
+
<p style="font-size: {{fuente3}}; color: #303d50; font-weight: 700; margin: 0;">{{ titulo3 }}</p>
|
|
13
|
+
</td>
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<!-- Logo derecho -->
|
|
17
|
+
<td style="width: 20%; padding: 0 0 0 80px; text-align: left;">
|
|
18
|
+
<img src="{{ img_base }}/logo-mininterior-rojo.jpg" alt="Logo Mininterior" style="height: 80px;">
|
|
19
|
+
</td>
|
|
20
|
+
</tr>
|
|
21
|
+
</table>
|
|
22
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Package utils
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from importlib import resources
|
|
3
|
+
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
|
4
|
+
|
|
5
|
+
def multiply(value, arg):
|
|
6
|
+
"""Multiplica dos valores. Devuelve 0 si hay error."""
|
|
7
|
+
try:
|
|
8
|
+
return int(value) * int(arg)
|
|
9
|
+
except (ValueError, TypeError):
|
|
10
|
+
return 0
|
|
11
|
+
|
|
12
|
+
def get_template_env():
|
|
13
|
+
"""Obtiene un entorno de Jinja2 que carga templates desde el paquete assemblerpdf."""
|
|
14
|
+
try:
|
|
15
|
+
# Usa importlib.resources para acceder a la carpeta templates
|
|
16
|
+
# En Python >= 3.9, resources.files es el estándar recomendado, pero resources.path funciona para compatibilidad
|
|
17
|
+
with resources.path('assemblerpdf', '__init__.py') as p:
|
|
18
|
+
templates_dir = p.parent / 'templates'
|
|
19
|
+
if templates_dir.exists():
|
|
20
|
+
env = Environment(
|
|
21
|
+
loader=FileSystemLoader(str(templates_dir)),
|
|
22
|
+
autoescape=select_autoescape()
|
|
23
|
+
)
|
|
24
|
+
env.filters['multiply'] = multiply
|
|
25
|
+
return env
|
|
26
|
+
except Exception:
|
|
27
|
+
pass
|
|
28
|
+
|
|
29
|
+
# Fallback: modo desarrollo local
|
|
30
|
+
utils_path = os.path.dirname(os.path.abspath(__file__))
|
|
31
|
+
assemblerpdf_path = os.path.dirname(utils_path)
|
|
32
|
+
templates_dir = os.path.join(assemblerpdf_path, 'templates')
|
|
33
|
+
|
|
34
|
+
env = Environment(
|
|
35
|
+
loader=FileSystemLoader(templates_dir),
|
|
36
|
+
autoescape=select_autoescape()
|
|
37
|
+
)
|
|
38
|
+
env.filters['multiply'] = multiply
|
|
39
|
+
return env
|
|
40
|
+
|
|
41
|
+
def render_template(template_name, context):
|
|
42
|
+
"""Renderiza un template sin depender de Django (usando Jinja2)."""
|
|
43
|
+
env = get_template_env()
|
|
44
|
+
# Si no especifica una subcarpeta (ej: "input.html"), asumimos "assemblerpdf/"
|
|
45
|
+
if "/" not in template_name and not template_name.startswith("assemblerpdf/"):
|
|
46
|
+
template_name = f"assemblerpdf/{template_name}"
|
|
47
|
+
template = env.get_template(template_name)
|
|
48
|
+
return template.render(**context)
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: assemblerpdf
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Generador de PDFs usando WeasyPrint, diseñado para formularios y reportes con componentes genéricos.
|
|
5
|
+
Author-email: EcosistemaUNP <ecosistema@unp.gov.co>
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Development Status :: 3 - Alpha
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Requires-Python: >=3.8
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
Requires-Dist: django>=3.2
|
|
20
|
+
Requires-Dist: weasyprint>=60.0
|
|
21
|
+
Requires-Dist: jinja2>=3.0.0
|
|
22
|
+
Requires-Dist: requests>=2.25.0
|
|
23
|
+
|
|
24
|
+
# 🚀 assemblerpdf
|
|
25
|
+
|
|
26
|
+
> ✨ **Generador de PDFs dinámicos utilizando WeasyPrint con componentes HTML genéricos y reutilizables.**
|
|
27
|
+
|
|
28
|
+
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.).
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## ⚡ Instalación y Configuración
|
|
33
|
+
|
|
34
|
+
Puedes instalar la librería localmente para desarrollo:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pip install -e .
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
E instalar las dependencias del sistema (como Cairo/Pango para WeasyPrint) y descargar las fuentes corriendo el siguiente comando en Python:
|
|
41
|
+
|
|
42
|
+
```python
|
|
43
|
+
import assemblerpdf
|
|
44
|
+
assemblerpdf.install_dependencies()
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 🛠️ Uso Básico
|
|
50
|
+
|
|
51
|
+
```python
|
|
52
|
+
from assemblerpdf.assemblers.base import BaseFormAssembler
|
|
53
|
+
|
|
54
|
+
# Crear contexto de datos
|
|
55
|
+
context = {
|
|
56
|
+
"nombreCompleto": "Juan Pérez",
|
|
57
|
+
"fechaDiligenciamiento": "2026-06-03"
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
# Inicializar ensamblador
|
|
61
|
+
assembler = BaseFormAssembler(context)
|
|
62
|
+
|
|
63
|
+
# Agregar componentes genéricos
|
|
64
|
+
assembler.add_component("header.html", {
|
|
65
|
+
"titulo1": "FORMULARIO DE PRUEBA",
|
|
66
|
+
"titulo2": "SUBTÍTULO",
|
|
67
|
+
"titulo3": "UNIDAD NACIONAL DE PROTECCIÓN"
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
assembler.add_component("section.html", {
|
|
71
|
+
"titulo": "Datos de Identificación",
|
|
72
|
+
"icono": "fa-user"
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
# Agregar fila de inputs
|
|
76
|
+
assembler.add_grid_row([
|
|
77
|
+
{"template": "input.html", "context": {"label": "Nombre Completo", "valor": context["nombreCompleto"], "ancho": "70%"}},
|
|
78
|
+
{"template": "input.html", "context": {"label": "Fecha", "valor": context["fechaDiligenciamiento"], "ancho": "30%"}}
|
|
79
|
+
])
|
|
80
|
+
|
|
81
|
+
# Construir PDF
|
|
82
|
+
pdf_bytes = assembler.build()
|
|
83
|
+
|
|
84
|
+
with open("test.pdf", "wb") as f:
|
|
85
|
+
f.write(pdf_bytes)
|
|
86
|
+
```
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
assemblerpdf/__init__.py,sha256=x0i-OijmTVomKiVvo_P-ZAgTDHVub3imB8jQhCvDzCI,330
|
|
2
|
+
assemblerpdf/core.py,sha256=hViH4nzYiYsil8JLXawumJZh5mpvP7Ejv37L9H9Uyuk,8971
|
|
3
|
+
assemblerpdf/assemblers/__init__.py,sha256=M-1Z7S2b3dSWKCiW2Q6Tyhl3IlcvFVeMaaEmhTFFOKs,237
|
|
4
|
+
assemblerpdf/assemblers/base.py,sha256=ye7gliYzrOahvkW8Gz6gv6a3mcH2wL8-PHGaJmBTVF8,4273
|
|
5
|
+
assemblerpdf/assemblers/form.py,sha256=PTWB5Rht2MezXBFiwZLEqOHMHvJBTDJPe8ZV1HWxrDU,13589
|
|
6
|
+
assemblerpdf/assemblers/report.py,sha256=pZH0UTaqpE9JtDNM_Ygi3yX0vVrdgnp3hr__E9vcq3I,1802
|
|
7
|
+
assemblerpdf/fonts/Inter-Bold.ttf,sha256=9NMJr7R3e-tj4Y6zIvfXIbxtzXUgkiAZ0ssU3d8nm7M,67988
|
|
8
|
+
assemblerpdf/fonts/Inter-Medium.ttf,sha256=wNSNpHjubEJyyTT8H9Tzvqpu4cZMYP-jc3Sqjb4oB6U,68008
|
|
9
|
+
assemblerpdf/fonts/Inter-Regular.ttf,sha256=02QaS6H2wQmx74ezzTImK0oQ3snmEnTddJvdP3VDfZE,67952
|
|
10
|
+
assemblerpdf/img/Logo-unp-rojo.png,sha256=GXCYoT3-8G-itBr3vdwjqTcX_pz3TQ-nL5m4ZCBP01g,66365
|
|
11
|
+
assemblerpdf/img/logo-mininterior-rojo.jpg,sha256=RcP5_dA5Ffh78u6BxM7RwpyVf49soa2rKMwk5SCbh10,32998
|
|
12
|
+
assemblerpdf/templates/assemblerpdf/checkbox.html,sha256=Ol6AZqhpi2QvPCjPiVt2ss3pS1bQHf9XL6xD_xZAKK4,656
|
|
13
|
+
assemblerpdf/templates/assemblerpdf/footer.html,sha256=f_Rikty0RZq3QAZe4SO9EvOZpAX8gCgWlraIsvUsMHc,823
|
|
14
|
+
assemblerpdf/templates/assemblerpdf/grid_row.html,sha256=WEMQ838Lr_SeH1-lF9kpSpYTBbHVM01A-49g8gLGjuM,209
|
|
15
|
+
assemblerpdf/templates/assemblerpdf/header.html,sha256=JGz8SXXltPdxewtoAB589cjRrskx3BGcNCP_p07-5Wc,660
|
|
16
|
+
assemblerpdf/templates/assemblerpdf/input.html,sha256=FHWvxUXAFLzjVTLZV5Qx7OEpKpLHqwTE6k_x56afeyM,489
|
|
17
|
+
assemblerpdf/templates/assemblerpdf/radio.html,sha256=p_keMSqZPs1BroUaID5ek4lbDjxyYD4trLeMbJVfkpM,596
|
|
18
|
+
assemblerpdf/templates/assemblerpdf/section.html,sha256=Z5DV-6vVPa1X0HupkEwrUzp5SBTQrbv8xKyUjhahSv0,277
|
|
19
|
+
assemblerpdf/templates/assemblerpdf/signature.html,sha256=zHyWMjKOcclHj-osVNOrCHRFrYpFrmi1wplidJuXlW8,713
|
|
20
|
+
assemblerpdf/templates/assemblerpdf/style.html,sha256=VhZ5046F0xbN5MhnZD3lvXAZFQDMhtLzEMtMiIKBgk8,6264
|
|
21
|
+
assemblerpdf/templates/assemblerpdf/textarea.html,sha256=WH13b1RKYgKjoIllxl4l9ImS9kmt6pj4k7BxYnyQrXo,627
|
|
22
|
+
assemblerpdf/templates/sistema/anexos.html,sha256=qmSnq6ZjJ8oF5kphL5-7us83O85jXUbz2svlvoBRVXc,1804
|
|
23
|
+
assemblerpdf/templates/sistema/anexos_limpio.html,sha256=vhue5pX-TpoBGRQAsKyULxUGn5cEFRLDvj7AnVddhAo,3446
|
|
24
|
+
assemblerpdf/templates/sistema/archivese.html,sha256=3wqmGj9MDJDdntex4HIa-xx1OwHYAwutOTpVOuZ5Nk0,788
|
|
25
|
+
assemblerpdf/templates/sistema/autoriza_envio.html,sha256=ZhD1wQBHYsO4USBnMHG6laHyoHfFNAXomuYYzrPeICI,1586
|
|
26
|
+
assemblerpdf/templates/sistema/checkbox.html,sha256=v0LqIZgnKwvqVoll__hwpd247-jUV_VG8ppcuN8MvzY,2369
|
|
27
|
+
assemblerpdf/templates/sistema/control_cambios.html,sha256=lh1XPpfq_ukQPODiuiTB-OstlJobdYjzvjB65cp2u7Y,2219
|
|
28
|
+
assemblerpdf/templates/sistema/datos_basicosinf.html,sha256=aNMmn_MH_PNrs5U8P11n5akaQlrFJvztM15E3LodhDg,628
|
|
29
|
+
assemblerpdf/templates/sistema/datos_ot.html,sha256=iZe89QP4qWkVDrQLoMQBSf6sfqI1LQnMYi4ebBIAfOA,1272
|
|
30
|
+
assemblerpdf/templates/sistema/encaso_de.html,sha256=LWiFOz7MwMjGKoSM4FWBs0_HG6XnvFzrynUKEdA_UAc,227
|
|
31
|
+
assemblerpdf/templates/sistema/fiila_dos_check.html,sha256=pU6SRjUhKgv255_MeGeXc8D0hfNaflYY4TPJfkR2aTM,2847
|
|
32
|
+
assemblerpdf/templates/sistema/fila_cinco_zona.html,sha256=CyCvtZnkLo-8Kv4-Sv4wZjwNxDaNAX_e65aufbnEy8I,2866
|
|
33
|
+
assemblerpdf/templates/sistema/fila_cuatro.html,sha256=1Tlt9C6NWRsK6c9ym2LO2vTpqjQ05jheeQETdvk9yMA,632
|
|
34
|
+
assemblerpdf/templates/sistema/fila_cuatro_si_no.html,sha256=l8rvsyJvjyQxxEFLuXMgrT_c-Ti491p28LlXnurY6NQ,2264
|
|
35
|
+
assemblerpdf/templates/sistema/fila_cuatro_zona.html,sha256=acGD510wjUtWoP3hpHzbOJ_e7IebVTjfF8OXiNHOJjo,2354
|
|
36
|
+
assemblerpdf/templates/sistema/fila_dos.html,sha256=5qeKewh22rQC-NDHAo9dYi-pLTfS2Xzp7OeFseJFYds,334
|
|
37
|
+
assemblerpdf/templates/sistema/fila_dos_zona.html,sha256=6tB4D0MkNSZGBNyY01CbVgOFxiROkntBWNPx3a9pG2k,2032
|
|
38
|
+
assemblerpdf/templates/sistema/fila_instructivo.html,sha256=hA6DV_obNZi_3CTj0fEYp6eThqxYLNDLG8mr1KrR9i8,549
|
|
39
|
+
assemblerpdf/templates/sistema/fila_tres.html,sha256=m34ZPZkAWgRd4fQFqgnr27Tk77U9McvAKxQ4Oe7lMfU,481
|
|
40
|
+
assemblerpdf/templates/sistema/fila_tres_checkbox.html,sha256=QxABf4kt1PvCJ6ntkbBVyYMuJ9Eea17vOtTdbyeTmlA,3886
|
|
41
|
+
assemblerpdf/templates/sistema/fila_tres_zona.html,sha256=pViKQvLck6sirD8uoWhr8rM1ORp1z7smhKC-P1u7_Dg,2195
|
|
42
|
+
assemblerpdf/templates/sistema/fila_uno.html,sha256=67u6PXbmfl2EWkGQkESt-TBXfKQ3ZlDzMYvIq5YaIAw,183
|
|
43
|
+
assemblerpdf/templates/sistema/firma.html,sha256=0nWpbD82h_0sB6SitqW180MFO2xooGn9Ab9FCysoKB8,392
|
|
44
|
+
assemblerpdf/templates/sistema/firma_doble.html,sha256=i8ZyJsXCN8_0R8RgTSp7vMHNIBLf6LmxUubWk0U39sg,1303
|
|
45
|
+
assemblerpdf/templates/sistema/firmaop2.html,sha256=RcOSnypoo0pZ6513ZKiDZtOJ4QywUX1t6x4cbAUjKRY,728
|
|
46
|
+
assemblerpdf/templates/sistema/firmas_oficializacion.html,sha256=BMDRO6zPqNbHBMrjZK08KWUQ_KFLHtuH0O8uXanS7Fg,3535
|
|
47
|
+
assemblerpdf/templates/sistema/hechos_sobrevinientes.html,sha256=y6vBW39VkSainGzZwhv0WC0OQDsV8aFd2_ZPMI5dkV0,14833
|
|
48
|
+
assemblerpdf/templates/sistema/hechos_sobrevinientes_vacio.html,sha256=3LIuMFHUnv30dpfMTrQmBTktBO0RMEOrIrTUhNl3g6M,11108
|
|
49
|
+
assemblerpdf/templates/sistema/iformfilacuatro.html,sha256=GlJBy8NQKtZMfEqDY6cL2UF9giwMi7eWXjZhegcWbd8,695
|
|
50
|
+
assemblerpdf/templates/sistema/informacion_doble.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
+
assemblerpdf/templates/sistema/input_2checks.html,sha256=iY4C2HHTQSK1qxA4oNKjYHo73Pjrh5jOwk0FKttHIWk,5504
|
|
52
|
+
assemblerpdf/templates/sistema/input_check.html,sha256=fljwiqojrDDZSCCXuht4kV69I4w_I7FlPJd3WxQeCXo,2030
|
|
53
|
+
assemblerpdf/templates/sistema/input_checkbox.html,sha256=wIPE80NNTGdeP2fpinqonCBfc58JVqknur-YKs3O7AA,2835
|
|
54
|
+
assemblerpdf/templates/sistema/input_solitario.html,sha256=F6-GMgo9qFocCkAouPzZBYbK81sxTk2Yb0_s3DaKFFE,178
|
|
55
|
+
assemblerpdf/templates/sistema/label_input_dos.html,sha256=KFnA16LUaxXJIPODXByYdEg_FpI93u_SZvISOAepN2I,1009
|
|
56
|
+
assemblerpdf/templates/sistema/leyenda_autoriza_correo.html,sha256=T1tTQN__eR00jaFEF0J0cgoY8k3gaOyTKhGp7Q0BBqM,554
|
|
57
|
+
assemblerpdf/templates/sistema/leyenda_superiol.html,sha256=cYe1MC6j9TjcMJ5xRw2-aae6Nuk7Hr4KMYhoaQ4_KdU,197
|
|
58
|
+
assemblerpdf/templates/sistema/logos.html,sha256=50rBcPgumZUhesmrSWu0bNBRgEt483Ku9gLXOlQwYSI,275
|
|
59
|
+
assemblerpdf/templates/sistema/manifiesto.html,sha256=0nimd4r6zhZqpLUs63rpTjZqMciJnQsM1JMla4Mo4Lk,2087
|
|
60
|
+
assemblerpdf/templates/sistema/notificacion_correo.html,sha256=QCVdh68wAH3PdR-aqu_kKcLkEx4sBC0S0Y5RwsEUHAE,375
|
|
61
|
+
assemblerpdf/templates/sistema/oficializacion.html,sha256=t3PmsQekuVgV880sfpBjLHXRnDUMQXFWN5q3Ah3kMZo,788
|
|
62
|
+
assemblerpdf/templates/sistema/pregunta_si_no.html,sha256=CBtXD9NwirzuqLNdhJ1kEO6FtxTDmKNcTfAn0ZX8tjk,1692
|
|
63
|
+
assemblerpdf/templates/sistema/pregunta_tresopciones.html,sha256=EdEZSxi-iyffalLdWsSFGZBaD_563k2cTpY5TqkbrJI,2520
|
|
64
|
+
assemblerpdf/templates/sistema/qr_oficializacion.html,sha256=5ls_3eh45h_rBRVpN80_A1AV3bS8ZjSXM1x-uWXYNjY,519
|
|
65
|
+
assemblerpdf/templates/sistema/situacion_amenaza.html,sha256=2Ga0FZ__O_3CpfBxDMyMv9hWq0F9e1SClfhhPZFXLfw,4900
|
|
66
|
+
assemblerpdf/templates/sistema/style.html,sha256=QGtzKs02IV9-9AFhU0DOm-nxXabZcPsA2SK0P6gTnps,4552
|
|
67
|
+
assemblerpdf/templates/sistema/subtitulo_icono.html,sha256=JoMDhejwCwK-szBMx541hljpXyfZc-dGspZrSND4NxY,186
|
|
68
|
+
assemblerpdf/templates/sistema/subtitulo_icono_largo.html,sha256=_P9vtCqEuzo75TwwlsWOASq5URkIjzWlNjvhmBSijMs,297
|
|
69
|
+
assemblerpdf/templates/sistema/tabla_doble.html,sha256=zL1nRTN6TKTCzk-dzS9NeAivYr_pXEJnzDfBMCkHxus,986
|
|
70
|
+
assemblerpdf/templates/sistema/tabla_instructivo.html,sha256=XQXZas3MHPgWmX63as5ZyXmk8vWID5PhL7cO9ZxQ6Bc,569
|
|
71
|
+
assemblerpdf/templates/sistema/tabla_matriz_riesgo.html,sha256=0NH3j75OqTCNlQBz6L5RN0MhTnmWAg1LsGx9qKuRT_o,7555
|
|
72
|
+
assemblerpdf/templates/sistema/tabla_proyeccion.html,sha256=teDl32gptxQWNGw4bPzH3PHLXfgCNAsNo29uPFvGb9M,703
|
|
73
|
+
assemblerpdf/templates/sistema/tabla_simple.html,sha256=CJw1N2Ag-djg1ZfjCUOyvv8CErobDbEeWcx1VIGhddo,10372
|
|
74
|
+
assemblerpdf/templates/sistema/texarea.html,sha256=n8rBP1onXnwH0cZfPVNYWV4tU71htHJ5ynhaF3JjEgY,373
|
|
75
|
+
assemblerpdf/templates/sistema/tipo_identificacion.html,sha256=98qcDG2QJEKG7s7P1ywtlrTuadULYYhjDGbysQ57Gbc,3244
|
|
76
|
+
assemblerpdf/templates/sistema/tipos_checkbox.html,sha256=1K4e166pl50-skh_iPBhZ1h7FQvJS8YRcucNU6R3hHA,2707
|
|
77
|
+
assemblerpdf/templates/sistema/titulo.html,sha256=wwgtBsQPW0dwOIC5wuKAOh_l8kX6D-M_cRQEj9yjIH4,255
|
|
78
|
+
assemblerpdf/templates/sistema/titulo_logo.html,sha256=zF5hmjo6JifnCFel_74XDKLCG_ckyDmENoKkLGm9L68,950
|
|
79
|
+
assemblerpdf/templates/sistema/titulo_principal.html,sha256=zPrjhrGn3n9v-UU5dk_53RIs2WiokyfvNTy269Ih17k,256
|
|
80
|
+
assemblerpdf/utils/__init__.py,sha256=ItWiSsTSz_20cPD9ap5vOG4GP5FxE-Vez_YlPT2y4xY,16
|
|
81
|
+
assemblerpdf/utils/template_loader.py,sha256=DquanvMcUzZf6dkQ5-K8tOqWRSzWv_6x9vhrzioqW3c,1897
|
|
82
|
+
assemblerpdf-1.0.0.dist-info/METADATA,sha256=DK3XCiT-q3iujNClswQtBFtdEz-zThvDZaMrA3zzvxE,2783
|
|
83
|
+
assemblerpdf-1.0.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
84
|
+
assemblerpdf-1.0.0.dist-info/top_level.txt,sha256=iZ2YKQEPQlBXU06aYgtnUYe2caxJL_GcQ3UCfZKf2kQ,13
|
|
85
|
+
assemblerpdf-1.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
assemblerpdf
|