Converti le presentazioni PowerPoint in Markdown con PHP

Introduzione

Aspose.Slides consente di convertire le presentazioni PowerPoint in Markdown, utile per flussi di lavoro di documentazione, generazione di siti statici, migrazione di contenuti e pubblicazione di testo versionata. L’API supporta l’esportazione diretta da presentazioni PPT e PPTX in file MD e offre opzioni aggiuntive per controllare come il contenuto delle diapositive è rappresentato nel documento Markdown risultante.

Puoi esportare le presentazioni come Markdown semplice, scegliere tra più varianti di Markdown come CommonMark e GitHub Flavored Markdown, e configurare come le immagini vengono gestite durante l’esportazione. Per le presentazioni che contengono contenuti visivi, Aspose.Slides permette anche di salvare le immagini in una cartella separata e referenziarle dal file Markdown generato.

Convertire una presentazione in Markdown

Questa sezione spiega come Aspose.Slides converte le presentazioni PowerPoint e OpenDocument (PPT, PPTX, ODP) in Markdown pulito, mantenendo intatta la gerarchia delle diapositive, il testo e la formattazione di base, così da poter riutilizzare il contenuto nella documentazione o in flussi di lavoro versionati senza sforzo manuale aggiuntivo.

  1. Crea un’istanza della classe Presentazione per rappresentare la presentazione.
  2. Usa il metodo save per esportarla come file Markdown.

Questo codice PHP mostra come convertire una presentazione PowerPoint in Markdown:

$presentation = new Presentation("presentation.pptx");
try {
    $presentation->save("presentation.md", SaveFormat::Md);
} finally {
    $presentation->dispose();
}

Convertire una presentazione in una variante di Markdown

Aspose.Slides permette di convertire le presentazioni PowerPoint in Markdown con sintassi di base, nonché in CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab e altre diciassette varianti di Markdown.

Il seguente codice PHP dimostra come convertire una presentazione PowerPoint in CommonMark:

$presentation = new Presentation("presentation.pptx");
try {
    $saveOptions = new MarkdownSaveOptions();
    $saveOptions->setFlavor(Flavor->CommonMark);

    $presentation->save("presentation.md", SaveFormat::Md, $saveOptions);
} finally {
    $presentation->dispose();
}

Le 23 varianti di Markdown supportate sono elencate nell'enumerazione Flavor.

Convertire una presentazione contenente immagini in Markdown

La classe MarkdownSaveOptions espone proprietà e enumerazioni che consentono di configurare il file Markdown risultante. Per esempio, l’enumerazione MarkdownExportType specifica come le immagini vengono gestite: Sequential, TextOnly o Visual.

Convertire le immagini in sequenza

Se desideri che le immagini compaiano singolarmente, una dopo l’altra, nel Markdown risultante, devi scegliere l’opzione Sequential. Il seguente codice PHP mostra come convertire una presentazione contenente immagini in Markdown:

$presentation = new Presentation("presentation.pptx");
try {
    $saveOptions = new MarkdownSaveOptions();
    $saveOptions->setShowHiddenSlides(true);
    $saveOptions->setShowSlideNumber(true);
    $saveOptions->setFlavor(Flavor->Github);
    $saveOptions->setExportType(MarkdownExportType::Sequential);
    $saveOptions->setNewLineType(NewLineType::Windows);

    $slideIndices = array(1, 2, 3, 4);
    $presentation->save("presentation.md", $slideIndices, SaveFormat::Md, $saveOptions);
} finally {
    $presentation->dispose();
}

Convertire le immagini visivamente

Se desideri che le immagini compaiano insieme nel Markdown risultante, devi scegliere l’opzione Visual. In questo caso, le immagini vengono salvate nella directory corrente dell’applicazione (e viene generato un percorso relativo per esse nel documento Markdown), o puoi specificare una directory e un nome cartella preferiti.

Il seguente codice PHP dimostra l’operazione:

$presentation = new Presentation("presentation.pptx");
try {
    $outPath = "c:/documents";

    $saveOptions = new MarkdownSaveOptions();
    $saveOptions->setExportType(MarkdownExportType::Visual);
    $saveOptions->setImagesSaveFolderName("md-images");
    $saveOptions->setBasePath($outPath);

    $presentation->save("presentation.md", SaveFormat::Md, $saveOptions);
} finally {
    $presentation->dispose();
}

FAQ

I collegamenti ipertestuali sopravvivono all’esportazione in Markdown?

Sì. Il testo collegamenti ipertestuali è preservato come collegamenti Markdown standard. Le transizioni e le animazioni non vengono convertite.

Posso accelerare la conversione eseguendola in più thread?

Puoi parallelizzare su più file, ma non condividere la stessa Presentazione tra i thread. Usa istanze o processi separati per file per evitare conflitti.

Cosa succede alle immagini — dove vengono salvate e i percorsi sono relativi?

Le Immagini vengono esportate in una cartella dedicata e il file Markdown le referenzia con percorsi relativi per impostazione predefinita. Puoi configurare il percorso di output di base e il nome della cartella delle risorse per mantenere una struttura di repository prevedibile.