@neosjs/html-to-pdf
Version:
高性能HTML转PDF工具,支持中文、图片、表格、分页、水印、自定义页眉页脚和页码,内置性能监控和错误处理
84 lines • 2.02 kB
TypeScript
//#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 };