The Presentation program on the Zaurus can show slideshows of e.g. PNG-files, and if you use IO Data's CFXGA card, these presentations can be shown on a video projector. Microsoft's PowerPoint can export a presentation as a series of PNG-files, but this is not possible with OpenOffice.Org Impress. In order to remedy this, I've combined various code snippets from the net into a macro, which can do just this: export an Impress document as a series of 800x600 pixels PNG files. Maybe other people will find this macro useful, so I post it here:
Sub ExportPng
REM Filter dependent filter properties
Dim aFilterData (1) As New com.sun.star.beans.PropertyValue
Dim sFileUrl As String
aFilterData(0).Name = "PixelWidth"
aFilterData(0).Value = 800
aFilterData(1).Name = "PixelHeight"
aFilterData(1).Value = 600
REM aFilterData(2).Name ="LogicalWidth"
REM aFilterData(2).Value = 1000
REM aFilterData(3).Name ="LogicalHeight"
REM aFilterData(3).Value = 1000
REM aFilterData(4).Name ="Quality"
REM aFilterData(4).Value = 60
odoc=thiscomponent
octl=odoc.getcurrentcontroller()
for i = 0 to odoc.getdrawpages().count -1
slide=odoc.drawpages(i)
octl.setCurrentPage(slide)
sFileUrl = "file:///home/holck/Desktop/OOo/" + "slide"+ Format(i, "000")+ ".png"
xDoc = ThisComponent
xView = xDoc.currentController
xObj = xView.currentPage
Export( xObj, sFileUrl, aFilterData() )
next
End Sub
Sub Export( xObject, sFileUrl As String, aFilterData )
Dim xExporter
xExporter = createUnoService( "com.sun.star.drawing.GraphicExportFilter" )
xExporter.SetSourceDocument( xObject )
Dim aArgs (2) As New com.sun.star.beans.PropertyValue
Dim aURL As New com.sun.star.util.URL
aURL.complete = sFileUrl
aArgs(0).Name = "MediaType"
aArgs(0).Value = "image/png"
aArgs(1).Name = "URL"
aArgs(1).Value = aURL
aArgs(2).Name = "FilterData"
aArgs(2).Value = aFilterData
xExporter.filter( aArgs() )
End Sub
/Jesper