Converter apresentações PowerPoint para Markdown em PHP
Introdução
Aspose.Slides permite converter apresentações do PowerPoint para Markdown, o que pode ser útil para fluxos de trabalho de documentação, geração de sites estáticos, migração de conteúdo e publicação de texto versionado. A API oferece exportação direta de apresentações PPT e PPTX para arquivos MD e fornece opções adicionais para controlar como o conteúdo dos slides é representado no documento Markdown resultante.
Você pode exportar apresentações como Markdown puro, escolher entre múltiplos sabores de Markdown como CommonMark e GitHub Flavored Markdown, e configurar como as imagens são tratadas durante a exportação. Para apresentações que contêm conteúdo visual, Aspose.Slides também permite salvar imagens em uma pasta separada e referenciá‑las a partir do arquivo Markdown gerado.
ExportType = MarkdownExportType::Visual e especificar BasePath, onde as imagens referenciadas no documento Markdown serão salvas.
Converter uma Apresentação para Markdown
Esta seção explica como Aspose.Slides converte apresentações PowerPoint e OpenDocument (PPT, PPTX, ODP) em Markdown limpo, preservando a hierarquia original dos slides, o texto e a formatação principal, para que você possa reutilizar o conteúdo em documentação ou fluxos de trabalho versionados sem esforço manual adicional.
- Crie uma instância da classe Apresentação para representar a apresentação.
- Use o método save para exportá‑la como um arquivo Markdown.
$presentation = new Presentation("presentation.pptx");
try {
$presentation->save("presentation.md", SaveFormat::Md);
} finally {
$presentation->dispose();
}
Converter uma Apresentação para um Sabor de Markdown
Aspose.Slides permite converter apresentações PowerPoint para Markdown com sintaxe básica, bem como para CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab e dezessete outros sabores de Markdown.
O código PHP a seguir demonstra como converter uma apresentação PowerPoint para CommonMark:
$presentation = new Presentation("presentation.pptx");
try {
$saveOptions = new MarkdownSaveOptions();
$saveOptions->setFlavor(Flavor->CommonMark);
$presentation->save("presentation.md", SaveFormat::Md, $saveOptions);
} finally {
$presentation->dispose();
}
Os 23 sabores de Markdown suportados estão listados na enumeração Flavor.
Converter uma Apresentação contendo Imagens para Markdown
A classe MarkdownSaveOptions expõe propriedades e enumerações que permitem configurar o arquivo Markdown resultante. Por exemplo, a enumeração MarkdownExportType especifica como as imagens são tratadas: Sequential, TextOnly ou Visual.
markdownSaveOptions.setExportType(MarkdownExportType::Visual) e defina o BasePath que indica onde as imagens referenciadas no arquivo Markdown serão salvas.
Converter Imagens Sequencialmente
Se desejar que as imagens apareçam individualmente, uma após a outra, no Markdown resultante, escolha a opção Sequential. O código PHP a seguir mostra como converter uma apresentação contendo imagens para 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();
}
Converter Imagens Visualmente
Se desejar que as imagens apareçam juntas no Markdown resultante, escolha a opção Visual. Nesse caso, as imagens são salvas no diretório atual da aplicação (e um caminho relativo é gerado para elas no documento Markdown), ou você pode especificar o diretório e o nome da pasta de sua preferência.
O código PHP a seguir demonstra a operação:
$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();
}
Perguntas Frequentes
Os hyperlinks sobrevivem à exportação para Markdown?
Sim. Textos hyperlinks são preservados como links Markdown padrão. Slide transitions e animations não são convertidos.
Posso acelerar a conversão executando‑a em múltiplas threads?
É possível paralelizar por arquivos, mas não compartilhar a mesma Apresentação entre threads. Use instâncias/processos separados por arquivo para evitar contenção.
O que acontece com as imagens — onde são salvas e os caminhos são relativos?
Images são exportadas para uma pasta dedicada, e o arquivo Markdown as referencia com caminhos relativos por padrão. Você pode configurar o caminho de saída base e o nome da pasta de ativos para manter uma estrutura de repositório previsível.