OdooWiki OCA HUB

Py3o Report Engine - Fusion server support

report_py3o_fusion_server folder_open OCA/reporting-engine open_in_new
Reporting Licencia: AGPL-3

Este módulo se escribió para permitir que un servidor de fusión py3o gestione la conversión de formato en lugar de libreoffice local. Si instala este módulo por encima del módulo report_py3o, tendrá que desplegar componentes de software adicionales y ejecutar 3 daemons (libreoffice, py3o.fusion y py3o.renderserver). Esta complejidad adicional conlleva varias ventajas:

  • mucho mejor rendimiento: Libreoffice se ejecuta permanentemente en segundo plano, no es necesario generar una nueva instancia de Libreoffice en cada conversión de documento.
  • capacidad de configurar las opciones de exportación a PDF en Odoo. Esto aporta muchas posibilidades nuevas, como la capacidad de generar:
  • formularios PDF
  • documentos PDF/A (requeridos por algunos estándares de facturación electrónica como Factur-X)
  • documentos PDF con marca de agua
  • documentos PDF protegidos con contraseña

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 18.0

Permite a Odoo enviar informes py3o a un servidor Fusion externo para su conversión en lugar de usar LibreOffice local, y añade conjuntos de opciones reutilizables para la exportación a PDF (PDF/A, marcas de agua, contraseñas, formularios).

Este módulo amplía el motor de informes py3o para que la conversión de documentos pueda delegarse a un servidor Fusion remoto en lugar de a una instalación local de LibreOffice.

  • En cada informe py3o ahora puedes elegir un Fusion Server, marcarlo como "Local Fusion" y adjuntar un conjunto de PDF Options (el campo PDF Options solo aparece para informes PDF).
  • Una nueva pantalla "Py3o Servers" (en Reporting) permite registrar URLs de servidores, marcarlos como activos y asignar a cada servidor unos PDF Options predeterminados.
  • Una nueva pantalla "Py3o PDF Export Options" (en Reporting) permite crear conjuntos de opciones con nombre que controlan la compresión de imágenes y la calidad JPEG, la resolución de imagen, el texto de marca de agua, el archivado PDF/A-1a, el PDF etiquetado, los formularios PDF y su formato de envío, los marcadores, la vista inicial, el zoom, el comportamiento de la ventana, los enlaces, el cifrado, las contraseñas, los permisos de impresión y copia.
  • Se aplican reglas de negocio: un informe py3o no puede usar fusion remoto sin un servidor Fusion; la calidad JPEG debe ser 1-100; la página inicial debe ser positiva; el zoom debe ser 50-1600 cuando se usa la magnificación de zoom; PDF/A no puede combinarse con la apertura de enlaces entre documentos en un lector de PDF, y habilitar PDF/A borra los formularios PDF, el cifrado y las restricciones de permisos.
  • Cuando se genera un informe, la plantilla se envía al servidor y el archivo devuelto se almacena; las opciones PDF definidas en el informe tienen prioridad sobre las del servidor.

Solo los usuarios del grupo Settings pueden crear o modificar servidores y opciones PDF; los demás empleados tienen acceso de solo lectura.

Depende de

Lo necesitan otros módulos

Menús que añade

py3o_pdf_options_menupy3o_server_configuration_menu
Modelos y campos (4)
  • py3o.report · amplía un modelo existente
  • py3o.server · modelo nuevourl (Py3o Fusion Server URL), is_active (Active), pdf_options_id (PDF Options)
  • py3o.pdf.options · modelo nuevoname, pdfa (Archive PDF/A-1a (ISO 19005-1)), zoom (Zoom Factor), changes, encrypt, pdf_form (Create PDF Form), printing, watermark (Sign With Watermark), tagged_pdf (Tagged PDF (add document structure)), page_layout, hide_menubar, hide_toolbar, initial_page, initial_view (Panes), center_window (Center Window on Screen), magnification, watermark_text (WaterMark Text), export_comments, open_fullscreen (Open in Full Screen Mode), pdf_form_format (Submit Format), export_bookmarks, document_password, image_compression, image_jpeg_quality (Image JPEG Quality), export_placeholders, permission_password, export_hidden_slides (Export Automatically Insered Blank Pages), hide_window_controls (Hide Windows Controls), open_bookmark_levels (Visible Bookmark Levels), restrict_permissions
  • ir.actions.report · amplía un modelo existentepdf_options_id (PDF Options), py3o_server_id, py3o_is_local_fusion (Local Fusion)

Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 5 confirmadas, 4 sin información de 9 versiones.

Fuentes · Odoo 16.0

Confirmado el 2026-11-03 en la rama 16.0 de OCA/reporting-engine.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

Instala varios componentes adicionales y librerías de Python:

  • Servidor Py3o Fusion,
  • Servidor Py3o render,
  • un Java Runtime Environment (JRE), que puede ser OpenJDK,
  • Libreoffice iniciado en segundo plano en modo headless,
  • el driver Java para Libreoffice (Juno).

También es posible usar el driver Python para Libreoffice (PyUNO), pero se recomienda usar el driver Java porque es más estable.

El procedimiento de instalación que se describe a continuación usa el driver Java. Se ha probado con éxito en Ubuntu 18.04 LTS ; si usas otro sistema operativo, es posible que tengas que cambiar algunos detalles.

Instalación de Libreoffice, JRE y las librerías Java necesarias en Debian/Ubuntu:

sudo apt-get install default-jre ure libgoogle-gson-java libreoffice-java-common libreoffice-writer

Es posible que tengas que instalar fuentes adicionales. Por ejemplo, para tener los símbolos unicode especiales de teléfono/fax/email en los informes PDF generados por Py3o, deberías instalar el siguiente paquete:

sudo apt-get install fonts-symbola

Instalación de py3o.fusion:

pip3 install py3o.fusion
pip3 install service-identity

Instalación de py3o.renderserver:

pip3 install py3o.renderserver

Al final, con las dependencias, deberías tener las siguientes librerías Python de py3o:

% pip3 freeze | grep py3o
py3o.formats==0.3
py3o.fusion==0.8.9
py3o.renderclient==0.3
py3o.renderers.juno==0.8.1
py3o.renderserver==0.5.2
py3o.template==0.10.0
py3o.types==0.1.1

Inicia el servidor Py3o Fusion:

start-py3o-fusion --debug -s localhost -i localhost

Inicia el servidor Py3o render:

start-py3o-renderserver --java=/usr/lib/jvm/default-java/lib/server/libjvm.so --ure=/usr/share --office=/usr/lib/libreoffice --driver=juno --sofficeport=8997 -i localhost

En la salida del servidor Py3o render, la primera línea se parece a:

DEBUG:root:Starting JVM: /usr/lib/jvm/default-java/lib/server/libjvm.so with options: -Djava.class.path=/usr/local/lib/python2.7/dist-packages/py3o/renderers/juno/py3oconverter.jar:/usr/share/java/juh.jar:/usr/share/java/jurt.jar:/usr/share/java/ridl.jar:/usr/share/java/unoloader.jar:/usr/share/java/java_uno.jar:/usr/lib/libreoffice/program/classes/unoil.jar -Xmx150M

Después de -Djava.class.path, hay una lista de librerías Java con extensión .jar ; comprueba que cada archivo JAR esté realmente presente en tu sistema de archivos. Si uno de los archivos jar está presente en otro directorio, crea un enlace simbólico que apunte a la ubicación real del archivo. Si todos los archivos jar están presentes en otro directorio, adapta el argumento --ure= en la línea de comandos del servidor Py3o render.

Para comprobar que el servidor Py3o Fusion funciona correctamente, visita la URL \:8765/form. En esta página web, en la sección Target format, asegúrate de que tienes una línea This server currently supports these formats: ods, odt, docx, doc, html, docbook, pdf, xls..

Si quieres producir documentos PDF/A válidos con este módulo, activar la opción correspondiente en las PDF Export Options puede no ser suficiente, también tienes que asegurarte de que todas las fuentes usadas en la plantilla del documento estén instaladas en el servidor Odoo, para que puedan incrustarse en el documento PDF/A. Por ejemplo, si tu plantilla de documento usa la fuente Arial, deberías instalar esa fuente en tu servidor Odoo:

sudo apt-get install msttcorefonts

Para configurar las opciones de exportación a PDF:

  • Vaya al menú Settings \> Technical \> Reporting \> Py3o \> Py3o PDF Export Options y cree un perfil de opciones de exportación a PDF.
  • Establezca el perfil de opciones de exportación a PDF en el Py3o Server (menú Settings \> Technical \> Reporting \> Py3o \> Py3o Servers) o en un informe Py3o concreto con formato de salida PDF (menú Settings \> Technical \> Actions \> Reports).

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Uso.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.