Конвертация презентаций PowerPoint в Markdown на PHP
Обзор
Aspose.Slides for PHP via Java позволяет конвертировать содержимое презентаций в Markdown, позволяя повторно использовать файлы PowerPoint (PPT, PPTX) и OpenDocument (ODP) для вики, Git‑репозиториев и генераторов статических сайтов. API сохраняет иерархию слайдов, создавая лёгкий, удобочитаемый Markdown, что позволяет автоматизировать конвейеры документирования и держать исходные презентации и файлы Markdown в идеальном согласовании.
Поддержка конвертации PowerPoint‑to‑Markdown была реализована в Aspose.Slides 23.7.
Конвертировать презентацию в Markdown
Этот раздел объясняет, как Aspose.Slides конвертирует презентации PowerPoint и OpenDocument (PPT, PPTX, ODP) в чистый Markdown, сохраняя оригинальную иерархию слайдов, текст и базовое форматирование, чтобы вы могли повторно использовать контент в документации или в рабочих процессах с контролем версий без дополнительных ручных усилий.
- Создайте экземпляр класса Presentation для представления презентации.
- Используйте метод save, чтобы экспортировать его как файл Markdown.
Этот PHP‑код показывает, как конвертировать презентацию PowerPoint в Markdown:
$presentation = new Presentation("presentation.pptx");
try {
$presentation->save("presentation.md", SaveFormat::Md);
} finally {
$presentation->dispose();
}
Конвертировать презентацию в вариант Markdown
Aspose.Slides позволяет конвертировать презентации PowerPoint в Markdown с базовым синтаксисом, а также в CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab и семнадцать других вариантов Markdown.
Следующий PHP‑код демонстрирует, как конвертировать презентацию PowerPoint в CommonMark:
$presentation = new Presentation("presentation.pptx");
try {
$saveOptions = new MarkdownSaveOptions();
$saveOptions->setFlavor(Flavor->CommonMark);
$presentation->save("presentation.md", SaveFormat::Md, $saveOptions);
} finally {
$presentation->dispose();
}
23 поддерживаемых варианта Markdown перечислены в Flavor enumeration.
Конвертировать презентацию с изображениями в Markdown
Класс MarkdownSaveOptions раскрывает свойства и перечисления, позволяющие настроить результирующий файл Markdown. Например, перечисление MarkdownExportType задаёт, как обрабатывать изображения: Sequential, TextOnly или Visual.
markdownSaveOptions.setExportType(MarkdownExportType::Visual) и установите BasePath, указывающий, куда будут сохраняться изображения, на которые ссылается файл Markdown.
Конвертировать изображения последовательно
Если вы хотите, чтобы изображения появлялись по отдельности, одно за другим, в результирующем Markdown, выберите опцию Sequential. Следующий PHP‑код показывает, как конвертировать презентацию с изображениями в 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();
}
Конвертировать изображения визуально
Если вы хотите, чтобы изображения появлялись вместе в результирующем Markdown, выберите опцию Visual. В этом случае изображения сохраняются в текущий каталог приложения (и для них генерируется относительный путь в документе Markdown), либо вы можете указать предпочтительный каталог и имя папки.
Следующий PHP‑код демонстрирует эту операцию:
$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();
}
Часто задаваемые вопросы
Сохраняются ли гиперссылки при экспорте в Markdown?
Да. Текстовые гиперссылки сохраняются как стандартные ссылки Markdown. Переходы и анимации слайдов не конвертируются.
Могу ли я ускорить конвертацию, запустив её в нескольких потоках?
Можно выполнять параллельную обработку файлов, но не делитесь одним и тем же экземпляром Presentation между потоками. Используйте отдельные экземпляры/процессы для каждого файла, чтобы избежать конфликтов.
Что происходит с изображениями — где они сохраняются и являются ли пути относительными?
Изображения экспортируются в отдельную папку, а файл Markdown по умолчанию ссылается на них относительными путями. Вы можете настроить базовый путь вывода и имя папки ресурсов, чтобы поддерживать предсказуемую структуру репозитория.