littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于 JavaScript 的表格智能打印插件

项目简介

js-table-print 是一款专注于处理表格打印工作的智能打印插件。它能够实现自定义页头、页尾、水印、分页方式等功能,并且支持 React 和原生 JavaScript + DOM 环境。

项目的主要特性和功能

  1. 分页优化:可将某些 DOM 节点设定为一组,保证它们在打印时必须处于同一张页面内,若被切割则会重新分页打印。
  2. 自定义样式:提供页头、页尾和分页水印的默认样式,同时允许用户进行自定义。
  3. 灵活调整:支持调整页边距,并且可以设定横向或纵向打印。
  4. 样式继承:打印样式直接依据当前页面样式,无需额外单独导入 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(, document.getElementById("container")); ```

原生 JavaScript 环境

```html

Document

```

配置参数

| 参数 | 说明 | 类型 | 默认值 | | ---- | ---- | ---- | ---- | | 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】