1# @ohos.app.ability.PrintExtensionAbility (打印扩展能力) 2 3该模块为打印扩展能力的操作API,提供调用打印扩展能力的接口。 4 5> **说明:** 6> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 7> 本模块接口为系统接口。 8> 本模块接口仅可在Stage模型下使用。 9 10## 导入模块 11 12```ts 13import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 14``` 15 16## onCreate 17 18onCreate(want: Want): void 19 20初始化扩展能力,会在系统首次连接打印扩展时调用。 21 22**系统能力:** SystemCapability.Print.PrintFramework 23 24**参数:** 25| **参数名** | **类型** | **必填** | **说明** | 26| -------- | -------- | -------- | -------- | 27| want | Want | 是 | 表示调用打印页面需要参数 | 28 29**示例:** 30 31```ts 32import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 33import Want from '@ohos.app.ability.Want'; 34 35export default class HWPrintExtension extends PrintExtensionAbility { 36 onCreate(want: Want): void { 37 console.log('onCreate'); 38 // ... 39 } 40} 41``` 42 43## onStartDiscoverPrinter 44 45onStartDiscoverPrinter(): void 46 47开始发现与设备连接的打印机时调用。 48 49**系统能力:** SystemCapability.Print.PrintFramework 50 51**示例:** 52 53```ts 54import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 55 56export default class HWPrintExtension extends PrintExtensionAbility { 57 onStartDiscoverPrinter(): void { 58 console.log('onStartDiscoverPrinter enter'); 59 // ... 60 } 61} 62``` 63 64## onStopDiscoverPrinter 65 66onStopDiscoverPrinter(): void 67 68停止发现打印机时调用。 69 70**系统能力:** SystemCapability.Print.PrintFramework 71 72**示例:** 73 74```ts 75import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 76 77export default class HWPrintExtension extends PrintExtensionAbility { 78 onStopDiscoverPrinter(): void { 79 console.log('onStopDiscoverPrinter enter'); 80 // ... 81 } 82} 83``` 84 85## onConnectPrinter 86 87onConnectPrinter(printerId: number): void 88 89连接到特定打印机时调用。 90 91**系统能力:** SystemCapability.Print.PrintFramework 92 93**参数:** 94| **参数名** | **类型** | **必填** | **说明** | 95| -------- | -------- | -------- | -------- | 96| printerId | number | 是 | 表示打印机ID | 97 98**示例:** 99 100```ts 101import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 102 103export default class HWPrintExtension extends PrintExtensionAbility { 104 onConnectPrinter(printerId: number): void { 105 console.log('onConnectPrinter enter'); 106 // ... 107 } 108} 109``` 110 111## onDisconnectPrinter 112 113onDisconnectPrinter(printerId: number): void 114 115断开与特定打印机的连接时调用。 116 117**系统能力:** SystemCapability.Print.PrintFramework 118 119**参数:** 120| **参数名** | **类型** | **必填** | **说明** | 121| -------- | -------- | -------- | -------- | 122| printerId | number | 是 | 表示打印机ID | 123 124**示例:** 125 126```ts 127import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 128 129export default class HWPrintExtension extends PrintExtensionAbility { 130 onDisconnectPrinter(printerId: number): void { 131 console.log('onDisconnectPrinter enter'); 132 // ... 133 } 134} 135``` 136 137## onStartPrintJob 138 139onStartPrintJob(jobInfo: print.PrintJob): void 140 141开始打印任务时调用。 142 143**系统能力:** SystemCapability.Print.PrintFramework 144 145**参数:** 146| **参数名** | **类型** | **必填** | **说明** | 147| -------- | -------- | -------- | -------- | 148| jobInfo | print.PrintJob | 是 | 表示打印任务的信息 | 149 150**示例:** 151 152```ts 153import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 154import print from '@ohos.print'; 155 156export default class HWPrintExtension extends PrintExtensionAbility { 157 onStartPrintJob(jobInfo: print.PrintJob): void { 158 console.log('onStartPrintJob, jobId is: ' + jobInfo.jobId); 159 // ... 160 } 161} 162``` 163 164## onCancelPrintJob 165 166onCancelPrintJob(jobInfo: print.PrintJob): void 167 168移除已开始的打印任务时调用。 169 170**系统能力:** SystemCapability.Print.PrintFramework 171 172**参数:** 173| **参数名** | **类型** | **必填** | **说明** | 174| -------- | -------- | -------- | -------- | 175| jobInfo | print.PrintJob | 是 | 表示打印任务的信息 | 176 177**示例:** 178 179```ts 180import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 181import print from '@ohos.print'; 182 183export default class HWPrintExtension extends PrintExtensionAbility { 184 onCancelPrintJob(jobInfo: print.PrintJob): void { 185 console.log('onCancelPrintJob, jobId is: ' + jobInfo.jobId); 186 // ... 187 } 188} 189``` 190 191## onRequestPrinterCapability 192 193onRequestPrinterCapability(printerId: number): print.PrinterCapability 194 195请求打印机能力时调用。 196 197**系统能力:** SystemCapability.Print.PrintFramework 198 199**参数:** 200| **参数名** | **类型** | **必填** | **说明** | 201| -------- | -------- | -------- | -------- | 202| printerId | number | 是 | 表示打印机ID | 203 204**返回值:** 205| **类型** | **说明** | 206| -------- | -------- | 207| print.PrinterCapability | 表示打印能力 | 208 209**示例:** 210 211```ts 212import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 213import print from '@ohos.print'; 214 215export default class HWPrintExtension extends PrintExtensionAbility { 216 onRequestPrinterCapability(printerId: number): print.PrinterCapability { 217 console.log('onRequestPrinterCapability enter'); 218 // ... 219 let tmp : print.PrinterCapability = { 220 colorMode : 1, 221 duplexMode : 1, 222 pageSize : [] 223 }; 224 return tmp; 225 } 226} 227``` 228 229## onRequestPreview 230 231onRequestPreview(jobInfo: print.PrintJob): string 232 233请求预览时调用,并将结果返回到Print SA。 234 235**系统能力:** SystemCapability.Print.PrintFramework 236 237**参数:** 238| **参数名** | **类型** | **必填** | **说明** | 239| -------- | -------- | -------- | -------- | 240| jobInfo | print.PrintJob | 是 | 表示打印任务信息 | 241 242**返回值:** 243| **类型** | **说明** | 244| -------- | -------- | 245| string | 返回的预览结果 | 246 247**示例:** 248 249```ts 250import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 251import print from '@ohos.print'; 252 253export default class HWPrintExtension extends PrintExtensionAbility { 254 onRequestPreview(jobInfo: print.PrintJob): string { 255 console.log('onRequestPreview enter'); 256 // ... 257 let tmp : string = ''; 258 return tmp; 259 } 260} 261``` 262 263## onDestroy 264 265onDestroy(): void 266 267结束打印扩展时调用。 268 269**系统能力:** SystemCapability.Print.PrintFramework 270 271**示例:** 272 273```ts 274import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 275 276export default class HWPrintExtension extends PrintExtensionAbility { 277 onDestroy(): void { 278 console.log('onDestroy'); 279 } 280} 281```