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