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]
Était-ce utile?

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 avant 4.5 Run

soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--headless --convert-to pdf test.docx

Si vous exécutez la version libreoffice entre 4,5 et 5.3 Run

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top