La conversion de Libreoffice ne fonctionne pas
-
23-12-2019 - |
Question
J'essaie de convertir des documents html, txt en pdf, odt et vice versa.Mais seul odt en pdf semble fonctionner.Aucun autre format de fichier n'est converti
Voici mes commandes
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]
La solution
Ceci est un problème connu dans LibreOffice qui a été corrigé dans la version 5.3. 0. Avant ce correctif lorsqu'une instance de LibreOffice est en cours d'exécution - Convertir ou toute autre commande se terminerait silencieusement sans rien faire.
Si votre version est plus ancienne que celle-ci, vous pouvez envisager le Solution suggérée par Frank Yin ici. Qui est proche de tous les documents Open LibreOffice avant d'exécuter la conversion.
Si vous ne pouvez pas fermer tous les documents Open LibreOffice pour exécuter la conversion ou si vous le trouvez inconvénient, vous pouvez essayer un Solution suggérées dans les commentaires au bogue d'origine.
Si vous avez la version libreoffice
soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--headless --convert-to pdf test.docx
Si vous exécutez la version libreoffice
soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--convert-to pdf test.docx
Ici $HOME/.libreoffice-headless
est un nouveau répertoire de profil différent de votre profil principal de LibreOffice.
Autres conseils
Essayez de fermer toutes les instances d'exécution de LibreOffice avant d'exécuter la commande.C'était la cause fondamentale de ma douleur.
Le problème réel est que la ligne de commande LIBREOFFICE / SOFFICE ne fournit aucun message d'erreur ni d'informations de débogage. C'est donc tout devinement.Si vous êtes à la hauteur, essayez alors de la ronde pour des allonures.
Dans mon étui (Linux), je n'avais pas les bons packages installés - par exemple, pour convertir des feuilles de calcul, LibreOffice-Calc est nécessaire (DUH), ainsi que LibreOffice-Headless (Double-Duh).Mais la ligne de commande ne vous dira pas cela - cela se bloque, et ça marche et ne fait rien.
Les travaux suivants
libreoffice --invisible -convert-to pdf myFile.html
libreoffice --invisible -convert-to docx myFile.odt
L'option --invisible
ne démarre pas l'interface graphique mais donne quelques indices sur la ligne de commande sur ce qui se passe.
Testé sur Linux Mint 13.
Cela a fonctionné pour moi sur LibreOffice 4.2 / Linux:
soffice --headless --convert-to txt:Text /path_to/document_to_convert.odt
Crédit: http://ask.libreoffice.org/fr/Question/14130/how-do-i-install-filters-for-the-soffice-command/
Pour moi.Le problème que j'avais était celui-ci ne fonctionne pas, du tout (vient de retourner dans 15 milli-secondes), si un processus local de LibreOffice a déjà le document ouvert.
Assurez-vous que vous ne faites que des opérations sans tête sur un document qui n'est pas déjà ouvert dans LibreOffice.
Pour moi, les deux paquets suivants ont été le minimum nécessaire pour obtenir la conversion de PDF sans tête à la conversion PDF sur Centos 7:
yum install libreoffice-headless libreoffice-writer
Sous Windows, j'ai rencontré le problème suivant :J'ai essayé de convertir tous les fichiers DOC en PDF à l'aide de la commande suivante :
soffice --invisible --convert-to pdf *.doc
Il a échoué sans aucun message d'erreur.Mais cela a fonctionné lorsque j'ai mis le nom de l'un des fichiers au lieu de *.doc
.Apparemment, c'était un problème avec la résolution des caractères génériques dans *.doc
.Ce que j'ai fait, c'est exécuter exactement la même commande que ci-dessus mais à partir de Git Bash au lieu de l'invite de commande normale (cmd.exe).Ça a marché.De plus: dans Git Bash, il affichait des informations de progression et des messages informatifs!
Donc mon conseil est le suivant :si vous exécutez soffice.exe sous Windows et n'obtenez aucun résultat, exécutez la commande depuis Git Bash (vous pouvez obtenir Git Bash en installant Git pour Windows)
L'un des problèmes que j'ai rencontrés avec LibreOffice était le problème des espaces vides.Après que je slugged le nom ("test-document.docx" au lieu de tester "documnet.docx"), cela fonctionnait parfaitement. À partir de la version 4.2.8.2 - 5.3.
J'ai dû installer le xvfb
emballer (yum install xorg-x11-server-Xvfb
), c'est le xserver
factice.