【问题标题】:Doc and Docx to PDF conversion , using Java on LinuxDoc和Docx到PDF的转换,在Linux上使用Java
【发布时间】:2019-04-15 13:54:57
【问题描述】:

我有一个使用 document4j 将 doc、docx 转换为 pdf 的 Java 代码,它在 Windows 上运行良好,但在 linux 中我有这个问题。我可以在 linux 上使用这个库吗?我可以有什么替代品?

错误是

java.io.IOException: Cannot run program "cmd" (in directory "/tmp/1542047549404-0"): error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) ~[na:1.8.0_171]

2018-11-12 18:32:29.508 ERROR 10831 --- [pool-1-thread-1] c.d.c.msoffice.MicrosoftWordBridge       : Unable to run script: /tmp/1542047549404-0/word_start184242440.vbs

java.io.IOException: Could not execute [cmd, /S, /C, ""/tmp/1542047549404-0/word_start184242440.vbs""] in /tmp/1542047549404-0.
    at org.zeroturnaround.exec.ProcessExecutor.invokeStart(ProcessExecutor.java:936) ~[zt-exec-1.8.jar!/:na]

【问题讨论】:

    标签: java pdf


    【解决方案1】:

    我认为在他们的homepage 上列出了为什么转换无法在 linux 下工作的几个原因:

    [...] LocalConverter 只能在以下情况下运行:

    • JVM 在随 Microsoft Scripting Host for VBS 一起提供的 MS Windows 平台上运行(适用于所有当代版本的 MS Windows。
    • MS Word 安装在 2007 或更高版本中。只有安装了 PDF 插件后才支持 PDF 转换。该插件包含在 Word 2010 及更高版本的 MS Word 中。
    • Lo​​calConverter 启动时 MS Word 尚未运行。对于由另一个 LocalConverter 实例运行的 MS Word 实例尤其如此。 (如前所述,请注意,对于在不同 JVM 上运行或由不同类加载器加载的实例也是如此。)
    • 为运行 JVM 的用户正确激活和配置了 MS Word。因此,MS Word 不需要在程序启动或任何其他向导时进行任何配置。
    • 当使用 LocalConverter 的 JVM 应用程序作为服务运行时,请注意下面的 MS Windows 服务配置文件中有关使用 MS Word 的信息。

    有关替代方法,请参阅How to convert MS doc to pdf

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 2016-11-20
      相关资源
      最近更新 更多