Skip to content

导出幻灯片

通常幻灯片在浏览器中显示,但你也可以将它们导出为 PDF、PPTX、PNG 或 Markdown 文件以便分享或打印。这个功能通过 CLI 命令 slidev export 实现。

但是,幻灯片中的交互式功能在导出的文件中可能无法使用。你也可以构建和托管你的幻灯片作为 Web 应用程序以保留交互性。请参阅 构建和托管 了解更多信息。

准备工作

导出为 PDF、PPTX 或 PNG 依赖于 Playwright 来渲染幻灯片。因此,你需要在你的项目中安装 playwright-chromium

bash
$ npm i -D playwright-chromium
bash
$ pnpm add -D playwright-chromium
bash
$ yarn add -D playwright-chromium

支持的格式

PDF

在安装了 playwright-chromium 之后,你可以使用以下命令将幻灯片导出为 PDF:

bash
$ slidev export

默认地,PDF 文件会被导出到 ./slides-export.pdf

PPTX

Slidev 也可以将你的幻灯片导出为 PPTX 文件:

bash
$ slidev export --format pptx

需要注意的是,PPTX 文件中的所有幻灯片都会被导出为图片,因此文本不可选择。演讲者备注将以每张幻灯片为单位传递到 PPTX 文件中。

在此模式下,默认启用了 --with-clicks 选项。要禁用它,请传递 --with-clicks false

PNGs 或 Markdown

当传递 --format png 选项时,Slidev 会为每张幻灯片导出 PNG 图像而不是 PDF:

bash
$ slidev export --format png

你也可以使用 --format md 选项将幻灯片导出为 Markdown 文件:

bash
$ slidev export --format md

选项

以下是一些常用的 slidev export 命令选项。更多选项请参阅 CLI 文档

导出动画步骤

默认地,Slidev 会将每张幻灯片导出为一个页面,不包含点击动画。如果你想要将幻灯片的多个步骤导出为多个页面,可以传递 --with-clicks 选项:

bash
$ slidev export --with-clicks

指定导出文件名

你可以使用 --output 选项指定导出文件名:

bash
$ slidev export --output my-pdf-export

或在 headmatter 中指定:

yaml
---
exportFilename: my-pdf-export
---

限定导出范围

默认情况下,会导出演示文稿中的所有幻灯片。如果你想要导出特定幻灯片或幻灯片范围,可以使用 --range 选项并指定你想要导出的幻灯片:

bash
$ slidev export --range 1,6-8,10

该选项接收特定的幻灯片编号或范围。上例会导出第 1、6、7、8 和 10 张幻灯片。

多个幻灯片

你可以一次导出多个幻灯片:

bash
$ slidev export slides1.md slides2.md

或者使用通配符(仅在部分 shell 下有效):

bash
$ slidev export *.md

在这种情况下,每个输入文件都会生成自己的 PDF 文件。

暗色模式

若要使用主题的暗色版本导出幻灯片,可以使用 --dark 选项:

bash
$ slidev export --dark

超时

对于非常大的演示文稿,你可能需要增加 Playwright 的超时时间:

bash
$ slidev export --timeout 60000

等待

一些幻灯片可能需要更长的时间来加载和渲染。你可以使用 --wait 选项在导出之前等待一段时间:

bash
$ slidev export --wait 10000

此外,还有一个 --wait-until 选项,用于在导出每张幻灯片之前等待一个状态。如果你一直遇到超时问题,可以尝试设置此选项:

bash
$ slidev export --wait-until none

该选项接受以下值之一:

  • 'networkidle' - (默认)当没有网络连接至少 500 毫秒时,认为操作已完成。这是最安全的,但可能会导致超时。
  • 'domcontentloaded' - 当 DOMContentLoaded 事件被触发时,认为操作已完成。
  • 'load' - 当 load 事件被触发时,认为操作已完成。
  • 'none' - 不等待任何事件。

WARNING

如果指定了 'networkidle' 之外的值,请确保打印的幻灯片是完整且正确的。如果某些内容丢失,你可能需要使用 --wait 选项。

可执行文件路径

Chromium 可能缺少一些解码某些视频所需的编解码器等功能。你可以使用 --executable-path 选项将 Playwright 的浏览器可执行文件路径设置为 Chrome 或 Edge:

bash
$ slidev export --executable-path [path_to_chromium]

PDF 大纲

自 v0.36.10 起可用

你可以通过传递 --with-toc 选项生成 PDF 大纲:

bash
$ slidev export --with-toc

去除背景

在导出为 PNG图像时,你可以通过传递 --omit-background 选项去除默认的浏览器背景:

bash
$ slidev export --omit-background

默认浏览器背景是所有浏览器窗口上可见的白色背景。它与在整个应用中使用CSS样式呈现的其他背景不同。请参阅 Playwright 的文档。此外,你需要应用额外的CSS样式以显示透明度。

以下是一个示例,覆盖了应用中的所有背景:

css
* {
  background: transparent !important;
}

Released under the MIT License.