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
pnpm add @univerjs-pro/sheets-printnpm install @univerjs-pro/sheets-printyarn add @univerjs-pro/sheets-printbun add @univerjs-pro/sheets-printUso
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
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.
| Paquete | Registro de escritorio | Registro móvil |
|---|---|---|
@univerjs-pro/sheets-print | UniverSheetsPrintPlugin | UniverSheetsPrintMobileUIPlugin |
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.
pnpm add @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advancednpm install @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advancedyarn add @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advancedbun add @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advancedUso
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
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.
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.
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.
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.
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.
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.
// 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.
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.
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const fRange = fWorksheet.getRange('A1:D10')fRange.getScreenshot()fRange.getScreenshot({ includeHeaders: true }) // Include row and column headersEscuchas 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.
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.
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.
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.
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.
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.
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?