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 (Stringpare(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);