Excel中艺术字变形

测试过程中发现在某些服务器中部署的服务,预览excel时艺术字会变形lQLPJx4fdCAWErzNBBjNB5CwcJfQn1y7e_sDje1puIAdAA_1936_1048.png (93.7 KB)
使用的是官方demo
当前服务器为uos+kunpeng920-96C64G,架构是鲲鹏920的cpu-arm64

@liyy33954,

感谢您的截图。

您能否压缩并附上要导入 GridWeb 的示例 Excel 文件(包含那些艺术字形状)。 我们会尽快审核您的问题。

1.zip (15.4 KB)

@liyy33954,

感谢您提供示例文件。

我确实使用最新版本的 Aspose.Cells.GridWeb v22.12 及其最新资源文件(acw_client 文件夹)测试了您的场景/案例,并且工作正常。 我将您的 .ett 文件导入 GridWeb 矩阵,艺术字显示正常。 请参阅屏幕截图以供参考。
sc_shot1.png (51.5 KB)

请注意,是在特定服务器上复现

@liyy33954,

您能否分享完整的环境详细信息,以便我们记录适当的票证以进行调查。

@liyy33954
请确认一下这些服务器上是否有对应的字体文件,然后参考https://docs.aspose.com/cells/java/aspose-cells-font-usage/设置一下字体。

特定服务器上安装了字体文件,艺术字仍然不能正常显示

@Yuxuan
There are 3 fonts after saving the file as xlsx, and default font is “MS Pゴシック”, please confirm those fonts are installed.
MS Pゴシック,宋体,MS 明朝.

艺术字显示异常.zip (67.4 KB)
安装以上字体后,艺术字仍然不能正常显示

@Yuxuan
Arial 这个字体安装了么? 我们发现读出来的wordart的字体是空,所以默认用了Arial。
如果可以话,最好把这个文件另存为xlsx,或者xls 试试。

艺术字显示异常.zip (318.7 KB)
服务器安装了Arial 字体,更改文件后缀,艺术字还是不能正常显示

@Yuxuan
我的意思用Excel 另存一下, 不是改个后缀名。

是另存的---------------

We reproduced similar error in linux environment. We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): CELLSNET-52693

You can obtain Paid Support services if you need support on a priority basis, along with the direct access to our Paid Support management team.

@Yuxuan
我们研究后发现您的文件可能不是用Microsoft Excel 生成的
因为excel-03在生成艺术字时,所有的文本内容只能是一种字体。如下:
03insert.png (14.1 KB)
而您的xls文件中如“5年级1班”,‘5’和‘1’是Arial字体,其它是宋体,这会导致只有Arial被识别。如图使用excel03编辑该文本被识别为Arial:
excel03_edit.png (17.9 KB)
但是Arial字体实际上是不能显示中文的,所以渲染结果是方框。
因此我们建议您将所有文本的字体设置为系统中存在的可显示中文的字体,该问题就会得到解决。
以下是我们用最新版本在统一字体后Linux环境生成的结果:
源文件 CELLSNET-52693-11.zip (7.1 KB)
结果文件 CELLSNET-52693.zip (17.9 KB)

注意:
因为存在一些细微的修复,请更新至最新版本。

我们期您的反馈。

我无法看到上述的文件结果,能否通过邮箱将文件发送给我,邮箱地址是yuxuan.guo@suwell.cn

@Yuxuan
邮件已发送

使用最新版本预览您提供的源文件,在服务器上还是不能正常显示
服务器为uos+kunpeng920-96C64G,架构是鲲鹏920的cpu-arm64艺术字显示异常.png (32.4 KB)

@Yuxuan
我怀疑是否是没有正确的找到字体导致的。
1、你可以尝试一下直接执行toimage的操作看看结果是否正确,如下
Workbook workbook = new Workbook(“CELLSNET-52693-11.xls”);
workbook.getWorksheets().get(0).getShapes().get(0).toImage(“CELLSNET-52693.png”, new ImageOrPrintOptions());
2、如果结果不正确,请查看以下路径中是否有类似simsun.ttc文件
/usr/share/fonts/
/home/uos/.local/share/fonts/
3、请将找到字体文件的路径按照如下设置之后,再执行步骤1
FontConfigs.setFontFolder(fontPath, false); //放在所有操作之前