คัดลอกสไลด์การนำเสนอใน C++
บทนำ
การคัดลอก (Cloning) คือกระบวนการสร้างสำเนาที่สมบูรณ์หรือแบบจำลองที่เหมือนกันของสิ่งใดสิ่งหนึ่ง Aspose.Slides for C++ ยังทำให้สามารถสร้างสำเนาหรือคัดลอกสไลด์ใด ๆ แล้วแทรกสไลด์ที่คัดลอกนั้นเข้าไปในงานนำเสนอปัจจุบันหรือในงานนำเสนออื่นที่เปิดอยู่ได้ กระบวนการคัดลอกสไลด์จะสร้างสไลด์ใหม่ที่นักพัฒนาสามารถแก้ไขได้โดยไม่กระทบต่อสไลด์ต้นฉบับ มีหลายวิธีในการคัดลอกสไลด์:
- คัดลอกที่ตำแหน่งสุดท้ายภายในงานนำเสนอ
- คัดลอกที่ตำแหน่งอื่นในงานนำเสนอ
- คัดลอกที่ตำแหน่งสุดท้ายในงานนำเสนออื่น
- คัดลอกที่ตำแหน่งอื่นในงานนำเสนออื่น
- คัดลอกที่ตำแหน่งเฉพาะในงานนำเสนออื่น
ใน Aspose.Slides for C++ (คอลเลกชันของ ISlide objects) ที่เปิดเผยโดยอ็อบเจกต์ Presentation ให้เมธอด AddClone และ InsertClone เพื่อทำการคัดลอกสไลด์ตามประเภทที่กล่าวมาข้างต้น
คัดลอกสไลด์ที่ตำแหน่งสุดท้ายของงานนำเสนอ
หากต้องการคัดลอกสไลด์แล้วใช้มันในไฟล์งานนำเสนอเดียวกันที่ตำแหน่งสุดท้ายของสไลด์ที่มีอยู่แล้ว ให้ใช้เมธอด AddClone ตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation
- อินสแตนซ์คลาส ISlideCollection โดยอ้างอิงคอลเลกชัน Slides ที่เปิดเผยโดยอ็อบเจกต์ Presentation
- เรียกเมธอด AddClone ที่เปิดเผยโดยอ็อบเจกต์ ISlideCollection และส่งสไลด์ที่ต้องการคัดลอกเป็นพารามิเตอร์ให้เมธอด AddClone
- เขียนไฟล์งานนำเสนอที่แก้ไขแล้ว
ในตัวอย่างด้านล่าง เราได้คัดลอกสไลด์ (ที่อยู่ในตำแหน่งแรก – ดัชนีศูนย์ – ของงานนำเสนอ) ไปยังตำแหน่งสุดท้ายของงานนำเสนอ
คัดลอกสไลด์ไปยังตำแหน่งอื่นในงานนำเสนอเดียวกัน
หากต้องการคัดลอกสไลด์แล้วใช้มันในไฟล์งานนำเสนอเดียวกันแต่ที่ตำแหน่งอื่น ให้ใช้เมธอด InsertClone :
- สร้างอินสแตนซ์ของคลาส Presentation
- อินสแตนซ์คลาสโดยอ้างอิงคอลเลกชัน Slides ที่เปิดเผยโดยอ็อบเจกต์ Presentation
- เรียกเมธอด InsertClone ที่เปิดเผยโดยอ็อบเจกต์ ISlideCollection และส่งสไลด์ที่ต้องการคัดลอกพร้อมด้วยดัชนีของตำแหน่งใหม่เป็นพารามิเตอร์ให้เมธอด InsertClone
- เขียนไฟล์งานนำเสนอที่แก้ไขแล้วเป็นไฟล์ PPTX
ในตัวอย่างด้านล่าง เราได้คัดลอกสไลด์ (ที่อยู่ในดัชนีศูนย์ – ตำแหน่ง 1 – ของงานนำเสนอ) ไปยังดัชนี 1 – ตำแหน่ง 2 – ของงานนำเสนอ
คัดลอกสไลด์ที่ตำแหน่งสุดท้ายของงานนำเสนออื่น
หากต้องการคัดลอกสไลด์จากงานนำเสนอหนึ่งและใช้ในไฟล์งานนำเสนออื่นที่ตำแหน่งสุดท้ายของสไลด์ที่มีอยู่:
- สร้างอินสแตนซ์ของคลาส Presentation ที่บรรจุงานนำเสนอที่สไลด์จะถูกคัดลอกจากนั้น
- สร้างอินสแทนซ์ของคลาส Presentation ที่บรรจุงานนำเป้าหมายที่สไลด์จะถูกเพิ่มเข้าไป
- อินสแตนซ์คลาส ISlideCollection โดยอ้างอิงคอลเลกชัน Slides ที่เปิดเผยโดยอ็อบเจกต์ Presentation ของงานนำเป้าหมาย
- เรียกเมธอด AddClone ที่เปิดเผยโดยอ็อบเจกต์ ISlideCollection และส่งสไลด์จากงานนำเสนอแหล่งที่มาเป็นพารามิเตอร์ให้เมธอด AddClone
- เขียนไฟล์งานนำเป้าหมายที่แก้ไขแล้ว
ในตัวอย่างด้านล่าง เราได้คัดลอกสไลด์ (จากดัชนีแรกของงานนำเสนอแหล่งที่มา) ไปยังตำแหน่งสุดท้ายของงานนำเสนอเป้าหมาย
คัดลอกสไลด์ไปยังตำแหน่งอื่นในงานนำเสนออื่น
หากต้องการคัดลอกสไลด์จากงานนำเสนอหนึ่งและใช้ในไฟล์งานนำเสนออื่นที่ตำแหน่งเฉพาะ:
- สร้างอินสแตนซ์ของคลาส Presentation ที่บรรจุงานนำเสนอแหล่งที่สไลด์จะถูกคัดลอกจากนั้น
- สร้างอินสแตนซ์ของคลาส Presentation ที่บรรจุงานนำเสนอเป้าหมายที่สไลด์จะถูกเพิ่มเข้าไป
- อินสแตนซ์คลาส ISlideCollection โดยอ้างอิงคอลเลกชัน Slides ของอ็อบเจกต์ Presentation ของงานนำเป้าหมาย
- เรียกเมธอด InsertClone ที่เปิดเผยโดยอ็อบเจกต์ ISlideCollection และส่งสไลด์จากงานนำเสนอแหล่งที่มาพร้อมตำแหน่งที่ต้องการเป็นพารามิเตอร์ให้เมธอด InsertClone
- เขียนไฟล์งานนำเป้าหมายที่แก้ไขแล้ว
ในตัวอย่างด้านล่าง เราได้คัดลอกสไลด์ (จากดัชนีศูนย์ของงานนำเสนอแหล่งที่มา) ไปยังดัชนี 1 (ตำแหน่ง 2) ของงานนำเสนอเป้าหมาย
คัดลอกสไลด์ที่ตำแหน่งเฉพาะในงานนำเสนออื่น
หากต้องการคัดลอกสไลด์พร้อมมาสเตอร์สไลด์จากงานนำเสนอหนึ่งและใช้ในงานนำเสนออื่น คุณต้องคัดลอกมาสเตอร์สไลด์ที่ต้องการจากงานนำเสนอแหล่งที่มามาไว้ในงานนำเสนอเป้าหมายก่อน จากนั้นจึงใช้มาสเตอร์สไลด์นั้นในการคัดลอกสไลด์พร้อมมาสเตอร์สไลด์ เมธอด AddClone(ISlide, IMasterSlide) คาดว่าจะรับมาสเตอร์สไลด์จากงานนำเสนอเป้าหมาย ไม่ใช่จากแหล่งที่มา เพื่อคัดลอกสไลด์พร้อมมาสเตอร์สไลด์ โปรดทำตามขั้นตอนต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Presentation ที่บรรจุงานนำเสนอแหล่งที่สไลด์จะถูกคัดลอกจากนั้น
- สร้างอินสแตนซ์ของคลาส Presentation ที่บรรจุงานนำเสนอเป้าหมายที่สไลด์จะถูกคัดลอกไป
- เข้าถึงสไลด์ที่ต้องการคัดลอกพร้อมกับมาสเตอร์สไลด์
- อินสแตนซ์คลาส IMasterSlideCollection โดยอ้างอิงคอลเลกชัน Masters ของอ็อบเจกต์ Presentation ของงานนำเสนอเป้าหมาย
- เรียกเมธอด AddClone ที่เปิดเผยโดยอ็อบเจกต์ IMasterSlideCollection และส่งมาสเตอร์จากไฟล์ PPTX แหล่งที่มาที่ต้องการคัดลอกเป็นพารามิเตอร์ให้เมธอด AddClone
- อินสแตนซ์คลาส ISlideCollection โดยตั้งค่าให้อ้างอิงคอลเลกชัน Slides ของอ็อบเจกต์ Presentation ของงานนำเสนอเป้าหมาย
- เรียกเมธอด AddClone ที่เปิดเผยโดยอ็อบเจกต์ ISlideCollection และส่งสไลด์จากงานนำเสนอแหล่งที่มาที่ต้องการคัดลอกพร้อมมาสเตอร์สไลด์เป็นพารามิเตอร์ให้เมธอด AddClone
- เขียนไฟล์งานนำเสนอเป้าหมายที่แก้ไขแล้ว
ในตัวอย่างด้านล่าง เราได้คัดลอกสไลด์พร้อมมาสเตอร์ (ที่อยู่ในดัชนีศูนย์ของงานนำเสนอแหล่งที่มา) ไปยังตำแหน่งสุดท้ายของงานนำเสนอเป้าหมายโดยใช้มาสเตอร์จากสไลด์แหล่งที่มา
คัดลอกสไลด์ที่ตำแหน่งสุดท้ายของส่วนที่กำหนด
หากต้องการคัดลอกสไลด์แล้วใช้มันในไฟล์งานนำเสนอเดียวกันแต่ในส่วนที่ต่างกัน ให้ใช้เมธอด AddClone() ที่เปิดเผยโดยอินเทอร์เฟซ ISlideCollection Aspose.Slides for C++ ทำให้สามารถคัดลอกสไลด์จากส่วนแรกแล้วแทรกสไลด์ที่คัดลอกนั้นไปยังส่วนที่สองของงานนำเสนอเดียวกันได้
โค้ดตัวอย่างต่อไปนี้แสดงวิธีคัดลอกสไลด์และแทรกสไลด์ที่คัดลอกเข้าไปในส่วนที่กำหนด
คำถามที่พบบ่อย
บันทึกพูดและความเห็นของผู้ตรวจสอบถูกคัดลอกหรือไม่?
ใช่. หน้าโน้ตและความเห็นของผู้ตรวจสอบจะถูกรวมอยู่ในสำเนา หากไม่ต้องการ ให้ ลบออก หลังการแทรก
แผนภูมิและแหล่งข้อมูลของมันถูกจัดการอย่างไร?
อ็อบเจกต์แผนภูมิ การจัดรูปแบบ และข้อมูลที่ฝังจะถูกคัดลอก หากแผนภูมิเชื่อมโยงกับแหล่งภายนอก (เช่น ไฟล์เวิร์กบุ๊กที่ฝังด้วย OLE) การเชื่อมโยงนั้นจะยังคงอยู่เป็น อ็อบเจกต์ OLE หลังจากย้ายระหว่างไฟล์ ควรตรวจสอบการพร้อมใช้งานของข้อมูลและพฤติกรรมการรีเฟรช
ฉันสามารถควบคุมตำแหน่งการแทรกและส่วนของสำเนาได้หรือไม่?
ได้ คุณสามารถแทรกสำเนาที่ดัชนีสไลด์เฉพาะและวางไว้ใน ส่วน ที่เลือก หากส่วนเป้าหมายไม่มีอยู่ ให้สร้างก่อนแล้วค่อยย้ายสไลด์เข้าไปในส่วนนั้น