打印
注册打印能力
当 Slides 编辑器需要打印预览或打印相关 facade API 时,使用 @univerjs-pro/slides-print。该包还提供 @univerjs-pro/slides-print/locale/*,不需要额外的 CSS 导入。
TypeScript
import { UniverSlidesPrintPlugin } from '@univerjs-pro/slides-print'import SlidesPrintEnUS from '@univerjs-pro/slides-print/locale/en-US'import '@univerjs-pro/slides-print/facade'univer.registerPlugin(UniverSlidesPrintPlugin)依赖
打印插件需要在核心 Slides 模型之后注册:
TypeScript
univer.registerPlugin(UniverSlidesPlugin)univer.registerPlugin(UniverSlidesUIPlugin)univer.registerPlugin(UniverSlidesPrintPlugin)浏览器编辑器还需要保持 快速开始 中的 render engine、UI、Docs、Drawing 和授权插件注册。
Facade API
导入 facade 入口后,FUniver 会增加 printSlidesAsync 方法:
TypeScript
import '@univerjs-pro/slides-print/facade'打印当前激活演示文稿中的全部幻灯片:
TypeScript
const univerAPI = FUniver.newAPI(univer)await univerAPI.printSlidesAsync()也可以使用从 1 开始的页码范围打印指定幻灯片:
TypeScript
await univerAPI.printSlidesAsync({ range: [ { from: 1, to: 3 }, { from: 6, to: 6 }, ],})range 使用闭区间页码。不传时会打印全部幻灯片。重叠范围会被去重,并按照原始幻灯片顺序打印;超出 deck 的范围会裁剪到可用页码,起止顺序反转的无效范围会被忽略。
注意事项
打印输出依赖当前幻灯片快照、页面尺寸、drawing 元素,以及可选的表格或图表元素。如果你的 deck 可能包含表格或图表,请在打印前注册对应功能插件。
打印布局与预览
TypeScript
univerAPI.openSlidesPrintDialog({ layout: univerAPI.Enum.SlidePrintLayoutType.Handout, slidesPerPage: 6, handoutOrder: univerAPI.Enum.SlidePrintHandoutOrder.Horizontal, frameSlides: true, showSlideNumber: true,})布局支持整页、讲义和备注页;还可设置 paperSize、direction、margin 与 marginCustom。
你觉得这篇文档如何?