Libreoffice convertir-para no trabajar
-
23-12-2019 - |
Pregunta
Estoy tratando de convertir documentos de html,txt a pdf,odt y viceversa..Pero sólo odt a pdf parece que funciona..Ningún otro formato de archivo que se convierten
Aquí están mis comandos
libreoffice --headless --convert-to pdf test.html [Not working]
libreoffice --headless --convert-to odt test.html [Not working]
libreoffice --headless --convert-to pdf test.docx [Not working]
libreoffice --headless --convert-to pdf test.odt [Working]
Solución
Esto es un problema conocido en LibreOffice que se fijó en la versión 5.3. 0. Antes de esta solución, cuando se ejecuta una instancia de LibreOffice, convertir o cualquier otro comando terminaría silenciosamente sin hacer nada.
Si su versión es mayor que la que podría considerar el solución sugerida por Frank Yin aquí. Eso está cerca de todos los documentos abiertos de LibreOffice antes de ejecutar la conversión.
Si no puede cerrar todos los documentos abiertos de LibreOffice para ejecutar la conversión, o si le resulta inconveniente, podría probar un solución sugerida en los comentarios al error original.
Si tiene la versión de LibreOffice antes de 4.5 run
soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--headless --convert-to pdf test.docx
Si está ejecutando la versión de LibreOffice entre 4.5 y 5.3 run
soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--convert-to pdf test.docx
aquí $HOME/.libreoffice-headless
es un nuevo directorio de perfil diferente a su perfil principal de LibreOffice.
Otros consejos
Intente cerrar todas las instancias de ejecución de LibreOffice antes de ejecutar el comando.Esta fue la causa raíz de mi dolor.
El problema real es que la línea de comandos LibreOffice / Soffice no proporciona ningún mensaje de error o información de depuración, por lo que es todas las conjeturas.Si está a la altura de él, intente STRACE para sugerencias.
En mi caso (Linux), no tuve los paquetes correctos instalados, por ejemplo, para convertir hojas de cálculo, se necesita LibreOffice-Calc (DUH), y también LibreOffice-Earaless (Double-duh).Pero la línea de comandos no le dirá eso, solo cuelga, o corre y no hace nada.
Las siguientes obras
libreoffice --invisible -convert-to pdf myFile.html
libreoffice --invisible -convert-to docx myFile.odt
La opción --invisible
no se inicia la interfaz gráfica de usuario, pero da algunas pistas en la línea de comandos lo que está sucediendo.
Probado en Linux Mint 13.
Esto funcionó para mí en LibreOffice 4.2 / Linux:
soffice --headless --convert-to txt:Text /path_to/document_to_convert.odt
Crédito: http://ask.libreOffice.org/en/question/14130/HOW-DO--InStale-Filters-For-The-soffice-command/
para mi.El problema que tuve fue que: no funciona, en absoluto (solo devuelve en 15 mili-segundos), si un proceso local de LibreOffice ya tiene el documento abierto.
Asegúrese de que solo realice operaciones sin cabeza en un documento que aún no está abierto en LibreOffice.
Para mí, los siguientes dos paquetes fueron los mínimos necesarios para obtener la conversión de DOCX a PDF sin cabeza trabajando en CentOS 7:
yum install libreoffice-headless libreoffice-writer
En Windows, me encontré con el siguiente problema: intenté convertir todos los archivos DOC a PDF utilizando el siguiente comando:
soffice --invisible --convert-to pdf *.doc
Falló sin ningún mensaje de error.Pero funcionó cuando puse un nombre de archivo de uno de los archivos en lugar de *.doc
.Aparentemente, fue un problema con resolver comodines en *.doc
.Lo que hice es ejecutar exactamente el mismo comando que la anterior, pero desde Git Bash en lugar del símbolo del sistema normal (cmd.exe).Funcionó.¿Qué es más: en Git Bash, se muestra la información de progreso y los mensajes informativos !
Entonces, mi consejo es: Si está ejecutando Soffice.exe en Windows y no obtenga ninguna salida, ejecute el comando de Git Bash (puede obtener Git Bash instalando git para windows )
Uno de los problemas que encontré con LibreOffice fue el problema con los espacios vacíos.Después de presionar el nombre ("prueba-document.docx" en lugar de probar "documnet.docx") funcionó perfectamente. De la versión 4.2.8.2 - 5.3.
He tenido que instalar el xvfb
paquete (yum install xorg-x11-server-Xvfb
), es el xserver
ficticio.