如何让DataTable pdfHtml5导出PDF的message消息显示在所有页面
DataTables PDF导出每页显示固定消息解决方案
默认pdfHtml5的message参数仅会在PDF第一页渲染,要实现每页都展示固定消息,需要通过customize回调修改pdfmake的文档配置,将消息插入到每页的页眉/页脚区域即可,完整配置如下:
{ extend: 'pdfHtml5', filename: 'Tickets_List', footer: true, header: true, customize: function (doc) { // 待每页显示的固定消息 const pageMessage = 'Phase: Phase1'; // 保留原有的页眉生成逻辑,避免覆盖原有导出的页眉内容 const defaultHeader = doc.header; // 重写页眉生成函数,每页生成时都会执行 doc.header = function (currentPage, pageCount) { // 获取原有页眉内容 let headerItems = defaultHeader ? defaultHeader(currentPage, pageCount) : []; // 兼容原有页眉返回单个元素的情况 if (!Array.isArray(headerItems)) { headerItems = [headerItems]; } // 插入自定义消息到页眉顶部,可根据需求调整位置、样式 headerItems.unshift({ text: pageMessage, fontSize: 10, alignment: 'left', margin: [0, 0, 0, 8] // 四个值对应左、上、右、下的边距,可自行调整避免内容重叠 }); return headerItems; }; } }
补充说明
- 如果你希望消息展示在页脚位置,只需要把上面代码里所有的
header替换为footer即可,逻辑完全一致 - 可以根据需求调整消息的字体大小、对齐方式、边距等样式参数
- 该方案不会覆盖你原本配置的DataTable自带表头、表脚导出效果,原有导出内容会正常保留
内容的提问来源于stack exchange,提问作者chandrasekharreddy kotha
相关产品推荐
相关产品推荐

