2005-09-08

Exportando apresentação para arquivos .jpg

A idéia: exportar cada slide de uma apresentação do OpenOffice Impress para um arquivo .jpg, para posteriormente gravar em um CD e apresentar em uma TV, via aparelho de DVD.

O problema: o Impress só exporta um slide de cada vez, o que torna a idéia inviável para apresentações com grande número de slides.

A solução, uma simples macro:

sub exportarTudo

    'Objetos
    documento = thisComponent
    controlador = documento.currentController
    paginaAnterior = controlador.currentPage

    'Diálogo para escolher diretório
    dialogoDiretorio = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
    dialogoDiretorio.title = "Salvar"
    dialogoDiretorio.execute()
    diretorio = dialogoDiretorio.directory

    'Propriedade/Valor indicando qual filtro usar
    propriedade = createUnoStruct("com.sun.star.beans.PropertyValue")
    propriedade.name = "FilterName"
    propriedade.value = "impress_jpg_Export"

    'Numero de casas para numerar os arquivos
    casas = len(trim(str(documento.drawPages.count)))

    'Para cada slide
    for i = 1 to documento.drawPages.count
        slide=documento.drawPages(i - 1)
        controlador.currentPage = slide
        url = diretorio + right("00000" + i, casas) + ".jpg"
        documento.storeToUrl(url, array(propriedade))
    next

    'Volta à página em que o usuário estava
    controlador.currentPage = paginaAnterior

end sub

Nenhum comentário: