Tag: uno

ErrorCodeIOException转换文件

我正在尝试实现Office基于LibreOffice 4.0的PDF转换系统并始终获取ErrorCodeIOException(尝试文件格式doc,docx,txt),我的stacktrace如下: com.sun.star.task.ErrorCodeIOException: at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:177) at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:143) at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:335) at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:304) at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:91) at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:639) at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:151) at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:133) at com.sun.proxy.$Proxy49.storeAsURL(Unknown Source) at Framework.Config.DocumentConverter.traverse(DocumentConverter.java:103) at Framework.Config.DocumentConverter.main1(DocumentConverter.java:184) at Framework.DAO.CRUD_Generic.ping(CRUD_Generic.java:71) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.struts2.json.JSONInterceptor.invoke(JSONInterceptor.java:248) at org.apache.struts2.json.JSONInterceptor.intercept(JSONInterceptor.java:133) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) […]

如何使用UNO获取打开的文档?

我正在编写一个打开对话框的附加组件,我需要访问当前打开的文本文档,但我不知道如何获取它。 我在NetBeans中使用OpenOffice插件,我从一个Add-on项目开始。 它创建了一个类,它给了我一个XComponentContext实例,但我不知道如何使用它来获取当前文档的OfficeDocument实例。 我已经谷歌搜索了一段时间,我找不到任何使用现有的,打开的文档的例子。 它们都是从一个新文档或首先加载的文档开始的,因此它们有一个URL。 我根据OpenOffice wiki( https://wiki.openoffice.org/wiki/API/Samples/Java/Office/DocumentHandling )试了一下,这就是我想出的: private OfficeDocument getDocument() { if (this.officeDocument == null) { try { // this causes the error XMultiComponentFactory xMultiComponentFactory = this.xComponentContext.getServiceManager(); Object oDesktop = xMultiComponentFactory.createInstanceWithContext(“com.sun.star.frame.Desktop”, this.xComponentContext); XComponentLoader xComponentLoader = UnoRuntime.queryInterface(XComponentLoader.class, oDesktop); String url = “private:factory/swriter”; String targetFrameName = “_self”; int searchFlags = FrameSearchFlag.SELF; PropertyValue[] propertyValues = new […]