1# @ohos.app.ability.PrintExtensionAbility (Print Extension Ability) (System API) 2 3The **PrintExtensionAbility** module provides operation APIs of the print extension ability. 4 5> **NOTE** 6> 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. 7> This topic describes only system APIs provided by the module. For details about its public APIs, see [@ohos.app.ability.PrintExtensionAbility (Print Extension Ability)](./js-apis-app-ability-PrintExtensionAbility.md). 8> The APIs of this module can be used only in the stage model. 9 10## Modules to Import 11 12```ts 13import { PrintExtensionAbility } from '@kit.BasicServicesKit'; 14``` 15 16## PrintExtensionAbility.onStartPrintJob 17 18onStartPrintJob(jobInfo: print.PrintJob): void 19 20Called when the specified print job starts. 21 22**System capability**: SystemCapability.Print.PrintFramework 23 24**Parameters** 25| **Name**| **Type**| **Mandatory**| **Description**| 26| -------- | -------- | -------- | -------- | 27| jobInfo | print.PrintJob | Yes| Information about the print job.| 28 29**Error codes** 30 31For details about the error codes, see [Error Codes of the Print Service](./errorcode-print.md). 32 33| ID| Error Message | 34| -------- | ------------------------------------------- | 35| 202 | not system application | 36 37**Example** 38 39```ts 40import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 41import print from '@ohos.print'; 42 43export default class HWPrintExtension extends PrintExtensionAbility { 44 onStartPrintJob(jobInfo: print.PrintJob): void { 45 console.log('onStartPrintJob, jobId is: ' + jobInfo.jobId); 46 // ... 47 } 48} 49``` 50 51## PrintExtensionAbility.onCancelPrintJob 52 53onCancelPrintJob(jobInfo: print.PrintJob): void 54 55Called when the specified print job is canceled. 56 57**System capability**: SystemCapability.Print.PrintFramework 58 59**Parameters** 60| **Name**| **Type**| **Mandatory**| **Description**| 61| -------- | -------- | -------- | -------- | 62| jobInfo | print.PrintJob | Yes| Information about the print job.| 63 64**Error codes** 65 66For details about the error codes, see [Error Codes of the Print Service](./errorcode-print.md). 67 68| ID| Error Message | 69| -------- | ------------------------------------------- | 70| 202 | not system application | 71 72**Example** 73 74```ts 75import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 76import print from '@ohos.print'; 77 78export default class HWPrintExtension extends PrintExtensionAbility { 79 onCancelPrintJob(jobInfo: print.PrintJob): void { 80 console.log('onCancelPrintJob, jobId is: ' + jobInfo.jobId); 81 // ... 82 } 83} 84``` 85 86## PrintExtensionAbility.onRequestPrinterCapability 87 88onRequestPrinterCapability(printerId: number): print.PrinterCapability 89 90Called when a request is sent to check the capability of the specified printer. 91 92**System capability**: SystemCapability.Print.PrintFramework 93 94**Parameters** 95| **Name**| **Type**| **Mandatory**| **Description**| 96| -------- | -------- | -------- | -------- | 97| printerId | number | Yes| Printer ID.| 98 99**Return value** 100| **Type**| **Description**| 101| -------- | -------- | 102| print.PrinterCapability | Capability of the printer.| 103 104**Error codes** 105 106For details about the error codes, see [Error Codes of the Print Service](./errorcode-print.md). 107 108| ID| Error Message | 109| -------- | ------------------------------------------- | 110| 202 | not system application | 111 112**Example** 113 114```ts 115import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 116import print from '@ohos.print'; 117 118export default class HWPrintExtension extends PrintExtensionAbility { 119 onRequestPrinterCapability(printerId: number): print.PrinterCapability { 120 console.log('onRequestPrinterCapability enter'); 121 // ... 122 let tmp : print.PrinterCapability = { 123 colorMode : 1, 124 duplexMode : 1, 125 pageSize : [] 126 }; 127 return tmp; 128 } 129} 130``` 131 132## PrintExtensionAbility.onRequestPreview 133 134onRequestPreview(jobInfo: print.PrintJob): string 135 136Called when a print preview request is sent. The result is returned to the print SA. 137 138**System capability**: SystemCapability.Print.PrintFramework 139 140**Parameters** 141| **Name**| **Type**| **Mandatory**| **Description**| 142| -------- | -------- | -------- | -------- | 143| jobInfo | print.PrintJob | Yes| Information about the print job.| 144 145**Return value** 146| **Type**| **Description**| 147| -------- | -------- | 148| string | Preview result.| 149 150**Error codes** 151 152For details about the error codes, see [Error Codes of the Print Service](./errorcode-print.md). 153 154| ID| Error Message | 155| -------- | ------------------------------------------- | 156| 202 | not system application | 157 158**Example** 159 160```ts 161import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 162import print from '@ohos.print'; 163 164export default class HWPrintExtension extends PrintExtensionAbility { 165 onRequestPreview(jobInfo: print.PrintJob): string { 166 console.log('onRequestPreview enter'); 167 // ... 168 let tmp : string = ''; 169 return tmp; 170 } 171} 172``` 173