使用CLI的dll嘗試用下面的代碼
public conversion()
{
unoidl.com.sun.star.uno.XComponentContext localContext =uno.util.Bootstrap.bootstrap();
unoidl.com.sun.star.lang.XMultiServiceFactory multiServiceFactory =(unoidl.com.sun.star.lang.XMultiServiceFactory)localContext.getServiceManager();
XComponentLoader componentLoader =(XComponentLoader)multiServiceFactory.createInstance("com.sun.star.frame.Desktop");
XComponent xComponent = componentLoader.loadComponentFromURL(PathConverter(FileName1),"_blank", 0,new PropertyValue[] {MakePropertyValue("Hidden", true)});
unoidl.com.sun.star.beans.PropertyValue [] propertyValues;
propertyValues = new unoidl.com.sun.star.beans.PropertyValue[2];
// Setting the flag for overwriting
propertyValues[0] = new unoidl.com.sun.star.beans.PropertyValue();
propertyValues[0].Name = "Overwrite";
propertyValues[0].Value = new Any(true);
// Setting the filter name
propertyValues[1] = MakePropertyValue("FilterName", "HTML (StarWriter)");
/*propertyValues[1] = new unoidl.com.sun.star.beans.PropertyValue();
propertyValues[1].Name = "FilterName";
propertyValues[1].Value = new uno.Any("HTML (StarWriter)"); // writer_pdf_Export , swriter: MS Word 97 , HTML (StarWriter) ,*/
XStorable xStorable = xComponent as XStorable;xStorable.storeToURL(PathConverter(FileName),propertyValues);
}
對於過濾器的名字到出口的完整列表,看看另一個答案,我之前給了。
我在我的工作中試圖做到這一點,但我們不得不放棄它,因爲我們無法從OOo中獲得非標準佈局和圖像等文檔元素的可傳遞位置。除了使用MS Office作爲轉換器之外,我們會做幾乎相同的設置。 – Chris 2009-06-23 06:49:08