Impression

La fonctionnalité d’impression permet d’imprimer le contenu d’une feuille de calcul sur papier ou de l’exporter au format PDF pour le consulter hors ligne et le partager.

Mode prédéfini

La fonctionnalité d’impression est incluse dans le préréglage @univerjs/preset-sheets-advanced.

Installation

À l’exécution, le préréglage UniverSheetsAdvancedPreset de @univerjs/preset-sheets-advanced dépend du préréglage UniverSheetsDrawingPreset. Installez d’abord @univerjs/preset-sheets-drawing.

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

Utilisation

TypeScript
import { UniverSheetsAdvancedPreset } from '@univerjs/preset-sheets-advanced'import UniverPresetSheetsAdvancedEnUS from '@univerjs/preset-sheets-advanced/locales/en-US'import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'import { UniverSheetsDrawingPreset } from '@univerjs/preset-sheets-drawing'import UniverPresetSheetsDrawingEnUS from '@univerjs/preset-sheets-drawing/locales/en-US'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.EN_US,  locales: {    [LocaleType.EN_US]: mergeLocales(      UniverPresetSheetsCoreEnUS,      UniverPresetSheetsDrawingEnUS,       UniverPresetSheetsAdvancedEnUS,     ),  },  presets: [    UniverSheetsCorePreset(),    UniverSheetsDrawingPreset(),     UniverSheetsAdvancedPreset(),   ],})

Si vous disposez d’une licence commerciale Univer, consultez la section Utiliser une licence côté client pour effectuer la configuration.

Préréglages et configuration

TypeScript
interface IUniverSheetsAdvancedPresetConfig {  print?: Partial<IUniverSheetsPrintConfig>}interface IUniverSheetsPrintConfig {  /**   * Whether to force the watermark to be displayed when printing   * @default false   */  enforceWatermark?: boolean}

Mode extension

Installation

Shell
pnpm add @univerjs-pro/sheets-print

Utilisation

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

Si vous disposez d’une licence commerciale Univer, consultez la section Utiliser une licence côté client pour effectuer la configuration.

Extensions et configuration

TypeScript
interface IUniverSheetsPrintConfig {  /**   * Whether to force the watermark to be displayed when printing   * @default false   */  enforceWatermark?: boolean}

Prise en charge mobile

Configurez d’abord l’éditeur mobile. Dans l’initialisation en mode plugin de cette page, remplacez les inscriptions de bureau ci-dessous par les exports mobiles des mêmes paquets avant d’ouvrir un document. Conservez modèles, styles, traductions et imports Facade ; n’enregistrez pas les deux variantes.

PaquetInscription de bureauInscription mobile
@univerjs-pro/sheets-printUniverSheetsPrintPluginUniverSheetsPrintMobileUIPlugin

Facade API

Importation

Remarque sur le mode extension

Seul le mode extension nécessite d’importer manuellement le package Facade. Le mode prédéfini inclut déjà le package Facade correspondant, aucune importation supplémentaire n’est donc nécessaire.

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

Ouvrir la boîte de dialogue de configuration de l’impression

Utilisez FWorkbook.openPrintDialog pour ouvrir la boîte de dialogue de configuration de l’impression.

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

Fermer la boîte de dialogue de configuration de l’impression

Utilisez la méthode FWorkbook.closePrintDialog pour fermer la boîte de dialogue de configuration de l’impression.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()fWorkbook.openPrintDialog()// Close the print configuration dialog after 3 secondssetTimeout(() => {  fWorkbook.closePrintDialog()}, 3000)

Mettre à jour la configuration de la mise en page

Utilisez la méthode FWorkbook.updatePrintConfig(config: ISheetPrintLayoutConfig) pour mettre à jour la configuration de la mise en page.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const subUnitId = fWorksheet.getSheetId()// Update print layout configfWorkbook.updatePrintConfig({  area: univerAPI.Enum.PrintArea.CurrentSheet, // print current sheet  subUnitIds: [subUnitId],  paperSize: univerAPI.Enum.PrintPaperSize.A4, // A4 paper size  scale: univerAPI.Enum.PrintScale.FitPage, // fit content to page  freeze: [univerAPI.Enum.PrintFreeze.Row], // freeze row headers  margin: univerAPI.Enum.PrintPaperMargin.Normal, // normal margin  // ... other settings})// Start printing with the updated configurationfWorkbook.print()

Pour le type complet et les paramètres, consultez FWorkbook.updatePrintConfig().

Mettre à jour la configuration du rendu d’impression

Utilisez la méthode FWorkbook.updatePrintRenderConfig(config: ISheetPrintRenderConfig) pour mettre à jour la configuration du rendu d’impression.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()// Update print layout config by defaultfWorkbook.updatePrintConfig({})// Update print render configfWorkbook.updatePrintRenderConfig({gridlines: true, // show gridlineshAlign: univerAPI.Enum.PrintAlign.Middle, // horizontal align middlevAlign: univerAPI.Enum.PrintAlign.Middle, // vertical align middleheaderFooter: [ // the array of header and footer elements to include, here is page numbers and worksheet name  univerAPI.Enum.PrintHeaderFooter.PageSize,  univerAPI.Enum.PrintHeaderFooter.WorksheetTitle,],// ... other settings})// Start printfWorkbook.print()

Pour le type complet et les paramètres, consultez FWorkbook.updatePrintRenderConfig().

Imprimer

La méthode FWorkbook.print permet d’ouvrir directement la boîte de dialogue d’impression.

TypeScript
// Using the default configuration you can pass in an empty objectworkbook.updatePrintConfig({// ... Print layout configuration})workbook.updatePrintRenderConfig({// ... Print render configuration})workbook.print()

Enregistrer une capture d’écran dans le presse-papiers

La méthode FWorkbook.saveScreenshotToClipboard permet d’enregistrer dans le presse-papiers l’image des données à imprimer.

Cette fonctionnalité est uniquement disponible avec une licence. Sans licence, son utilisation est restreinte et l’opération d’enregistrement renvoie false.

L’image est enregistrée dans le presse-papiers à l’aide de l’API Clipboard. L’opération peut échouer dans un environnement réseau non sécurisé ou dans un navigateur non compatible. Si elle réussit, elle renvoie true.

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

Obtenir une capture d’écran de la plage sélectionnée

La méthode FRange.getScreenshot permet d’obtenir une capture d’écran des données à imprimer dans la plage sélectionnée.

Cette fonctionnalité est uniquement disponible avec une licence. Sans licence, son utilisation est restreinte. L’opération d’enregistrement renvoie false en cas d’échec, ou une chaîne base64 contenant l’image en cas de réussite.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const fRange = fWorksheet.getRange('A1:D10')fRange.getScreenshot()fRange.getScreenshot({ includeHeaders: true }) // Include row and column headers

Écouteurs d’événements

Les événements suivants sont disponibles pour la fonctionnalité d’impression :

L’événement univerAPI.Event.BeforeSheetPrintOpen est déclenché avant l’ouverture de la boîte de dialogue de configuration de l’impression.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.BeforeSheetPrintOpen, (params) => {  const { workbook, worksheet } = params  // Cancel open print configuration dialog operation  params.cancel = true})// Remove the event listener, use `disposable.dispose()`.

L’événement univerAPI.Event.SheetPrintOpen est déclenché après l’ouverture de la boîte de dialogue de configuration de l’impression.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetPrintOpen, (params) => {  const { workbook, worksheet } = params})// Remove the event listener, use `disposable.dispose()`.

L’événement univerAPI.Event.BeforeSheetPrintConfirm est déclenché avant l’ouverture de la boîte de dialogue de confirmation de l’impression.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.BeforeSheetPrintConfirm, (params) => {  const { renderConfig, layoutConfig } = params  // Cancel the print confirmation operation  params.cancel = true})// Remove the event listener, use `disposable.dispose()`.

L’événement univerAPI.Event.SheetPrintConfirmed est déclenché après l’ouverture de la boîte de dialogue de confirmation de l’impression.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetPrintConfirmed, (params) => {  const { renderConfig, layoutConfig } = params})// Remove the event listener, use `disposable.dispose()`.

L’événement univerAPI.Event.BeforeSheetPrintCanceled est déclenché avant l’annulation de l’impression.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.BeforeSheetPrintCanceled, (params) => {  const { renderConfig, layoutConfig } = params  // Cancel the print cancel operation  params.cancel = true})// Remove the event listener, use `disposable.dispose()`.

L’événement univerAPI.Event.SheetPrintCanceled est déclenché après l’annulation de l’impression.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetPrintCanceled, (params) => {  const { renderConfig, layoutConfig } = params})// Remove the event listener, use `disposable.dispose()`.

Que pensez-vous de ce guide ?

© 2026 DreamNum Co., Ltd.