C# 利用OpenOffice转换PDF
在WindowServer 2008 R2 上运行正常, 本机也是正常(本人用WIN8系统)
但是在WindowServer 2003 上运行抛出以下异常:
--------------------------------------------------------------
StackTrace: 在 cppu.bootstrap(Reference<com::sun::star::uno::XComponentContext>* )
在 uno.util.Bootstrap.bootstrap()
在 FileWatcher.ConvertToPdf.Init()
Source: cli_cppuhelper
Msg: 外部组件发生异常。
---------------------------------------------------------------
SDK版本: OpenOffice.org 3.1 SDK
OpenOffice版本: OpenOffice 4.0.0
抛出异常的方法(Code):
1 //内容管道初始化,创建连接 2 private static void Init() 3 { 4 if (IsInit) 5 { 6 Process[] ps = Process.GetProcessesByName("soffice.bin"); 7 8 foreach (var p in ps) 9 { 10 p.Kill(); 11 } 12 13 Program.OOT.start(); 14 15 try 16 { 17 //Get a ComponentContext 18 xLocalContext = uno.util.Bootstrap.bootstrap(); 19 20 //Get MultiServiceFactory 21 xRemoteFactory = (unoidl.com.sun.star.lang.XMultiServiceFactory)xLocalContext.getServiceManager(); 22 23 //Get a CompontLoader 24 aLoader = (XComponentLoader)xRemoteFactory.createInstance("com.sun.star.frame.Desktop"); 25 26 IsInit = false; 27 28 Program.OOT.IsReadyOK = true; 29 } 30 catch (System.Exception ex) 31 { 32 Log.WriteExceptionLog(ex); 33 Program.Restart("xLocalContext Init Exception"); 34 } 35 } 36 }
本人疑问:
1,如果跟版本有关,为什么win8 ,ws2008 r2 又可以
2,是不是 openoffice 不支持 ws2003?
我放在了一个 32位上的 WIN7 操作系统一样也 报了 同样的异常。
我想是不是 32位的操作系统不能用? 64位的就可以?
大侠们 我没豆豆了。 没办法只有20个了 ,请知道的高手帮我解答下,小弟谢谢了
自己解决了, 原来是OpenOffice版本的问题