Une fois que l'on a compris la philosophie du passage des arguments, des MediaDecriptor (faire une recherche dans le SDK), les solutions emergent d'elles memes ;-)
Enfin, avec l'aide de la liste de diffusion anglophone dev@api.openoffice.org tout de même !!! (merci à Stephan Wunderlich)
sub ExportDocumentPDF
rem -----------------------------------------------------
rem define variables
dim doc as object, desktop as object
dim args() as new com.sun.star.beans.PropertyValue
rem -----------------------------------------------------
rem get access to the document
oDesktop=createUnoService("com.sun.star.frame.Desktop")
sUrl="file:///test.sxw"
doc=oDesktop.loadComponentFromURL(surl,"_blank",0,args())
rem -----------------------------------------------------
Dim PDFArgs(1) as new com.sun.star.beans.PropertyValue
PDFArgs(0).Name = "FilterName"
PDFArgs(0).Value = "writer_pdf_Export"
PDFArgs(1).Name = "CompressMode"
PDFArgs(1).Value = 0 'Valeurs possibles : 0 - 1 - 2
doc.storeToURL("file:///test.pdf",PDFArgs())
doc.dispose()
end sub
Il y a de plus 2 ressources (XML) tres utiles dans les repertoires d'OpenOffice
- Liste des imports/exports disponibles donnant des indications sur les valeurs de "FilterName":
/share/registry/data/org/openoffice/Office/TypeDetection.xcu
- Options du filtre à passer en argument à StoreToURL:
/share/registry/data/org/openoffice/Office/Common.xcu