菜单

打印和 PDF 导出

相关源文件

本文档介绍如何将 reveal.js 演示文稿转换为可打印文档和 PDF 文件。它涵盖了打印系统的内部架构、配置选项以及导出演示文稿的分步指南。有关为屏幕显示设置演示文稿的样式和主题的信息,请参阅样式和主题

介绍

reveal.js 中的打印和 PDF 导出功能允许您创建演示文稿的静态、可共享版本。此功能特别适用于

  • 向听众分发讲义
  • 创建演示文稿的存档版本
  • 与无法访问网络的 people 分享演示文稿
  • 以文档形式发布演示文稿

打印和 PDF 导出如何工作

Reveal.js 使用专门的打印控制器和 CSS 规则在激活打印模式时重新格式化您的演示文稿。当您将演示文稿导出为 PDF 时,reveal.js 会执行以下操作

  1. 将每张幻灯片格式化为适合单独页面
  2. 应用特定于打印的样式(包括页面大小和方向)
  3. 调整元素以获得最佳打印显示效果
  4. 使用浏览器的打印功能生成 PDF

来源:核心架构图在上下文信息中提供

导出为 PDF

将 reveal.js 演示文稿导出为 PDF 的推荐方法是使用 Chrome 或基于 Chromium 的浏览器。以下是分步过程

PDF 导出工作流程

来源:控制器系统图在上下文信息中提供

PDF 导出说明

  1. 在 Chrome 或基于 Chromium 的浏览器中打开您的演示文稿
  2. 在地址栏的 URL 末尾添加 ?print-pdf
  3. Ctrl+P (Windows/Linux) 或 Cmd+P (Mac) 打开打印对话框
  4. 在打印对话框中设置以下选项
    • 目标:另存为 PDF
    • 布局:横向
    • 边距:无
    • 背景图形:启用
  5. 点击“保存”生成您的 PDF

注意:带有 ?print-pdf 的浏览器中的视觉外观可能与您正常的演示文稿视图不同。这是正常的,并且是专门为 PDF 输出设计的。

配置选项

Reveal.js 提供了一些配置选项来定制 PDF 导出

选项默认描述
pdf_page_size"Letter"设置 PDF 导出的页面大小(Letter、A4 等)
pdf_page_ratio1.77777777777定义页面宽度与高度的比例
pdf_margin0设置 PDF 中幻灯片周围的边距
pdf_numbersfalse启用或禁用 PDF 中的页码

初始化 reveal.js 时可以设置这些选项

自定义打印样式

您可以通过创建自己的特定于打印的 CSS 规则来定制打印样式。当演示文稿处于打印模式时,reveal.js 会向文档添加一个 .print-pdf 类,允许您定位特定于打印的样式

页面大小和方向

您可以使用 CSS @page 规则来控制页面大小和方向

常见问题与解决方案

幻灯片中的分页

如果您的幻灯片被拆分成多个页面,请尝试

  • 减少每张幻灯片的内容
  • 调整 pdf_page_sizepdf_page_ratio 选项
  • 向不应被拆分的元素添加 data-page-break="avoid"

缺失的背景图像或颜色

确保您的浏览器打印对话框中的“背景图形”选项已启用。

字体或样式差异

某些字体在打印时可能渲染不同。考虑使用网页安全字体或正确嵌入自定义字体。

多页元素

对于应跨越多个页面的元素

与其他功能集成

打印功能可与大多数 reveal.js 功能配合使用,但请注意以下事项

  • 动画元素将在 PDF 导出中以其最终状态显示
  • 交互式元素(如嵌入的 iframe)在 PDF 中将是静态的
  • 默认情况下,PDF 不包含演讲者备注
  • 对于 Markdown 内容,请参阅Markdown 支持以获取特定打印注意事项

浏览器兼容性

PDF 导出功能在 Chrome、基于 Chromium 的浏览器和最新版本的 Edge 中效果最好。Firefox 和 Safari 可能存在限制或需要不同的配置。

高级:程序化 PDF 生成

对于自动化或服务器端 PDF 生成,您可以使用无头 Chrome 或 Puppeteer 等工具加载带有 ?print-pdf 参数的演示文稿,并以编程方式生成 PDF。