Desenvolvimento - Python
PyODConverter - Conversão em batch de formato de documentos
O processo de conversão de documentos, dependendo do equipamento que você possui, pode ser bastante demorado, pois envolve abrir o arquivo, selecionar alguns menus, opções, etc, e mandar salvar em algum lugar. Se precisamos fazer isto com mais de dez arquivos, o trabalho e o tempo gasto é considerável.
por Rubens Queiroz de AlmeidaFelizmente, para a suíte de escritórios Broffice.ORG esta tarefa pode ser realizada por meio de um script. O scritp Python PyODConverter faz a automatização da conversão de documentos para diversos formatos. PyODConverter é um acrônimo para Python OpenDocument Converter.
O processo que descrito a seguir foi adaptado ou traduzido, em grande parte, da documentação contida no próprio site de distribuição do script PyODConverter.
Para usarmos o script PyODConverter, precisamos executar o Broffice.org como um serviço, escutando, por padrão, na porta 8100. Para isto, precisamos determinar o local onde o programa Broffice.org está instalado e em seguida, executar o comando:
$ /opt/broffice.org3/program/soffice --accept=" socket, port = 8100; URP;"
O comando acima reflete as opções padrão de instalação da suíte Broffice.org versão 3, que é feita no diretório /opt/broffice.org3/.
Isto feito, podemos passar às conversões. Para fazer a conversão, um pré-requisito é o software Python Uno Bridge. Este pacote já vem instalado por padrão junto com a versão Python do Broffice.org. Se usarmos esta versão não precisamos nos preocupar com este detalhe.
O próximo passo é fazer o download do script DocumentConverter.py (download da versão local).
Uma vez baixado o script, está tudo pronto para a conversão. O programa determina os formatos de origem e destino analisando os argumentos fornecidos na linha de comando, a partir das extensões dos arquivos.
Por exemplo:
$ /opt/broffice.org3/program/soffice /usr/local/bin/DocumentConverter.py arquivo_entrada.ppt arquivo_saida.pdf
No exemplo acima, o arquivo arquivo_entrada.ppt será convertido para o formato PDF, sendo gerado o arquivo arquivo_saida.pdf.
Para automatizar ainda mais, o melhor é fazer um script bash, com todas as definições. Algo como:
#!/bin/bash SOFFICE=/opt/broffice.org3/program/soffice DocumentConverter=/usr/local/bin/DocumentConverter.py if [ $# -ne 2 ] then echo "Sintaxe: $0 formato_de_entrada formato_de_saida" exit else in=$1 out=$2 fi $SOFFICE --accept="socket, port = 8100; URP;" & for arquivo in *.$in do echo "convertendo $arquivo ..." $SOFFICE $DocumentConverter $arquivo `echo $arquivo | sed "s/$in/$out/"` done
O software PyODConverter é distribuído sob os termos da GNU LGPL.