# html-camera **Repository Path**: zhaolongwei_zlw/html-camera ## Basic Information - **Project Name**: html-camera - **Description**: 打印HTML 分页打印 分页组合打印 HTML转图片,转base64 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2018-06-08 - **Last Updated**: 2023-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # html-camera #### 兼容性 * 依赖html2canvas(https://github.com/niklasvh/html2canvas),且该依赖需要手动安装,其官方文档: * http://html2canvas.hertzen.com/documentation * 兼容性: * Firefox 3.5+ * Google Chrome * Opera 12+ * IE9+ * Edge * Safari 6+ > 不支持iframe > 不能在浏览器插件中使用 > 不支持Flash > 不支持古代浏览器 #### 项目介绍 >局部打印HTML 分页打印 分页组合打印 HTML转图片、转base64 #### 安装教程 1. npm i html-camera html2canvas 2. 直接在页面中引用:<script src="html-camera.js"></script> 或 使用模块化加载:var htmlCamera = require('html-camera.js'); * tips: > ***处理跨域图片***:canvas对于图片资源有同源限制,需要图片资源响应头设置 Access-Control-Allow-Origin,且设置参数html2canvasOptions : {useCORS: true} > 需要引入html2canvas,并保证window.Promise可用,不存在时,var htmlCamera = require('html-camera')(Promise); > 在支持的打印内容中,打印效果“所见即所打”,无法根据打印纸的大小,自适应打印效果 > 常用样式中,border-style只支持solid,由html2canvas决定 #### htmlCamera(doms, opt) 使用方法 * @param {dom元素} doms > {var} 支持dom,一维dom数组,二维dom数组,三维dom数组 > 传dom或一维数组时,直接打印; > 传二维数组时,数组的第二维度会组合成在一起,以保证其不会分开打印; > 传三维数组时,数组的第三维度中的元素,会尽量显示在一行 * @param {obj} opt > {fn} getImgs dom转图片后回调 return false时,中断后续 > {fn} getDataURLs dom转图片base64后回调 return false时,中断后续 > {array} split 插入打印分页符的一维dom数组的索引集合 > {obj} html2canvasOptions 传html2canvas的参数,详情参考 http://html2canvas.hertzen.com/configuration > {bool} isPrint 是否打印 default: true > {bool} isDebug 是否进入调试模式 defualt: false 是否保留中间过程在页面中生成的元素 > {bool} error异常时回调