você está aqui: Home → Colunistas → BrOffice.ORG
Colaboração: Smailli Hemori Moraes
Data de Publicação: 15 de Maio de 2008
Assim que a Micro$oft lançou a sua suíte Office 2007 com os novos formatos de arquivos tive um problema muito grande. Os documentos que até então eu acessava normalmente pelo OpenOffice no meu CentOS 5.1 e Fedora 8 passaram a não funcionar mais.
Utilizei duas alternativas, até que eu tivesse um tempo de pesquisar algo um pouco melhor. Não querendo dizer que essa solução que irei apresentar é uma ótima saída, mas vai ajudar. Prosseguimos ...
Mas essa história tem um fim um pouco triste. O meu servidor de TS estava com muitos acessos simultaneos o que tornava impraticável a edição de um arquivo por ele, muito lento... Então fui obrigado a achar uma solução para isso. Essa solução ajuda pessoas com o mesmo problema que eu tive e ajuda pessoas (eu também me encaixo nessa parte) que utilizam apenas Linux e não tem um servidor de TS. A minha casa é assim...
Fuçando na Internet, em parceria com o meu amigo google, e após a alegria de ler o título da dica postada no dia 20/04/08, porém quando li confesso que fiquei um pouco triste. Essa dica só afeta OpenOffice rodando no Windows. Acehi um conversor de documentos do Office 2007 para padrões Open Document... O nome do conversor é odf-converter-integrator
.
A instalação funcionou da seguinte forma. Lembrando que toda essa dica foi escrita com base na distribuição CentOS 5.0. Para quem utiliza outra distribuição, recomendo a leitura da página do criador.
# rpm -ivh odf-converter-integrator-0.1.5-1.i386.rpm giflib-4.1.3-7.1.el5.1.i386.rpm
Após a conversão do primeiro arquivo fiquei triste novamente. Quanta tristeza em uma dica só ein ?!?! Os arquivos editados no OpenOffice perdiam suas características, as fontes eram modificadas. Mas opa, esse problema eu já tive antes com o OpenOffice e com navegadores. Então fui na minha Knowledge Base pessoal e prossegui com a instalação de fontes True Type no meu Linux.
Baixei o pacote RPM MicrosoftFonts e instalei, como segue.
# rpm -ivh MicrosoftFonts-1-jen14.noarch.rpm
Para converter o meu arquivo DOCX para ODT utilizei o seguinte comando.
# /usr/bin/OdfConverter /I teste.docx /DOCX2ODT
Para converter o arquivo ODT para DOCX utilizei o seguinte comando.
# /usr/bin/OdfConverter /I teste.odt /ODT2DOCX
Levei 4 minutos para converter um arquivo DOCX de tamanho 1.8MB com muitas referências e imagens. No final ele ficou com 1.4MB.
Levei 3 minutos para converter o ODT para DOCX novamente e ele manteve seu 1.4MB. O arquivo ficou 99% semelhante ao original. O 1% que não ficou igual eu nem sei o que é, mas sei que ficou diferente pela diferença de tamanho AHUhaUHAuhUA.
Para auxiliar a interação com os arquivos DOCX, criei um shell script que converte, abre o arquivo convertido, e converte novamente para DOCX após acabar a edição, tudo automáticamente.
#!/bin/bash #Verificando e armazenando o MD5 do aqruivo para utilização futura (1) MD5DOCX=`md5sum $1` #Criando um backup do arquivo original. Como diz o meu amigo Doca, sempre tenha backups. #O backup será gerado com o mesmo nome do arquivo original seguido da extensão .bkp. echo "Criando backup do arquivo original - $1.bkp" cp $1 $1.bkp #Nesse momento acontece a conversão do arquivo docx para odt echo "Convertendo o documento para ODT" /usr/bin/OdfConverter /I $1 /DOCX2ODT > /dev/null 2&>1 #Nesse momento invocamos (palavra legal ein) o openoffice abrindo o arquivo já convertido para odt #Ainda adquirimos o MD5 do arquivo odt echo "Abrindo o documento" ODT=`echo $1 | cut -f1 -d.` MD5ODT=`md5sum $ODT.odt` /usr/bin/openoffice.org-2.0 $ODT.odt #Quando o openoffice for finalizado obtemos novamente o MD5 do odt para saber se ele foi modificado ou não. MD5ODTNEW=`md5sum $ODT.odt` #Se o arquivo foi modificado será convertido para docx novamente #Se nao foi modificado, nada será feito if [ "$MD5ODT" != "$MD5ODTNEW" ] ; then echo "Convertendo o documento para DOCX" /usr/bin/OdfConverter /I $ODT.odt /ODT2DOCX > /dev/null 2&>1 else echo "Arquivo não modificado" fi
O script é invocado da seguinte forma.
# NOME_DO_SCRIPT arquivo.docx
Quando o OpenOffice for fechado o script irá converter automáticamente para DOCX novamente.
Vale lembrar que o conversor funciona para os outros formatos da suíte Office 2007 execute o programa /usr/bin/OdfConverter sem parâmetros para verificar a sintexe para cada extensão.
Rubens Queiroz de Almeida é engenheiro eletricista, formado pela Universidade Federal de Juiz de Fora. Trabalha na Unicamp, no Centro de Computação, desde 1988. Colaborou em diversas edições da Revista do Linux, com artigos demonstrando a viabilidade e importância estratégica do software livre. É autor dos livros Linux - Dicas e Truques, As Palavras Mais Comuns da Língua Inglesa, Read in English - Uma Maneira Divertida de Aprender Inglês, e colaborou na confecção do livro A Leitura nos Oceanos da Internet.
Mantém os sites Aprendendo Inglês, EduLinks, Contando Histórias e a Dicas-L.
Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS
Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.