Microsoft PowerPoint文件管理控件Aspose.Slides新功能示例详解——支持字体回退

Aspose.Slides for .NET是独特的演示处理API,使应用程序能够读取,编写,修改和转换PowerPoint演示文稿。作为独立的API,它提供了管理PowerPoint关键功能的功能,例如管理文本,形状,表格和动画,向幻灯片添加音频和视频,预览幻灯片等等。

近期,Aspose.Slides for .NET更新至最新版v19.10,现在有一些非常有趣且实用的功能值得为大家讲解一下,比如新增支持字体回退,以及在占位符中设置提示文本,接下来通过一些简单的示例来为大家说明一下!

支持字体回退

当遇到的字符不属于任何其他可用字体的组成部分时,将使用后备字体中的符号代替。通常,后备字体将包含代表各种类型的Unicode字符的符号。现在,该支持也已成为Aspose.Slides的一部分。

下面的代码示例演示如何使用FontFallBackRule对象设置字体回退。

 uint startUnicodeIndex = 0x0B80;
            uint endUnicodeIndex = 0x0BFF;

            IFontFallBackRule firstRule = new FontFallBackRule(startUnicodeIndex, endUnicodeIndex, "Vijaya");
            IFontFallBackRule secondRule = new FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic");

            //字体列表也可以通过几种方式添加:
            string[] fontNames = new string[] { "Segoe UI Emoji, Segoe UI Symbol", "Arial" };

            IFontFallBackRule thirdRule = new FontFallBackRule(0x1F300, 0x1F64F, fontNames);复制代码

与此类似的基于Java的示例:

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();
}复制代码

在占位符中设置提示文本

一个提示文本是当它是第一负载,但是当用户开始输入到该消失出现在文本字段的文本的文本字段。基本上,这是为了使用户易于了解要在所选字段中输入的内容。我们知道标准布局和预构建布局包含带有默认文本的占位符,如Click添加标题 或 Click添加字幕。使用Aspose.Slides可以通过访问默认占位符来手动添加提示文本。下面的代码段显示了如何使用此功能:

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_Text();

using (Presentation pres = new Presentation(dataDir + "Presentation2.pptx"))
{
    ISlide slide = pres.Slides[0];
    foreach (IShape shape in slide.Slide.Shapes) // iterate through the slide
    {
        if (shape.Placeholder != null && shape is AutoShape)
        {
            string text = "";
            if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // title - the text is empty, PowerPoint displays "Click to add title".
            {
                text = "Click to add custom title";
            }
            else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // the same for subtitle.
            {
                text = "Click to add custom subtitle";
            }

            ((IAutoShape)shape).TextFrame.Text = text;

            Console.WriteLine($"Placeholder with text: {text}");
        }
    }

    pres.Save(dataDir + "Placeholders_PromptText.pptx", SaveFormat.Pptx);
}复制代码

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

原文地址:https://www.cnblogs.com/mnrssj-Aspsoe/p/11791945.html

时间: 2024-11-06 09:58:22

Microsoft PowerPoint文件管理控件Aspose.Slides新功能示例详解——支持字体回退的相关文章

引入控制FontFallBack功能的新API!PPT管理控件Aspose.Slides v19.10重磅来袭!

Aspose.Slides for .NET是一个独特的演示处理API,它允许应用程序读取.写入.修改和转换PowerPoint演示文稿.作为一个独立的API,它提供了管理PowerPoint关键功能的功能,如管理文本.形状.表格和动画.向幻灯片添加音频和视频.预览幻灯片等,而不需要Microsoft PowerPoint. Aspose.Slides for .NET更新至v19.10,支持从幻灯片形状占位符访问提示文本,支持转换为PDF/A后,图像呈现模糊效果,修复在PPT中添加SVG在Ub

Lambda表达式--Java8的新功能案例详解(1)

1.lambda表达式--背景知识以及相关评价: lambda表达式允许你通过表达式来代替功能接口. 函数编程在C#.Python.JavaScript中都得到充分体现.而Java直到最新的Java 8才开始正式支持函数编程,最明显的改进就是对Lamba表达式的支持.正如C#之父Anders Hejlsberg在那篇文章 编程语言大趋势 中所讲,未来的编程语言将逐渐融合各自的特性,而不存在单纯的声明式语言(如之前的Java)或者单纯的函数编程语言.将来声明式编程语言借鉴函数编程思想,函数编程语言

关于PB调用Microsoft Web Browser控件的一些问题

Microsoft Web Browser控件是WINDOWS系统自带的控件,一般不需要单独安装,由于工作的需要,把使用中遇到的问题记录一下,以便查阅. 插入控件: 环境为PB12.0,insert-Control-ole 找到Microsoft Web 控件,插入到需要的容器中: 使用控件: ole_web.object.navigate(sle_1.Text)   //sle_1.Text 是有效的URL地址,这就是最简单的使用方法. 使用过程中发现的问题 1.当URL地址无效的时候,获取链

C# DataGridView控件动态添加新行

C# DataGridView控件动态添加新行 DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[

C# DataGridView控件 动态添加新行

DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[0].Value = "1"; thi

VB6-图像分割利器 Microsoft Picture Clip控件

在医院做图像处理时碰到双面扫描仪,需要将扫描到的2张图像分割为一张并打印.在分割图像的过程中总是不得法,后来虽然有CBM666的指导,但给的方法也还是不太方便.无意中在翻一本vb书的时候看到了一个使用Microsoft Picture Clip控件的例子,想要分割图像那是超级简单.分享以下代码,保证拿了就可以用. '引用Microsoft Picture Clip控件,放置它名称为Pic1'将009.jpg纵向一分为2,保存到本地Tmp1 Tmp2Pic1.Picture = LoadPictu

纯前端表格控件SpreadJS V11.2新版本发布,全面支持React和Vue

SpreadJS是一款基于 HTML5 的纯 Java 电子表格和网格功能控件,在外观.功能和操作上都与 Excel 高度类似,在表格数据处理上比 Grid 类控件更为优秀,被开发人员誉为"可嵌入系统开发的在线Excel". 近日,纯前端表格控件 SpreadJS V11.2 正式推出,全面支持 React 和Vue,并提供了工作表区域偏移和 CSS 自定义分组等功能. 本次更新的主要内容有: SpreadJS 全面支持 React 和 Vue SpreadJS 现在支持与 React

VS2010使用皮肤控件实现换肤功能

在我们平时使用的各种工具中,如QQ,迅雷,以及各种空间等,都提供了一些换肤功能,可以让我们选择各种我们喜欢的界面.本文就对VS中常用的窗口程序做一个简单的换肤,利用一个dll文件来进行实现. 首先我们要加载一个叫做IrisSkin2.dll的dll文件,通过“添加引用”,在应用里添加IrisSkin2.dll,就可以完成对这个dll的调用.然后在工具栏中添加一个SkinEngine的控件.可以在工具栏中添加一个选项卡,比如命名为Skin,然后右键单击,在选择项的.NETFramework组件中找

GPS接收器控件TGPS下载及功能介绍

TGPS是一个Delphi控件,包装了GPS接收器的相关接口.TGPS是一个GPS接收器接口,它可以用于所有发送NMEA 0183数据的GPS接收器,同时也可以连接计算机的串行通信端口. TGPS的功能特性包括: 可以获取位置.时间.速度.标题.方位.路标.线路等等(主要取决于GPS接收器提供的数据,不同的GPS接收器接收的数据也可能有一些差异) 包含两个组件:提供卫星位置的图片以及信号强度 自动识别COM端口,波特率等等 TGPS 组件在Delphi 3.0, 4.0, 6.0 和 7.0开发