export interface iLic { key: string; copyrights: string; } export interface iWebDocParam { documents?: Document | string | string[] | Object // 必选,表示打印页面来源 enableScreenOnlyClass?: boolean // true表示页面中存在 “screen-only” 样式类,凡该类的元素,仅在打印预览时显示,但不打印到打印机 evalClass?: string // 表示正文中,存在evalClass属性所指样式类的元素,这些元素必须像页脚页眉一样,被替换,如#p替换成当前页号 footer?: { // 页脚 height?: number, // 页脚高度,以像素计 html?: string // 页脚显示内容 } header?: { // 页眉 height?: number // 页眉高度,以像素计 html?: string // 页眉显示内容 } listener?: Function // 可以监听以下事件:预览窗口打开,关闭、文档打印开始,结束、正在打印、打印结束、打印取消、打印任务状态变化 noMargins?: boolean // 零边距打印,不要与marginLeft/marginTop/marginRight/marginBottom同时使用 onPagePrinted?: Function // 正在打印页,每打印一次,调用一次 onState?: Function // 监听当前打印后的任务状态变化,可能调用多次 pageNumberOn?: 'local' // 当取值为 local时,每个page div重新以1进行页码编号,默认page div连续编号 // page div的id前缀,打印页面上id为以下形式的div: // 当前 [pagePrefix]page1, [pagePrefix]page2, [pagePrefix]page3,… // 默认为空 pagePrefix?: string // 收缩打印,默认不收缩 // 0到 1.0之间的小数:指示收缩到指定比例 // “on-width”:页面宽度够,不收缩,宽度不够执行收缩,直到够宽 // “single”:将打印内容收缩到一页。考虑高宽,即只要不够宽,不够高都执行收缩 scale?: number | 'on-width' | 'single' //打印设置 settings?: { collate?: boolean // 是否逐份打印,即以 1,2,3,...,1,2,3,... ,1,2,3,... 顺序打印,copies设置大于1时才有意义 copies?: number // 打印份数 duplex?: boolean // 是否双面打印 marginBottom?: number // 下边距,以mm计,不要与noMargins同时使用,默认用打印机首选页边距 marginLeft?: number // 左边距,规则同上 marginRight?: number // 右边距,规则同上 marginTop?: number // 上边距,规则同上 orientationMixed?: boolean // 是否纵横打印,即有些页纵向打印,有些页横向打印 pageFrom?: number // 打印开始页 pageTo?: number // 打印结束页 paperHeight?: number // 自定义页高度,以mm计,不要与paperName同时使用 paperName?: string // 打印到纸张名称,如”a4” 等,不要与paperWidth,paperHeight同时使用,默认用打印机首选纸张 paperWidth?: number // 自定义页宽度,以mm计,不要与paperName同时使用, portrait?: boolean // 是否纵向打印,默认打印到打印机首选打印方向 printer?: string // 打印到哪台打印机,不指定则打印到系统默认打印机 } settingsId?: string // 本次打印结束后,以该ID将打印参数保存到注册表 //水印 watermark?: { hideWhenPreview?: boolean // 是否预览时隐藏,即打印和预览均可见,true,则只有打印时可见.默认可见 image?: string // 水印图片的url opacity?: number // 控制水印图片的透明度,0.0-1之间,数值越小,水印越淡,默认为 0.2 repeat?: "repeat" | "repeat-x" | "repeat-y" | "no-repeat" //水印图片重复方式 } } // 参数 export interface iPdfDocParam { // 可选,打印几份,默认为打印一份 copies?: number // 可选,是否双面打印,默认为不双面打印,对不支持双面打印的打印机,没有意义 duplex?: boolean // 必选,打印pdf时,必须指定为 "pdf" fileType: string // 可选,打印起始页面,如果指定,必须也同时指定to,默认为第一页开始打印 from?: number // 可选,默认为默认纸张。可以用打印机支持的纸张名称,如"A4"等指定此属性,指定 paperWidth,paperHeight时,不要指定paperName paperName?: string // 可选,自定义纸张宽度,单位mm,自定义纸张打印pdf时,必须同时指定paperHeight,指定 paperName时,本属性无效 paperWidth?: number // 可选,自定义纸张高度,单位mm,自定义纸张打印pdf时,必须同时指定paperWidth,指定 paperName时,本属性无效 paperHeight?: number // 是否纵向打印,默认为纵向 portrait?: boolean // 可选,是否启动预览界面,默认为不预览 preview?: boolean // 可选,要打印到哪个打印机,默认为默认打印机 printer?: string // 可选,如果指定,需要与from参数同时指定,默认为打印到最后一页 to?: number } // jcp 对象 export interface iJcp { print(doc: iWebDocParam, preview?: boolean): Promise; printDocument(path: string | string[], doc: iPdfDocParam): Promise; // 获取打印控件版本 getVersion(): Promise; // 设置默认打印机 setDefaultPrinter(defaultPrinter: string): Promise; // 获取默认打印机 getDefaultPrinter(): Promise; getPrinters(): Promise; about(); }