在 PHP 中将 PowerPoint 演示文稿转换为 Markdown
概述
Aspose.Slides for PHP via Java 可将演示文稿内容转换为 Markdown,让您能够在维基、Git 仓库和静态站点生成器中重新使用 PowerPoint(PPT、PPTX)和 OpenDocument(ODP)文件。该 API 在生成轻量级、可读的 Markdown 的同时保留幻灯片层次结构,从而可以自动化文档流水线,并保持源演示文稿与 Markdown 文件的完美同步。
PowerPoint 到 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 风格的 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 时会保留吗?
是的。文本 hyperlinks 会保留为标准的 Markdown 链接。幻灯片transitions和animations 则不会被转换。
我可以通过多线程运行来加速转换吗?
可以对文件进行并行处理,但不能在多个线程之间 共享 同一个 Presentation 实例。请为每个文件使用独立的实例/进程,以避免竞争。
图像会怎样处理——保存在哪里,路径是否为相对路径?
Images 会导出到专用文件夹,Markdown 文件默认使用相对路径引用它们。您可以配置基础输出路径和资源文件夹名称,以保持可预测的仓库结构。