印刷

印刷機能により、スプレッドシートの内容を紙のドキュメントとして印刷したり、オフライン閲覧や共有のために PDF 形式へエクスポートしたりできます。

プラグインモード

インストール

Shell
pnpm add @univerjs-pro/sheets-print

使い方

TypeScript
import { UniverSheetsPrintPlugin } from '@univerjs-pro/sheets-print'import SheetsPrintPluginJaJP from '@univerjs-pro/sheets-print/locale/ja-JP'import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import '@univerjs-pro/sheets-print/lib/index.css'const univer = new Univer({  locale: LocaleType.JA_JP,  locales: {    [LocaleType.JA_JP]: mergeLocales(      SheetsPrintPluginJaJP,     ),  },})univer.registerPlugin(UniverSheetsPrintPlugin)

Univer の商用ライセンスをお持ちの場合は、設定方法について クライアントでのライセンス を参照してください。

プラグインと設定

TypeScript
interface IUniverSheetsPrintConfig {  /**   * 印刷時にウォーターマークを強制的に表示するかどうか   * @default false   */  enforceWatermark?: boolean}

モバイル対応

まずモバイルエディターを設定します。このページのプラグインモードの初期化コードで、以下のデスクトップ登録を同じパッケージのモバイル版に置き換え、文書を開く前に完了してください。モデル、スタイル、言語ファイル、Facade は維持し、両方を同時に登録しないでください。

パッケージデスクトップの登録モバイルの登録
@univerjs-pro/sheets-printUniverSheetsPrintPluginUniverSheetsPrintMobileUIPlugin

プリセットモード

印刷機能は @univerjs/preset-sheets-advanced のプリセットに含まれています。

インストール

@univerjs/preset-sheets-advanced の UniverSheetsAdvancedPreset は、実行時に UniverSheetsDrawingPreset に依存します。先に @univerjs/preset-sheets-drawing をインストールしてください。

Shell
pnpm add @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advanced

使い方

TypeScript
import { UniverSheetsAdvancedPreset } from '@univerjs/preset-sheets-advanced'import UniverPresetSheetsAdvancedJaJP from '@univerjs/preset-sheets-advanced/locales/ja-JP'import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreJaJP from '@univerjs/preset-sheets-core/locales/ja-JP'import { UniverSheetsDrawingPreset } from '@univerjs/preset-sheets-drawing'import UniverPresetSheetsDrawingJaJP from '@univerjs/preset-sheets-drawing/locales/ja-JP'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'import '@univerjs/preset-sheets-core/lib/index.css'import '@univerjs/preset-sheets-drawing/lib/index.css'import '@univerjs/preset-sheets-advanced/lib/index.css'const { univerAPI } = createUniver({  locale: LocaleType.JA_JP,  locales: {    [LocaleType.JA_JP]: mergeLocales(      UniverPresetSheetsCoreJaJP,      UniverPresetSheetsDrawingJaJP,       UniverPresetSheetsAdvancedJaJP,     ),  },  presets: [    UniverSheetsCorePreset(),    UniverSheetsDrawingPreset(),     UniverSheetsAdvancedPreset(),   ],})

Univer の商用ライセンスをお持ちの場合は、設定方法について クライアントでのライセンス を参照してください。

プリセットと設定

TypeScript
interface IUniverSheetsAdvancedPresetConfig {  print?: Partial<IUniverSheetsPrintConfig>}interface IUniverSheetsPrintConfig {  /**   * 印刷時にウォーターマークを強制的に表示するかどうか   * @default false   */  enforceWatermark?: boolean}

Facade API

インポート

プラグインモード注意

Facade パッケージの手動 import が必要なのはプラグインモードのみです。プリセットモードには対応する Facade パッケージが内蔵されているため、追加の import は不要です。

TypeScript
import '@univerjs-pro/sheets-print/facade'

印刷設定ダイアログを開く

FWorkbook.openPrintDialog を使用すると、印刷設定ダイアログを開けます。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook.openPrintDialog()

印刷設定ダイアログを閉じる

FWorkbook.closePrintDialog メソッドを使用すると、印刷設定ダイアログを閉じられます。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook.openPrintDialog()// 3 秒後に印刷設定ダイアログを閉じるsetTimeout(() => {  fWorkbook.closePrintDialog()}, 3000)

印刷レイアウト設定の更新

FWorkbook.updatePrintConfig(config: ISheetPrintLayoutConfig) メソッドを使用して、印刷レイアウト設定を更新します。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const subUnitId = fWorksheet.getSheetId()// 印刷レイアウト設定を更新fWorkbook.updatePrintConfig({  area: univerAPI.Enum.PrintArea.CurrentSheet, // 現在のシートを印刷  subUnitIds: [subUnitId],  paperSize: univerAPI.Enum.PrintPaperSize.A4, // A4 用紙サイズ  scale: univerAPI.Enum.PrintScale.FitPage, // コンテンツをページに合わせる  freeze: [univerAPI.Enum.PrintFreeze.Row], // 行ヘッダーを固定  margin: univerAPI.Enum.PrintPaperMargin.Normal, // 標準の余白  // ... その他の設定})// 更新した設定で印刷を開始fWorkbook.print()

完全な設定型とパラメーターは次を参照してください: FWorkbook.updatePrintConfig().

印刷レンダー設定の更新

FWorkbook.updatePrintRenderConfig(config: ISheetPrintRenderConfig) メソッドを使用して、印刷レンダー設定を更新します。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()// 既定では印刷レイアウト設定を更新fWorkbook.updatePrintConfig({})// 印刷レンダー設定を更新fWorkbook.updatePrintRenderConfig({gridlines: true, // 罫線を表示hAlign: univerAPI.Enum.PrintAlign.Middle, // 水平方向中央揃えvAlign: univerAPI.Enum.PrintAlign.Middle, // 垂直方向中央揃えheaderFooter: [ // 含めるヘッダー/フッター要素の配列。ここではページ番号とワークシート名  univerAPI.Enum.PrintHeaderFooter.PageSize,  univerAPI.Enum.PrintHeaderFooter.WorksheetTitle,],// ... その他の設定})// 印刷を開始fWorkbook.print()

完全な設定型とパラメーターは次を参照してください: FWorkbook.updatePrintRenderConfig().

印刷

FWorkbook.print メソッドを使用すると、印刷ダイアログを直接トリガーできます。

TypeScript
// 既定の設定を使う場合は空のオブジェクトを渡せますworkbook.updatePrintConfig({// ... 印刷レイアウト設定})workbook.updatePrintRenderConfig({// ... 印刷レンダー設定})workbook.print()

スクリーンショットをクリップボードに保存

FWorkbook.saveScreenshotToClipboard メソッドを使用すると、印刷データの画像をクリップボードに保存できます。

ライセンス をお持ちの方のみ利用可能です。ライセンスがない場合は使用制限があり、保存処理は false を返します。

画像の保存には Clipboard API を使用しており、非セキュアなネットワーク環境や未対応のブラウザーでは失敗する場合があります。保存に成功すると true を返します。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const result = await fWorkbook.saveScreenshotToClipboard()

選択範囲のスクリーンショットを取得

FRange.getScreenshot メソッドを使用すると、選択した印刷データのスクリーンショットを取得できます。

ライセンス をお持ちの方のみ利用可能です。ライセンスがない場合は使用制限があり、失敗時は false を返し、成功時は画像の base64 文字列を返します。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const fRange = fWorksheet.getRange('A1:D10')fRange.getScreenshot()fRange.getScreenshot({ includeHeaders: true }) // 行列ヘッダーを含む

イベント リスナー

印刷機能では、次のイベントが利用できます。

univerAPI.Event.BeforeSheetPrintOpen イベントは、印刷設定ダイアログが開かれる前にトリガーされます。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.BeforeSheetPrintOpen, (params) => {  const { workbook, worksheet } = params  // 印刷設定ダイアログを開く操作をキャンセルする  params.cancel = true})// イベント リスナーを削除するには `disposable.dispose()` を使用します。

univerAPI.Event.SheetPrintOpen イベントは、印刷設定ダイアログが開かれた後にトリガーされます。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetPrintOpen, (params) => {  const { workbook, worksheet } = params})// イベント リスナーを削除するには `disposable.dispose()` を使用します。

univerAPI.Event.BeforeSheetPrintConfirm イベントは、印刷の確認ダイアログが開かれる前にトリガーされます。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.BeforeSheetPrintConfirm, (params) => {  const { renderConfig, layoutConfig } = params  // 印刷の確認操作をキャンセルする  params.cancel = true})// イベント リスナーを削除するには `disposable.dispose()` を使用します。

univerAPI.Event.SheetPrintConfirmed イベントは、印刷の確認ダイアログが開かれた後にトリガーされます。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetPrintConfirmed, (params) => {  const { renderConfig, layoutConfig } = params})// イベント リスナーを削除するには `disposable.dispose()` を使用します。

univerAPI.Event.BeforeSheetPrintCanceled イベントは、印刷のキャンセル操作の前にトリガーされます。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.BeforeSheetPrintCanceled, (params) => {  const { renderConfig, layoutConfig } = params  // 印刷のキャンセル操作をキャンセルする  params.cancel = true})// イベント リスナーを削除するには `disposable.dispose()` を使用します。

univerAPI.Event.SheetPrintCanceled イベントは、印刷のキャンセル操作の後にトリガーされます。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetPrintCanceled, (params) => {  const { renderConfig, layoutConfig } = params})// イベント リスナーを削除するには `disposable.dispose()` を使用します。

このガイドはいかがですか?

© 2026 DreamNum Co., Ltd.