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.
Files changed (85) hide show
  1. assemblerpdf/__init__.py +16 -0
  2. assemblerpdf/assemblers/__init__.py +9 -0
  3. assemblerpdf/assemblers/base.py +120 -0
  4. assemblerpdf/assemblers/form.py +257 -0
  5. assemblerpdf/assemblers/report.py +44 -0
  6. assemblerpdf/core.py +193 -0
  7. assemblerpdf/fonts/Inter-Bold.ttf +0 -0
  8. assemblerpdf/fonts/Inter-Medium.ttf +0 -0
  9. assemblerpdf/fonts/Inter-Regular.ttf +0 -0
  10. assemblerpdf/img/Logo-unp-rojo.png +0 -0
  11. assemblerpdf/img/logo-mininterior-rojo.jpg +0 -0
  12. assemblerpdf/templates/assemblerpdf/checkbox.html +16 -0
  13. assemblerpdf/templates/assemblerpdf/footer.html +16 -0
  14. assemblerpdf/templates/assemblerpdf/grid_row.html +7 -0
  15. assemblerpdf/templates/assemblerpdf/header.html +19 -0
  16. assemblerpdf/templates/assemblerpdf/input.html +12 -0
  17. assemblerpdf/templates/assemblerpdf/radio.html +14 -0
  18. assemblerpdf/templates/assemblerpdf/section.html +6 -0
  19. assemblerpdf/templates/assemblerpdf/signature.html +14 -0
  20. assemblerpdf/templates/assemblerpdf/style.html +318 -0
  21. assemblerpdf/templates/assemblerpdf/textarea.html +12 -0
  22. assemblerpdf/templates/sistema/anexos.html +38 -0
  23. assemblerpdf/templates/sistema/anexos_limpio.html +52 -0
  24. assemblerpdf/templates/sistema/archivese.html +18 -0
  25. assemblerpdf/templates/sistema/autoriza_envio.html +33 -0
  26. assemblerpdf/templates/sistema/checkbox.html +41 -0
  27. assemblerpdf/templates/sistema/control_cambios.html +43 -0
  28. assemblerpdf/templates/sistema/datos_basicosinf.html +16 -0
  29. assemblerpdf/templates/sistema/datos_ot.html +33 -0
  30. assemblerpdf/templates/sistema/encaso_de.html +5 -0
  31. assemblerpdf/templates/sistema/fiila_dos_check.html +54 -0
  32. assemblerpdf/templates/sistema/fila_cinco_zona.html +54 -0
  33. assemblerpdf/templates/sistema/fila_cuatro.html +20 -0
  34. assemblerpdf/templates/sistema/fila_cuatro_si_no.html +46 -0
  35. assemblerpdf/templates/sistema/fila_cuatro_zona.html +48 -0
  36. assemblerpdf/templates/sistema/fila_dos.html +12 -0
  37. assemblerpdf/templates/sistema/fila_dos_zona.html +40 -0
  38. assemblerpdf/templates/sistema/fila_instructivo.html +16 -0
  39. assemblerpdf/templates/sistema/fila_tres.html +16 -0
  40. assemblerpdf/templates/sistema/fila_tres_checkbox.html +66 -0
  41. assemblerpdf/templates/sistema/fila_tres_zona.html +45 -0
  42. assemblerpdf/templates/sistema/fila_uno.html +8 -0
  43. assemblerpdf/templates/sistema/firma.html +10 -0
  44. assemblerpdf/templates/sistema/firma_doble.html +32 -0
  45. assemblerpdf/templates/sistema/firmaop2.html +17 -0
  46. assemblerpdf/templates/sistema/firmas_oficializacion.html +66 -0
  47. assemblerpdf/templates/sistema/hechos_sobrevinientes.html +261 -0
  48. assemblerpdf/templates/sistema/hechos_sobrevinientes_vacio.html +209 -0
  49. assemblerpdf/templates/sistema/iformfilacuatro.html +20 -0
  50. assemblerpdf/templates/sistema/informacion_doble.html +0 -0
  51. assemblerpdf/templates/sistema/input_2checks.html +98 -0
  52. assemblerpdf/templates/sistema/input_check.html +40 -0
  53. assemblerpdf/templates/sistema/input_checkbox.html +53 -0
  54. assemblerpdf/templates/sistema/input_solitario.html +9 -0
  55. assemblerpdf/templates/sistema/label_input_dos.html +24 -0
  56. assemblerpdf/templates/sistema/leyenda_autoriza_correo.html +8 -0
  57. assemblerpdf/templates/sistema/leyenda_superiol.html +5 -0
  58. assemblerpdf/templates/sistema/logos.html +4 -0
  59. assemblerpdf/templates/sistema/manifiesto.html +41 -0
  60. assemblerpdf/templates/sistema/notificacion_correo.html +14 -0
  61. assemblerpdf/templates/sistema/oficializacion.html +21 -0
  62. assemblerpdf/templates/sistema/pregunta_si_no.html +34 -0
  63. assemblerpdf/templates/sistema/pregunta_tresopciones.html +47 -0
  64. assemblerpdf/templates/sistema/qr_oficializacion.html +7 -0
  65. assemblerpdf/templates/sistema/situacion_amenaza.html +82 -0
  66. assemblerpdf/templates/sistema/style.html +228 -0
  67. assemblerpdf/templates/sistema/subtitulo_icono.html +6 -0
  68. assemblerpdf/templates/sistema/subtitulo_icono_largo.html +6 -0
  69. assemblerpdf/templates/sistema/tabla_doble.html +15 -0
  70. assemblerpdf/templates/sistema/tabla_instructivo.html +12 -0
  71. assemblerpdf/templates/sistema/tabla_matriz_riesgo.html +135 -0
  72. assemblerpdf/templates/sistema/tabla_proyeccion.html +37 -0
  73. assemblerpdf/templates/sistema/tabla_simple.html +187 -0
  74. assemblerpdf/templates/sistema/texarea.html +9 -0
  75. assemblerpdf/templates/sistema/tipo_identificacion.html +55 -0
  76. assemblerpdf/templates/sistema/tipos_checkbox.html +47 -0
  77. assemblerpdf/templates/sistema/titulo.html +6 -0
  78. assemblerpdf/templates/sistema/titulo_logo.html +22 -0
  79. assemblerpdf/templates/sistema/titulo_principal.html +5 -0
  80. assemblerpdf/utils/__init__.py +1 -0
  81. assemblerpdf/utils/template_loader.py +48 -0
  82. assemblerpdf-1.0.0.dist-info/METADATA +86 -0
  83. assemblerpdf-1.0.0.dist-info/RECORD +85 -0
  84. assemblerpdf-1.0.0.dist-info/WHEEL +5 -0
  85. 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,6 @@
1
+ <div style="background-color: #303d50; min-height:25px; width: 100%; margin: 10px 0;">
2
+ <p style="font-size: 18px; color: white; font-weight: 700; text-align: left; margin: 0 20px; padding: 10px 10px 10px 0;">
3
+ {{ titulo }}
4
+ </p>
5
+ </div>
6
+
@@ -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,5 @@
1
+ <div style="background-color: #303d50; min-height:25px; border-radius: 0px; margin: 0; width:100%">
2
+ <p style="font-size: 20px; color: white; font-weight: 500; text-align: left; margin: 0 20px; padding: 5px 0">
3
+ {{ titulo }}
4
+ </p>
5
+ </div>
@@ -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,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ assemblerpdf