Imprimir

La funcionalidad de impresión permite a los usuarios imprimir el contenido de una hoja de cálculo como documentos físicos o exportarlo a formato PDF para verlo y compartirlo sin conexión.

Modo de complemento

Instalación

Shell
pnpm add @univerjs-pro/sheets-print

Uso

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 tiene una licencia comercial licencia para Univer, consulte Uso de la licencia en el cliente para la configuración.

Complementos y configuración

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

Compatibilidad móvil

Configure primero el editor móvil. En la inicialización en modo plugin de esta página, sustituya los registros de escritorio siguientes por las exportaciones móviles de los mismos paquetes antes de abrir un documento. Conserve modelos, estilos, traducciones e importaciones Facade; no registre ambas variantes.

PaqueteRegistro de escritorioRegistro móvil
@univerjs-pro/sheets-printUniverSheetsPrintPluginUniverSheetsPrintMobileUIPlugin

Modo preestablecido

La funcionalidad de impresión está incluida en el ajuste preestablecido @univerjs/preset-sheets-advanced.

Instalación

El ajuste preestablecido UniverSheetsAdvancedPreset de @univerjs/preset-sheets-advanced depende del UniverSheetsDrawingPreset preestablecido en tiempo de ejecución. Primero instale @univerjs/preset-sheets-drawing.

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

Uso

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 tiene una licencia comercial para Univer, consulte Uso de la licencia en el cliente para la configuración.

Preajustes y configuración

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

API de Facade

Importación

Plugin mode note

Solo el modo complemento requiere importar manualmente el paquete Facade. El modo Preestablecido ya incluye el paquete Facade correspondiente, por lo que no se necesita ninguna importación adicional.

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

Abrir el cuadro de diálogo de configuración de impresión

Usar FWorkbook.openPrintDialog puede abrir el cuadro de diálogo de configuración de impresión.

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

Cerrar el cuadro de diálogo de configuración de impresión

Usar el método FWorkbook.closePrintDialog puede cerrar el cuadro de diálogo de configuración de impresión.

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

Actualizar configuración de diseño de impresión

Usar FWorkbook.updatePrintConfig(config: ISheetPrintLayoutConfig) método para actualizar la configuración del diseño de impresión.

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()

Para ver el tipo completo y sus parámetros, consulte FWorkbook.updatePrintConfig().

Actualizar configuración de renderizado de impresión

Utilizando el método FWorkbook.updatePrintRenderConfig(config: ISheetPrintRenderConfig) para actualizar la configuración de renderizado de impresión.

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()

Para ver el tipo completo y sus parámetros, consulte FWorkbook.updatePrintRenderConfig().

Imprimir

Usando El método FWorkbook.print puede activar directamente el cuadro de diálogo de impresión.

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

Guardar captura de pantalla en el portapapeles

El uso del método FWorkbook.saveScreenshotToClipboard le permite guardar la imagen de los datos de impresión en el portapapeles.

Solo disponible con una licencia, los usuarios sin licencia enfrentarán restricciones de uso y la operación de guardar volverá false.

Utilizamos la API del Portapapeles para guardar la imagen en el portapapeles, lo que puede fallar en entornos de red no seguros o navegadores no compatibles. Un guardado exitoso devolverá true.

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

Obtener captura de pantalla del rango seleccionado

El uso del método FRange.getScreenshot le permite obtener una captura de pantalla de los datos de impresión seleccionados.

Solo disponible con una licencia, los usuarios sin licencia enfrentarán restricciones de uso y la operación de guardado volverá false en caso de error, o una cadena base64 de la imagen en caso de éxito.

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

Escuchas de eventos

Los siguientes eventos están disponibles para la funcionalidad de impresión:

El evento univerAPI.Event.BeforeSheetPrintOpen se activa antes de abrir el cuadro de diálogo de configuración de impresión.

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()`.

El evento univerAPI.Event.SheetPrintOpen se activa después de abrir el cuadro de diálogo de configuración de impresión.

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

El evento univerAPI.Event.BeforeSheetPrintConfirm se activa antes de que se abra el cuadro de diálogo de confirmación de impresión.

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()`.

El evento univerAPI.Event.SheetPrintConfirmed se activa después de que se abre el cuadro de diálogo de confirmación de impresión.

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

El evento univerAPI.Event.BeforeSheetPrintCanceled se activa antes de la operación de cancelación de impresión.

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()`.

El evento univerAPI.Event.SheetPrintCanceled se activa después de la cancelación de impresión operación.

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

¿Cómo es esta guía?

© 2026 DreamNum Co., Ltd.