استنساخ شرائح العرض التقديمي في .NET
استنساخ الشرائح في عرض تقديمي
الاستنساخ هو عملية إنشاء نسخة دقيقة أو مكرر لشيء ما. Aspose.Slides for .NET تجعل من الممكن أيضًا إنشاء نسخة أو استنساخ لأي شريحة ثم إدراج تلك الشريحة المستنسخة إلى العرض الحالي أو أي عرض آخر مفتوح. عملية استنساخ الشرائح تنشئ شريحة جديدة يمكن للمطورين تعديلها دون تغيير الشريحة الأصلية. هناك عدة طرق ممكنة لاستنساخ الشريحة:
- استنساخ في النهاية داخل عرض تقديمي.
- استنساخ في موضع آخر داخل العرض.
- استنساخ في النهاية في عرض تقديمي آخر.
- استنساخ في موضع آخر في عرض تقديمي آخر.
- استنساخ في موضع محدد في عرض تقديمي آخر.
في Aspose.Slides for .NET، (مجموعة من كائنات ISlide) التي يعرّفها كائن Presentation توفر طرق AddClone وInsertClone لتنفيذ أنواع استنساخ الشرائح المذكورة أعلاه
استنساخ شريحة في نهاية عرض تقديمي
إذا كنت تريد استنساخ شريحة ثم استخدامها داخل نفس ملف العرض في نهاية الشرائح الموجودة، استخدم طريقة AddClone وفقًا للخطوات المذكورة أدناه:
- إنشاء نسخة من فئة Presentation.
- إنشاء كائن من فئة ISlideCollection بالإشارة إلى مجموعة Slides التي يعرّفها كائن Presentation.
- استدعاء طريقة AddClone التي يعرّفها كائن ISlideCollection وتمرير الشريحة المراد استنساخها كمعامل إلى طريقة AddClone.
- حفظ ملف العرض المعدَّل.
في المثال المعطى أدناه، قمنا باستنساخ شريحة (تقع في الموضع الأول – الفهرس صفر – من العرض) إلى نهاية العرض.
// إنشاء كائن من الفئة Presentation التي تمثل ملف عرض تقديمي
using (Presentation pres = new Presentation("CloneWithinSamePresentationToEnd.pptx"))
{
// استنساخ الشريحة المطلوبة إلى نهاية مجموعة الشرائح في نفس العرض التقديمي
ISlideCollection slds = pres.Slides;
slds.AddClone(pres.Slides[0]);
// كتابة العرض التقديمي المعدل إلى القرص
pres.Save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", SaveFormat.Pptx);
}
استنساخ شريحة إلى موضع آخر داخل عرض تقديمي
إذا كنت تريد استنساخ شريحة ثم استخدامها داخل نفس ملف العرض ولكن في موضع مختلف، استخدم طريقة InsertClone:
- إنشاء نسخة من فئة Presentation.
- إنشاء كائن بالإشارة إلى مجموعة Slides التي يعرّفها كائن Presentation.
- استدعاء طريقة InsertClone التي يعرّفها كائن ISlideCollection وتمرير الشريحة المراد استنساخها مع الفهرس للموضع الجديد كمعامل إلى طريقة InsertClone.
- حفظ العرض المعدَّل كملف PPTX.
في المثال المعطى أدناه، قمنا باستنساخ شريحة (تقع في الفهرس صفر – الموضع 1 – من العرض) إلى الفهرس 1 – الموضع 2 – من العرض.
// إنشاء كائن من الفئة Presentation التي تمثل ملف عرض تقديمي
using (Presentation pres = new Presentation("CloneWithInSamePresentation.pptx"))
{
// استنساخ الشريحة المطلوبة إلى نهاية مجموعة الشرائح في نفس العرض التقديمي
ISlideCollection slds = pres.Slides;
// استنساخ الشريحة المطلوبة إلى الفهرس المحدد في نفس العرض التقديمي
slds.InsertClone(2, pres.Slides[1]);
// كتابة العرض التقديمي المعدل إلى القرص
pres.Save("Aspose_CloneWithInSamePresentation_out.pptx", SaveFormat.Pptx);
}
استنساخ شريحة في نهاية عرض تقديمي آخر
إذا كنت بحاجة إلى استنساخ شريحة من عرض تقديمي واستخدامها في ملف عرض تقديمي آخر، في نهاية الشرائح الموجودة:
- إنشاء نسخة من فئة Presentation التي تحتوي على العرض الذي ستُستنسَخ منه الشريحة.
- إنشاء نسخة من فئة Presentation التي تحتوي على العرض الوجهة الذي ستُضاف إليه الشريحة.
- إنشاء كائن من فئة ISlideCollection بالإشارة إلى مجموعة Slides التي يعرّفها كائن Presentation للعرض الوجهة.
- استدعاء طريقة AddClone التي يعرّفها كائن ISlideCollection وتمرير الشريحة من العرض المصدر كمعامل إلى طريقة AddClone.
- حفظ ملف العرض الوجهة المعدَّل.
في المثال المعطى أدناه، قمنا باستنساخ شريحة (من الفهرس الأول للعرض المصدر) إلى نهاية العرض الوجهة.
// إنشاء كائن من فئة Presentation لتحميل ملف العرض التقديمي المصدر
using (Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx"))
{
// إنشاء كائن من فئة Presentation للملف PPTX الوجهة (حيث ستُستنسخ الشريحة)
using (Presentation destPres = new Presentation())
{
// استنساخ الشريحة المطلوبة من العرض التقديمي المصدر إلى نهاية مجموعة الشرائح في العرض التقديمي الوجهة
ISlideCollection slds = destPres.Slides;
slds.AddClone(srcPres.Slides[0]);
// حفظ العرض التقديمي الوجهة إلى القرص
destPres.Save("Aspose2_out.pptx", SaveFormat.Pptx);
}
}
استنساخ شريحة إلى موضع آخر في عرض تقديمي آخر
إذا كنت بحاجة إلى استنساخ شريحة من عرض تقديمي واستخدامها في ملف عرض تقديمي آخر، في موضع محدد:
- إنشاء نسخة من فئة Presentation التي تحتوي على العرض المصدر الذي ستُستنسَخ منه الشريحة.
- إنشاء نسخة من فئة Presentation التي سيُضاف إليها الشريحة.
- إنشاء كائن من فئة ISlideCollection بالإشارة إلى مجموعة Slides التي يعرّفها كائن Presentation للعرض الوجهة.
- استدعاء طريقة InsertClone التي يعرّفها كائن ISlideCollection وتمرير الشريحة من العرض المصدر مع الموضع المرغوب كمعامل إلى طريقة InsertClone.
- حفظ ملف العرض الوجهة المعدَّل.
في المثال المعطى أدناه، قمنا باستنساخ شريحة (من الفهرس صفر للعرض المصدر) إلى الفهرس 1 (الموضع 2) للعرض الوجهة.
// إنشاء كائن من فئة Presentation لتحميل ملف العرض التقديمي المصدر
using (Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx"))
{
// إنشاء كائن من فئة Presentation لملف PPTX الوجهة (حيث سيتم استنساخ الشريحة)
using (Presentation destPres = new Presentation())
{
ISlideCollection slds = destPres.Slides;
slds.InsertClone(2, srcPres.Slides[0]);
// حفظ العرض التقديمي الوجهة إلى القرص
destPres.Save("Aspose2_out.pptx", SaveFormat.Pptx);
}
}
استنساخ شريحة في موضع محدد في عرض تقديمي آخر
إذا كنت بحاجة إلى استنساخ شريحة مع شريحة رئيسية من عرض تقديمي واستخدامها في عرض تقديمي آخر، يجب أولاً استنساخ الشريحة الرئيسية المطلوبة من العرض المصدر إلى العرض الوجهة. ثم تحتاج إلى استخدام تلك الشريحة الرئيسية لاستنساخ الشريحة ذات الشريحة الرئيسية. طريقة AddClone(ISlide, IMasterSlide) تتوقع شريحة رئيسية من العرض الوجهة وليس من المصدر. لاستنساخ الشريحة مع رئيس، يرجى اتباع الخطوات التالية:
- إنشاء نسخة من فئة Presentation التي تحتوي على العرض المصدر الذي ستُستنسَخ منه الشريحة.
- إنشاء نسخة من فئة Presentation التي تحتوي على العرض الوجهة الذي ستُستنسَخ إليه الشريحة.
- الوصول إلى الشريحة المراد استنساخها مع الشريحة الرئيسية.
- إنشاء كائن من فئة IMasterSlideCollection بالإشارة إلى مجموعة Masters التي يعرّفها كائن Presentation للعرض الوجهة.
- استدعاء طريقة AddClone التي يعرّفها كائن IMasterSlideCollection وتمرير الشريحة الرئيسية من ملف PPTX المصدر ليتم استنساخها كمعامل إلى طريقة AddClone.
- إنشاء كائن من فئة ISlideCollection عبر تعيين الإشارة إلى مجموعة Slides التي يعرّفها كائن Presentation للعرض الوجهة.
- استدعاء طريقة AddClone التي يعرّفها كائن ISlideCollection وتمرير الشريحة من العرض المصدر ليتم استنساخها مع الشريحة الرئيسية كمعامل إلى طريقة AddClone.
- حفظ ملف العرض الوجهة المعدَّل.
في المثال المعطى أدناه، قمنا باستنساخ شريحة مع رئيس (تقع في الفهرس صفر للعرض المصدر) إلى نهاية العرض الوجهة باستخدام رئيس من الشريحة المصدر.
// إنشاء كائن من فئة Presentation لتحميل ملف العرض التقديمي المصدر
using (Presentation srcPres = new Presentation("CloneToAnotherPresentationWithMaster.pptx"))
{
// إنشاء كائن من فئة Presentation للعرض التقديمي الوجهة (حيث سيتم استنساخ الشريحة)
using (Presentation destPres = new Presentation())
{
// إنشاء ISlide من مجموعة الشرائح في العرض التقديمي المصدر مع
// الشريحة الرئيسية
ISlide SourceSlide = srcPres.Slides[0];
IMasterSlide SourceMaster = SourceSlide.LayoutSlide.MasterSlide;
// استنساخ الشريحة الرئيسية المطلوبة من العرض التقديمي المصدر إلى مجموعة الشرائح الرئيسية في الـ
// العرض التقديمي الوجهة
IMasterSlideCollection masters = destPres.Masters;
IMasterSlide DestMaster = SourceSlide.LayoutSlide.MasterSlide;
// استنساخ الشريحة الرئيسية المطلوبة من العرض التقديمي المصدر إلى مجموعة الشرائح الرئيسية في الـ
// العرض التقديمي الوجهة
IMasterSlide iSlide = masters.AddClone(SourceMaster);
// استنساخ الشريحة المطلوبة من العرض التقديمي المصدر مع الشريحة الرئيسية المطلوبة إلى نهاية الـ
// مجموعة الشرائح في العرض التقديمي الوجهة
ISlideCollection slds = destPres.Slides;
slds.AddClone(SourceSlide, iSlide, true);
// استنساخ الشريحة الرئيسية المطلوبة من العرض التقديمي المصدر إلى مجموعة الشرائح الرئيسية في الـ // العرض التقديمي الوجهة
// حفظ العرض التقديمي الوجهة إلى القرص
destPres.Save("CloneToAnotherPresentationWithMaster_out.pptx", SaveFormat.Pptx);
}
}
استنساخ شريحة في نهاية قسم محدد
مع Aspose.Slides for .NET، يمكنك استنساخ شريحة من قسم في عرض تقديمي وإدراجها في قسم آخر داخل نفس العرض. في هذه الحالة، يجب عليك استخدام طريقة AddClone من واجهة ISlideCollection.
هذا الكود C# يوضح لك كيفية استنساخ شريحة وإدراج الشريحة المستنسخة في قسم محدد:
using (Presentation pres = new Presentation())
{
ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide);
slide.Shapes.AddAutoShape(ShapeType.Ellipse, 150, 150, 100, 100); // لاستنساخ
ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide);
ISection section = pres.Sections.AddSection("Section2", slide2);
pres.Slides.AddClone(slide, section);
pres.Save("pres.pptx", SaveFormat.Pptx);
}
FAQ
هل يتم استنساخ ملاحظات المتحدث وتعليقات المراجعين؟
نعم. يتم تضمين صفحة الملاحظات وتعليقات المراجعة في الاستنساخ. إذا لم ترغب فيها، قم بإزالتها بعد الإدراج.
كيف يتم التعامل مع المخططات ومصادر بياناتها؟
يتم نسخ كائن المخطط وتنسيقه والبيانات المدمجة. إذا كان المخطط مرتبطًا بمصدر خارجي (مثل دفتر عمل مضمن OLE)، يتم الحفاظ على ذلك الارتباط كـ كائن OLE. بعد النقل بين الملفات، تحقق من توفر البيانات وسلوك التحديث.
هل يمكنني التحكم في موضع الإدراج والأقسام للاستنساخ؟
نعم. يمكنك إدراج الاستنساخ عند فهرس شريحة محدد ووضعه في قسم مختار. إذا لم يكن القسم المستهدف موجودًا، أنشئه أولاً ثم انقل الشريحة إليه.