版本:23.8
编程语言:java
问题截图:
源文件:
格式测试.docx (31.4 KB)
openjdk环境转换后的PDF:
格式测试-正式环境-Open-jdk.zip (6.9 KB)
Oracle jdk环境转换后的PDF:
格式测试-测试环境-Oracle-jdk.zip (24.4 KB)
版本:23.8
编程语言:java
问题截图:
源文件:
格式测试.docx (31.4 KB)
openjdk环境转换后的PDF:
格式测试-正式环境-Open-jdk.zip (6.9 KB)
Oracle jdk环境转换后的PDF:
格式测试-测试环境-Oracle-jdk.zip (24.4 KB)
原因
在使用 OpenJDK 环境将 DOCX 文件转换为 PDF 时,图片出现红叉的情况,通常是由于 OpenJDK 对某些图像格式的支持不如 Oracle JDK 完善。这可能与字体、图像解码或其他图形处理相关。
解决方案
您可以尝试以下几种方法来解决此问题:
检查字体:确保在 OpenJDK 环境中安装了所有必要的字体。缺少字体可能导致图像无法正确渲染。
使用不同的图像格式:如果可能,尝试将 DOCX 文件中的图像转换为其他格式(如 PNG 或 JPEG),然后再进行转换。
更新 Aspose 库:确保您使用的是最新版本的 Aspose.Words 库,以获得最新的功能和修复。
使用 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环境下图片变成红叉
麻烦再帮忙看下什么原因呢,以及是否有方法解决。