【问题标题】:com.sun.star.lang.IllegalArgumentException - Unsupported URL <file:///com.sun.star.lang.IllegalArgumentException - 不支持的 URL <file:///
【发布时间】:2013-01-17 14:43:14
【问题描述】:

您好 Stackoverflow 社区,我在从我的 java webapp 读取文件时遇到问题。我想从我的 web 应用程序的目录中获取文件,然后将其转换为 PDF。在我的开发环境(Windows)中一切正常,但是当我将它放在服务器(LINUX)上时,当服务器到达代码以读取我的 doc 文件进行转换时,java 抛出此异常:

com.sun.star.lang.IllegalArgumentException - Unsupported URL <file:///

代码如下:

fileDocToConvert = new File(GET_REAL_PATH()+repo_Name+slash+fileName);

fileDocToConvert 路径变为:/usr/share/tomcat7/webapps/myapp/repo_name/exemple.doc

当我尝试转换时出现异常:

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
connection.connect();
DocumentConverter converter  = new OpenOfficeDocumentConverter(connection); 
//HERE...=> //     converter.convert(docFile, pdfFile);

我正在使用:

jodConverter 2.2.1、openOffice 3、Java7、Tomcat 7

我以这种方式启动 openOffice 服务:

soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard

我找不到解决此问题的方法。

提前谢谢你

【问题讨论】:

  • 那么docFilepdfFile的值是多少?你只显示fileDocToConvert。 (另外,要在 Java 中加入路径,对于跨平台应用程序,最好使用 File.pathSeparatorFile(File, String) 构造函数。)
  • docFile 是fileDocToConvert,它的值是:fille:////usr/share/tomcat7/webapps/myapp/repo_name/exemple.doc将该文件 (docFile) 转换为 pdfFile。
  • pdfFile 没有价值”是指将null 传递给converter.convert() 吗?在我看来,它应该具有您希望保存转换结果的路径作为值。我不认为转换器可以为您“填写”File 参数。

标签: java openoffice.org file-conversion jodconverter


【解决方案1】:

我通过安装一些缺少的 OpenOffice 组件(Calc、Writer)解决了这个问题。问题是 OpenOffice 无法理解提供给它的文件的路径。

感谢您的帮助。

【讨论】:

    【解决方案2】:

    当启动来自不同用户的多个 libreoffice 实例并且具有冲突的相同端口设置时,收到 java.lang.Exception: Unsupported URL &lt;file:////... 错误消息。

    【讨论】:

      【解决方案3】:

      对我来说,问题是 OpenOffice 或其他使用 OpenOffice 组件的程序无法理解提供给它的文件的路径作为保存文件的位置。保存您尝试保存在计算机上其他位置的文件,看看是否有效。

      【讨论】:

        猜你喜欢
        • 2023-01-29
        • 2015-03-31
        • 2018-04-23
        • 1970-01-01
        • 2021-02-12
        • 2015-05-11
        • 1970-01-01
        • 2018-06-29
        相关资源
        最近更新 更多