Hi All, Oh, I figured it out. For those who are curious, I'll include the relevant code. Basically, it came down to a misunderstanding of what kind of XComponent is required by XExporter.setSourceDocument()-- it wants a page and not the entire presentation.
public static void main(String[] args) { XComponentContext xContext = Bootstrap.bootstrap(); XMultiComponentFactory xServiceManager = xContext.getServiceManager(); Object desktop = xServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); XComponentLoader xComponentLoader = (XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, desktop); PropertyValue[] loadProps = new PropertyValue[2]; loadProps[0] = new PropertyValue(); loadProps[0].Name = "Hidden"; loadProps[0].Value = true; loadProps[1] = new PropertyValue(); loadProps[1].Name = "ReadOnly"; loadProps[1].Value = true; String loadUrl = new String("file:///c:/test.odp"); XComponent xComponent = xComponentLoader.loadComponentFromURL(loadUrl, "_blank", 0, loadProps); Object GraphicExportFilter = xServiceManager.createInstanceWithContext("com.sun.star.drawing.GraphicExportFilter", xContext); XExporter xExporter = (XExporter)UnoRuntime.queryInterface(XExporter.class, GraphicExportFilter); XDrawPagesSupplier xDrawPagesSupplier = (XDrawPagesSupplier)UnoRuntime.queryInterface(XDrawPagesSupplier.class, xComponent); XDrawPages xDrawPages = xDrawPagesSupplier.getDrawPages(); Object oDrawPageObject = xDrawPages.getByIndex(0); XDrawPage xDrawPage = (XDrawPage)UnoRuntime.queryInterface(XDrawPage.class, oDrawPageObject); XComponent xComponentPage = (XComponent)UnoRuntime.queryInterface(XComponent.class, xDrawPage); xExporter.setSourceDocument(xComponentPage); } - Albert -----Original Message----- From: Albert Law [mailto:a...@snowbound.com] Sent: Wednesday, January 07, 2009 14:05 To: dev@api.openoffice.org Subject: [api-dev] XExporter help? Hi All, I was wondering if someone could help me out with this problem I have with XExporter. Basically, it is throwing me an IllegalArgumentException error. This leads me to believe that the ODP format does not support any service which is supported by this exporter. However, I know ODP should have some export services associated as I can go into OO and then export ODP files to a variety of file formats. So I have to conclude I'm doing something wrong. Could someone help me spot my error? Thanks! public static void main(String[] args) { XComponentContext xContext = Bootstrap.bootstrap(); XMultiComponentFactory xServiceManager = xContext.getServiceManager(); Object desktop = xServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", xContext); XComponentLoader xComponentLoader = (XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, desktop); PropertyValue[] loadNewProps = new PropertyValue[3]; loadNewProps[0] = new PropertyValue(); loadNewProps[0].Name = "Silent"; loadNewProps[0].Value = true; loadNewProps[1] = new PropertyValue(); loadNewProps[1].Name = "Hidden"; loadNewProps[1].Value = true; loadNewProps[2] = new PropertyValue(); loadNewProps[2].Name = "ReadOnly"; loadNewProps[2].Value = true; String loadUrlODP = new String("file:///c:/test.odp"); XComponent xNewComponent = xComponentLoader.loadComponentFromURL(loadUrlODP, "_blank", 0, loadNewProps); Object GraphicExportFilter = xServiceManager.createInstanceWithContext("com.sun.star.drawing.GraphicExportFilter", xContext); XExporter xExporter = (XExporter)UnoRuntime.queryInterface(XExporter.class, GraphicExportFilter); xExporter.setSourceDocument(xNewComponent); } causes: com.sun.star.lang.IllegalArgumentException: at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:182) at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148) at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:344) at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:313) at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:101) at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652) at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154) at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136) at $Proxy5.setSourceDocument(Unknown Source) at com.snowbound.testOOUno.main(testOOUno.java:72) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.star.lib.loader.Loader.main(Loader.java:144) - Albert --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org For additional commands, e-mail: dev-h...@api.openoffice.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org For additional commands, e-mail: dev-h...@api.openoffice.org