você está aqui: Home  → Colunistas  →  BrOffice.ORG

Abrindo arquivos docx no OpenOffice for Linux

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 ...

  1. Acessava meu servidor Windows 2008 via TS, abria o Office 2007, abria o documento, convertia para doc e ai então utilizava no meu OpenOffice.

  2. A solução 1 um dia cansou, muito trabalho. Então comecei a abrir e editar os arquivos na própria suíte Office, gravar como docx, pdf ou doc e enviar para as pessoas envolvidas.

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...

O CONVERSOR

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

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.

  1. Baixamos os RPMs odf-converter-integrator e a dependência giflib.

  2. Instalamos os arquivos com o seguinte comando:

      # rpm -ivh odf-converter-integrator-0.1.5-1.i386.rpm giflib-4.1.3-7.1.el5.1.i386.rpm
    

OS AJUSTES

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.

AS FONTES

Baixei o pacote RPM MicrosoftFonts e instalei, como segue.

  # rpm -ivh MicrosoftFonts-1-jen14.noarch.rpm

A CONVERSÃO DO ARQUIVO

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.

O AUXÍLIO

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.

FIM

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.

Sobre o autor

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

Cantinho do Shell NewsFeed RSS

Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.

Recomende este artigo nas redes sociais

 

 

Veja a relação completa desta coluna