开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 7376|回复: 0

引入控制FontFallBack功能的新API!Aspose.Slides v19.10重磅更新

[复制链接]

0

精华

0

贡献

119

赞扬

帖子
24
软币
353
在线时间
21 小时
注册时间
2019-10-24
发表于 2019-10-30 17:17:54 | 显示全部楼层 |阅读模式
本帖最后由 mnrssj 于 2019-10-30 17:20 编辑

    Aspose.Slides for .NET是一个独特的演示处理API,它允许应用程序读取、写入、修改和转换PowerPoint演示文稿。作为一个独立的API,它提供了管理PowerPoint关键功能的功能,如管理文本、形状、表格和动画、向幻灯片添加音频和视频、预览幻灯片等,而不需要Microsoft PowerPoint。
Aspose.Slides for .NET更新至v19.10,支持从幻灯片形状占位符访问提示文本,支持转换为PDF/A后,图像呈现模糊效果,修复在PPT中添加SVG在Ubuntu上引发错误等问题。Aspose.Slides for Java将同步.Net版功能。
具体更新内容
key概述类别
SLIDESNET-40805Aspose.Slides中的字体后备功能
SLIDESNET-40689支持从幻灯片形状占位符访问提示文本功能
SLIDESNET-41393转换为PDF / A后,图像呈现模糊效果功能
SLIDESNET-41099保存文档时消耗大量内存增强功能
SLIDESNET-41426使用Aspose.Slides读取动画增强功能
SLIDESNET-39722Aspose Slides使用大量内存来生成小型PPTX增强功能
Aspose.Slides for .NET v19.10的API更改
▲引入了用于控制FontFallBack功能的新API
引入了用于初始化和管理FontFallBack功能的新API。当存在为文本指定的字体但该字体不包含必要的字形时,将使用FontFallBack。在这种情况下,新功能允许使用指定的后备字体之一来替换字形。
以前,“字体替换”可用于动态替换整个文档的字体。如果找不到用于文本的指定字体,则将首先使用字体替换,然后,如果在此新的替换字体中找不到某些字形,则将使用FontFallBack(如果为相应范围定义了任何字体)。在其他情况下,FontFallBack会先使用,然后FontSubstitution。可以为多个Unicode范围指定必需的后备字体,作为FontFallBackRule对象的集合。
这里是一个例子:
[C#] 纯文本查看 复制代码
long startUnicodeIndex = 0x0B80;long endUnicodeIndex = 0x0BFF; IFontFallBackRule firstRule = new FontFallBackRule (startUnicodeIndex, endUnicodeIndex, "Vijaya");IFontFallBackRule secondRule = new FontFallBackRule (0x3040, 0x309F, "MS Mincho, MS Gothic"); //Also the fonts list can be added in several ways:String[] fontNames = new String[] { "Segoe UI Emoji, Segoe UI Symbol", "Arial"}; IFontFallBackRule thirdRule = new FontFallBackRule (0x1F300, 0x1F64F, fontNames);

当然,必须将规则添加到列表(FontFallBackRulesCollection)中,可以将其分配给FontManager以便在渲染中使用:
[C#] 纯文本查看 复制代码
Presentation presentation = new Presentation();try {    IFontFallBackRulesCollection userRulesList = new FontFallBackRulesCollection();     userRulesList.add(new FontFallBackRule(0x0B80, 0x0BFF, "Vijaya"));    userRulesList.add(new FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic"));     presentation.getFontsManager().setFontFallBackRulesCollection(userRulesList);} finally {    if (presentation != null) presentation.dispose();}

几个规则的范围可以重叠。在这种情况下,重叠规则中的字体将按照规则被添加到列表的顺序进行合并和排列。只需在管理器中分配所需的列表,即可快速使用具有不同规则集的多个集合。如果不想使用多个列表,则不必创建新集合,可以直接从FontManager自动检索新的链接实例:
[C#] 纯文本查看 复制代码
IFontFallBackRulesCollection userRulesList = presentation.getFontsManager().getFontFallBackRulesCollection();

以下是如何使用新功能进行渲染的代码段:
[C#] 纯文本查看 复制代码
Presentation presentation = new Presentation(path + "MyPresentation.pptx");try {    IFontFallBackRulesCollection userRulesList = presentation.getFontsManager().getFontFallBackRulesCollection();     userRulesList.add(new FontFallBackRule(0x400, 0x4FF, "Times New Roman"));     ImageIO.write(presentation.getSlides().get_Item(0).getThumbnail (1f,1f), "PNG", new java.io.File(path + "Slide0.png"));} finally {    if (presentation != null) presentation.dispose();}

如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183)讨论。




回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-22 15:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表