@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
TypeScript
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 };