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.
Felizmente, para a suíte de escritórios Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... esta tarefa pode ser realizada por meio de um script. O scritp Python Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... 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 Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar....
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;"
Isto feito, podemos passar às conversões. Para fazer a conversão, um pré-requisito é o software Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar.... 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 Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... (Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...).
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
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
Crédito: Rubens Queiroz de Almeida