Gabungkan Presentasi Secara Efisien dengan JavaScript

Ikhtisar

Aspose.Slides memungkinkan Anda menggabungkan presentasi dengan menyalin slide dari satu presentasi ke presentasi lain. Artikel ini menjelaskan cara menggabungkan seluruh presentasi atau slide yang dipilih, menggunakan slide master atau tata letak tertentu selama penggabungan, menangani presentasi dengan ukuran slide berbeda, dan menambahkan slide yang digabung ke bagian presentasi. Artikel ini juga mencakup catatan praktis terkait konten yang digabung, termasuk catatan pembicara, komentar, file sumber yang dilindungi kata sandi, dan penggunaan thread.

Penggabungan Presentasi

Saat Anda menggabungkan satu presentasi ke yang lain, Anda pada dasarnya menggabungkan slide‑slide mereka dalam satu presentasi untuk menghasilkan satu file.

Apa yang Dapat Digabung

Dengan Aspose.Slides, Anda dapat menggabungkan

  • seluruh presentasi. Semua slide dari presentasi tersebut akan berada dalam satu presentasi
  • slide tertentu. Slide yang dipilih akan berada dalam satu presentasi
  • presentasi dalam satu format (PPT ke PPT, PPTX ke PPTX, dll) dan dalam format yang berbeda (PPT ke PPTX, PPTX ke ODP, dll) satu sama lain.

Opsi Penggabungan

Anda dapat menerapkan opsi yang menentukan apakah

  • setiap slide dalam presentasi keluaran mempertahankan gaya unik
  • gaya tertentu digunakan untuk semua slide dalam presentasi keluaran.

Untuk menggabungkan presentasi, Aspose.Slides menyediakan metode addClone (dari kelas SlideCollection). Ada beberapa implementasi metode addClone yang menentukan parameter proses penggabungan presentasi. Setiap objek Presentation memiliki koleksi Slides , sehingga Anda dapat memanggil metode addClone dari presentasi yang ingin Anda tambahkan slide.

Metode addClone mengembalikan objek Slide, yang merupakan klon dari slide sumber. Slide‑slide dalam presentasi keluaran hanyalah salinan dari slide sumber. Oleh karena itu, Anda dapat mengubah slide yang dihasilkan (misalnya, menerapkan gaya atau opsi pemformatan atau tata letak) tanpa khawatir presentasi sumber terpengaruh.

Menggabungkan Presentasi

Aspose.Slides menyediakan metode AddClone(ISlide) yang memungkinkan Anda menggabungkan slide sambil mempertahankan tata letak dan gaya slide (parameter default).

Kode JavaScript berikut menunjukkan cara menggabungkan presentasi:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Menggabungkan Presentasi dengan Slide Master

Aspose.Slides menyediakan metode AddClone(ISlide, IMasterSlide, boolean) yang memungkinkan Anda menggabungkan slide sambil menerapkan templat slide master. Dengan cara ini, bila diperlukan, Anda dapat mengubah gaya slide dalam presentasi keluaran.

Kode JavaScript berikut mendemonstrasikan operasi yang dijelaskan:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres2.getMasters().get_Item(0), true);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Jika Anda menginginkan slide dalam presentasi keluaran memiliki tata letak slide yang berbeda, gunakan metode addClone(ISlide, ILayoutSlide) sebagai gantinya saat menggabungkan.

Menggabungkan Slide Tertentu dari Presentasi

Menggabungkan slide tertentu dari beberapa presentasi berguna untuk membuat deck slide khusus. Aspose.Slides for Node.js via Java memungkinkan Anda memilih dan mengimpor hanya slide yang Anda butuhkan. API mempertahankan pemformatan, tata letak, dan desain slide asli.

Kode JavaScript berikut membuat presentasi baru, menambahkan slide judul dari dua presentasi lain, dan menyimpan hasilnya ke file:

function getTitleSlide(presentation) {
  for (let i = 0; i < presentation.getSlides().size(); i++) {
    let slide = presentation.getSlides().get_Item(i);
    if (slide.getLayoutSlide().getLayoutType() == aspose.slides.SlideLayoutType.Title) {
      return slide;
    }
  }
  return null;
}
let presentation = new aspose.slides.Presentation();
let presentation1 = new aspose.slides.Presentation("presentation1.pptx");
let presentation2 = new aspose.slides.Presentation("presentation2.pptx");
try {
    presentation.getSlides().removeAt(0);
    
    let slide1 = getTitleSlide(presentation1);

    if (slide1 != null)
        presentation.getSlides().addClone(slide1);

    let slide2 = getTitleSlide(presentation2);

    if (slide2 != null)
        presentation.getSlides().addClone(slide2);

    presentation.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    presentation2.dispose();
    presentation1.dispose();
    presentation.dispose();
}

Menggabungkan Presentasi dengan Tata Letak Slide

Kode JavaScript berikut menunjukkan cara menggabungkan slide dari presentasi sambil menerapkan tata letak slide pilihan Anda untuk menghasilkan satu presentasi keluaran:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres2.getLayoutSlides().get_Item(0));
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Menggabungkan Presentasi dengan Ukuran Slide Berbeda

Untuk menggabungkan 2 presentasi dengan ukuran slide berbeda, Anda harus mengubah ukuran salah satu presentasi agar ukurannya cocok dengan presentasi yang lain.

Kode contoh berikut mendemonstrasikan operasi yang dijelaskan:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        pres2.getSlideSize().setSize(pres1.getSlideSize().getSize().getWidth(), pres1.getSlideSize().getSize().getHeight(), aspose.slides.SlideSizeScaleType.EnsureFit);
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide);
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Menggabungkan Slide ke Bagian Presentasi

Kode JavaScript berikut menunjukkan cara menggabungkan slide tertentu ke sebuah bagian dalam presentasi:

let pres1 = new aspose.slides.Presentation("pres1.pptx");
try {
    let pres2 = new aspose.slides.Presentation("pres2.pptx");
    try {
        for (let i = 0; i < pres2.getSlides().size(); i++) {
            let slide = pres2.getSlides().get_Item(i);
            pres1.getSlides().addClone(slide, pres1.getSections().get_Item(0));
        }
    } finally {
        if (pres2 != null) {
            pres2.dispose();
        }
    }
    pres1.save("combined.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres1 != null) {
        pres1.dispose();
    }
}

Slide ditambahkan di akhir bagian.

FAQ

Apakah catatan pembicara dipertahankan selama penggabungan?

Ya. Saat menyalin slide, Aspose.Slides membawa semua elemen slide, termasuk catatan, pemformatan, dan animasi.

Apakah komentar dan penulisnya dipindahkan?

Komentar, sebagai bagian dari konten slide, disalin bersama slide. Label penulis komentar dipertahankan sebagai objek komentar dalam presentasi yang dihasilkan.

Bagaimana jika presentasi sumber dilindungi kata sandi?

Presentasi harus dibuka dengan kata sandi melalui LoadOptions.setPassword; setelah dimuat, slide tersebut dapat dengan aman diklon ke file target yang tidak dilindungi (atau yang dilindungi juga).

Seberapa aman operasi penggabungan terhadap thread?

Jangan gunakan instance Presentation yang sama dari multiple threads. Aturan yang disarankan adalah “satu dokumen — satu thread”; file berbeda dapat diproses secara paralel pada thread terpisah.

Lihat Juga

Aspose menyediakan FREE Online Collage Maker. Dengan layanan online ini, Anda dapat menggabungkan JPG ke JPG atau PNG ke PNG, membuat grid foto, dan lainnya.

Coba Aspose FREE Online Merger. Layanan ini memungkinkan Anda menggabungkan presentasi PowerPoint dalam format yang sama (misalnya PPT ke PPT, PPTX ke PPTX) atau lintas format yang berbeda (misalnya PPT ke PPTX, PPTX ke ODP).

Aspose FREE Online Merger