/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ElementRef } from '@angular/core'; import { pdf, DrawOptions, Group } from '@progress/kendo-drawing'; import { SaveOptions } from '@progress/kendo-file-saver'; import { PDFExportTemplateDirective } from './pdf-export-template.directive'; import { PDFExportMarginComponent } from './pdf-export-margin.component'; import * as i0 from "@angular/core"; /** * @hidden * * Re-export PaperSize to work around a bug in the API reference generator. * * The type will be linked to the kendo-drawing documentation * by using the slug provided in api-type-links.json */ export type PaperSize = pdf.PaperSize; /** * Represents the [Kendo UI PDF Export component for Angular](https://www.telerik.com/kendo-angular-ui/components/pdf-export). * * @example * ```html * * * * Content goes here * * ``` * * @remarks * Supported children components are: {@link PDFExportMarginComponent} */ export declare class PDFExportComponent implements pdf.PDFOptions { protected element: ElementRef; /** * 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)). * Requires `@progress/kendo-drawing` v1.9.0 or later. * @default false */ autoPrint?: boolean; /** * Sets the author metadata for the PDF document. */ author: string; /** * 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. */ avoidLinks: boolean | string; /** * Sets a CSS selector for elements that cause page breaks * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/multi-page-content#manual-page-breaking)). */ forcePageBreak: string; /** * Sets a CSS selector for elements that should not split across pages * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/multi-page-content#preventing-page-breaking-in-elements)). */ keepTogether: string; /** * Sets the creator metadata for the PDF document. * @default "Kendo UI PDF Generator" */ creator: string; /** * Sets the creation date for the PDF document. Defaults to `new Date()`. * @default new Date() */ date: Date; /** * 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. */ imageResolution: number; /** * Sets the name of the exported PDF file. * @default "export.pdf" */ fileName: string; /** * If `true`, forwards content to `proxyURL` even if the browser supports local file saving. */ forceProxy: boolean; /** * Sets the keywords metadata for the PDF document. */ keywords: string; /** * If `true`, sets the page orientation to landscape. The default page orientation is portrait. * @default false */ landscape: boolean; /** * Sets the page margins. Numbers use points (`"pt"`). */ margin: string | number | pdf.PageMargin; /** * Sets the paper size for the PDF document. Defaults to `"auto"`, which means the content determines the size of the document. * The size of the content in pixels matches the size of the output in points (1 pixel = 1/72 inch). * * If set, the content splits across pages, and allows you to use `repeatHeaders`, `scale`, and a template. * * 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"`). * @default "auto" */ paperSize: PaperSize; /** * If `true`, repeats the `` elements of tables on each page. This helps keep table headers visible on every page * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/repeated-table-headers)). */ repeatHeaders: boolean; /** * Sets a scale factor for the PDF output. Use this to make the PDF content smaller or larger * ([see example](https://www.telerik.com/kendo-angular-ui/components/pdf-export/scaling-of-content)). * * @default 1 */ scale: number; /** * Sets a key/value dictionary of form values sent to the proxy. Use this to send extra data, like Anti-Forgery tokens. */ proxyData?: { [key: string]: string; }; /** * Sets the server-side proxy URL for streaming the file to the user. You need to implement a proxy if * the browser is not capable of saving files locally. * The proxy returns the decoded file with the `"Content-Disposition"` header set to `attachment; filename=""`. * * In the request body, the proxy receives a POST request with the specific parameters * ([see example](https://www.telerik.com/kendo-angular-ui/components/file-saver/server-proxy#implementations)). */ proxyURL: string; /** * Sets where to display the document returned from the proxy. Use `"_self"` to display in the same window. * To display the document in a new window or iframe, * the proxy must have the `"Content-Disposition"` header set to `inline; filename=""`. * @default "_self" */ proxyTarget: string; /** * Sets the producer metadata for the PDF document. */ producer: string; /** * Sets the subject metadata for the PDF document. */ subject: string; /** * Sets the title metadata for the PDF document. */ title: string; /** * @hidden */ pageTemplateDirective: PDFExportTemplateDirective; /** * @hidden */ marginComponent: PDFExportMarginComponent; protected get drawMargin(): any; protected pageTemplate: any; constructor(element: ElementRef); /** * Saves the content as a PDF file with the specified name. * @param fileName - The name of the exported file. */ saveAs(fileName?: string): void; /** * Exports the content as a `Group` for further processing. * * @return The root group of the exported scene. */ export(): Promise; protected save(element: HTMLElement, fileName: string): void; protected exportElement(element: HTMLElement): Promise; protected cleanup(): void; protected drawOptions(): DrawOptions; protected pdfOptions(): any; protected saveOptions(): SaveOptions; protected drawElement(element: HTMLElement, options: DrawOptions): Promise; protected exportGroup(group: Group, options: pdf.PDFOptions): Promise; private saveDataUri; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }