เปรียบเทียบสไลด์การนำเสนอใน .NET
ภาพรวม
Aspose.Slides ให้คุณเปรียบเทียบสไลด์, สไลด์เลย์เอาต์, และสไลด์มาสเตอร์โดยใช้เมธอด Equals ที่มาจากอินเทอร์เฟซ IBaseSlide และคลาส BaseSlide. เมธอดนี้จะคืนค่า true เมื่อสไลด์ที่เปรียบเทียบมีโครงสร้างและเนื้อหาแบบคงที่เหมือนกัน
เปรียบเทียบสไลด์สองสไลด์
เมธอด Equals ได้ถูกเพิ่มเข้าไปในอินเทอร์เฟซ IBaseSlide และคลาส BaseSlide. เมธอดนี้จะคืนค่า true สำหรับสไลด์/เลย์เอาต์และสไลด์/มาสเตอร์ที่มีโครงสร้างและเนื้อหาแบบคงที่เหมือนกัน
สไลด์สองสไลด์จะถือว่าเท่ากันหากรูปทรง, สไตล์, ข้อความ, แอนิเมชันและการตั้งค่าอื่น ๆ ทั้งหมดเหมือนกัน เป็นต้น การเปรียบเทียบไม่พิจารณาค่าตัวระบุที่ไม่ซ้ำกัน เช่น SlideId และเนื้อหาแบบไดนามิก เช่น ค่าที่เป็นวันที่ปัจจุบันใน Date Placeholder
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 ภายนอก เนื้อหาของไฟล์นั้นจะถูกนำมาพิจารณาหรือไม่?
ไม่. การเปรียบเทียบทำบนพื้นฐานของสไลด์เอง แหล่งข้อมูลภายนอกโดยทั่วไปจะไม่ได้อ่านในขณะที่ทำการเปรียบเทียบ; จะพิจารณาเฉพาะสิ่งที่ปรากฏในโครงสร้างและสถานะแบบคงของสไลด์เท่านั้น