UNPKG

@lifeart/gxt

Version:

<img align="right" width="95" height="95" alt="Philosopher’s stone, logo of PostCSS" src="./public/logo.png">

232 lines (230 loc) • 7.75 kB
import { PdfStyle, PageSize, PageOrientation, PageMode, PageLayout, ImageSource, PdfPaintContext, DocumentProps, PageProps, ViewProps, TextProps, ImageProps, LinkProps, CanvasProps, NoteProps } from './types'; export declare const DESTROYED_NODES: WeakSet<PdfBaseElement>; /** * Base class for all PDF elements */ export declare class PdfBaseElement { readonly isPdfElement = true; debugName?: string; parentElement: PdfBaseElement | null; children: PdfBaseElement[]; isConnected: boolean; get parentNode(): PdfBaseElement | null; removeChild(child: PdfBaseElement): void; appendChild(child: PdfBaseElement): void; remove(): void; get childNodes(): PdfBaseElement[]; /** * Serialize element to a plain object for PDF generation */ toJSON(): Record<string, any>; } /** * Comment/placeholder element (invisible) */ export declare class PdfComment extends PdfBaseElement { readonly isPdfComment = true; text: string; constructor(text?: string); toJSON(): Record<string, any>; } /** * Fragment element for grouping */ export declare class PdfFragment extends PdfBaseElement { readonly isPdfFragment = true; constructor(); toJSON(): Record<string, any>; } /** * Text node element */ export declare class PdfTextNode extends PdfBaseElement { readonly isPdfTextNode = true; textContent: string; constructor(text?: string); toJSON(): Record<string, any>; } /** * Document element - root container for PDF */ export declare class PdfDocument extends PdfBaseElement { readonly isPdfDocument = true; props: DocumentProps; constructor(); get title(): string | undefined; set title(value: string | undefined); get author(): string | undefined; set author(value: string | undefined); get subject(): string | undefined; set subject(value: string | undefined); get keywords(): string | undefined; set keywords(value: string | undefined); get creator(): string | undefined; set creator(value: string | undefined); get producer(): string | undefined; set producer(value: string | undefined); get pdfVersion(): string | undefined; set pdfVersion(value: string | undefined); get language(): string | undefined; set language(value: string | undefined); get pageMode(): PageMode | undefined; set pageMode(value: PageMode | undefined); get pageLayout(): PageLayout | undefined; set pageLayout(value: PageLayout | undefined); get onRender(): ((blob: Blob) => void) | undefined; set onRender(value: ((blob: Blob) => void) | undefined); toJSON(): Record<string, any>; } /** * Page element - represents a single page in the PDF */ export declare class PdfPage extends PdfBaseElement { readonly isPdfPage = true; props: PageProps; constructor(); get size(): PageSize; set size(value: PageSize); get orientation(): PageOrientation; set orientation(value: PageOrientation); get wrap(): boolean; set wrap(value: boolean); get style(): PdfStyle | PdfStyle[] | undefined; set style(value: PdfStyle | PdfStyle[] | undefined); get debug(): boolean; set debug(value: boolean); get dpi(): number; set dpi(value: number); get id(): string | undefined; set id(value: string | undefined); toJSON(): Record<string, any>; } /** * View element - layout container (like a div) */ export declare class PdfView extends PdfBaseElement { readonly isPdfView = true; props: ViewProps; constructor(); get wrap(): boolean; set wrap(value: boolean); get style(): PdfStyle | PdfStyle[] | undefined; set style(value: PdfStyle | PdfStyle[] | undefined); get debug(): boolean; set debug(value: boolean); get fixed(): boolean; set fixed(value: boolean); get id(): string | undefined; set id(value: string | undefined); toJSON(): Record<string, any>; } /** * Text element - displays text content */ export declare class PdfText extends PdfBaseElement { readonly isPdfText = true; props: TextProps; constructor(); get wrap(): boolean; set wrap(value: boolean); get style(): PdfStyle | PdfStyle[] | undefined; set style(value: PdfStyle | PdfStyle[] | undefined); get debug(): boolean; set debug(value: boolean); get fixed(): boolean; set fixed(value: boolean); get id(): string | undefined; set id(value: string | undefined); /** * Get the text content from children */ getTextContent(): string; toJSON(): Record<string, any>; } /** * Image element - displays images */ export declare class PdfImage extends PdfBaseElement { readonly isPdfImage = true; props: ImageProps; constructor(); get src(): ImageSource | undefined; set src(value: ImageSource | undefined); get source(): ImageSource | undefined; set source(value: ImageSource | undefined); get style(): PdfStyle | PdfStyle[] | undefined; set style(value: PdfStyle | PdfStyle[] | undefined); get debug(): boolean; set debug(value: boolean); get fixed(): boolean; set fixed(value: boolean); get cache(): boolean; set cache(value: boolean); toJSON(): Record<string, any>; } /** * Link element - creates hyperlinks */ export declare class PdfLink extends PdfBaseElement { readonly isPdfLink = true; props: LinkProps; constructor(); get src(): string | undefined; set src(value: string | undefined); get wrap(): boolean; set wrap(value: boolean); get style(): PdfStyle | PdfStyle[] | undefined; set style(value: PdfStyle | PdfStyle[] | undefined); get debug(): boolean; set debug(value: boolean); get fixed(): boolean; set fixed(value: boolean); toJSON(): Record<string, any>; } /** * Canvas element - for custom drawing */ export declare class PdfCanvas extends PdfBaseElement { readonly isPdfCanvas = true; props: CanvasProps; private _paint?; constructor(); get style(): PdfStyle | PdfStyle[] | undefined; set style(value: PdfStyle | PdfStyle[] | undefined); get paint(): ((ctx: PdfPaintContext, width: number, height: number) => void) | undefined; set paint(value: ((ctx: PdfPaintContext, width: number, height: number) => void) | undefined); get debug(): boolean; set debug(value: boolean); get fixed(): boolean; set fixed(value: boolean); toJSON(): Record<string, any>; } /** * Note element - creates annotations */ export declare class PdfNote extends PdfBaseElement { readonly isPdfNote = true; props: NoteProps; content: string; constructor(); get style(): PdfStyle | PdfStyle[] | undefined; set style(value: PdfStyle | PdfStyle[] | undefined); get fixed(): boolean; set fixed(value: boolean); toJSON(): Record<string, any>; } /** * Type guard functions */ export declare function isPdfElement(node: unknown): node is PdfBaseElement; export declare function isPdfDocument(node: unknown): node is PdfDocument; export declare function isPdfPage(node: unknown): node is PdfPage; export declare function isPdfView(node: unknown): node is PdfView; export declare function isPdfText(node: unknown): node is PdfText; export declare function isPdfTextNode(node: unknown): node is PdfTextNode; export declare function isPdfImage(node: unknown): node is PdfImage; export declare function isPdfLink(node: unknown): node is PdfLink; export declare function isPdfCanvas(node: unknown): node is PdfCanvas; export declare function isPdfNote(node: unknown): node is PdfNote; export declare function isPdfComment(node: unknown): node is PdfComment; export declare function isPdfFragment(node: unknown): node is PdfFragment;