Libreoffice converter-para não trabalhar
-
23-12-2019 - |
Pergunta
Eu estou tentando converter documentos de html,txt para pdf,odt e vice-versa..Mas só odt, pdf, parece funcionar..Não há outros formatos de arquivo são convertidos
Aqui estão os meus 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]
Solução
Este é um problema conhecido no LibreOffice, que foi corrigido na versão 5.3.0.Antes dessa correção, quando uma instância do LibreOffice está em execução --converter-ou qualquer outro comando silenciosamente terminar sem fazer nada.
Se sua versão é mais antiga do que você poderia considerar a solução sugerida por Frank Yin aqui.Que está perto de abrir todos os documentos do LibreOffice antes de executar a conversão.
Se você não conseguir feche todos os documentos do LibreOffice para executar a conversão, ou se você achar inconveniente, você pode tentar uma solução sugeriu nos comentários para o original bug.
Se você tem o Broffice versão antes de 4.5 executar
soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--headless --convert-to pdf test.docx
Se você estiver executando o Broffice versão entre 4.5 e 5.3 executar
soffice -env:UserInstallation=file:///$HOME/.libreoffice-headless/ \
--convert-to pdf test.docx
Aqui $HOME/.libreoffice-headless
é um novo directório de perfil diferente do seu principal LibreOffice perfil.
Outras dicas
Tente fechar todas as instâncias em execução do LibreOffice antes de executar o comando.Esta foi a causa da minha dor.
O problema real é que o broffice/soffice de linha de comando não fornece qualquer mensagem de erro ou informações de depuração, então é adivinhação.Se você for até ele, em seguida, tente strace para sugestões.
No meu caso (Linux), eu não tenho o correto pacotes instalados - por exemplo, a conversão de planilhas, broffice-calc é necessário (duh), e também o broffice-sem cabeça (duplo-duh).Mas a linha de comando não irá dizer-lhe que ele só trava, ou corre e não faz nada.
As seguintes obras
libreoffice --invisible -convert-to pdf myFile.html
libreoffice --invisible -convert-to docx myFile.odt
A opção --invisible
não iniciar a GUI, mas dá algumas pistas sobre a linha de comando que está acontecendo.
Testado no Linux Mint 13.
Isso funcionou para mim no 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-i-install-filters-for-the-soffice-command/
Para mim.O problema que eu tive foi a de que --sem cabeça não funciona, (só retorna em 15 de mili-segundos), se um local libreoffice processo já está com o documento aberto.
Certifique-se de que você só faça sem cabeça operações em um documento que já NÃO é aberto no LibreOffice.
Para mim, os dois seguintes pacotes foram o mínimo necessário para se obter sem cabeça docx para pdf, conversão de trabalho em CentOS 7 :
yum install libreoffice-headless libreoffice-writer
No Windows eu encontrei o seguinte problema:Eu tentei converter todos os arquivos DOC para PDF usando o seguinte comando:
soffice --invisible --convert-to pdf *.doc
Ele falhou sem qualquer mensagem de erro.Mas funcionou quando eu colocar um nome de um dos arquivos, em vez de *.doc
.Então, aparentemente, foi um problema com a resolução de curinga no *.doc
.O que eu fiz é executar exatamente o mesmo comando acima, mas a partir do Git Bash em vez do normal prompt de comando (cmd.exe).Ele trabalhou.O que é mais: no Git Bash é exibida a informação de progresso e mensagens informativas!
Portanto, meu conselho é:se você estiver executando o soffice.exe no Windows e não obter qualquer resultado, execute o comando Git Bash (você pode obter o Git Bash através da instalação de O Git para Windows)
Um dos problemas que eu encontrei com o libreoffice foi o problema com espaços vazios.Depois que eu slugged o nome ("test-document.docx" em vez de teste "documnet.docx") funcionou perfeitamente.A partir da versão 4.2.8.2 - 5.3.
Eu tinha que instalar o xvfb
pacote (yum install xorg-x11-server-Xvfb
), é o xserver
manequim.