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

Aspose.Slides for .NET更新至最新版v19.9,现在有一些非常有趣且实用的功能值得为大家讲解一下,比如通过“替代文本”来隐藏形状,接下来通过一些简单的示例来为大家说明一下!

隐藏形状

首先,需要使用“替代文本”属性来标识所需的形状。然后,使用以下示例在API中隐藏形状的代码。

//文档目录的路径。 string dataDir = RunExamples.GetDataDir_Shapes(); //实例化表示PPTX的Presentation类 Presentation pres = new Presentation(); //获取第一张幻灯片 ISlide sld = pres.Slides[0]; //添加矩形的自动形状 IShape shp1 = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 40, 150, 50); IShape shp2 = sld.Shapes.AddAutoShape(ShapeType.Moon, 160, 40, 150, 50); String alttext = "User Defined"; int iCount = sld.Shapes.Count; for (int i = 0; i < iCount; i++) { AutoShape ashp = (AutoShape)sld.Shapes[i]; if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0) { ashp.Hidden = true; } } //将演示文稿保存到磁盘 pres.Save(dataDir + "Hiding_Shapes_out.pptx", SaveFormat.Pptx);

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

//文档目录的路径。 String dataDir = Utils.getDataDir(HidingTheShapesFromSlide.class); Presentation presentation1 = new Presentation(); ISlide slide = presentation1.getSlides().get_Item(0); for (int i = 0; i < slide.getShapes().size(); i++) { IAutoShape ashp = (IAutoShape) slide.getShapes().get_Item(i); ashp.setHidden(true); } presentation1.save(dataDir + "sample_output.pptx", SaveFormat.Pptx);

与此类似的基于C++的示例:

//文档目录的路径。 const String outPath = u"../out/Hidingshapes_out.pptx"; const String templatePath = u"../templates/ConnectorLineAngle.pptx"; //加载所需的演示文稿 SharedPtr

pres = MakeObject

(); //访问第一张幻灯片 SharedPtr slide = pres->get_Slides()->idx_get(0); //访问选定幻灯片的形状集合 SharedPtr shapes = slide->get_Shapes(); //现在从头开始为现有形状创建效果“ PathFootball”。 SharedPtr autoShape1 = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 50, 40, 150, 50); SharedPtr autoShape2 = slide->get_Shapes()->AddAutoShape(ShapeType::Moon, 160, 40, 150, 50); String alttext = u"User Defined"; int iCount = slide->get_Shapes()->get_Count(); for (int i = 0; i < iCount; i++) { //访问添加的形状 SharedPtr ashape = DynamicCast(slide->get_Shapes()->idx_get(i)); if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0) { ashape->set_Hidden(true); } } //将PPTX写入磁盘 pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

点击下方“了解更多”免费下载最新版Aspose.Slides for .NET

↓↓↓