1# @ohos.app.ability.PrintExtensionAbility (打印扩展能力)(系统接口) 2 3该模块为打印扩展能力的操作API,提供调用打印扩展能力的接口。 4 5> **说明:** 6> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 7> 当前界面仅包含本模块的系统接口,其他公开接口参见[@ohos.app.ability.PrintExtensionAbility (打印扩展能力)](./js-apis-app-ability-PrintExtensionAbility.md)。 8> 本模块接口仅可在Stage模型下使用。 9 10## 导入模块 11 12```ts 13import PrintExtensionAbility from '@ohos.app.ability.PrintExtensionAbility'; 14``` 15 16## onStartPrintJob 17 18onStartPrintJob(jobInfo: print.PrintJob): void 19 20开始打印任务时调用。 21 22**系统能力:** SystemCapability.Print.PrintFramework 23 24**参数:** 25| **参数名** | **类型** | **必填** | **说明** | 26| -------- | -------- | -------- | -------- | 27| jobInfo | print.PrintJob | 是 | 表示打印任务的信息 | 28 29**错误码:** 30 31以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 32 33| 错误码ID | 错误信息 | 34| -------- | ------------------------------------------- | 35| 202 | not system application | 36 37**示例:** 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## onCancelPrintJob 52 53onCancelPrintJob(jobInfo: print.PrintJob): void 54 55移除已开始的打印任务时调用。 56 57**系统能力:** SystemCapability.Print.PrintFramework 58 59**参数:** 60| **参数名** | **类型** | **必填** | **说明** | 61| -------- | -------- | -------- | -------- | 62| jobInfo | print.PrintJob | 是 | 表示打印任务的信息 | 63 64**错误码:** 65 66以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 67 68| 错误码ID | 错误信息 | 69| -------- | ------------------------------------------- | 70| 202 | not system application | 71 72**示例:** 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## onRequestPrinterCapability 87 88onRequestPrinterCapability(printerId: number): print.PrinterCapability 89 90请求打印机能力时调用。 91 92**系统能力:** SystemCapability.Print.PrintFramework 93 94**参数:** 95| **参数名** | **类型** | **必填** | **说明** | 96| -------- | -------- | -------- | -------- | 97| printerId | number | 是 | 表示打印机ID | 98 99**返回值:** 100| **类型** | **说明** | 101| -------- | -------- | 102| print.PrinterCapability | 表示打印能力 | 103 104**错误码:** 105 106以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 107 108| 错误码ID | 错误信息 | 109| -------- | ------------------------------------------- | 110| 202 | not system application | 111 112**示例:** 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## onRequestPreview 133 134onRequestPreview(jobInfo: print.PrintJob): string 135 136请求预览时调用,并将结果返回到Print SA。 137 138**系统能力:** SystemCapability.Print.PrintFramework 139 140**参数:** 141| **参数名** | **类型** | **必填** | **说明** | 142| -------- | -------- | -------- | -------- | 143| jobInfo | print.PrintJob | 是 | 表示打印任务信息 | 144 145**返回值:** 146| **类型** | **说明** | 147| -------- | -------- | 148| string | 返回的预览结果 | 149 150**错误码:** 151 152以下错误码的详细介绍请参见[打印服务错误码](./errorcode-print.md)。 153 154| 错误码ID | 错误信息 | 155| -------- | ------------------------------------------- | 156| 202 | not system application | 157 158**示例:** 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