docx转PDF,文件中的图片,openjdk环境下图片变成红叉,换成oraclejdk环境是正常的

版本:23.8
编程语言:java

问题截图:

源文件:
格式测试.docx (31.4 KB)

openjdk环境转换后的PDF:
格式测试-正式环境-Open-jdk.zip (6.9 KB)

Oracle jdk环境转换后的PDF:
格式测试-测试环境-Oracle-jdk.zip (24.4 KB)

@ZhonghaoSun

原因

在使用 OpenJDK 环境将 DOCX 文件转换为 PDF 时,图片出现红叉的情况,通常是由于 OpenJDK 对某些图像格式的支持不如 Oracle JDK 完善。这可能与字体、图像解码或其他图形处理相关。

解决方案

您可以尝试以下几种方法来解决此问题:

  1. 检查字体:确保在 OpenJDK 环境中安装了所有必要的字体。缺少字体可能导致图像无法正确渲染。

  2. 使用不同的图像格式:如果可能,尝试将 DOCX 文件中的图像转换为其他格式(如 PNG 或 JPEG),然后再进行转换。

  3. 更新 Aspose 库:确保您使用的是最新版本的 Aspose.Words 库,以获得最新的功能和修复。

  4. 使用 Oracle JDK:如果问题依然存在,考虑在生产环境中使用 Oracle JDK,因为它在处理图像方面表现更好。

代码示例

以下是一个简单的代码示例,展示如何使用 Aspose.Words 将 DOCX 转换为 PDF:

import com.aspose.words.Document;

public class DocxToPdf {
    public static void main(String[] args) {
        try {
            Document doc = new Document("path/to/your/document.docx");
            doc.save("path/to/save/document.pdf");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

后续步骤

请尝试上述解决方案,并查看是否能解决问题。如果问题仍然存在,请提供更多详细信息,例如错误消息或日志,以便进一步诊断。确保您按照建议的步骤进行操作,以便找到最佳解决方案。

如果您有其他问题或需要更多帮助,请随时告诉我!

@ZhonghaoSun 感谢您报告此问题。 我们已经在我们的内部问题跟踪系统中打开了以下新工单,并将根据 免费支持政策 中提到的条款提供它们的修复:

Issue ID(s): WORDSJAVA-3138

如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 付费支持服务

使用的openJDK版本:java-1.8.0.232-openjdk_liunx_centos7.tar.gz
在centso环境下转换正常,在中国国产服务器OpenAnolis环境下图片变成红叉

麻烦再帮忙看下什么原因呢,以及是否有方法解决。

@ZhonghaoSun 感谢您提供更多信息。 我已将其添加到问题中。