Olá José Ricardo,
Ando atrás de algo parecido para a extensão de pesquisa de arquivos.
No entanto, ainda não sei se há possibilidade de modificar a definição
do thumbnail nem se há como carregar a imagem na memória sem usar o
sistema de arquivos.
Minha solução até o momento foi usar o diretório temporário do sistema
operacional (tanto faz se Windows ou Linux) através da variável
$(temp):
oDirs = createUnoService("com.sun.star.util.PathSubstitution")
oDirTemp = oDirs.getSubstituteVariableValue("$(temp)")
Se chegar a alguma solução, informo a você.
Abraço,
Gustavo Pacheco.
2009/12/7 J. Ricardo Simoes Rodrigues <[email protected]>:
> Colegas,
>
> Tenho a macro abaixo para exibir, em um diálogo do Basic (no caso
> DlgMostraThumb), o Thumbnail do documento que fica gravado em
> "Thumbnails/thumbnail.png" dentro do arquivo (arquivo.ott, no caso).
>
> Atualmente minha gambiarra consiste em extrair a imagem utilizando a
> sub UnZip( ) e então carregá-la no diálogo, mais especificamente em um
> componente de nome img.
>
> Gostaria de saber se há como carregar essa miminatura diretamente do
> arquivo.ott, sem precisar fazer a prévia gravação no disco, algo como
> operar apenas em memória.
>
> Outras duas perguntas:
>
> 1. Há como controlar a qualidade e dimensões (atualmente algo como
> 181x256px para um doc A4) do thumbnail gravado pelo OpenOffice?
>
> 2. Há outro método para carregar um preview de um documento OpenOffice
> em um diálogo Basic?
>
> Sub MostraThumb()
> sMyDir = "C:\Documentos\"
> sZipPackageUrl = ConvertToUrl( sMyDir & "arquivo.ott" )
> sPkgSourceFile = "Thumbnails\thumbnail.png"
> sDestination = sMyDir & sPkgSourceFile
> UnZip( sZipPackageUrl, sPkgSourceFile, sDestination )
> DialogLibraries.LoadLibrary("MinhaLib")
> oDlg = CreateUnoDialog(DialogLibraries.MinhaLib.DlgMostraThumb)
> oImg = oDlg.getControl("img")
> oImg.Model.ImageURL = ConvertToUrl( sDestination)
> oDlg.Execute()
> oDlg.dispose()
> End Sub
>
> Sub UnZip( sZipPackageUrl As String, sPkgSourceFile As String,
> sDestFile As String )
> oZipPackage = createUnoService("com.sun.star.packages.Package")
> oZipPackage.initialize( Array( sZipPackageUrl ) )
> oZipPackageStream = oZipPackage.getByHierarchicalName( sPkgSourceFile )
> xInputStream = oZipPackageStream.getInputStream()
> xSimpleFileAccess = createUnoService(
> "com.sun.star.ucb.SimpleFileAccess" )
> xSimpleFileAccess.WriteFile( ConvertToUrl( sDestFile ), xInputStream )
> End Sub
>
> --
> José Ricardo Simões Rodrigues
> jricardosimoes at gmail.com
> ricardo at ricardosimoes.com
> ricardosimoes.com
> twitter.com/malechamawitz
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]