1# @ohos.app.ability.PrintExtensionAbility (打印扩展能力)(系统接口) 2 3<!--Kit: Basic Services Kit--> 4<!--Subsystem: Print--> 5<!--Owner: @guoshengbang--> 6<!--Designer: @gcw_4D6e0BBd--> 7<!--Tester: @guoshengbang--> 8<!--Adviser: @RayShih--> 9 10该模块为打印扩展能力的操作API,提供调用打印扩展能力的接口。 11 12> **说明:** 13> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 当前界面仅包含本模块的系统接口,其他公开接口参见[@ohos.app.ability.PrintExtensionAbility (打印扩展能力)](./js-apis-app-ability-PrintExtensionAbility.md)。 15> 本模块接口仅可在Stage模型下使用。 16 17## 导入模块 18 19```ts 20import { PrintExtensionAbility } from '@kit.BasicServicesKit'; 21``` 22 23## PrintExtensionAbility.onStartPrintJob 24 25onStartPrintJob(jobInfo: print.PrintJob): void 26 27开始打印任务时调用。 28 29**系统能力:** SystemCapability.Print.PrintFramework 30 31**参数:** 32| **参数名** | **类型** | **必填** | **说明** | 33| -------- | -------- | -------- | -------- | 34| jobInfo | [print.PrintJob](./js-apis-print-sys.md#printjob) | 是 | 表示打印任务的信息 | 35 36**错误码:** 37 38以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 39 40| 错误码ID | 错误信息 | 41| -------- | ------------------------------------------- | 42| 202 | not system application | 43 44**示例:** 45 46```ts 47import { PrintExtensionAbility } from '@kit.BasicServicesKit'; 48import { print } from '@kit.BasicServicesKit'; 49 50export default class HWPrintExtension extends PrintExtensionAbility { 51 onStartPrintJob(jobInfo: print.PrintJob): void { 52 console.log('onStartPrintJob, jobId is: ' + jobInfo.jobId); 53 // ... 54 } 55} 56``` 57 58## PrintExtensionAbility.onCancelPrintJob 59 60onCancelPrintJob(jobInfo: print.PrintJob): void 61 62移除已开始的打印任务时调用。 63 64**系统能力:** SystemCapability.Print.PrintFramework 65 66**参数:** 67| **参数名** | **类型** | **必填** | **说明** | 68| -------- | -------- | -------- | -------- | 69| jobInfo | [print.PrintJob](./js-apis-print-sys.md#printjob) | 是 | 表示打印任务的信息 | 70 71**错误码:** 72 73以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 74 75| 错误码ID | 错误信息 | 76| -------- | ------------------------------------------- | 77| 202 | not system application | 78 79**示例:** 80 81```ts 82import { PrintExtensionAbility } from '@kit.BasicServicesKit'; 83import { print } from '@kit.BasicServicesKit'; 84 85export default class HWPrintExtension extends PrintExtensionAbility { 86 onCancelPrintJob(jobInfo: print.PrintJob): void { 87 console.log('onCancelPrintJob, jobId is: ' + jobInfo.jobId); 88 // ... 89 } 90} 91``` 92 93## PrintExtensionAbility.onRequestPrinterCapability 94 95onRequestPrinterCapability(printerId: number): print.PrinterCapability 96 97请求打印机能力时调用。 98 99**系统能力:** SystemCapability.Print.PrintFramework 100 101**参数:** 102| **参数名** | **类型** | **必填** | **说明** | 103| -------- | -------- | -------- | -------- | 104| printerId | number | 是 | 表示打印机ID | 105 106**返回值:** 107| **类型** | **说明** | 108| -------- | -------- | 109| print.PrinterCapability | 表示打印能力 | 110 111**错误码:** 112 113以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 114 115| 错误码ID | 错误信息 | 116| -------- | ------------------------------------------- | 117| 202 | not system application | 118 119**示例:** 120 121```ts 122import { PrintExtensionAbility } from '@kit.BasicServicesKit'; 123import { print } from '@kit.BasicServicesKit'; 124 125export default class HWPrintExtension extends PrintExtensionAbility { 126 onRequestPrinterCapability(printerId: number): print.PrinterCapability { 127 console.log('onRequestPrinterCapability enter'); 128 // ... 129 let tmp : print.PrinterCapability = { 130 colorMode : 1, 131 duplexMode : 1, 132 pageSize : [] 133 }; 134 return tmp; 135 } 136} 137``` 138 139## PrintExtensionAbility.onRequestPreview 140 141onRequestPreview(jobInfo: print.PrintJob): string 142 143请求预览时调用,并将结果返回到Print SA。 144 145**系统能力:** SystemCapability.Print.PrintFramework 146 147**参数:** 148| **参数名** | **类型** | **必填** | **说明** | 149| -------- | -------- | -------- | -------- | 150| jobInfo | [print.PrintJob](./js-apis-print-sys.md#printjob) | 是 | 表示打印任务信息 | 151 152**返回值:** 153| **类型** | **说明** | 154| -------- | -------- | 155| string | 返回的预览结果 | 156 157**错误码:** 158 159以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 160 161| 错误码ID | 错误信息 | 162| -------- | ------------------------------------------- | 163| 202 | not system application | 164 165**示例:** 166 167```ts 168import { PrintExtensionAbility } from '@kit.BasicServicesKit'; 169import { print } from '@kit.BasicServicesKit'; 170 171export default class HWPrintExtension extends PrintExtensionAbility { 172 onRequestPreview(jobInfo: print.PrintJob): string { 173 console.log('onRequestPreview enter'); 174 // ... 175 let tmp : string = ''; 176 return tmp; 177 } 178} 179``` 180