为有中文需求的客户提供多渠道中文技术支持.

Tue Dec 19, 2023 6:18 am

在centos7环境下用Spire.xls for java 13.9.2转换有某些特定unicode字符的Excel文档为PDF报错,见附件,E14单元格的字符∮∯∰☾☸♞等导致转换出来的pdf报错无法打开,疑似缺失某些符号字体,请验证并提供可能的解决方案.
转换代码片段:
Workbook wb = new Workbook();
wb.loadFromStream(is);
wb.saveToFile(frompath + "testfolder" + File.separator + filename + "_spireconvert.pdf",com.spire.xls.FileFormat.PDF);

注意到saveToFile这行报了一个nullPointerException

vivckwang
 
Posts: 2
Joined: Fri Sep 22, 2023 1:48 am

Tue Dec 19, 2023 7:01 am

您好,

感谢您的咨询。
我使用最新版Spire.Xls(Spire.XLS for Java版本: 13.11.6)测试了您提供的Excel文件,在centos7上未复现您提到的报错问题。另外,在安装了MS PGothic 和Cambria Math这两个字体后,结果文件中您提到的特定unicode字符也正确显示了。因此,我建议您先升级Spire.Xls到最新版并在centos7上安装这两个字体之后再测试。在此我附上了在centos7上安装字体之后测试的结果文件。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1657
Joined: Wed Apr 07, 2021 2:50 am

Tue Dec 19, 2023 7:27 am

发现使用了PdfDocument.setCustomFontsFolders有效,workbook.setCustomFontFileDirectory有问题。
设置字体以后问题已解决

vivckwang
 
Posts: 2
Joined: Fri Sep 22, 2023 1:48 am

Tue Dec 19, 2023 8:28 am

您好,

感谢您的反馈。并且很高兴听到您的问题解决了。
关于“workbook.setCustomFontFileDirectory”使用有问题,参数你是这样写的吗?“wb.setCustomFontFileDirectory(new String[]{"字体文件夹路径(如F:/fonts)/"});”;我在centos7上测试这种方式也是没问题的。
如果您还有其他问题,欢迎您随时咨询。

Sincerely,
Annika
E-iceblue support team
User avatar

Annika.Zhou
 
Posts: 1657
Joined: Wed Apr 07, 2021 2:50 am

Return to 中文技术支持