Servicio Unoserver – Libreoffice

Descripción

Unoserver es el reemplazo de Unoconv que fue declarado Obsoleto

Es un servicio de Libreoffice que permite usar sus funciones a traves de un socket de manera mucho mas rápida que usando libreoffice en batch.

** En Windows aun no lo tengo completo.

Prerequistos

Un servidor Linux / Kuine o Windows

Instalación

El software esta en python entonces hay que instalar libreoffice y python  (Debian /Ubuntu)

$>  apt-get install python3 python3-pip python3-uno odt2txt libreoffice-writer libreoffice-draw libreoffice-calc libreoffice-impress default-jre libreoffice-java-common

OJO  Se prefiere una versión moderna de libreoffice 7+ ya que los 6 nos han dado guerra antes

Ahora usando PIP instalo la utilidad (tanto en Linux como en Windows)

$>  pip install unoserver

En Windows queda en un lugar rarísimo que se sugiere se incluya en el PATH

C:\Users\myusuario\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\Scripts

Configuración

1.  Para que corra a lo machaco

O a lo machaco .. ponerlo en el /etc/rc.local .

$> unoserver –daemon

2. Lo elegante usando systemctl

Los pasos a seguir del proceso anterior:

$> sudo su
$> vim /etc/systemd/system/unoserver.service

Agrege el siguiente script

  [Unit] 
  Description=Unoserver listener for document conversions 
  Documentation=https://github.com/unoconv/unoserver/
  After=network.target remote-fs.target nss-lookup.target 

  [Service] 
  Type=simple 
  User=www-data 
  Group=www-data 
  ExecStart=/usr/local/bin/unoserver
  Restart=on-abort 
  StartLimitInterval=60 
  StartLimitBurst=10 

  [Install] 
  WantedBy=multi-user.target  

Para que pueda correr como apache es necesario crear directorios y darle permisos en el home del usuario de apache

mkdir /var/www/.cache  /var/www/.config
chown -R www-data:www-data  /var/www/.cache  /var/www/.config

Incluirlo en la secuencia de arranque

$> sudo systemctl daemon-reload
$> sudo systemctl enable unoserver.service
$> sudo systemctl start unoserver.service

OJO .. unoserver debe correr como apache para orfeo si no, no funciona porque salva archivos como ROOT

Trucos

1. Busque las librerias de UNO

$> wget -O find_uno.py https://gist.githubusercontent.com/regebro/036da022dc7d5241a0ee97efdf1458eb/raw/find_uno.py
$> python3 find_uno.py

Problemas

1. ** es posible que herede los mismos problemas de UNOCONV . .. vea esa documentacion.

 

Referencias

–  https://github.com/unoconv/unoserver/

FIN