VISIO文件转pdf预览乱码 linux与docker相关

我的环境是linux
如果我将字体安装在linux系统中aspose可以正确的转换visio文件的汉字
但是如果我将字体安装在docker中,文档中的文字就不能正确解析了
请问这种问题怎么处理
或者您能否给我提供一个visio获取字体的方式

@wdacat

感谢您与我们联系。

您能否分享完整的示例代码段以及源代码和生成的图表。我们将在我们的环境中测试场景并相应地解决它。

@Override
public boolean convertToPdf (InputStream input, OutputStream output) {
try {
Diagram diagram = new Diagram(input);
diagram.save(output, SaveFileFormat.PDF);
return true;
} catch (Exception e) {
logger.error("转换VISIO文件失败: " + e.getMessage());
}
return false;
}

源码特别简单,在windows本地测试环境也运行良好,只是在linux中就会出现把字体安装在docker中会乱码的事儿
visio乱码原文件及转换后截图.zip (257.4 KB)

@wdacat

我们正在准备一个包括docker setup的环境,并将测试该场景。一旦我们得到了我们的调查结果,我们将与您分享。请多花点时间。

不知道您那边测试环境搭建的如何
如果有新的进展麻烦回复我
谢谢

@wdacat

谢谢你的耐心。

我担心我们无法在我们的环境中复制这个问题,因为我们在Windows中设置docker时遇到一些技术问题。我们预计本周会有一些结果,并会与您分享。请多花点时间。

我们对造成的不便很抱歉。

@wdacat

谢谢你的耐心。

我们已在我们的环境中测试了该场景,即(Ubuntu 15.04 x64)并观察到输出PDF文件缺少字体并且中文字符未正确呈现 MissingFonts_Linux.png (25.6 KB)。为了更正,我们在问题跟踪系统中记录了DIAGRAMJAVA-50636的问题。我们将进一步调查此问题,并让您了解其整改状态。请耐心等待我们。

我们对造成的不便很抱歉。

我最近做的测试中发现在project文件和ppt文件在docker环境中也会有同样的乱码问题,不知道是否是最近aspose的更新所致

@wdacat,

我发现你已经指出了与PowerPoint相关的问题。 您能否分享源演示文稿,使用的示例代码,获得的和期望的输出。 我也想分享一下,Aspose.Slides for .NET 18.11是最新的可用版本。

阿3.zip (24.8 KB)
Presentation pres = new Presentation(input);
logger.info(“ppt loaded”);
pres.save(outpath, SaveFormat.Pdf);
logger.info(“ppt saved as pdf”);
版本我们使用的就是18.11,在非docker环境下工作很好,但是在docker环境下中文会不显示

@wdacat,

我使用了Aspose.Slides for Java 18.11.0共享的演示文稿,并且已经能够观察到这个问题。我们的问题跟踪系统中添加了ID为SLIDESJAVA-37427 的故障单以解决此问题。此线程已与故障单关联,以便我们在修复问题后与您共享通知。

@wdacat

谢谢你的耐心。

你能不能像这样将Linux的路径安装到Docker:

docker run -v / font:/ font

或者尝试使用以下示例代码设置字体路径:

diagram.setFontDirs(“fontPath”);

如果您仍然遇到任何问题,请通过分享您的结果文件告诉我们。

@wdacat,

我想告知我们已经调查了与Aspose.Slides相关的问题,并且没有在Win 7,Win 2016和CentOS 7上重现此问题。您能否分享有关您的环境的信息?

The issues you have found earlier (filed as SLIDESJAVA-37427) have been fixed in this update.