Unire in modo efficiente le presentazioni in PHP

Panoramica

Aspose.Slides consente di unire presentazioni clonando le diapositive da una presentazione all’altra. Questo articolo spiega come unire presentazioni intere o diapositive selezionate, utilizzare un master diapositiva o un layout specifico durante l’unione, gestire presentazioni con dimensioni delle diapositive diverse e aggiungere diapositive unite a una sezione della presentazione. Copre anche note pratiche relative al contenuto unito, incluse le note del relatore, i commenti, i file di origine protetti da password e l’uso dei thread.

Unione di Presentazioni

Quando unisci una presentazione a un’altra, stai effettivamente combinando le loro diapositive in un’unica presentazione per ottenere un unico file.

Aspose.Slides per PHP via Java, tuttavia, consente di unire presentazioni in diversi modi. È possibile unire presentazioni con tutte le loro forme, stili, testi, formattazioni, commenti, animazioni, ecc., senza doversi preoccupare della perdita di qualità o dati.

Vedi anche

Clona Diapositive.

Cosa Può Essere Unito

Con Aspose.Slides, puoi unire

  • presentazioni intere. Tutte le diapositive delle presentazioni finiscono in un’unica presentazione
  • diapositive specifiche. Le diapositive selezionate finiscono in un’unica presentazione
  • presentazioni in un unico formato (PPT a PPT, PPTX a PPTX, ecc.) e in formati diversi (PPT a PPTX, PPTX a ODP, ecc.) tra loro.

Opzioni di Unione

Puoi applicare opzioni che determinano se

  • ogni diapositiva nella presentazione di output mantiene uno stile unico
  • uno stile specifico è utilizzato per tutte le diapositive nella presentazione di output.

Per unire presentazioni, Aspose.Slides fornisce metodi addClone (dalla classe SlideCollection). Esistono diverse implementazioni dei metodi addClone che definiscono i parametri del processo di unione delle presentazioni. Ogni oggetto Presentation ha una collezione di slide, quindi è possibile chiamare un metodo addClone dalla presentazione in cui si desidera unire le diapositive.

Il metodo addClone restituisce un oggetto Slide, che è una copia della diapositiva di origine. Le diapositive in una presentazione di output sono semplicemente una copia delle diapositive di origine. Pertanto, è possibile modificare le diapositive risultanti (ad esempio, applicare stili, opzioni di formattazione o layout) senza preoccuparsi che le presentazioni di origine vengano influenzate.

Unisci Presentazioni

Aspose.Slides fornisce il metodo addClone(Slide) che consente di combinare diapositive mantenendo i loro layout e stili (parametri predefiniti).

Questo codice PHP mostra come unire presentazioni:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

Unisci Presentazioni con un Master Diapositiva

Aspose.Slides fornisce il metodo addClone(Slide, MasterSlide, boolean) che consente di combinare diapositive applicando un modello di master diapositiva. In questo modo, se necessario, è possibile modificare lo stile delle diapositive nella presentazione di output.

Questo codice dimostra l’operazione descritta:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres2->getMasters()->get_Item(0), true);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

Se desideri che le diapositive nella presentazione di output abbiano un layout diverso, usa invece il metodo addClone(Slide, LayoutSlide) durante l’unione.

Unisci Diapositive Specifiche da Presentazioni

Unire diapositive specifiche da più presentazioni è utile per creare deck personalizzati. Aspose.Slides per PHP via Java consente di selezionare e importare solo le diapositive necessarie. L’API preserva formattazione, layout e design delle diapositive originali.

Il seguente codice PHP crea una nuova presentazione, aggiunge diapositive titolo da due altre presentazioni e salva il risultato in un file:

function getTitleSlide(Presentation $presentation) {
    for ($i = 0; $i < java_values($presentation->getSlides()->size()); $i++) {
        $slide = $presentation->getSlides()->get_Item($i);
        if (java_values($slide->getLayoutSlide()->getLayoutType()) === SlideLayoutType::Title) {
            return $slide;
        }
    }
    return null;
}
$presentation = new Presentation();
$presentation1 = new Presentation($folderPath . "presentation1.pptx");
$presentation2 = new Presentation($folderPath . "presentation2.pptx");
try {
    $presentation->getSlides()->removeAt(0);
    
    $slide1 = getTitleSlide($presentation1);

    if ($slide1 != null)
        $presentation->getSlides()->addClone($slide1);

    $slide2 = getTitleSlide($presentation2);

    if ($slide2 != null)
        $presentation->getSlides()->addClone($slide2);

    $presentation->save($folderPath . "combined.pptx", SaveFormat::Pptx);
} finally {
    $presentation2->dispose();
    $presentation1->dispose();
    $presentation->dispose();
}

Unisci Presentazioni con un Layout Diapositiva

Questo codice PHP mostra come combinare diapositive da presentazioni applicando il layout di diapositiva preferito per ottenere una presentazione di output unica:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres2->getLayoutSlides()->get_Item(0));
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

Unisci Presentazioni con Dimensioni Diapositiva Diverse

Per unire 2 presentazioni con dimensioni diapositive diverse, è necessario ridimensionare una delle presentazioni in modo che le sue dimensioni corrispondano a quelle dell’altra.

Questo codice di esempio dimostra l’operazione descritta:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      $pres2->getSlideSize()->setSize($pres1->getSlideSize()->getSize()->getWidth(), $pres1->getSlideSize()->getSize()->getHeight(), SlideSizeScaleType::EnsureFit);
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide);
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

Unisci Diapositive in una Sezione di Presentazione

Questo codice PHP mostra come unire una diapositiva specifica a una sezione in una presentazione:

  $pres1 = new Presentation("pres1.pptx");
  try {
    $pres2 = new Presentation("pres2.pptx");
    try {
      foreach($pres2->getSlides() as $slide) {
        $pres1->getSlides()->addClone($slide, $pres1->getSections()->get_Item(0));
      }
    } finally {
      if (!java_is_null($pres2)) {
        $pres2->dispose();
      }
    }
    $pres1->save("combined.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres1)) {
      $pres1->dispose();
    }
  }

La diapositiva viene aggiunta alla fine della sezione.

Vedi anche

Aspose offre un FREE Online Collage Maker. Utilizzando questo servizio online, è possibile unire immagini JPG a JPG o PNG a PNG, creare griglie fotografiche e altro ancora.

Scopri il Aspose FREE Online Merger. Consente di unire presentazioni PowerPoint nello stesso formato (ad es. PPT a PPT, PPTX a PPTX) o tra formati diversi (ad es. PPT a PPTX, PPTX a ODP).

Aspose FREE Online Merger

FAQ

Ci sono limitazioni sul numero di diapositive quando si uniscono presentazioni?

Nessuna limitazione rigida. Aspose.Slides può gestire file di grandi dimensioni, ma le prestazioni dipendono dalla dimensione e dalle risorse di sistema. Per presentazioni molto grandi, è consigliato utilizzare una JVM a 64 bit e allocare sufficiente memoria heap.

Posso unire presentazioni con video o audio incorporati?

Sì, Aspose.Slides conserva i contenuti multimediali incorporati nelle diapositive, ma la presentazione finale potrebbe diventare significativamente più grande.

I font verranno conservati quando si uniscono le presentazioni?

Sì. I font utilizzati nelle presentazioni di origine sono preservati nel file di output, a condizione che siano installati sul sistema o incorporati.