استنساخ شرائح العرض التقديمي في JavaScript
المقدمة
الاستنساخ هو عملية إنشاء نسخة مطابقة أو نسخة مكررة من شيء ما. يجعل Aspose.Slides for Node.js via Java من الممكن أيضًا إنشاء نسخة أو استنساخ من أي شريحة ثم إدراج تلك الشريحة المستنسخة إلى العرض التقديمي الحالي أو أي عرض تقديمي مفتوح آخر. عملية استنساخ الشرائح تنشئ شريحة جديدة يمكن للمطورين تعديلها دون تغيير الشريحة الأصلية. هناك عدة طرق ممكنة لاستنساخ شريحة:
- استنساخ في النهاية داخل عرض تقديمي.
- استنساخ في موضع آخر داخل العرض التقديمي.
- استنساخ في النهاية في عرض تقديمي آخر.
- استنساخ في موضع آخر في عرض تقديمي آخر.
- استنساخ في موضع محدد في عرض تقديمي آخر.
في Aspose.Slides for Node.js via Java، (مجموعة من شريحة objects) التي يُظهرها كائن عرض تقديمي يوفر طريقتي addClone وinsertClone لأداء الأنواع المذكورة أعلاه من استنساخ الشرائح
استنساخ في النهاية داخل عرض تقديمي
إذا كنت تريد استنساخ شريحة ثم استخدامها داخل نفس ملف العرض التقديمي في نهاية الشرائح الموجودة، استخدم طريقة addClone وفقًا للخطوات المذكورة أدناه:
- إنشاء مثال من فئة عرض تقديمي.
- إنشاء كائن SlideCollection بالإشارة إلى مجموعة الشرائح التي يُظهرها كائن عرض تقديمي.
- استدعاء طريقة addClone التي يُظهرها كائن SlideCollection وتمرير الشريحة التي ستُستنسخ كمعامل إلى طريقة addClone.
- كتابة ملف العرض التقديمي المعدل.
في المثال المعطى أدناه، قمنا باستنساخ شريحة (تقع في الموضع الأول – الفهرس صفر – من العرض التقديمي) إلى نهاية العرض التقديمي.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي
var pres = new aspose.slides.Presentation("CloneWithinSamePresentationToEnd.pptx");
try {
// استنساخ الشريحة المطلوبة إلى نهاية مجموعة الشرائح في نفس العرض التقديمي
var slds = pres.getSlides();
slds.addClone(pres.getSlides().get_Item(0));
// حفظ العرض التقديمي المعدل إلى القرص
pres.save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
pres.dispose();
}
استنساخ في موضع آخر داخل عرض تقديمي
إذا كنت تريد استنساخ شريحة ثم استخدامها داخل نفس ملف العرض التقديمي لكن في موضع مختلف، استخدم طريقة insertClone:
- إنشاء مثال من فئة عرض تقديمي.
- إنشاء الكائن بالإشارة إلى مجموعة الشرائح التي يُظهرها كائن عرض تقديمي.
- استدعاء طريقة insertClone التي يُظهرها كائن SlideCollection وتمرير الشريحة التي ستُستنسخ مع الفهرس للموقع الجديد كمعامل إلى طريقة insertClone.
- كتابة العرض التقديمي المعدل كملف PPTX.
في المثال المعطى أدناه، قمنا باستنساخ شريحة (تقع في الفهرس 1 – الموضع 2 – من العرض التقديمي) إلى الفهرس 2 – الموضع 3 – من العرض التقديمي.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي
var pres = new aspose.slides.Presentation("CloneWithInSamePresentation.pptx");
try {
// استنساخ الشريحة المطلوبة إلى نهاية مجموعة الشرائح في نفس العرض التقديمي
var slds = pres.getSlides();
// استنساخ الشريحة المطلوبة إلى الفهرس المحدد في نفس العرض التقديمي
slds.insertClone(2, pres.getSlides().get_Item(1));
// حفظ العرض التقديمي المعدل إلى القرص
pres.save("Aspose_CloneWithInSamePresentation_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
pres.dispose();
}
استنساخ في النهاية في عرض تقديمي آخر
إذا كنت بحاجة إلى استنساخ شريحة من عرض تقديمي واحد واستخدامها في ملف عرض تقديمي آخر، في نهاية الشرائح الموجودة:
- إنشاء مثال من فئة عرض تقديمي يحتوي على العرض التقديمي الذي ستُستنسخ منه الشريحة.
- إنشاء مثال من فئة عرض تقديمي يحتوي على العرض التقديمي الهدف الذي ستُضاف إليه الشريحة.
- إنشاء كائن SlideCollection بالإشارة إلى مجموعة الشرائح التي يُظهرها كائن العرض التقديمي للعرض الهدف.
- استدعاء طريقة addClone التي يُظهرها كائن SlideCollection وتمرير الشريحة من العرض المصدر كمعامل إلى طريقة addClone.
- كتابة ملف العرض التقديمي الهدف المعدل.
في المثال المعطى أدناه، قمنا باستنساخ شريحة (من الفهرس الأول للعرض المصدر) إلى نهاية العرض الهدف.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
// إنشاء كائن من فئة Presentation لتحميل ملف العرض التقديمي المصدر
var srcPres = new aspose.slides.Presentation("CloneAtEndOfAnother.pptx");
try {
// إنشاء كائن من فئة Presentation لعروض PPTX الوجهة (حيث سيتم استنساخ الشريحة)
var destPres = new aspose.slides.Presentation();
try {
// استنساخ الشريحة المطلوبة من العرض التقديمي المصدر إلى نهاية مجموعة الشرائح في العرض التقديمي الوجهة
var slds = destPres.getSlides();
slds.addClone(srcPres.getSlides().get_Item(0));
// حفظ العرض التقديمي الوجهة إلى القرص
destPres.save("Aspose2_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
استنساخ في موضع آخر في عرض تقديمي آخر
إذا كنت بحاجة إلى استنساخ شريحة من عرض تقديمي واحد واستخدامها في ملف عرض تقديمي آخر، في موضع محدد:
- إنشاء مثال من فئة عرض تقديمي يحتوي على العرض المصدر الذي ستُستنسخ منه الشريحة.
- إنشاء مثال من فئة عرض تقديمي يحتوي على العرض الذي ستُضاف إليه الشريحة.
- إنشاء كائن SlideCollection بالإشارة إلى مجموعة الشرائح التي يُظهرها كائن العرض التقديمي للعرض الهدف.
- استدعاء طريقة insertClone التي يُظهرها كائن SlideCollection وتمرير الشريحة من العرض المصدر مع الموضع المطلوب كمعامل إلى طريقة insertClone.
- كتابة ملف العرض التقديمي الهدف المعدل.
في المثال المعطى أدناه، قمنا باستنساخ شريحة (من الفهرس صفر للعرض المصدر) إلى الفهرس 1 (الموضع 2) من العرض الهدف.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
// إنشاء كائن من فئة Presentation لتحميل ملف العرض التقديمي المصدر
var srcPres = new aspose.slides.Presentation("CloneAtEndOfAnother.pptx");
try {
// إنشاء كائن من فئة Presentation لملف PPTX الوجهة (حيث سيتم استنساخ الشريحة)
var destPres = new aspose.slides.Presentation();
try {
// استنساخ الشريحة المطلوبة من العرض التقديمي المصدر إلى نهاية مجموعة الشرائح في العرض التقديمي الوجهة
var slds = destPres.getSlides();
slds.insertClone(1, srcPres.getSlides().get_Item(0));
// حفظ العرض التقديمي الوجهة إلى القرص
destPres.save("Aspose2_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
استنساخ في موضع محدد في عرض تقديمي آخر
إذا كنت بحاجة إلى استنساخ شريحة مع شريحة رئيسية من عرض تقديمي واستخدامها في عرض تقديمي آخر، تحتاج أولاً إلى استنساخ الشريحة الرئيسية المطلوبة من العرض المصدر إلى العرض الهدف. ثم تحتاج إلى استخدام تلك الشريحة الرئيسية لاستنساخ الشريحة مع الشريحة الرئيسية. طريقة addClone(ISlide, IMasterSlide, boolean) تتوقع شريحة رئيسية من العرض الهدف بدلاً من العرض المصدر. لاستنساخ الشريحة مع رئيسية، يرجى اتباع الخطوات أدناه:
- إنشاء مثال من فئة عرض تقديمي يحتوي على العرض المصدر الذي ستُستنسخ منه الشريحة.
- إنشاء مثال من فئة عرض تقديمي يحتوي على العرض الهدف الذي ستُستنسخ إليه الشريحة.
- الوصول إلى الشريحة التي ستُستنسخ مع الشريحة الرئيسية.
- إنشاء كائن MasterSlideCollection بالإشارة إلى مجموعة الرئيسيات التي يُظهرها كائن عرض تقديمي للعرض الهدف.
- استدعاء طريقة addClone التي يُظهرها كائن MasterSlideCollection وتمرير الرئيسيه من ملف PPTX المصدر لتُستنسخ كمعامل إلى طريقة addClone.
- إنشاء كائن SlideCollection بتعيين المرجع إلى مجموعة الشرائح التي يُظهرها كائن عرض تقديمي للعرض الهدف.
- استدعاء طريقة addClone التي يُظهرها كائن SlideCollection وتمرير الشريحة من العرض المصدر لاستنساخها والشريحة الرئيسية كمعامل إلى طريقة addClone.
- كتابة ملف العرض التقديمي الهدف المعدل.
في المثال المعطى أدناه، قمنا باستنساخ شريحة مع رئيسية (تقع في الفهرس صفر للعرض المصدر) إلى نهاية العرض الهدف باستخدام رئيسية من الشريحة المصدر.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
// إنشاء كائن من فئة Presentation لتحميل ملف العرض التقديمي المصدر
var srcPres = new aspose.slides.Presentation("CloneToAnotherPresentationWithMaster.pptx");
try {
// إنشاء كائن من فئة Presentation للعرض التقديمي الوجهة (حيث سيتم استنساخ الشريحة)
var destPres = new aspose.slides.Presentation();
try {
// إنشاء ISlide من مجموعة الشرائح في العرض التقديمي المصدر مع
// الشريحة الرئيسية
var SourceSlide = srcPres.getSlides().get_Item(0);
var SourceMaster = SourceSlide.getLayoutSlide().getMasterSlide();
// استنساخ الشريحة الرئيسية المطلوبة من العرض التقديمي المصدر إلى مجموعة الرئيسيات في
// العرض التقديمي الهدف
var masters = destPres.getMasters();
var DestMaster = masters.addClone(SourceMaster);
// استنساخ الشريحة المطلوبة من العرض التقديمي المصدر مع الرئيسيه المطلوبة إلى نهاية
// مجموعة الشرائح في العرض التقديمي الهدف
var slds = destPres.getSlides();
slds.addClone(SourceSlide, DestMaster, true);
// حفظ العرض التقديمي الهدف إلى القرص
destPres.save("CloneToAnotherPresentationWithMaster_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
destPres.dispose();
}
} finally {
srcPres.dispose();
}
استنساخ في النهاية في قسم محدد
إذا كنت تريد استنساخ شريحة ثم استخدامها داخل نفس ملف العرض التقديمي لكن في قسم مختلف، استخدم طريقة addClone التي يُظهرها كلاس SlideCollection. يجعل Aspose.Slides for Node.js via Java من الممكن استنساخ شريحة من القسم الأول ثم إدراج تلك الشريحة المستنسخة إلى القسم الثاني من نفس العرض التقديمي.
القطعة البرمجية التالية توضح لك كيفية استنساخ شريحة وإدراج الشريحة المستنسخة في قِسم محدد.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
var presentation = new aspose.slides.Presentation();
try {
presentation.getSlides().get_Item(0).getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 200, 50, 300, 100);
presentation.getSections().addSection("Section 1", presentation.getSlides().get_Item(0));
var section2 = presentation.getSections().appendEmptySection("Section 2");
presentation.getSlides().addClone(presentation.getSlides().get_Item(0), section2);
// حفظ العرض التقديمي الهدف إلى القرص
presentation.save("CloneSlideIntoSpecifiedSection.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (presentation != null) {
presentation.dispose();
}
}
التأكد من مطابقة حجم الشريحة
عند استنساخ الشرائح إلى عرض تقديمي آخر، تأكد من أن حجم الشريحة في العرض الهدف يطابق حجم الشريحة في المصدر. إذا اختلفت الأحجام، لا يقوم Aspose.Slides تلقائيًا بإعادة تحجيم الأشكال المستنسخة—تُحافظ على الإحداثيات والأبعاد الأصلية، مما قد يتسبب في ظهور المحتوى بشكل غير محاذٍ أو يتجاوز حدود الشريحة.
يمكنك ضبط حجم شريحة العرض الهدف لتطابق المصدر قبل استنساخ الرئيسيه والشريحة:
const sourceSize = sourcePresentation.getSlideSize().getSize();
targetPresentation.getSlideSize().setSize(
sourceSize.getWidth(), sourceSize.getHeight(), aspose.slides.SlideSizeScaleType.DoNotScale);
قم بذلك قبل استنساخ الرئيسيه والشريحة.
الأسئلة الشائعة
هل يتم استنساخ ملاحظات المتحدث وتعليقات المراجعين؟
نعم. يتم تضمين صفحة الملاحظات وتعليقات المراجعة في النسخة المستنسخة. إذا كنت لا تريدها، قم بإزالتها بعد الإدراج.
كيف يتم التعامل مع المخططات ومصادر بياناتها؟
يتم نسخ كائن المخطط، التنسيق، والبيانات المدمجة. إذا كان المخطط مرتبطًا بمصدر خارجي (مثل دفتر عمل OLE مدمج)، يتم الحفاظ على هذا الارتباط كـ كائن OLE. بعد النقل بين الملفات، تحقق من توفر البيانات وسلوك التحديث.
هل يمكنني التحكم في موضع الإدراج والأقسام للنسخة المستنسخة؟
نعم. يمكنك إدراج النسخة المستنسخة عند فهرس شريحة محدد ووضعها في قسم مختار. إذا لم يكن القسم الهدف موجودًا، أنشئه أولاً ثم انقل الشريحة إليه.