比较幻灯片
Contents
[
Hide
]
比较两个幻灯片
已在IBaseSlide 接口和BaseSlide 类中添加了 Equals 方法。对于结构和静态内容完全相同的幻灯片/布局以及母版幻灯片,该方法返回 true。
当两张幻灯片的所有形状、样式、文本、动画及其他设置等全部相同时,认为它们相等。比较时不考虑唯一标识符值,例如 SlideId,以及动态内容,例如日期占位符中的当前日期值。
using (Presentation presentation1 = new Presentation("AccessSlides.pptx"))
using (Presentation presentation2 = new Presentation("HelloWorld.pptx"))
{
for (int i = 0; i < presentation1.Masters.Count; i++)
{
for (int j = 0; j < presentation2.Masters.Count; j++)
{
if (presentation1.Masters[i].Equals(presentation2.Masters[j]))
Console.WriteLine(string.Format("SomePresentation1 MasterSlide#{0} is equal to SomePresentation2 MasterSlide#{1}", i, j));
}
}
}
常见问题
幻灯片隐藏是否会影响幻灯片本身的比较? Hidden status 是演示/播放层级的属性,而非视觉内容。两张特定幻灯片的相等性由其结构和静态内容决定,仅仅因为幻灯片被隐藏并不会使它们不同。
超链接及其参数会被考虑吗? 会。超链接是幻灯片静态内容的一部分。如果 URL 或超链接操作不同,通常会被视为静态内容的差异。
如果图表引用了外部 Excel 文件,是否会考虑该文件的内容? 不会。比较仅基于幻灯片本身进行。外部数据源在比较时通常不会被读取,仅考虑幻灯片结构和静态状态中存在的内容。