# @ohos.print (打印)(系统接口) 该模块为基本打印的操作API,提供调用基础打印功能的接口。 > **说明:** > 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 当前界面仅包含本模块的系统接口,其他公开接口参见[@ohos.print (打印)](./js-apis-print-sys.md)。 ## 导入模块 ```ts import { print } from '@kit.BasicServicesKit'; ``` ## PrintMargin 定义打印页边距的接口。 **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **属性:** | **名称** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | top | number | 否 | 表示页面上边距。默认值为0。 | | bottom | number | 否 | 表示页面下边距。默认值为0。 | | left | number | 否 | 表示页面左边距。默认值为0。 | | right | number | 否 | 表示页面右边距。默认值为0。 | ## PrinterRange 定义打印范围的接口。 **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **属性:** | **名称** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | startPage | number | 否 | 表示起始页。默认值为1。 | | endPage | number | 否 | 表示结束页。默认值为待打印文件的最大页数。 | | pages | Array<number> | 否 | 表示待打印的页面范围的集合。默认值为空。 | ## PreviewAttribute 定义打印预览属性的接口。 **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **属性:** | **名称** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | previewRange | [PrinterRange](#printerrange) | 是 | 表示预览页面范围。 | | result | number | 否 | 表示预览文件结果。默认值为-1。 | ## PrintResolution 定义打印分辨率的接口。 **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **属性:** | **名称** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | id | string | 是 | 表示分辨率ID。 | | horizontalDpi | number | 是 | 表示水平DPI。 | | verticalDpi | number | 是 | 表示垂直DPI。 | ## PrinterCapability 定义打印能力的接口。 **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **属性:** | **名称** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | colorMode | number | 是 | 表示色彩模式。 | | duplexMode | number | 是 | 表示单双面打印模式。 | | pageSize | Array<[PrintPageSize](./js-apis-print.md#printpagesize11)> | 是 | 表示打印机支持的页面尺寸列表。 | | resolution | Array<[PrintResolution](#printresolution)> | 否 | 表示打印机支持的分辨率列表。 | | minMargin | [PrintMargin](#printmargin) | 否 | 表示打印机最小边距。 | | options11+ | Object | 否 | 表示JSON对象字符串。 | ## PrinterInfo 定义打印信息的接口。 **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **属性:** | **名称** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 表示打印机ID。 | | printerName | string | 是 | 表示打印机名称。 | | printerState | [PrinterState](./js-apis-print.md#printerstate14) | 是 | 表示当前打印机状态。 | | printerIcon | number | 否 | 表示打印机图标的资源ID。默认值为-1。 | | description | string | 否 | 表示打印机说明。 | | capability | [PrinterCapability](#printercapability) | 否 | 表示打印机功能。 | | options | Object | 否 | 表示JSON对象字符串。 | ## PrintJob 定义打印任务的接口。 **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **属性:** | **名称** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | fdList | Array<number> | 是 | 表示待打印文件fd列表。 | | jobId | string | 是 | 表示打印任务ID。 | | printerId | string | 是 | 表示负责打印的打印机ID。 | | jobState | [PrintJobState](./js-apis-print.md#printjobstate14) | 是 | 表示当前打印任务状态。 | | jobSubstate11+ | [PrintJobSubState](./js-apis-print.md#printjobsubstate14) | 是 | 表示当前打印任务子状态。 | | copyNumber | number | 是 | 表示文件列表副本。 | | pageRange | [PrinterRange](#printerrange) | 是 | 表示打印范围大小。 | | isSequential | boolean | 是 | 表示是否连续打印。true表示连续打印,false表示不连续打印。默认值为false。 | | pageSize | [PrintPageSize](./js-apis-print.md#printpagesize11) | 是 | 表示选定的页面尺寸。 | | isLandscape | boolean | 是 | 表示是否横向打印。true表示横向打印,false表示纵向打印。默认值为false。 | | colorMode | number | 是 | 表示色彩模式。 | | duplexMode | number | 是 | 表示单双面打印模式。 | | margin | [PrintMargin](#printmargin) | 否 | 表示当前页边距设置。 | | preview | [PreviewAttribute](#previewattribute) | 否 | 表示预览设置。 | | options | Object | 否 | 表示JSON对象字符串。 | ## PrinterExtensionInfo 定义打印扩展信息的接口。 **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **属性:** | **名称** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | extensionId | string | 是 | 表示打印机扩展的扩展ID。 | | vendorId | string | 是 | 表示扩展的供应商ID。 | | vendorName | string | 是 | 表示供应商名称。 | | vendorIcon | number | 是 | 表示供应商图标。 | | version | string | 是 | 表示当前打印机扩展的版本。 | ## print.queryAllPrinterExtensionInfos queryAllPrinterExtensionInfos(callback: AsyncCallback<Array<PrinterExtensionInfo>>): void 查询所有已安装的打印机扩展服务,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<Array<[PrinterExtensionInfo](#printerextensioninfo)>> | 是 | 异步查询所有已安装的打印机扩展服务之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; print.queryAllPrinterExtensionInfos((err: BusinessError, extensionInfos: print.PrinterExtensionInfo[]) => { if (err) { console.error('queryAllPrinterExtensionInfos err ' + JSON.stringify(err)); } else { console.log('queryAllPrinterExtensionInfos success ' + JSON.stringify(extensionInfos)); } }) ``` ## print.queryAllPrinterExtensionInfos queryAllPrinterExtensionInfos(): Promise<Array<PrinterExtensionInfo>> 查询所有已安装的打印机扩展服务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<Array<[PrinterExtensionInfo](#printerextensioninfo)>> | 查询所有已安装的打印机扩展服务完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; print.queryAllPrinterExtensionInfos().then((extensionInfos: print.PrinterExtensionInfo[]) => { console.log('queryAllPrinterExtensionInfos success ' + JSON.stringify(extensionInfos)); // ... }).catch((error: BusinessError) => { console.error('failed to get AllPrinterExtension because ' + JSON.stringify(error)); }) ``` ## print.disconnectPrinter disconnectPrinter(printerId: string, callback: AsyncCallback<void>): void 断开特定打印机的连接,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 打印机ID。 | | callback | AsyncCallback<void> | 是 | 异步断开特定打印机的连接之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId: string = 'printerId_32'; print.disconnectPrinter(printerId, (err: BusinessError) => { if (err) { console.error('failed to disconnect Printer because : ' + JSON.stringify(err)); } else { console.log('start disconnect Printer success'); } }) ``` ## print.disconnectPrinter disconnectPrinter(printerId: string): Promise<void> 断开特定打印机的连接,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 打印机ID。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 断开特定打印机的连接完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId: string = 'printerId_32'; print.disconnectPrinter(printerId).then(() => { console.log('start disconnect Printer success'); }).catch((error: BusinessError) => { console.error('failed to disconnect Printer because : ' + JSON.stringify(error)); }) ``` ## print.queryPrinterCapability queryPrinterCapability(printerId: string, callback: AsyncCallback<void>): void 查询打印机能力,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 打印机ID。 | | callback | AsyncCallback<void> | 是 | 异步查询打印机能力之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId: string = 'printerId_32'; print.queryPrinterCapability(printerId, (err: BusinessError) => { if (err) { console.error('failed to query Printer Capability because : ' + JSON.stringify(err)); } else { console.log('start query Printer Capability success'); } }) ``` ## print.queryPrinterCapability queryPrinterCapability(printerId: string): Promise<void> 查询打印机能力,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 打印机ID。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 查询打印机能力完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId: string = 'printerId_32'; print.queryPrinterCapability(printerId).then(() => { console.log('start query Printer success'); }).catch((error: BusinessError) => { console.error('failed to query Printer Capability because : ' + JSON.stringify(error)); }) ``` ## print.startPrintJob startPrintJob(jobInfo: PrintJob, callback: AsyncCallback<void>): void 开始打印任务,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobInfo | [PrintJob](#printjob) | 是 | 打印任务信息。 | | callback | AsyncCallback<void> | 是 | 异步开始打印任务之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobInfo : print.PrintJob = { fdList : [44,45], jobId : 'jobId_12', printerId : 'printerId_32', jobState : PRINT_JOB_COMPLETED, jobSubstate : print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS, copyNumber : 1, pageRange : {}, isSequential : false, pageSize : {id : '', name : '', width : 10, height : 20}, isLandscape : false, colorMode : COLOR_MODE_COLOR, duplexMode : DUPLEX_MODE_NONE, margin : undefined, preview : undefined, options : undefined }; print.startPrintJob(jobInfo, (err: BusinessError) => { if (err) { console.error('failed to start Print Job because : ' + JSON.stringify(err)); } else { console.log('start Print Job success'); } }) ``` ## print.startPrintJob startPrintJob(jobInfo: PrintJob): Promise<void> 开始打印任务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobInfo | [PrintJob](#printjob) | 是 | 打印任务信息。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 开始打印任务完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobInfo : print.PrintJob = { fdList : [44,45], jobId : 'jobId_12', printerId : 'printerId_32', jobState : PRINT_JOB_COMPLETED, jobSubstate : print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS, copyNumber : 1, pageRange : {}, isSequential : false, pageSize : {id : '', name : '', width : 10, height : 20}, isLandscape : false, colorMode : COLOR_MODE_COLOR, duplexMode : DUPLEX_MODE_NONE, margin : undefined, preview : undefined, options : undefined }; print.startPrintJob(jobInfo).then(() => { console.log('start Print success'); }).catch((error: BusinessError) => { console.error('failed to start Print because : ' + JSON.stringify(error)); }) ``` ## print.cancelPrintJob cancelPrintJob(jobId: string, callback: AsyncCallback<void>): void 取消已发送到打印机的打印任务,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 打印任务ID。 | | callback | AsyncCallback<void> | 是 | 异步取消已发送到打印机的打印任务之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '121212'; print.cancelPrintJob(jobId, (err: BusinessError) => { if (err) { console.error('cancelPrintJob failed, because : ' + JSON.stringify(err)); } else { console.log('cancelPrintJob success'); } }) ``` ## print.cancelPrintJob cancelPrintJob(jobId: string): Promise<void> 取消已发送到打印机的打印任务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 打印任务ID。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 取消已发送到打印机的打印任务完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '121212'; print.cancelPrintJob(jobId).then(() => { console.log('cancelPrintJob success'); }).catch((error: BusinessError) => { console.error('cancelPrintJob failed, because : ' + JSON.stringify(error)); }) ``` ## print.restartPrintJob20+ restartPrintJob(jobId: string): Promise<void> 重新打印之前打印过的打印任务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 之前打印过的打印任务ID。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 重新开始打印任务的结果的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '121212'; print.restartPrintJob(jobId).then(() => { console.log('restartPrintJob success'); }).catch((error: BusinessError) => { console.error('restartPrintJob failed, because : ' + JSON.stringify(error)); }) ``` ## print.requestPrintPreview requestPrintPreview(jobInfo: PrintJob, callback: Callback<number>): void 请求预览打印数据,使用callback回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobInfo | [PrintJob](#printjob) | 是 | 打印任务信息。 | | callback | Callback<number> | 是 | 请求预览打印数据之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; let jobInfo : print.PrintJob = { fdList : [44,45], jobId : 'jobId_12', printerId : 'printerId_32', jobState : PRINT_JOB_COMPLETED, jobSubstate : print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS, copyNumber : 1, pageRange : {}, isSequential : false, pageSize : {id : '', name : '', width : 10, height : 20}, isLandscape : false, colorMode : COLOR_MODE_COLOR, duplexMode : DUPLEX_MODE_NONE, margin : undefined, preview : undefined, options : undefined }; print.requestPrintPreview(jobInfo, (num : number) => { console.log('requestPrintPreview success, num : ' + JSON.stringify(num)); }) ``` ## print.requestPrintPreview requestPrintPreview(jobInfo: PrintJob): Promise<number> 请求预览打印数据,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobInfo | [PrintJob](#printjob) | 是 | 打印任务信息。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<number> | 请求预览打印数据完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobInfo : print.PrintJob = { fdList : [44,45], jobId : 'jobId_12', printerId : 'printerId_32', jobState : PRINT_JOB_COMPLETED, jobSubstate : print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS, copyNumber : 1, pageRange : {}, isSequential : false, pageSize : {id : '', name : '', width : 10, height : 20}, isLandscape : false, colorMode : COLOR_MODE_COLOR, duplexMode : DUPLEX_MODE_NONE, margin : undefined, preview : undefined, options : undefined }; print.requestPrintPreview(jobInfo).then((num: number) => { console.log('requestPrintPreview success, num : ' + JSON.stringify(num)); }).catch((error: BusinessError) => { console.error('requestPrintPreview failed, because : ' + JSON.stringify(error)); }) ``` ## print.on on(type: 'printerStateChange', callback: (state: PrinterState, info: PrinterInfo) => void): void 注册打印机状态变化事件回调,使用callback回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | type | 'printerStateChange' | 是 | 表示打印机状态改变。 | | callback | (state: [PrinterState](./js-apis-print.md#printerstate14), info: [PrinterInfo](#printerinfo)) => void | 是 | 打印机状态改变之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; print.on('printerStateChange', (state: print.PrinterState, info: print.PrinterInfo) => { if (state === null || info === null) { console.error('printer state changed state is null or info is null'); return; } else { console.log('on printer state changed, state : ' + JSON.stringify(state)); console.log('on printer state changed, info : ' + JSON.stringify(info)); } }) ``` ## print.off off(type: 'printerStateChange', callback?: Callback<boolean>): void 取消注册打印机状态变化事件回调,使用callback回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | type | 'printerStateChange' | 是 | 表示打印机状态改变。 | | callback | Callback<boolean> | 否 | 表示取消注册打印机状态变化事件是否成功。true表示成功,false表示失败。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; print.off('printerStateChange', (data: boolean) => { console.log('off printerStateChange data : ' + JSON.stringify(data)); }) ``` ## print.on on(type: 'jobStateChange', callback: (state: PrintJobState, job: PrintJob) => void): void 注册打印任务状态变化事件回调,使用callback回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | type | 'jobStateChange' | 是 | 表示打印任务状态改变。 | | callback | (state: [PrintJobState](./js-apis-print.md#printjobstate14), job: [PrintJob](#printjob)) => void | 是 | 打印任务状态改变之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; print.on('jobStateChange', (state: print.PrintJobState, job: print.PrintJob) => { console.log('onJobStateChange, state : ' + JSON.stringify(state) + ', job : ' + JSON.stringify(job)); }) ``` ## print.off off(type: 'jobStateChange', callback?: Callback<boolean>): void 取消注册打印任务状态变化事件回调,使用callback回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | type | 'jobStateChange' | 是 | 表示打印任务状态改变。 | | callback | Callback<boolean> | 否 | 表示取消注册打印任务状态变化事件是否成功。true表示成功,false表示失败。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; print.off('jobStateChange', (data: boolean) => { console.log('offJobStateChanged data : ' + JSON.stringify(data)); }) ``` ## print.on on(type: 'extInfoChange', callback: (extensionId: string, info: string) => void): void 注册打印扩展信息变化事件回调,使用callback回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | type | 'extInfoChange' | 是 | 表示打印扩展信息改变。 | | callback | (extensionId: string, info: string) => void | 是 | 打印扩展信息改变之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; print.on('extInfoChange', (extensionId: string, info: string) => { console.log('onExtInfoChange, entensionId : ' + JSON.stringify(extensionId) + ', info : ' + JSON.stringify(info)); }) ``` ## print.off off(type: 'extInfoChange', callback?: Callback<boolean>): void 取消注册打印扩展信息变化事件回调,使用callback回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | type | 'extInfoChange' | 是 | 表示打印扩展信息改变。 | | callback | Callback<boolean> | 否 | 表示取消注册打印扩展信息变化事件是否成功。true表示成功,false表示失败。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; print.off('extInfoChange', (data: boolean) => { console.log('offExtInfoChange data : ' + JSON.stringify(data)); }) ``` ## print.addPrinters addPrinters(printers: Array<PrinterInfo>, callback: AsyncCallback<void>): void 添加打印机,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printers | Array<[PrinterInfo](#printerinfo)> | 是 | 表示新到达的打印机列表。 | | callback | AsyncCallback<void> | 是 | 异步添加打印机之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerInfo : print.PrinterInfo = { printerId : '3232', printerName : 'hhhhh', printerState : 0, printerIcon : 12, description : 'str', capability : undefined, options : 'opt' }; print.addPrinters([printerInfo], (err: BusinessError) => { if (err) { console.error('addPrinters failed, because : ' + JSON.stringify(err)); } else { console.log('addPrinters success'); } }) ``` ## print.addPrinters addPrinters(printers: Array<PrinterInfo>): Promise<void> 添加打印机,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printers | Array<[PrinterInfo](#printerinfo)> | 是 | 表示新到达的打印机列表。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 添加打印机完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerInfo : print.PrinterInfo = { printerId : '3232', printerName : 'hhhhh', printerState : 0, printerIcon : 12, description : 'str', capability : undefined, options : 'opt' }; print.addPrinters([printerInfo]).then(() => { console.log('add printers success.'); }).catch((error: BusinessError) => { console.error('add printers error : ' + JSON.stringify(error)); }) ``` ## print.removePrinters removePrinters(printerIds: Array<string>, callback: AsyncCallback<void>): void 移除打印机,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerIds | Array<string> | 是 | 表示需移除的打印机列表。 | | callback | AsyncCallback<void> | 是 | 异步移除打印机之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId : string = '1212'; print.removePrinters([printerId], (err: BusinessError) => { if (err) { console.error('removePrinters failed, because : ' + JSON.stringify(err)); } else { console.log('removePrinters success'); } }) ``` ## print.removePrinters removePrinters(printerIds: Array<string>): Promise<void> 移除打印机,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerIds | Array<string> | 是 | 表示需移除的打印机列表。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 移除打印机完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId : string = '1212'; print.removePrinters([printerId]).then(() => { console.log('remove printers success'); }).catch((error: BusinessError) => { console.error('remove printers error : ' + JSON.stringify(error)); }) ``` ## print.updatePrinters updatePrinters(printers: Array<PrinterInfo>, callback: AsyncCallback<void>): void 更新特定打印机的信息,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printers | Array<[PrinterInfo](#printerinfo)> | 是 | 表示待更新的打印机列表。 | | callback | AsyncCallback<void> | 是 | 异步更新打印机信息之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerInfo : print.PrinterInfo = { printerId : '3232', printerName : 'hhhhh', printerState : 0, printerIcon : 12, description : 'str', capability : undefined, options : 'opt' }; print.updatePrinters([printerInfo], (err: BusinessError) => { if (err) { console.error('updataPrinters failed, because : ' + JSON.stringify(err)); } else { console.log('updataPrinters success'); } }) ``` ## print.updatePrinters updatePrinters(printers: Array<PrinterInfo>): Promise<void> 更新特定打印机的信息,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printers | Array<[PrinterInfo](#printerinfo)> | 是 | 表示待更新的打印机列表。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 更新打印机完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerInfo : print.PrinterInfo = { printerId : '3232', printerName : 'hhhhh', printerState : 0, printerIcon : 12, description : 'str', capability : undefined, options : 'opt' }; print.updatePrinters([printerInfo]).then(() => { console.log('update printers success'); }).catch((error: BusinessError) => { console.error('update printers error : ' + JSON.stringify(error)); }) ``` ## print.updatePrinterState updatePrinterState(printerId: string, state: PrinterState, callback: AsyncCallback<void>): void 更新打印机状态,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 表示打印机ID。 | | state | [PrinterState](./js-apis-print.md#printerstate14) | 是 | 表示打印机状态。 | | callback | AsyncCallback<void> | 是 | 异步更新打印机状态之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId : string = '1212'; let state : print.PrinterState = print.PrinterState.PRINTER_CONNECTED; print.updatePrinterState(printerId, state, (err: BusinessError) => { if (err) { console.error('updatePrinterState failed, because : ' + JSON.stringify(err)); } else { console.log('updatePrinterState success'); } }) ``` ## print.updatePrinterState updatePrinterState(printerId: string, state: PrinterState): Promise<void> 更新打印机状态,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 表示打印机ID。 | | state | [PrinterState](./js-apis-print.md#printerstate14) | 是 | 表示打印机状态。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 更新打印机状态完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId : string = '1212'; let state : print.PrinterState = print.PrinterState.PRINTER_CONNECTED; print.updatePrinterState(printerId, state).then(() => { console.log('update printer state success'); }).catch((error: BusinessError) => { console.error('update printer state error : ' + JSON.stringify(error)); }) ``` ## print.updatePrintJobState updatePrintJobState(jobId: string, state: PrintJobState, subState: PrintJobSubState, callback: AsyncCallback<void>): void 更新打印任务状态,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 表示打印任务ID。 | | state | [PrintJobState](./js-apis-print.md#printjobstate14) | 是 | 表示打印任务状态。 | | subState | [PrintJobSubState](./js-apis-print.md#printjobsubstate14) | 是 | 表示打印任务子状态。 | | callback | AsyncCallback<void> | 是 | 异步更新打印任务状态之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '3434'; let state : print.PrintJobState = print.PrintJobState.PRINT_JOB_PREPARE; let subState : print.PrintJobSubState = print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS; print.updatePrintJobState(jobId, state, subState, (err: BusinessError) => { if (err) { console.error('updataPrintJobState failed, because : ' + JSON.stringify(err)); } else { console.log('updatePrintJobState success'); } }) ``` ## print.updatePrintJobState updatePrintJobState(jobId: string, state: PrintJobState, subState: PrintJobSubState): Promise<void> 更新打印任务状态,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 表示打印任务ID。 | | state | [PrintJobState](./js-apis-print.md#printjobstate14) | 是 | 表示打印任务状态。 | | subState | [PrintJobSubState](./js-apis-print.md#printjobsubstate14) | 是 | 表示打印任务子状态。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 更新打印任务状态完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '3434'; let state : print.PrintJobState = print.PrintJobState.PRINT_JOB_PREPARE; let subState : print.PrintJobSubState = print.PrintJobSubState.PRINT_JOB_COMPLETED_SUCCESS; print.updatePrintJobState(jobId, state, subState).then(() => { console.log('update print job state success'); }).catch((error: BusinessError) => { console.error('update print job state error : ' + JSON.stringify(error)); }) ``` ## print.updateExtensionInfo updateExtensionInfo(info: string, callback: AsyncCallback<void>): void 更新打印扩展状态,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | info | string | 是 | 表示打印扩展变更信息。 | | callback | AsyncCallback<void> | 是 | 异步更新打印扩展状态之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let info : string = 'WIFI_INACTIVE'; print.updateExtensionInfo(info, (err: BusinessError) => { if (err) { console.error('updateExtensionInfo failed, because : ' + JSON.stringify(err)); } else { console.log('updateExtensionInfo success'); } }) ``` ## print.updateExtensionInfo updateExtensionInfo(info: string): Promise<void> 更新打印扩展状态,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | info | string | 是 | 表示打印扩展变更信息。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 更新打印扩展状态完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let info : string = 'WIFI_INACTIVE'; print.updateExtensionInfo(info).then(() => { console.log('update print job state success'); }).catch((error: BusinessError) => { console.error('update print job state error : ' + JSON.stringify(error)); }) ``` ## print.queryAllPrintJobs(deprecated) > 从API version 10开始支持,从API version 11开始废弃。 > 建议使用[queryPrintJobList](#printqueryprintjoblist11)替代。 queryAllPrintJobs(callback: AsyncCallback<void>): void 查询所有打印任务,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<void> | 是 | 异步查询所有打印任务之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; print.queryAllPrintJobs((err: BusinessError) => { if (err) { console.error('queryAllPrintJobs failed, because : ' + JSON.stringify(err)); } else { console.log('queryAllPrintJobs success'); } }) ``` ## print.queryAllPrintJobs(deprecated) > 从API version 10开始支持,从API version 11开始废弃。 > 建议使用[queryPrintJobList](#printqueryprintjoblist11-1)替代。 queryAllPrintJobs(): Promise<void> 查询所有打印任务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 查询所有打印任务完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; print.queryAllPrintJobs().then(() => { console.log('queryAllPrintJobs success'); }).catch((error: BusinessError) => { console.error('queryAllPrintJobs failed, error : ' + JSON.stringify(error)); }) ``` ## print.queryAllActivePrintJobList20+ queryAllActivePrintJobList(): Promise<[PrintJob](#printjob)[]> 查询所有活跃中的打印任务,使用Promise进行异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<[PrintJob](#printjob)[]> | 包含所有活跃打印任务的列表的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; print.queryAllActivePrintJobList().then((printJobs : print.PrintJob[]) => { console.log('queryPrinqueryAllActivePrintJobListtJobList success, data : ' + JSON.stringify(printJobs)); }).catch((error: BusinessError) => { console.error('queryAllActivePrintJobList failed, error : ' + JSON.stringify(error)); }) ``` ## print.queryPrintJobList11+ queryPrintJobList(callback: AsyncCallback<Array<PrintJob>>): void 查询所有打印任务,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<Array<[PrintJob](#printjob)>> | 是 | 异步查询所有打印任务之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; print.queryPrintJobList((err: BusinessError, printJobs : print.PrintJob[]) => { if (err) { console.error('queryPrintJobList failed, because : ' + JSON.stringify(err)); } else { console.log('queryPrintJobList success, data : ' + JSON.stringify(printJobs)); } }) ``` ## print.queryPrintJobList11+ queryPrintJobList(): Promise<Array<PrintJob>> 查询所有打印任务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<Array<[PrintJob](#printjob)>> | 查询所有打印任务完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; print.queryPrintJobList().then((printJobs : print.PrintJob[]) => { console.log('queryPrintJobList success, data : ' + JSON.stringify(printJobs)); }).catch((error: BusinessError) => { console.error('queryPrintJobList failed, error : ' + JSON.stringify(error)); }) ``` ## print.queryPrintJobById11+ queryPrintJobById(jobId: string, callback: AsyncCallback<PrintJob>): void 按打印任务ID查询打印任务,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 表示打印任务ID。 | | callback | AsyncCallback<[PrintJob](#printjob)> | 是 | 异步按打印任务ID查询打印任务之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '1'; print.queryPrintJobById(jobId, (err: BusinessError, printJob : print.PrintJob) => { if (err) { console.error('queryPrintJobById failed, because : ' + JSON.stringify(err)); } else { console.log('queryPrintJobById success, data : ' + JSON.stringify(printJob)); } }) ``` ## print.queryPrintJobById11+ queryPrintJobById(jobId: string): Promise<PrintJob> 按打印任务ID查询打印任务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 表示打印任务ID。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<[PrintJob](#printjob)> | 按打印任务ID查询打印任务完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '1'; print.queryPrintJobById(jobId).then((printJob : print.PrintJob) => { console.log('queryPrintJobById data : ' + JSON.stringify(printJob)); }).catch((error: BusinessError) => { console.error('queryPrintJobById error : ' + JSON.stringify(error)); }) ``` ## print.startGettingPrintFile11+ startGettingPrintFile(jobId: string, printAttributes: PrintAttributes, fd: number, onFileStateChanged: Callback<PrintFileCreationState>): void 开始获取打印文件,使用Callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 表示打印任务ID。 | | printAttributes | [PrintAttributes](./js-apis-print.md#printattributes11) | 是 | 表示打印参数。 | | fd | number | 是 | 表示打印文件描述符。 | | onFileStateChanged | Callback<[PrintFileCreationState](./js-apis-print.md#printfilecreationstate11)> | 是 | 表示更新文件状态的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string= '1'; class MyPrintAttributes implements print.PrintAttributes { copyNumber?: number; pageRange?: print.PrintPageRange; pageSize?: print.PrintPageSize | print.PrintPageType; directionMode?: print.PrintDirectionMode; colorMode?: print.PrintColorMode; duplexMode?: print.PrintDuplexMode; } class MyPrintPageRange implements print.PrintPageRange { startPage?: number; endPage?: number; pages?: Array; } class MyPrintPageSize implements print.PrintPageSize { id: string = '0'; name: string = '0'; width: number = 210; height: number = 297; } let printAttributes = new MyPrintAttributes(); printAttributes.copyNumber = 2; printAttributes.pageRange = new MyPrintPageRange(); printAttributes.pageRange.pages = [1, 3]; printAttributes.pageSize = print.PrintPageType.PAGE_ISO_A3; printAttributes.directionMode = print.PrintDirectionMode.DIRECTION_MODE_AUTO; printAttributes.colorMode = print.PrintColorMode.COLOR_MODE_MONOCHROME; printAttributes.duplexMode = print.PrintDuplexMode.DUPLEX_MODE_NONE; let fd : number = 1; print.startGettingPrintFile(jobId, printAttributes, fd, (state: print.PrintFileCreationState) => { console.log('onFileStateChanged success, data : ' + JSON.stringify(state)); }) ``` ## print.notifyPrintService11+ notifyPrintService(jobId: string, type: 'spooler_closed_for_cancelled' | 'spooler_closed_for_started', callback: AsyncCallback<void>): void 将spooler关闭信息通知打印服务,使用callback异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 表示打印任务ID。 | | type | 'spooler_closed_for_cancelled' \| 'spooler_closed_for_started' | 是 | 表示spooler关闭信息。 | | callback | AsyncCallback<void> | 是 | 异步将spooler关闭信息通知打印服务之后的回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '1'; print.notifyPrintService(jobId, 'spooler_closed_for_started', (err: BusinessError) => { if (err) { console.error('notifyPrintService failed, because : ' + JSON.stringify(err)); } else { console.log('notifyPrintService success'); } }) ``` ## print.notifyPrintService11+ notifyPrintService(jobId: string, type: 'spooler_closed_for_cancelled' | 'spooler_closed_for_started'): Promise<void> 将spooler关闭信息通知打印服务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | jobId | string | 是 | 表示打印任务ID。 | | type | 'spooler_closed_for_cancelled' \| 'spooler_closed_for_started' | 是 | 表示spooler关闭信息。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 将spooler关闭信息通知打印服务后的完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let jobId : string = '1'; print.notifyPrintService(jobId, 'spooler_closed_for_started').then(() => { console.log('notifyPrintService success'); }).catch((error: BusinessError) => { console.error('notifyPrintService error : ' + JSON.stringify(error)); }) ``` ## print.getPrinterInfoById12+ getPrinterInfoById(printerId: string): Promise<PrinterInfo> 根据打印机id获取打印机信息,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 表示打印机ID。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<[PrinterInfo](#printerinfo)> | 根据打印机id获取打印机信息后的完成结果回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId : string = '1'; print.getPrinterInfoById(printerId).then((printerInfo : print.PrinterInfo) => { console.log('getPrinterInfoById data : ' + JSON.stringify(printerInfo)); }).catch((error: BusinessError) => { console.error('getPrinterInfoById error : ' + JSON.stringify(error)); }) ``` ## print.notifyPrintServiceEvent12+ notifyPrintServiceEvent(event: ApplicationEvent): Promise<void> 将打印应用相关事件通知打印服务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | event | [ApplicationEvent](./js-apis-print.md#applicationevent14) | 是 | 表示打印应用事件。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 将打印应用相关事件通知打印服务后的完成结果回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let event : print.ApplicationEvent = print.ApplicationEvent.APPLICATION_CREATED; print.notifyPrintServiceEvent(event).then(() => { console.log('notifyPrintServiceEvent success'); }).catch((error: BusinessError) => { console.error('notifyPrintServiceEvent error : ' + JSON.stringify(error)); }) ``` ## print.updatePrinterInformation18+ updatePrinterInformation(printerInformation: PrinterInformation): Promise<void> 更新系统中打印机的部分信息,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerInformation | [PrinterInformation](./js-apis-print.md#printerinformation14) | 是 | 表示待更新信息的打印机。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 更新打印机信息到系统打印机发现列表完成结果。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let testPageSize : print.PrintPageSize = { id : 'ISO_A4', name : 'iso_a4_210x297mm', width : 8268, height : 11692 }; let testCapability : print.PrinterCapabilities = { supportedPageSizes : [testPageSize], supportedColorModes : [print.PrintColorMode.COLOR_MODE_MONOCHROME], supportedDuplexModes : [print.PrintDuplexMode.DUPLEX_MODE_NONE], supportedMediaTypes : ['stationery'], supportedQualities : [print.PrintQuality.QUALITY_NORMAL], supportedOrientations : [print.PrintOrientationMode.ORIENTATION_MODE_PORTRAIT], options : 'testOptions' }; let printerInformation : print.PrinterInformation = { printerId : 'testPrinterId', printerName : 'testPrinterName', printerStatus : 0, description : 'testDesc', capability : testCapability, uri : 'testUri', printerMake : 'testPrinterMake', options : 'testOptions' }; print.updatePrinterInformation(printerInformation).then(() => { console.log('updatePrinterInformation success'); }).catch((error: BusinessError) => { console.error('updatePrinterInformation error : ' + JSON.stringify(error)); }) ``` ## print.setPrinterPreferences18+ setPrinterPreferences(printerId: string, printerPreferences: PrinterPreferences): Promise<void> 设置打印机首选项,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 表示打印机ID。 | | printerPreferences | [PrinterPreferences](./js-apis-print.md#printerpreferences18) | 是 | 表示打印机首选项。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 设置打印机首选项后的完成结果回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId : string = 'testPrinterId'; let preferences : print.PrinterPreferences = { defaultDuplexMode: print.PrintDuplexMode.DUPLEX_MODE_NONE }; print.setPrinterPreferences(printerId, preferences).then(() => { console.log('setPrinterPreferences success'); }).catch((error: BusinessError) => { console.error('setPrinterPreferences error : ' + JSON.stringify(error)); }) ``` ## print.discoverUsbPrinters18+ discoverUsbPrinters(): Promise<Array<PrinterInformation>> 发现usb打印机,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<Array<[PrinterInformation](./js-apis-print.md#printerinformation14)>> | 发现的usb打印机列表。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; print.discoverUsbPrinters().then((printers : print.PrinterInformation[]) => { console.log('discoverUsbPrinters data : ' + JSON.stringify(printers)); }).catch((error: BusinessError) => { console.error('discoverUsbPrinters error : ' + JSON.stringify(error)); }) ``` ## print.setDefaultPrinter18+ setDefaultPrinter(printerId: string, type: DefaultPrinterType): Promise<void> 设置默认打印机,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | printerId | string | 是 | 表示打印机ID。 | | type | [DefaultPrinterType](./js-apis-print.md#defaultprintertype18) | 是 | 表示默认打印机类型。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 设置默认打印机后的完成结果回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let printerId : string = '1'; let type : print.DefaultPrinterType = print.DefaultPrinterType.DEFAULT_PRINTER_TYPE_SET_BY_USER; print.setDefaultPrinter(printerId, type).then(() => { console.log('setDefaultPrinter success'); }).catch((error: BusinessError) => { console.error('setDefaultPrinter error : ' + JSON.stringify(error)); }) ``` ## print.notifyPrintServiceEvent18+ notifyPrintServiceEvent(event: ApplicationEvent, jobId: string): Promise<void> 将打印应用相关事件通知打印服务,使用Promise异步回调。 **需要权限:** ohos.permission.MANAGE_PRINT_JOB **系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Print.PrintFramework **参数:** | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | event | [ApplicationEvent](./js-apis-print.md#applicationevent14) | 是 | 表示打印应用事件。 | | jobId | string | 是 | 表示打印任务ID。 | **返回值:** | **类型** | **说明** | | -------- | -------- | | Promise<void> | 将打印应用相关事件通知打印服务后的完成结果回调。 | **错误码:** 以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------------------- | | 201 | the application does not have permission to call this function. | | 202 | not system application | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. | **示例:** ```ts import { print } from '@kit.BasicServicesKit'; import { BusinessError } from '@ohos.base'; let event : print.ApplicationEvent = print.ApplicationEvent.APPLICATION_CREATED; let jobId : string = '1'; print.notifyPrintServiceEvent(event, jobId).then(() => { console.log('notifyPrintServiceEvent success'); }).catch((error: BusinessError) => { console.error('notifyPrintServiceEvent error : ' + JSON.stringify(error)); }) ```