Percebi que o LibreOffice Writer tem uma boa qualidade: ao carregar um arquivo .docx, e salvá-lo imediatamente, alguém a estrutura do arquivo salvo é um pouco diferente do arquivo original - no bom sentido - é como resolver alguma estrutura .docx problemas, etc (o que me permite posteriormente processá-lo melhor com o Apache POI).
Eu gostaria de usá-lo simplesmente para corrigir arquivos .docx, carregando-os e salvando-os imediatamente - seja na linha de comando ou de alguma forma, invocando diretamente as funções do Writer.
Gostaria de receber algumas dicas para a solução.
Responder1
Você pode usar a libreoffice
ferramenta CLI, ela tem uma --convert-to
opção de conversão de arquivos que pode ser usada para converter para o mesmo formato que você desejar. Se você usar isso sem especificar um diretório de saída,substituio arquivo original e você não pode atribuir a ele um nome de arquivo de saída diferente. Contorne isso convertendo o arquivo /tmp/
primeiro e movendo-o de volta depois:
libreoffice --convert-to docx --outdir /tmp/ NAME.DOCX && mv /tmp/NAME.DOCX ./NEWNAME.DOCX
Você só precisa alterar as partes em negrito em letras maiúsculas,NAME.DOCX
ao seu nome de arquivo de entrada eNEWNAME.DOCX
para o nome do arquivo de saída desejado.
Na bash
linha de comando, você pode abreviar para:
libreoffice --convert-to docx --outdir /tmp/ NAME.DOCX && mv !#:4!#:5 ./NEWNAME.!#:2
Isso usabash
Expansão da históriapara que você não precise inserir caminhos e nomes de arquivos várias vezes – você só precisa alterarNAME.DOCX
ao seu nome de arquivo de entrada eNEWNAME
para o nome do arquivo de saída desejado sem a extensão.