@progress/kendo-angular-pdf-export 24.2.2-develop.9 → 25.0.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,8 +16,8 @@ const packageMetadata = {
16
16
  productName: 'Kendo UI for Angular',
17
17
  productCode: 'KENDOUIANGULAR',
18
18
  productCodes: ['KENDOUIANGULAR'],
19
- publishDate: 1783411128,
20
- version: '24.2.2-develop.9',
19
+ publishDate: 1783679854,
20
+ version: '25.0.0-develop.1',
21
21
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
22
22
  };
23
23
 
@@ -38,10 +38,10 @@ class PDFExportTemplateDirective {
38
38
  constructor(templateRef) {
39
39
  this.templateRef = templateRef;
40
40
  }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
42
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: PDFExportTemplateDirective, isStandalone: true, selector: "[kendoPDFTemplate]", ngImport: i0 });
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
42
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PDFExportTemplateDirective, isStandalone: true, selector: "[kendoPDFTemplate]", ngImport: i0 });
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportTemplateDirective, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportTemplateDirective, decorators: [{
45
45
  type: Directive,
46
46
  args: [{
47
47
  selector: '[kendoPDFTemplate]',
@@ -106,10 +106,10 @@ class PDFExportMarginComponent {
106
106
  }
107
107
  return options;
108
108
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportMarginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PDFExportMarginComponent, isStandalone: true, selector: "kendo-pdf-export-margin", inputs: { left: "left", top: "top", right: "right", bottom: "bottom" }, ngImport: i0, template: ``, isInline: true });
109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportMarginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: PDFExportMarginComponent, isStandalone: true, selector: "kendo-pdf-export-margin", inputs: { left: "left", top: "top", right: "right", bottom: "bottom" }, ngImport: i0, template: ``, isInline: true });
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportMarginComponent, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportMarginComponent, decorators: [{
113
113
  type: Component,
114
114
  args: [{
115
115
  selector: 'kendo-pdf-export-margin',
@@ -384,10 +384,10 @@ class PDFExportComponent {
384
384
  saveDataUri(dataUri, fileName, options) {
385
385
  saveAs(dataUri, fileName, options);
386
386
  }
387
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
388
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PDFExportComponent, isStandalone: true, selector: "kendo-pdf-export", inputs: { autoPrint: "autoPrint", author: "author", avoidLinks: "avoidLinks", forcePageBreak: "forcePageBreak", keepTogether: "keepTogether", creator: "creator", date: "date", imageResolution: "imageResolution", fileName: "fileName", forceProxy: "forceProxy", keywords: "keywords", landscape: "landscape", margin: "margin", paperSize: "paperSize", repeatHeaders: "repeatHeaders", scale: "scale", proxyData: "proxyData", proxyURL: "proxyURL", proxyTarget: "proxyTarget", producer: "producer", subject: "subject", title: "title" }, queries: [{ propertyName: "pageTemplateDirective", first: true, predicate: PDFExportTemplateDirective, descendants: true }, { propertyName: "marginComponent", first: true, predicate: PDFExportMarginComponent, descendants: true }], ngImport: i0, template: `<div><ng-content></ng-content></div>`, isInline: true });
387
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
388
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: PDFExportComponent, isStandalone: true, selector: "kendo-pdf-export", inputs: { autoPrint: "autoPrint", author: "author", avoidLinks: "avoidLinks", forcePageBreak: "forcePageBreak", keepTogether: "keepTogether", creator: "creator", date: "date", imageResolution: "imageResolution", fileName: "fileName", forceProxy: "forceProxy", keywords: "keywords", landscape: "landscape", margin: "margin", paperSize: "paperSize", repeatHeaders: "repeatHeaders", scale: "scale", proxyData: "proxyData", proxyURL: "proxyURL", proxyTarget: "proxyTarget", producer: "producer", subject: "subject", title: "title" }, queries: [{ propertyName: "pageTemplateDirective", first: true, predicate: PDFExportTemplateDirective, descendants: true }, { propertyName: "marginComponent", first: true, predicate: PDFExportMarginComponent, descendants: true }], ngImport: i0, template: `<div><ng-content></ng-content></div>`, isInline: true });
389
389
  }
390
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportComponent, decorators: [{
390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportComponent, decorators: [{
391
391
  type: Component,
392
392
  args: [{
393
393
  selector: 'kendo-pdf-export',
@@ -489,11 +489,11 @@ const KENDO_PDFEXPORT = [
489
489
  * ```
490
490
  */
491
491
  class PDFExportModule {
492
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
493
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: PDFExportModule, imports: [PDFExportComponent, PDFExportMarginComponent, PDFExportTemplateDirective], exports: [PDFExportComponent, PDFExportMarginComponent, PDFExportTemplateDirective] });
494
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportModule });
492
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
493
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: PDFExportModule, imports: [PDFExportComponent, PDFExportMarginComponent, PDFExportTemplateDirective], exports: [PDFExportComponent, PDFExportMarginComponent, PDFExportTemplateDirective] });
494
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportModule });
495
495
  }
496
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PDFExportModule, decorators: [{
496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PDFExportModule, decorators: [{
497
497
  type: NgModule,
498
498
  args: [{
499
499
  imports: [...KENDO_PDFEXPORT],
package/index.d.ts CHANGED
@@ -2,9 +2,303 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- export { PDFExportComponent } from './pdf-export.component';
6
- export { PDFExportModule } from './pdf-export.module';
7
- export { PDFExportMarginComponent } from './pdf-export-margin.component';
8
- export { PDFExportTemplateDirective } from './pdf-export-template.directive';
9
- export { compileTemplate } from './compile-template';
10
- export * from './directives';
5
+ import * as i0 from '@angular/core';
6
+ import { TemplateRef, ElementRef } from '@angular/core';
7
+ import { pdf, Group, DrawOptions } from '@progress/kendo-drawing';
8
+ import { SaveOptions } from '@progress/kendo-file-saver';
9
+
10
+ /**
11
+ * Represents the directive for defining a custom page template in the PDF Export component ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/multi-page-content#page-templates)).
12
+ *
13
+ * @example
14
+ * ```html
15
+ * <kendo-pdf-export paperSize="A4" margin="2cm">
16
+ * <ng-template kendoPDFTemplate let-pageNum="pageNum">
17
+ * <div>Page {{ pageNum }}</div>
18
+ * </ng-template>
19
+ * </kendo-pdf-export>
20
+ * ```
21
+ */
22
+ declare class PDFExportTemplateDirective {
23
+ templateRef: TemplateRef<any>;
24
+ constructor(templateRef: TemplateRef<any>);
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<PDFExportTemplateDirective, [{ optional: true; }]>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PDFExportTemplateDirective, "[kendoPDFTemplate]", never, {}, {}, never, never, true, never>;
27
+ }
28
+
29
+ /**
30
+ * Represents the Kendo UI PDFMargin component for Angular.
31
+ *
32
+ * @example
33
+ * ```html
34
+ * <kendo-pdf-export paperSize="A4">
35
+ * <kendo-pdf-export-margin top="2cm" left="1cm" right="1cm" bottom="2cm">
36
+ * </kendo-pdf-export-margin>
37
+ * </kendo-pdf-export>
38
+ * ```
39
+ */
40
+ declare class PDFExportMarginComponent implements pdf.PageMargin {
41
+ /**
42
+ * Sets the left margin of the PDF page. Accepts a `number` or `string` value.
43
+ *
44
+ * The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"`. Numbers use points (`"pt"`).
45
+ * @default "pt"
46
+ */
47
+ left?: number | string;
48
+ /**
49
+ * Sets the top margin of the PDF page. Accepts a `number` or `string` value.
50
+ *
51
+ * The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"`. Numbers use points (`"pt"`).
52
+ * @default "pt"
53
+ */
54
+ top?: number | string;
55
+ /**
56
+ * Sets the right margin of the PDF page. Accepts a `number` or `string` value.
57
+ *
58
+ * The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"`. Numbers use points (`"pt"`).
59
+ * @default "pt"
60
+ */
61
+ right?: number | string;
62
+ /**
63
+ * Sets the bottom margin of the PDF page. Accepts a `number` or `string` value.
64
+ *
65
+ * The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"`. Numbers use points (`"pt"`).
66
+ * @default "pt"
67
+ */
68
+ bottom?: number | string;
69
+ /**
70
+ * @hidden
71
+ */
72
+ get options(): any;
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<PDFExportMarginComponent, never>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<PDFExportMarginComponent, "kendo-pdf-export-margin", never, { "left": { "alias": "left"; "required": false; }; "top": { "alias": "top"; "required": false; }; "right": { "alias": "right"; "required": false; }; "bottom": { "alias": "bottom"; "required": false; }; }, {}, never, never, true, never>;
75
+ }
76
+
77
+ /**
78
+ * @hidden
79
+ *
80
+ * Re-export PaperSize to work around a bug in the API reference generator.
81
+ *
82
+ * The type will be linked to the kendo-drawing documentation
83
+ * by using the slug provided in api-type-links.json
84
+ */
85
+ type PaperSize = pdf.PaperSize;
86
+ /**
87
+ * Represents the [Kendo UI PDF Export component for Angular](https://www.telerik.com/kendo-angular-ui/components/pdf-export).
88
+ *
89
+ * @example
90
+ * ```html
91
+ * <button kendoButton (click)="pdf.saveAs('document.pdf')">
92
+ * Save As PDF...
93
+ * </button>
94
+ *
95
+ * <kendo-pdf-export #pdf paperSize="A4" margin="2cm">
96
+ * Content goes here
97
+ * </kendo-pdf-export>
98
+ * ```
99
+ *
100
+ * @remarks
101
+ * Supported children components are: {@link PDFExportMarginComponent}
102
+ */
103
+ declare class PDFExportComponent implements pdf.PDFOptions {
104
+ protected element: ElementRef;
105
+ /**
106
+ * If `true`, opens the Print dialog immediately after the PDF loads ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/auto-print)).
107
+ * Requires `@progress/kendo-drawing` v1.9.0 or later.
108
+ * @default false
109
+ */
110
+ autoPrint?: boolean;
111
+ /**
112
+ * Sets the author metadata for the PDF document.
113
+ */
114
+ author: string;
115
+ /**
116
+ * Specifies whether actual hyperlinks will be produced in the exported PDF file ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/disabling-hyperlinks)). You can also set a CSS selector to ignore matching links.
117
+ */
118
+ avoidLinks: boolean | string;
119
+ /**
120
+ * Sets a CSS selector for elements that cause page breaks
121
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/multi-page-content#manual-page-breaking)).
122
+ */
123
+ forcePageBreak: string;
124
+ /**
125
+ * Sets a CSS selector for elements that should not split across pages
126
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/multi-page-content#preventing-page-breaking-in-elements)).
127
+ */
128
+ keepTogether: string;
129
+ /**
130
+ * Sets the creator metadata for the PDF document.
131
+ * @default "Kendo UI PDF Generator"
132
+ */
133
+ creator: string;
134
+ /**
135
+ * Sets the creation date for the PDF document. Defaults to `new Date()`.
136
+ * @default new Date()
137
+ */
138
+ date: Date;
139
+ /**
140
+ * Sets the image resolution in the exported PDF ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/embedded-images)). By default, images use full resolution.
141
+ */
142
+ imageResolution: number;
143
+ /**
144
+ * Sets the name of the exported PDF file.
145
+ * @default "export.pdf"
146
+ */
147
+ fileName: string;
148
+ /**
149
+ * If `true`, forwards content to `proxyURL` even if the browser supports local file saving.
150
+ */
151
+ forceProxy: boolean;
152
+ /**
153
+ * Sets the keywords metadata for the PDF document.
154
+ */
155
+ keywords: string;
156
+ /**
157
+ * If `true`, sets the page orientation to landscape. The default page orientation is portrait.
158
+ * @default false
159
+ */
160
+ landscape: boolean;
161
+ /**
162
+ * Sets the page margins. Numbers use points (`"pt"`).
163
+ */
164
+ margin: string | number | pdf.PageMargin;
165
+ /**
166
+ * Sets the paper size for the PDF document. Defaults to `"auto"`, which means the content determines the size of the document.
167
+ * The size of the content in pixels matches the size of the output in points (1 pixel = 1/72 inch).
168
+ *
169
+ * If set, the content splits across pages, and allows you to use `repeatHeaders`, `scale`, and a template.
170
+ *
171
+ * The value can be a `PaperSize`, an array of two numbers (width and height in points), or an array of two strings (width and height in units: `"mm"`, `"cm"`, `"in"`, or `"pt"`).
172
+ * @default "auto"
173
+ */
174
+ paperSize: PaperSize;
175
+ /**
176
+ * If `true`, repeats the `<thead>` elements of tables on each page. This helps keep table headers visible on every page
177
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/repeated-table-headers)).
178
+ */
179
+ repeatHeaders: boolean;
180
+ /**
181
+ * Sets a scale factor for the PDF output. Use this to make the PDF content smaller or larger
182
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/scaling-of-content)).
183
+ *
184
+ * @default 1
185
+ */
186
+ scale: number;
187
+ /**
188
+ * Sets a key/value dictionary of form values sent to the proxy. Use this to send extra data, like Anti-Forgery tokens.
189
+ */
190
+ proxyData?: {
191
+ [key: string]: string;
192
+ };
193
+ /**
194
+ * Sets the server-side proxy URL for streaming the file to the user. You need to implement a proxy if
195
+ * the browser is not capable of saving files locally.
196
+ * The proxy returns the decoded file with the `"Content-Disposition"` header set to `attachment; filename="<fileName.pdf>"`.
197
+ *
198
+ * In the request body, the proxy receives a POST request with the specific parameters
199
+ * ([see example](https://www.telerik.com/kendo-angular-ui/components/file-saver/server-proxy#implementations)).
200
+ */
201
+ proxyURL: string;
202
+ /**
203
+ * Sets where to display the document returned from the proxy. Use `"_self"` to display in the same window.
204
+ * To display the document in a new window or iframe,
205
+ * the proxy must have the `"Content-Disposition"` header set to `inline; filename="<fileName.pdf>"`.
206
+ * @default "_self"
207
+ */
208
+ proxyTarget: string;
209
+ /**
210
+ * Sets the producer metadata for the PDF document.
211
+ */
212
+ producer: string;
213
+ /**
214
+ * Sets the subject metadata for the PDF document.
215
+ */
216
+ subject: string;
217
+ /**
218
+ * Sets the title metadata for the PDF document.
219
+ */
220
+ title: string;
221
+ /**
222
+ * @hidden
223
+ */
224
+ pageTemplateDirective: PDFExportTemplateDirective;
225
+ /**
226
+ * @hidden
227
+ */
228
+ marginComponent: PDFExportMarginComponent;
229
+ protected get drawMargin(): any;
230
+ protected pageTemplate: any;
231
+ constructor(element: ElementRef);
232
+ /**
233
+ * Saves the content as a PDF file with the specified name.
234
+ * @param fileName - The name of the exported file.
235
+ */
236
+ saveAs(fileName?: string): void;
237
+ /**
238
+ * Exports the content as a `Group` for further processing.
239
+ *
240
+ * @return The root group of the exported scene.
241
+ */
242
+ export(): Promise<Group>;
243
+ protected save(element: HTMLElement, fileName: string): void;
244
+ protected exportElement(element: HTMLElement): Promise<Group>;
245
+ protected cleanup(): void;
246
+ protected drawOptions(): DrawOptions;
247
+ protected pdfOptions(): any;
248
+ protected saveOptions(): SaveOptions;
249
+ protected drawElement(element: HTMLElement, options: DrawOptions): Promise<Group>;
250
+ protected exportGroup(group: Group, options: pdf.PDFOptions): Promise<string>;
251
+ private saveDataUri;
252
+ static ɵfac: i0.ɵɵFactoryDeclaration<PDFExportComponent, never>;
253
+ static ɵcmp: i0.ɵɵComponentDeclaration<PDFExportComponent, "kendo-pdf-export", never, { "autoPrint": { "alias": "autoPrint"; "required": false; }; "author": { "alias": "author"; "required": false; }; "avoidLinks": { "alias": "avoidLinks"; "required": false; }; "forcePageBreak": { "alias": "forcePageBreak"; "required": false; }; "keepTogether": { "alias": "keepTogether"; "required": false; }; "creator": { "alias": "creator"; "required": false; }; "date": { "alias": "date"; "required": false; }; "imageResolution": { "alias": "imageResolution"; "required": false; }; "fileName": { "alias": "fileName"; "required": false; }; "forceProxy": { "alias": "forceProxy"; "required": false; }; "keywords": { "alias": "keywords"; "required": false; }; "landscape": { "alias": "landscape"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "paperSize": { "alias": "paperSize"; "required": false; }; "repeatHeaders": { "alias": "repeatHeaders"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; "proxyData": { "alias": "proxyData"; "required": false; }; "proxyURL": { "alias": "proxyURL"; "required": false; }; "proxyTarget": { "alias": "proxyTarget"; "required": false; }; "producer": { "alias": "producer"; "required": false; }; "subject": { "alias": "subject"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, ["pageTemplateDirective", "marginComponent"], ["*"], true, never>;
254
+ }
255
+
256
+ /**
257
+ * Represents the [`NgModule`](link:site.data.urls.angular['ngmoduleapi']) definition for the PDF Export component.
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * import { NgModule } from '@angular/core';
262
+ * import { BrowserModule } from '@angular/platform-browser';
263
+ * import { PDFExportModule } from '@progress/kendo-angular-pdf-export';
264
+ * import { AppComponent } from './app.component';
265
+ *
266
+ * @NgModule({
267
+ * declarations: [AppComponent],
268
+ * imports: [BrowserModule, PDFExportModule],
269
+ * bootstrap: [AppComponent]
270
+ * })
271
+ * export class AppModule {}
272
+ * ```
273
+ */
274
+ declare class PDFExportModule {
275
+ static ɵfac: i0.ɵɵFactoryDeclaration<PDFExportModule, never>;
276
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PDFExportModule, never, [typeof PDFExportComponent, typeof PDFExportMarginComponent, typeof PDFExportTemplateDirective], [typeof PDFExportComponent, typeof PDFExportMarginComponent, typeof PDFExportTemplateDirective]>;
277
+ static ɵinj: i0.ɵɵInjectorDeclaration<PDFExportModule>;
278
+ }
279
+
280
+ /**
281
+ * @hidden
282
+ */
283
+ declare const compileTemplate: (templateRef: TemplateRef<any>) => any;
284
+
285
+ /**
286
+ * Use the `KENDO_PDFEXPORT` utility array to add all `@progress/kendo-angular-pdf-export`-related components and directives to a standalone Angular component.
287
+ *
288
+ * @example
289
+ * ```typescript
290
+ * import { Component } from '@angular/core';
291
+ * import { KENDO_PDFEXPORT } from "@progress/kendo-angular-pdf-export";
292
+ *
293
+ * @Component({
294
+ * standalone: true,
295
+ * imports: [KENDO_PDFEXPORT],
296
+ * selector: 'my-app',
297
+ * template: `<kendo-pdf-export></kendo-pdf-export>`
298
+ * })
299
+ * export class AppComponent {}
300
+ * ```
301
+ */
302
+ declare const KENDO_PDFEXPORT: readonly [typeof PDFExportComponent, typeof PDFExportMarginComponent, typeof PDFExportTemplateDirective];
303
+
304
+ export { KENDO_PDFEXPORT, PDFExportComponent, PDFExportMarginComponent, PDFExportModule, PDFExportTemplateDirective, compileTemplate };
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1783411128,
11
- "version": "24.2.2-develop.9",
10
+ "publishDate": 1783679854,
11
+ "version": "25.0.0-develop.1",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-pdf-export",
3
- "version": "24.2.2-develop.9",
3
+ "version": "25.0.0-develop.1",
4
4
  "description": "Kendo UI for Angular PDF Export Component",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -17,23 +17,23 @@
17
17
  "package": {
18
18
  "productName": "Kendo UI for Angular",
19
19
  "productCode": "KENDOUIANGULAR",
20
- "publishDate": 1783411128,
20
+ "publishDate": 1783679854,
21
21
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
22
22
  }
23
23
  },
24
24
  "peerDependencies": {
25
- "@angular/animations": "19 - 22",
26
- "@angular/common": "19 - 22",
27
- "@angular/core": "19 - 22",
28
- "@angular/platform-browser": "19 - 22",
25
+ "@angular/animations": "20 - 22",
26
+ "@angular/common": "20 - 22",
27
+ "@angular/core": "20 - 22",
28
+ "@angular/platform-browser": "20 - 22",
29
29
  "@progress/kendo-drawing": "^1.25.0",
30
30
  "@progress/kendo-licensing": "^1.11.0",
31
- "@progress/kendo-angular-common": "24.2.2-develop.9",
31
+ "@progress/kendo-angular-common": "25.0.0-develop.1",
32
32
  "rxjs": "^6.5.3 || ^7.0.0"
33
33
  },
34
34
  "dependencies": {
35
35
  "tslib": "^2.3.1",
36
- "@progress/kendo-angular-schematics": "24.2.2-develop.9",
36
+ "@progress/kendo-angular-schematics": "25.0.0-develop.1",
37
37
  "@progress/kendo-file-saver": "^1.0.1"
38
38
  },
39
39
  "schematics": "./schematics/collection.json",
@@ -1,9 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { TemplateRef } from '@angular/core';
6
- /**
7
- * @hidden
8
- */
9
- export declare const compileTemplate: (templateRef: TemplateRef<any>) => any;
package/directives.d.ts DELETED
@@ -1,25 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { PDFExportMarginComponent } from "./pdf-export-margin.component";
6
- import { PDFExportTemplateDirective } from "./pdf-export-template.directive";
7
- import { PDFExportComponent } from "./pdf-export.component";
8
- /**
9
- * Use the `KENDO_PDFEXPORT` utility array to add all `@progress/kendo-angular-pdf-export`-related components and directives to a standalone Angular component.
10
- *
11
- * @example
12
- * ```typescript
13
- * import { Component } from '@angular/core';
14
- * import { KENDO_PDFEXPORT } from "@progress/kendo-angular-pdf-export";
15
- *
16
- * @Component({
17
- * standalone: true,
18
- * imports: [KENDO_PDFEXPORT],
19
- * selector: 'my-app',
20
- * template: `<kendo-pdf-export></kendo-pdf-export>`
21
- * })
22
- * export class AppComponent {}
23
- * ```
24
- */
25
- export declare const KENDO_PDFEXPORT: readonly [typeof PDFExportComponent, typeof PDFExportMarginComponent, typeof PDFExportTemplateDirective];
@@ -1,9 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { type PackageMetadata } from '@progress/kendo-licensing';
6
- /**
7
- * @hidden
8
- */
9
- export declare const packageMetadata: PackageMetadata;
@@ -1,53 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { pdf } from '@progress/kendo-drawing';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Represents the Kendo UI PDFMargin component for Angular.
9
- *
10
- * @example
11
- * ```html
12
- * <kendo-pdf-export paperSize="A4">
13
- * <kendo-pdf-export-margin top="2cm" left="1cm" right="1cm" bottom="2cm">
14
- * </kendo-pdf-export-margin>
15
- * </kendo-pdf-export>
16
- * ```
17
- */
18
- export declare class PDFExportMarginComponent implements pdf.PageMargin {
19
- /**
20
- * Sets the left margin of the PDF page. Accepts a `number` or `string` value.
21
- *
22
- * The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"`. Numbers use points (`"pt"`).
23
- * @default "pt"
24
- */
25
- left?: number | string;
26
- /**
27
- * Sets the top margin of the PDF page. Accepts a `number` or `string` value.
28
- *
29
- * The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"`. Numbers use points (`"pt"`).
30
- * @default "pt"
31
- */
32
- top?: number | string;
33
- /**
34
- * Sets the right margin of the PDF page. Accepts a `number` or `string` value.
35
- *
36
- * The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"`. Numbers use points (`"pt"`).
37
- * @default "pt"
38
- */
39
- right?: number | string;
40
- /**
41
- * Sets the bottom margin of the PDF page. Accepts a `number` or `string` value.
42
- *
43
- * The supported units are `"mm"`, `"cm"`, `"in"`, and `"pt"`. Numbers use points (`"pt"`).
44
- * @default "pt"
45
- */
46
- bottom?: number | string;
47
- /**
48
- * @hidden
49
- */
50
- get options(): any;
51
- static ɵfac: i0.ɵɵFactoryDeclaration<PDFExportMarginComponent, never>;
52
- static ɵcmp: i0.ɵɵComponentDeclaration<PDFExportMarginComponent, "kendo-pdf-export-margin", never, { "left": { "alias": "left"; "required": false; }; "top": { "alias": "top"; "required": false; }; "right": { "alias": "right"; "required": false; }; "bottom": { "alias": "bottom"; "required": false; }; }, {}, never, never, true, never>;
53
- }
@@ -1,24 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { TemplateRef } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Represents the directive for defining a custom page template in the PDF Export component ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/multi-page-content#page-templates)).
9
- *
10
- * @example
11
- * ```html
12
- * <kendo-pdf-export paperSize="A4" margin="2cm">
13
- * <ng-template kendoPDFTemplate let-pageNum="pageNum">
14
- * <div>Page {{ pageNum }}</div>
15
- * </ng-template>
16
- * </kendo-pdf-export>
17
- * ```
18
- */
19
- export declare class PDFExportTemplateDirective {
20
- templateRef: TemplateRef<any>;
21
- constructor(templateRef: TemplateRef<any>);
22
- static ɵfac: i0.ɵɵFactoryDeclaration<PDFExportTemplateDirective, [{ optional: true; }]>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<PDFExportTemplateDirective, "[kendoPDFTemplate]", never, {}, {}, never, never, true, never>;
24
- }
@@ -1,188 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { ElementRef } from '@angular/core';
6
- import { pdf, DrawOptions, Group } from '@progress/kendo-drawing';
7
- import { SaveOptions } from '@progress/kendo-file-saver';
8
- import { PDFExportTemplateDirective } from './pdf-export-template.directive';
9
- import { PDFExportMarginComponent } from './pdf-export-margin.component';
10
- import * as i0 from "@angular/core";
11
- /**
12
- * @hidden
13
- *
14
- * Re-export PaperSize to work around a bug in the API reference generator.
15
- *
16
- * The type will be linked to the kendo-drawing documentation
17
- * by using the slug provided in api-type-links.json
18
- */
19
- export type PaperSize = pdf.PaperSize;
20
- /**
21
- * Represents the [Kendo UI PDF Export component for Angular](https://www.telerik.com/kendo-angular-ui/components/pdf-export).
22
- *
23
- * @example
24
- * ```html
25
- * <button kendoButton (click)="pdf.saveAs('document.pdf')">
26
- * Save As PDF...
27
- * </button>
28
- *
29
- * <kendo-pdf-export #pdf paperSize="A4" margin="2cm">
30
- * Content goes here
31
- * </kendo-pdf-export>
32
- * ```
33
- *
34
- * @remarks
35
- * Supported children components are: {@link PDFExportMarginComponent}
36
- */
37
- export declare class PDFExportComponent implements pdf.PDFOptions {
38
- protected element: ElementRef;
39
- /**
40
- * If `true`, opens the Print dialog immediately after the PDF loads ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/auto-print)).
41
- * Requires `@progress/kendo-drawing` v1.9.0 or later.
42
- * @default false
43
- */
44
- autoPrint?: boolean;
45
- /**
46
- * Sets the author metadata for the PDF document.
47
- */
48
- author: string;
49
- /**
50
- * Specifies whether actual hyperlinks will be produced in the exported PDF file ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/disabling-hyperlinks)). You can also set a CSS selector to ignore matching links.
51
- */
52
- avoidLinks: boolean | string;
53
- /**
54
- * Sets a CSS selector for elements that cause page breaks
55
- * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/multi-page-content#manual-page-breaking)).
56
- */
57
- forcePageBreak: string;
58
- /**
59
- * Sets a CSS selector for elements that should not split across pages
60
- * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/multi-page-content#preventing-page-breaking-in-elements)).
61
- */
62
- keepTogether: string;
63
- /**
64
- * Sets the creator metadata for the PDF document.
65
- * @default "Kendo UI PDF Generator"
66
- */
67
- creator: string;
68
- /**
69
- * Sets the creation date for the PDF document. Defaults to `new Date()`.
70
- * @default new Date()
71
- */
72
- date: Date;
73
- /**
74
- * Sets the image resolution in the exported PDF ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/embedded-images)). By default, images use full resolution.
75
- */
76
- imageResolution: number;
77
- /**
78
- * Sets the name of the exported PDF file.
79
- * @default "export.pdf"
80
- */
81
- fileName: string;
82
- /**
83
- * If `true`, forwards content to `proxyURL` even if the browser supports local file saving.
84
- */
85
- forceProxy: boolean;
86
- /**
87
- * Sets the keywords metadata for the PDF document.
88
- */
89
- keywords: string;
90
- /**
91
- * If `true`, sets the page orientation to landscape. The default page orientation is portrait.
92
- * @default false
93
- */
94
- landscape: boolean;
95
- /**
96
- * Sets the page margins. Numbers use points (`"pt"`).
97
- */
98
- margin: string | number | pdf.PageMargin;
99
- /**
100
- * Sets the paper size for the PDF document. Defaults to `"auto"`, which means the content determines the size of the document.
101
- * The size of the content in pixels matches the size of the output in points (1 pixel = 1/72 inch).
102
- *
103
- * If set, the content splits across pages, and allows you to use `repeatHeaders`, `scale`, and a template.
104
- *
105
- * The value can be a `PaperSize`, an array of two numbers (width and height in points), or an array of two strings (width and height in units: `"mm"`, `"cm"`, `"in"`, or `"pt"`).
106
- * @default "auto"
107
- */
108
- paperSize: PaperSize;
109
- /**
110
- * If `true`, repeats the `<thead>` elements of tables on each page. This helps keep table headers visible on every page
111
- * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/repeated-table-headers)).
112
- */
113
- repeatHeaders: boolean;
114
- /**
115
- * Sets a scale factor for the PDF output. Use this to make the PDF content smaller or larger
116
- * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/scaling-of-content)).
117
- *
118
- * @default 1
119
- */
120
- scale: number;
121
- /**
122
- * Sets a key/value dictionary of form values sent to the proxy. Use this to send extra data, like Anti-Forgery tokens.
123
- */
124
- proxyData?: {
125
- [key: string]: string;
126
- };
127
- /**
128
- * Sets the server-side proxy URL for streaming the file to the user. You need to implement a proxy if
129
- * the browser is not capable of saving files locally.
130
- * The proxy returns the decoded file with the `"Content-Disposition"` header set to `attachment; filename="<fileName.pdf>"`.
131
- *
132
- * In the request body, the proxy receives a POST request with the specific parameters
133
- * ([see example](https://www.telerik.com/kendo-angular-ui/components/file-saver/server-proxy#implementations)).
134
- */
135
- proxyURL: string;
136
- /**
137
- * Sets where to display the document returned from the proxy. Use `"_self"` to display in the same window.
138
- * To display the document in a new window or iframe,
139
- * the proxy must have the `"Content-Disposition"` header set to `inline; filename="<fileName.pdf>"`.
140
- * @default "_self"
141
- */
142
- proxyTarget: string;
143
- /**
144
- * Sets the producer metadata for the PDF document.
145
- */
146
- producer: string;
147
- /**
148
- * Sets the subject metadata for the PDF document.
149
- */
150
- subject: string;
151
- /**
152
- * Sets the title metadata for the PDF document.
153
- */
154
- title: string;
155
- /**
156
- * @hidden
157
- */
158
- pageTemplateDirective: PDFExportTemplateDirective;
159
- /**
160
- * @hidden
161
- */
162
- marginComponent: PDFExportMarginComponent;
163
- protected get drawMargin(): any;
164
- protected pageTemplate: any;
165
- constructor(element: ElementRef);
166
- /**
167
- * Saves the content as a PDF file with the specified name.
168
- * @param fileName - The name of the exported file.
169
- */
170
- saveAs(fileName?: string): void;
171
- /**
172
- * Exports the content as a `Group` for further processing.
173
- *
174
- * @return The root group of the exported scene.
175
- */
176
- export(): Promise<Group>;
177
- protected save(element: HTMLElement, fileName: string): void;
178
- protected exportElement(element: HTMLElement): Promise<Group>;
179
- protected cleanup(): void;
180
- protected drawOptions(): DrawOptions;
181
- protected pdfOptions(): any;
182
- protected saveOptions(): SaveOptions;
183
- protected drawElement(element: HTMLElement, options: DrawOptions): Promise<Group>;
184
- protected exportGroup(group: Group, options: pdf.PDFOptions): Promise<string>;
185
- private saveDataUri;
186
- static ɵfac: i0.ɵɵFactoryDeclaration<PDFExportComponent, never>;
187
- static ɵcmp: i0.ɵɵComponentDeclaration<PDFExportComponent, "kendo-pdf-export", never, { "autoPrint": { "alias": "autoPrint"; "required": false; }; "author": { "alias": "author"; "required": false; }; "avoidLinks": { "alias": "avoidLinks"; "required": false; }; "forcePageBreak": { "alias": "forcePageBreak"; "required": false; }; "keepTogether": { "alias": "keepTogether"; "required": false; }; "creator": { "alias": "creator"; "required": false; }; "date": { "alias": "date"; "required": false; }; "imageResolution": { "alias": "imageResolution"; "required": false; }; "fileName": { "alias": "fileName"; "required": false; }; "forceProxy": { "alias": "forceProxy"; "required": false; }; "keywords": { "alias": "keywords"; "required": false; }; "landscape": { "alias": "landscape"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "paperSize": { "alias": "paperSize"; "required": false; }; "repeatHeaders": { "alias": "repeatHeaders"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; "proxyData": { "alias": "proxyData"; "required": false; }; "proxyURL": { "alias": "proxyURL"; "required": false; }; "proxyTarget": { "alias": "proxyTarget"; "required": false; }; "producer": { "alias": "producer"; "required": false; }; "subject": { "alias": "subject"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, ["pageTemplateDirective", "marginComponent"], ["*"], true, never>;
188
- }
@@ -1,31 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./pdf-export.component";
7
- import * as i2 from "./pdf-export-margin.component";
8
- import * as i3 from "./pdf-export-template.directive";
9
- /**
10
- * Represents the [`NgModule`](link:site.data.urls.angular['ngmoduleapi']) definition for the PDF Export component.
11
- *
12
- * @example
13
- * ```typescript
14
- * import { NgModule } from '@angular/core';
15
- * import { BrowserModule } from '@angular/platform-browser';
16
- * import { PDFExportModule } from '@progress/kendo-angular-pdf-export';
17
- * import { AppComponent } from './app.component';
18
- *
19
- * @NgModule({
20
- * declarations: [AppComponent],
21
- * imports: [BrowserModule, PDFExportModule],
22
- * bootstrap: [AppComponent]
23
- * })
24
- * export class AppModule {}
25
- * ```
26
- */
27
- export declare class PDFExportModule {
28
- static ɵfac: i0.ɵɵFactoryDeclaration<PDFExportModule, never>;
29
- static ɵmod: i0.ɵɵNgModuleDeclaration<PDFExportModule, never, [typeof i1.PDFExportComponent, typeof i2.PDFExportMarginComponent, typeof i3.PDFExportTemplateDirective], [typeof i1.PDFExportComponent, typeof i2.PDFExportMarginComponent, typeof i3.PDFExportTemplateDirective]>;
30
- static ɵinj: i0.ɵɵInjectorDeclaration<PDFExportModule>;
31
- }