UNPKG

@neosjs/html-to-pdf

Version:

高性能HTML转PDF工具,支持中文、图片、表格、分页、水印、自定义页眉页脚和页码,内置性能监控和错误处理

84 lines 2.02 kB
//#region alpha/types.d.ts /** * 页面方向枚举 */ declare enum PageOrientation { /** 竖版 */ PORTRAIT = "p", /** 横版 */ LANDSCAPE = "l", } /** * 纸张大小枚举 */ declare enum PaperSize { A0 = "a0", A1 = "a1", A2 = "a2", A3 = "a3", A4 = "a4", A5 = "a5", A6 = "a6", A7 = "a7", A8 = "a8", } interface PdfOptions { /** pdf内容区 */ contentDom: HTMLElement; /** 封面 */ coverDom?: HTMLElement; /** 页眉 */ header?: string; /** 页脚 */ footer?: string; /** 是否页码 默认: true */ pageNumber?: boolean; /** 缩放 默认: 1 */ scale?: number; /** 图片质量 默认: 0.8 */ quality?: number; /** 纸张大小 默认: 'a4' */ paperSize?: PaperSize; /** 页面方向 默认: 'p' */ orientation?: PageOrientation; /** 字体颜色 默认: '#565D66' */ fontColor?: string; /** 字体大小 默认: 12 */ fontSize?: number; /** 日志回调函数 */ logCallback?: (param: any) => void; /** 是否开启调试 默认: false */ debug?: boolean; } //#endregion //#region alpha/index.d.ts /** * 获取纸张尺寸信息(毫米) * @param {PaperSize} paperSize 纸张大小 * @param {PageOrientation} orientation 页面方向 * @returns {any} 纸张尺寸信息 */ declare const getPageMmDimensions: (paperSize: PaperSize, orientation: PageOrientation) => { width: number; height: number; name: string; }; /** * 获取PDF像素尺寸 * 将毫米转换为像素 (基于96 DPI) * @param {PaperSize} paperSize 纸张大小 * @param {PageOrientation} orientation 页面方向 * @returns {any} 纸张尺寸信息 */ declare const getPagePixelDimensions: (paperSize: PaperSize, orientation: PageOrientation) => { width: number; height: number; }; /** * 生成pdf * @param {PdfOptions}config 配置 * @returns */ declare const generatePDF: (config: PdfOptions) => Promise<Blob>; //#endregion export { PageOrientation, PaperSize, type PdfOptions, generatePDF, getPageMmDimensions, getPagePixelDimensions };