• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.ability.PrintExtensionAbility (Print Extension Ability) (System API)
2
3<!--Kit: Basic Services Kit-->
4<!--Subsystem: Print-->
5<!--Owner: @guoshengbang-->
6<!--Designer: @gcw_4D6e0BBd-->
7<!--Tester: @guoshengbang-->
8<!--Adviser: @RayShih-->
9
10The **PrintExtensionAbility** module provides operation APIs of the print extension ability.
11
12> **NOTE**
13> 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.
14> 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).
15> The APIs of this module can be used only in the stage model.
16
17## Modules to Import
18
19```ts
20import { PrintExtensionAbility } from '@kit.BasicServicesKit';
21```
22
23## PrintExtensionAbility.onStartPrintJob
24
25onStartPrintJob(jobInfo: print.PrintJob): void
26
27Called when the specified print job starts.
28
29**System capability**: SystemCapability.Print.PrintFramework
30
31**Parameters**
32| **Name**| **Type**| **Mandatory**| **Description**|
33| -------- | -------- | -------- | -------- |
34| jobInfo | [print.PrintJob](./js-apis-print-sys.md#printjob) | Yes| Information about the print job.|
35
36**Error codes**
37
38For details about the error codes, see [Error Codes of the Print Service](./errorcode-print.md).
39
40| ID| Error Message                                   |
41| -------- | ------------------------------------------- |
42| 202 | not system application |
43
44**Example**
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
62Called when the specified print job is canceled.
63
64**System capability**: SystemCapability.Print.PrintFramework
65
66**Parameters**
67| **Name**| **Type**| **Mandatory**| **Description**|
68| -------- | -------- | -------- | -------- |
69| jobInfo | [print.PrintJob](./js-apis-print-sys.md#printjob) | Yes| Information about the print job.|
70
71**Error codes**
72
73For details about the error codes, see [Error Codes of the Print Service](./errorcode-print.md).
74
75| ID| Error Message                                   |
76| -------- | ------------------------------------------- |
77| 202 | not system application |
78
79**Example**
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
97Called when a request is sent to check the capability of the specified printer.
98
99**System capability**: SystemCapability.Print.PrintFramework
100
101**Parameters**
102| **Name**| **Type**| **Mandatory**| **Description**|
103| -------- | -------- | -------- | -------- |
104| printerId | number | Yes| Printer ID.|
105
106**Return value**
107| **Type**| **Description**|
108| -------- | -------- |
109| print.PrinterCapability | Capability of the printer.|
110
111**Error codes**
112
113For details about the error codes, see [Error Codes of the Print Service](./errorcode-print.md).
114
115| ID| Error Message                                   |
116| -------- | ------------------------------------------- |
117| 202 | not system application |
118
119**Example**
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
143Called when a print preview request is sent. The result is returned to the print SA.
144
145**System capability**: SystemCapability.Print.PrintFramework
146
147**Parameters**
148| **Name**| **Type**| **Mandatory**| **Description**|
149| -------- | -------- | -------- | -------- |
150| jobInfo | [print.PrintJob](./js-apis-print-sys.md#printjob) | Yes| Information about the print job.|
151
152**Return value**
153| **Type**| **Description**|
154| -------- | -------- |
155| string | Preview result.|
156
157**Error codes**
158
159For details about the error codes, see [Error Codes of the Print Service](./errorcode-print.md).
160
161| ID| Error Message                                   |
162| -------- | ------------------------------------------- |
163| 202 | not system application |
164
165**Example**
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