1# @ohos.app.ability.PrintExtensionAbility (Print Extension Ability) 2 3The **PrintExtensionAbility** module provides operation APIs of the print extension ability. 4 5> **NOTE** 6> 7> The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8> 9> The APIs provided by this module are system APIs. 10> 11> The APIs of this module can be used only in the stage model. 12 13## Modules to Import 14 15```ts 16import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 17``` 18 19## onCreate 20 21onCreate(want: Want): void 22 23Called to initialize the print extension when the system connects to the extension for the first time. 24 25**System capability**: SystemCapability.Print.PrintFramework 26 27**Parameters** 28| **Name**| **Type**| **Mandatory**| **Description**| 29| -------- | -------- | -------- | -------- | 30| want | Want | Yes| Parameters required for invoking the print page.| 31 32**Example** 33 34```ts 35import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 36import Want from '@ohos.app.ability.Want'; 37 38export default class HWPrintExtension extends PrintExtensionAbility { 39 onCreate(want: Want): void { 40 console.log('onCreate'); 41 // ... 42 } 43} 44``` 45 46## onStartDiscoverPrinter 47 48onStartDiscoverPrinter(): void 49 50Called when an attempt to discover printers starts. 51 52**System capability**: SystemCapability.Print.PrintFramework 53 54**Example** 55 56```ts 57import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 58 59export default class HWPrintExtension extends PrintExtensionAbility { 60 onStartDiscoverPrinter(): void { 61 console.log('onStartDiscoverPrinter enter'); 62 // ... 63 } 64} 65``` 66 67## onStopDiscoverPrinter 68 69onStopDiscoverPrinter(): void 70 71Called when the attempt to discover printers stops. 72 73**System capability**: SystemCapability.Print.PrintFramework 74 75**Example** 76 77```ts 78import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 79 80export default class HWPrintExtension extends PrintExtensionAbility { 81 onStopDiscoverPrinter(): void { 82 console.log('onStopDiscoverPrinter enter'); 83 // ... 84 } 85} 86``` 87 88## onConnectPrinter 89 90onConnectPrinter(printerId: number): void 91 92Called when the device connects to the specified printer. 93 94**System capability**: SystemCapability.Print.PrintFramework 95 96**Parameters** 97| **Name**| **Type**| **Mandatory**| **Description**| 98| -------- | -------- | -------- | -------- | 99| printerId | number | Yes| Printer ID.| 100 101**Example** 102 103```ts 104import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 105 106export default class HWPrintExtension extends PrintExtensionAbility { 107 onConnectPrinter(printerId: number): void { 108 console.log('onConnectPrinter enter'); 109 // ... 110 } 111} 112``` 113 114## onDisconnectPrinter 115 116onDisconnectPrinter(printerId: number): void 117 118Called when the device disconnects from the specified printer. 119 120**System capability**: SystemCapability.Print.PrintFramework 121 122**Parameters** 123| **Name**| **Type**| **Mandatory**| **Description**| 124| -------- | -------- | -------- | -------- | 125| printerId | number | Yes| Printer ID.| 126 127**Example** 128 129```ts 130import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 131 132export default class HWPrintExtension extends PrintExtensionAbility { 133 onDisconnectPrinter(printerId: number): void { 134 console.log('onDisconnectPrinter enter'); 135 // ... 136 } 137} 138``` 139 140## onStartPrintJob 141 142onStartPrintJob(jobInfo: print.PrintJob): void 143 144Called when the specified print job starts. 145 146**System capability**: SystemCapability.Print.PrintFramework 147 148**Parameters** 149| **Name**| **Type**| **Mandatory**| **Description**| 150| -------- | -------- | -------- | -------- | 151| jobInfo | print.PrintJob | Yes| Information about the print job.| 152 153**Example** 154 155```ts 156import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 157import print from '@ohos.print'; 158 159export default class HWPrintExtension extends PrintExtensionAbility { 160 onStartPrintJob(jobInfo: print.PrintJob): void { 161 console.log('onStartPrintJob, jobId is: ' + jobInfo.jobId); 162 // ... 163 } 164} 165``` 166 167## onCancelPrintJob 168 169onCancelPrintJob(jobInfo: print.PrintJob): void 170 171Called when the specified print job is canceled. 172 173**System capability**: SystemCapability.Print.PrintFramework 174 175**Parameters** 176| **Name**| **Type**| **Mandatory**| **Description**| 177| -------- | -------- | -------- | -------- | 178| jobInfo | print.PrintJob | Yes| Information about the print job.| 179 180**Example** 181 182```ts 183import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 184import print from '@ohos.print'; 185 186export default class HWPrintExtension extends PrintExtensionAbility { 187 onCancelPrintJob(jobInfo: print.PrintJob): void { 188 console.log('onCancelPrintJob, jobId is: ' + jobInfo.jobId); 189 // ... 190 } 191} 192``` 193 194## onRequestPrinterCapability 195 196onRequestPrinterCapability(printerId: number): print.PrinterCapability 197 198Called when a request is sent to check the capability of the specified printer. 199 200**System capability**: SystemCapability.Print.PrintFramework 201 202**Parameters** 203| **Name**| **Type**| **Mandatory**| **Description**| 204| -------- | -------- | -------- | -------- | 205| printerId | number | Yes| Printer ID.| 206 207**Return value** 208| **Type**| **Description**| 209| -------- | -------- | 210| print.PrinterCapability | Capability of the printer.| 211 212**Example** 213 214```ts 215import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 216import print from '@ohos.print'; 217 218export default class HWPrintExtension extends PrintExtensionAbility { 219 onRequestPrinterCapability(printerId: number): print.PrinterCapability { 220 console.log('onRequestPrinterCapability enter'); 221 // ... 222 let tmp : print.PrinterCapability = { 223 colorMode : 1, 224 duplexMode : 1, 225 pageSize : [] 226 }; 227 return tmp; 228 } 229} 230``` 231 232## onRequestPreview 233 234onRequestPreview(jobInfo: print.PrintJob): string 235 236Called when a print preview request is sent. The result is returned to the print SA. 237 238**System capability**: SystemCapability.Print.PrintFramework 239 240**Parameters** 241| **Name**| **Type**| **Mandatory**| **Description**| 242| -------- | -------- | -------- | -------- | 243| jobInfo | print.PrintJob | Yes| Information about the print job.| 244 245**Return value** 246| **Type**| **Description**| 247| -------- | -------- | 248| string | Preview result.| 249 250**Example** 251 252```ts 253import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 254import print from '@ohos.print'; 255 256export default class HWPrintExtension extends PrintExtensionAbility { 257 onRequestPreview(jobInfo: print.PrintJob): string { 258 console.log('onRequestPreview enter'); 259 // ... 260 let tmp : string = ''; 261 return tmp; 262 } 263} 264``` 265 266## onDestroy 267 268onDestroy(): void 269 270Called when the print extension ability is stopped. 271 272**System capability**: SystemCapability.Print.PrintFramework 273 274**Example** 275 276```ts 277import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 278 279export default class HWPrintExtension extends PrintExtensionAbility { 280 onDestroy(): void { 281 console.log('onDestroy'); 282 } 283} 284``` 285