【问题标题】:This behaviour may be Windows client OS specific; please look in the server logs or try a Linux client此行为可能是特定于 Windows 客户端操作系统的;请查看服务器日志或尝试 Linux 客户端
【发布时间】:2021-05-15 04:33:55
【问题描述】:

我需要将文件从 docx 转换为 pdf(java 8),所以我这样做:

WordprocessingMLPackage wordMLPackage =
Docx4J.load(new java.io.File("file.docx"));
MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
            
OutputStream out = new FileOutputStream(new File("docx4jProcessed.pdf"));
Docx4J.toPDF(wordMLPackage,out);
out.flush();
out.close();

问题是当Docx4J.toPDF(..) 被删除时,它会抛出这个错误:

org.docx4j.openpackaging.exceptions.Docx4JException: This behaviour may be Windows client OS specific; please look in the server logs or try a Linux client
  at org.docx4j.Docx4J.toPDF(Docx4J.java:753)
  at docx4jProject.docx4jMain.main(docx4jMain.java:39)

Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:9016 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect
  at

我不知道我的代码有什么问题。谁能帮帮我?

【问题讨论】:

  • docx 文件是 Windows Word 文件。它可能需要一些 Windows 交互,你试过在 Windows 机器上运行它吗?
  • 我的目的是将docx文件中的所有元素放入一个新文件pdf中!
  • 是的,我明白你的目的。但是,docx 是 Windows 相关的类型。
  • 您绝对可以在任何系统上打开 .docx 文件(例如使用 LibraOffice)
  • 我的建议是深入研究您正在使用的工具的文档。您的代码看起来不错,并且该异常来自您正在使用的工具/库的“内部”。

标签: java java-8 docx docx4j file-conversion


【解决方案1】:

您需要运行现已过时的 PDF 转换器才能以这种方式进行转换(这是某些旧版本 docx4j 的默认设置)。

替代方案请见https://www.docx4java.org/blog/2020/09/office-pptxxlsxdocx-to-pdf-to-in-docx4j-8-2-3/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多