项目简介
js-table-print 是一款专注于处理表格打印工作的智能打印插件。它能够实现自定义页头、页尾、水印、分页方式等功能,并且支持 React 和原生 JavaScript + DOM 环境。
项目的主要特性和功能
- 分页优化:可将某些 DOM 节点设定为一组,保证它们在打印时必须处于同一张页面内,若被切割则会重新分页打印。
- 自定义样式:提供页头、页尾和分页水印的默认样式,同时允许用户进行自定义。
- 灵活调整:支持调整页边距,并且可以设定横向或纵向打印。
- 样式继承:打印样式直接依据当前页面样式,无需额外单独导入 CSS。
安装使用步骤
安装
使用 npm 进行安装:
bash
npm install js-table-print
使用
React 环境
```javascript import TablePrint from 'js-table-print'; import ReactDOM from 'react-dom';
class Demo extends React.Component { constructor(props) { super(props); }
onPrint(){ let table = React.createElement(Table,{},null); let domTable = document.createElement('section'); domTable.style.display='contents'; ReactDOM.render(table, domTable);
let plugin = new TablePrint({
children:domTable.children[0].children,
footer:true,
water:true,
});
setTimeout(()=>{
plugin.print();
},0);
}
render() { return (
class Table extends React.Component{ constructor(props) { super(props); }
render(){ return (
产品申请单 2021-01-01
申请人 | 测试人 | 申请人部门 | 测试部门 |
总额 | ¥123.00 | 备注 | 123123 |
申请人 | 收单人 | ||
上级审批 | CEO确认 |
ReactDOM.render(
原生 JavaScript 环境
```html
```
配置参数
| 参数 | 说明 | 类型 | 默认值 | | ---- | ---- | ---- | ---- | | landscape | 是否为横向布局 | boolean | false | | padding | 页边距 | String | 40 | | footer | 页脚 | boolean \| Dom | false | | header | 页头 | boolean \| Dom | false | | children | 打印的内容 | [Documents] | - | | water | 分页水印 | boolean \| Document | false | | waterHeight | 水印高度 | Number | - |
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】