• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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