2026-08-03 15:55:36 +00:00
2026-08-03 14:57:44 +00:00
2026-08-03 15:55:36 +00:00
2026-08-03 14:57:44 +00:00
2026-08-03 15:31:28 +00:00
2026-08-03 15:34:56 +00:00

exportPDF

Funcionalidad para implementar la capacidad de exportar los datos de un recurso a formato PDF. Los modelos de recursos habilitados para la función son los siguientes:

  • Patrimonio material - Bienes inmuebles
  • Patrimonio material - Bienes muebles
  • Patrimonio inmaterial
  • Organización o persona

Para agregar la funcionalidad ExportPDF a un proyecto de Arches puede seguir el siguiente procedimiento.

Procedimiento válido para un proyecto en modo desarrollo implementado con un enfoque tradicional sin contenedores. Para el caso de un enfoque utilizando contenedores o en modo Producción, el proceso varía levemente.

0. Instalar dependencias y librerias de python (servidor Ubuntu)

Solo en caso de que su proyecto de arches resida en una implementación según la guía oficial de archesproject

sudo apt install build-essential python3.12-dev python3.12-pip python3.12-setuptools python3.12-wheel python3.12-cffi
sudo apt install build-essential python3-dev python3-pip python3-setuptools python3-wheel python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info

y en el entorno de (arches) python:

pip install django-weasyprint
pip install pypdf
pip install folium # provisional, se estan evaluando otras librerias como py-staticmaps y selenium

1. Clonar este repositorio en alguna carpeta de su servidor.

# puede ser en el home del servidor
git clone https://gitea.patrimonio.org.bo/sysadmin/sprpcb-exportpdf-func.git

2. Agregar la vista personalizada creando (copiando) la carpeta indicada y moviendo la vista adentro:

# en caso de que el repo clonado esté en el home y se encuentra en la 1er carpeta mi_proyecto
cp -r ../sprpcb-exportpdf-func/pdf ./mi_proyecto/pdf # copia la carpeta incluida la vista
cp -r ../sprpcb-exportpdf-func/report-templates ./mi_proyecto/templates/views/report-templates # copia la carpeta incluida la plantilla
# o si prefiere crea la carpetas primero y luego copia los contenidos

3. Agregar la entrada de ruta en el archivo urls.py del proyecto:

# ...
urlpatterns = [
    # ...
    path('export/pdf/<str:resourceid>/<str:printubic>/<str:printimgs>/<str:printpdfs>/', export_resource_pdf, name='export_resource_pdf'),
    # project-level urls
]
# ...

4. Copiar las plantillas de la funcionalidad correspondientes a los modelos de recursos:

python manage.py migrate

5. Copiar los arachivos necesarios para una nueva plantilla de reporte:

python manage.py migrate

6. Registrar la plantilla personalizada de proyecto que agrega los botones necesarios:

python manage.py migrate

7. A continuación, asegúrese de reconstruir la interfaz de su proyecto para incluir el complemento:

npm run build_development

8. Cuando haya terminado, debería ver los botones de exportar en la ventana de vista de reporte de su modelo de recursos:

Alt Text

9. Forma de uso:


Description
Funcionalidad para exportar datos de un recurso a un archivo PDF
Readme 219 KiB
Languages
HTML 88.7%
Python 9.4%
JavaScript 1.2%
Shell 0.7%