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

Fri Nov 25, 2022 2:25 am

我有一个本地的fft字体文件,我可以在文档中使用这个文件新建 TextFont类 么

DemosHume
 
Posts: 35
Joined: Mon Jan 17, 2022 10:22 am

Fri Nov 25, 2022 6:38 am

您好,

感谢您的留言。
您是想要给字体样式设置自定义字体吗?如果是,暂不支持使用自定义字体,不过,我已将此作为一个新功能记录到我们产品的更新系统中了,其编号为SPIREPPT-792,一旦该能被实现了,我会立即通知您。

Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 951
Joined: Tue Mar 08, 2022 2:02 am

Fri Nov 25, 2022 7:36 am

是一个本地环境中已经安装的字体,以下所有操作中,系统环境都安装此字体。


我可以使用setEastAsianFont函数,在textRange中设置format,然后保存。
此时使用office打开该ppt,字体是可以正常显示,但是文字下面会出现类似单词纠正的错误提示。

在这种情况下,使用saveAsImage得到的图片,是使用Simsum字体的,和实际显示效果不一样。

DemosHume
 
Posts: 35
Joined: Mon Jan 17, 2022 10:22 am

Fri Nov 25, 2022 7:42 am

如果我希望得到可靠的截图,可以使用python的win32com包打开PowerPoint.Application将ppt文档导出为图片,但是我更希望在spire中完成这个过程

DemosHume
 
Posts: 35
Joined: Mon Jan 17, 2022 10:22 am

Fri Nov 25, 2022 9:49 am

您好,

感谢您的反馈。
对于转图片时设置字体,您可以参考下面的代码:
Code: Select all
String inputFile ="data/toImage.pptx";
String outputFile="output";
Presentation ppt = new Presentation();
ppt.loadFromFile(inputFile);

//设置自定义字体,您可以将字体文件放入font文件夹下
ppt.setCustomFontsFolder("font/");

//将ppt转为图片
for (int i = 0; i < ppt.getSlides().getCount(); i++) {
    BufferedImage image = ppt.getSlides().get(i).saveAsImage();
    String fileName = outputFile + "/" + String.format("ToImage-%1$s.png", i);
    ImageIO.write(image, "PNG",new File(fileName));
}
ppt.dispose();


如果这个代码对您没有帮助,请提供以下信息:
1) 您的ppt文档,您可以附加在此贴中,也可以发送到我们的邮箱(support@e-iceblue.com )。
2) 您的测试代码。
3) 您的字体文件。
4) Jdk的版本,如Oracle Jdk1.8.

Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 951
Joined: Tue Mar 08, 2022 2:02 am

Return to 中文技术支持