91 lines
4.1 KiB
Markdown
91 lines
4.1 KiB
Markdown
# 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
|
|
|
|
```shell
|
|
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:
|
|
|
|
```python
|
|
pip install django-weasyprint
|
|
pip install pypdf
|
|
```
|
|
|
|
### 1. Clonar este repositorio en alguna carpeta de su servidor.
|
|
|
|
```shell
|
|
# puede ser en el home del servidor
|
|
git clone https://gitea.patrimonio.org.bo/sysadmin/sprpcb-exportpdf-func.git
|
|
```
|
|
|
|
### 2. Copiar los archivos necesarios para crear una nueva plantilla de reporte que contendrá los botones necesarios:
|
|
```shell
|
|
cp -r ../sprpcb-exportpdf-func/reportes ./mi_proyecto/reportes
|
|
cp ../sprpcb-exportpdf-func/templates_views_report-templates/export-pdf-report.htm ./mi_proyecto/templates/views/report-templates/
|
|
cp ../sprpcb-exportpdf-func/media_js_reports/export-pdf-report.js ./mi_proyecto/media/js/reports/
|
|
```
|
|
|
|
### 3. Registrar la plantilla personalizada de proyecto que agrega los botones necesarios:
|
|
```python
|
|
python manage.py report register -s mi_proyecto/reportes/export-pdf-report.json
|
|
```
|
|
|
|
### 4. Agregar la vista personalizada creando (copiando) las carpetas indicadas y luego los contenidos respectivos:
|
|
|
|
```shell
|
|
# en caso de que el repo clonado esté en el home y desde la 1er carpeta mi_proyecto
|
|
cp -r ../sprpcb-exportpdf-func/pdf ./mi_proyecto/pdf
|
|
```
|
|
|
|
### 5. Copiar las plantillas pdf correspondientes a los modelos de recursos:
|
|
```shell
|
|
cp -r ../sprpcb-exportpdf-func/templates_reports ./mi_proyecto/templates/reports
|
|
```
|
|
|
|
### 6. Agregar una fuente y una entrada de ruta en el archivo urls.py como valor de urlpatterns:
|
|
|
|
```shell
|
|
from .pdf.views import export_resource_pdf
|
|
#urlpatterns = [
|
|
# ...
|
|
path('export/pdf/<str:resourceid>/<str:printubic>/<str:satmap>/<str:printimgs>/<str:printpdfs>/', export_resource_pdf, name='export_resource_pdf'),
|
|
# project-level urls
|
|
#]
|
|
|
|
```
|
|
|
|
### 7. A continuación, asegúrese de reconstruir la interfaz de su proyecto para habilitar los cambios:
|
|
|
|
```
|
|
npm run build_development
|
|
```
|
|
|
|
### 8. Configuración final
|
|
Por último, se deben modificar los modelos de recursos para que adopten la nueva plantilla de reporte registrada:
|
|
|
|
Cuando haya terminado, debería ver los botones de exportar en la ventana de vista de reporte de su modelo de recursos:
|
|

|
|
|
|
### 9. Forma de uso:
|
|
|
|
El botón "Exportar a PDF", de manera predeterminada, crea el reporte PDF incluyendo casi todos los datos del recurso. Y de manera opcional se pueden incluir 3 características adicionales a través de los botones adyacentes que controlan los siguientes parámetros:
|
|
* **Incluir ubicación detallada** Se puede incluir datos de ubicación (geo-localización) que podrían estar contraindicados en algunos tipos de recursos.
|
|
* **Mapa satelital** Si la anterior opción está habilitada, puede cambiar el tipo de mapa de simple a satelital.
|
|
* **Adjuntar imágenes** Una galería de imágenes distribuida en mosaicos de 2x6 imágenes por hoja a manera de Anexo al informe (existen recursos que tienen más de 20 imágenes relacionadas)
|
|
* **Adjuntar documentos (pdf)** se ajuntan los documentos relacionados en el mismo archivo pdf del informe
|