列印
註冊列印能力
當 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)行動裝置支援
先設定行動版編輯器。在本頁外掛模式的初始化程式碼中,將下列桌面版註冊替換為同一套件匯出的行動版外掛,並在開啟文件前完成。保留模型外掛、樣式、語言套件與 Facade 匯入,請勿同時註冊兩個版本。
| 套件 | 桌面版註冊 | 行動版註冊 |
|---|---|---|
@univerjs-pro/slides-print | UniverSlidesPrintPlugin | UniverSlidesPrintMobilePlugin |
依賴
列印外掛需要在核心 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。
講義每頁支援 1、2、3、4、6 或 9 張投影片;備註頁會使用目前投影片的講者備註。
你覺得這篇文檔如何?