UNPKG

@lifeart/gxt

Version:

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

48 lines (47 loc) • 2.29 kB
import { Component } from '../../component'; import { PdfContext } from './PdfViewer'; import { PdfBrowserDOMApi } from './pdf-api'; /** * PDF Renderer for GXT * * A PDF document generation renderer inspired by react-pdf. * Allows building PDF documents using a declarative component-based API. * * @example * ```gts * import { PdfViewer, PdfDocument, PdfPage, PdfView, PdfText, StyleSheet } from '@gxt/pdf'; * * const styles = StyleSheet.create({ * page: { padding: 30 }, * title: { fontSize: 24, marginBottom: 10 }, * text: { fontSize: 12, color: '#333' }, * }); * * <template> * <PdfViewer> * <PdfDocument title="My Document" author="GXT"> * <PdfPage size="A4" style={{styles.page}}> * <PdfView> * <PdfText style={{styles.title}}>Hello World</PdfText> * <PdfText style={{styles.text}}>This is a PDF document.</PdfText> * </PdfView> * </PdfPage> * </PdfDocument> * </PdfViewer> * </template> * ``` */ export type { PageSize, PageOrientation, PageMode, PageLayout, PdfStyle, DocumentProps, PageProps, ViewProps, TextProps, ImageProps, LinkProps, CanvasProps, NoteProps, ImageSource, PdfPaintContext, PdfElementType, PdfElementNode, PdfRenderOptions, PdfContext as PdfContextType, FontData, ImageData, } from './types'; export { PdfBaseElement, PdfDocument, PdfPage, PdfView, PdfText, PdfTextNode, PdfImage, PdfLink, PdfCanvas, PdfNote, PdfComment, PdfFragment, DESTROYED_NODES, isPdfElement, isPdfDocument, isPdfPage, isPdfView, isPdfText, isPdfTextNode, isPdfImage, isPdfLink, isPdfCanvas, isPdfNote, isPdfComment, isPdfFragment, } from './elements'; export { PdfBrowserDOMApi, createPdfApi, } from './pdf-api'; export { PdfViewer, PdfDownloadLink, BlobProvider, PDF_CONTEXT, createPdfContextState, type PdfViewerProps, type PdfDownloadLinkProps, type BlobProviderProps, type PdfContext, } from './PdfViewer'; export { StyleSheet, PageSizes, getPageSize, parseUnit, type StyleSheetStyles, } from './StyleSheet'; /** * Get the PDF context from a component */ export declare function usePdf(ctx: Component<any>): PdfContext | null; /** * Get the PDF API from a component */ export declare function usePdfApi(ctx: Component<any>): PdfBrowserDOMApi | null; export { PdfBrowserDOMApi as PdfApi };