会议纪要是企业协作中最容易被忽略、又最不可缺少的文档:周会、项目同步会、评审会开完,总要有一份结构清晰、可以归档和转发的纪要。手动整理 Word 再导出 PDF 费时费力,格式还经常跑偏,不同人导出的样式五花八门。用 dompdf.js 可以在会议结束后一键把纪要导出成规范 PDF:标题、时间地点、参会人、议题讨论、决议和待办事项全部结构化排版,表格边框清晰、中文规范、多页自动分页。整个过程纯前端完成,不依赖 Office 环境,也不占用服务器资源,非常适合 OA 系统和项目管理工具集成,会议结束即可分发归档,效率提升立竿见影,团队协作的留痕质量也会明显上一个台阶。
周会与项目同步会结束后,纪要需要同步给未参会的同事并归档留痕;项目管理工具、OA 系统里都有把纪要导出成 PDF 的需求,方便作为邮件附件、打印存档或交付物提交,客户和领导也能直接查看,不需要安装额外软件,打开就能读,出差在外的同事用手机也能随时查看纪要内容,不需要回到工位,同步零成本、反馈更及时,会议结论落地更快。
传统做法是把纪要内容套进 Word 模板再转 PDF,排版依赖本机 Office 环境,不同人的电脑导出的效果不一致,版本混乱;纯前端生成则保证所有人拿到的 PDF 完全一样,格式可控、可复现,也便于统一模板管理,杜绝格式漂移,归档文件始终规范,客户看到的版本也一致,避免沟通歧义。
纪要 PDF 常作为项目交付物和复盘依据,需要长期保存,矢量格式保证文字清晰、可搜索、可复制,比截图和照片更适合归档,后续检索时也能直接在文件内容里搜到关键词,效率高很多,复盘找材料不再翻聊天记录,项目交接也更顺畅,新成员接手项目也能快速了解历史背景,融入团队的速度明显加快。
一份规范的纪要通常包含:会议主题、时间地点、主持人、参会人、议题列表、讨论结论、决议事项和待办清单,结构固定、字段明确,非常适合模板化生成,也可以沉淀成公司统一的纪要模板规范,全员复用同一套标准,跨部门沟通成本更低,评审和审计都方便,留痕更有说服力。
建议把纪要 HTML 拆成模板片段:头部信息区、议题讨论区、待办表格区各自独立,动态填充时互不干扰,新增字段或调整样式时也只改对应片段,维护成本低,多个会议类型可以复用同一套片段,扩展新会议类型也很方便,模板演进不伤筋动骨。
待办事项用表格呈现最清晰:事项、责任人、截止时间、状态四列,表格边框和列宽由 CSS 控制;dompdf.js 完整支持表格与边框渲染,纪要模板可以直接复用,不需要额外的绘图代码,也没有坐标计算的负担,开发效率明显更高,模板沉淀下来就是团队资产,后续所有会议类型都能快速套用。
表单或富文本编辑器里填写的纪要内容,前端拼接成 HTML 字符串后传给 addPage,一次调用就完成一页规范排版,代码量非常少,业务逻辑清晰,后续调整模板结构也很容易定位,新同事接手也没有学习成本,代码评审一眼能看懂,出问题也容易定位修复,维护体验好。
文件名带上日期(如 meeting-minutes-2026-08-18.pdf)便于归档检索;如果系统有纪要编号,也可以拼进文件名或放到页眉位置,方便快速定位和引用,团队协作时找文件不再靠猜,归档体系清晰有序,年终复盘效率也高,文件命名规范还能自动生成,检索成本进一步降低。
也可以直接把页面上的纪要预览 DOM 节点传给 addPage,做到所见即所得;模板字符串与 DOM 节点两种输入方式可以并存,分别满足纯数据导出与页面导出场景,按实际需求灵活选择,两种方式都支持表格和分页,切换迁移也很简单。
import { DomPDF } from 'dompdf.js';
const minutesHTML = `
<style>
table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #333; padding: 6px; font-size: 10pt; }
h1 { text-align: center; }
</style>
<h1>项目周会纪要</h1>
<p><b>时间:</b>2026-08-18 10:00 <b>地点:</b>3F 会议室</p>
<p><b>参会人:</b>张伟、李娜、王强</p>
<h3>议题讨论</h3>
<p>1. 新版本进度确认:核心功能已完成 80%,本周进入联调阶段。</p>
<p>2. 风险同步:第三方接口延迟,已与对方确认下周恢复。</p>
<h3>待办事项</h3>
<table>
<tr><th>事项</th><th>责任人</th><th>截止时间</th><th>状态</th></tr>
<tr><td>完成联调</td><td>王强</td><td>08-20</td><td>进行中</td></tr>
<tr><td>补充测试用例</td><td>李娜</td><td>08-21</td><td>未开始</td></tr>
</table>`;
const pdf = new DomPDF();
pdf.addPage(minutesHTML, { format: 'A4', margin: '18mm' });
pdf.save('meeting-minutes-2026-08-18.pdf');
表格是纪要里信息密度最高的部分,建议显式设置 border-collapse: collapse 和合适的单元格内边距,保证边框紧凑、行距舒适,长表格也清晰易读,跨页后依然保持整齐,不会出现错位,读者扫一眼就能定位自己的待办,跟进节奏一目了然,谁负责什么、什么时候交付,看表就知道。
列宽可以用百分比或固定宽度控制;状态列建议用文字加背景色区分,比如进行中浅蓝、已完成浅绿,dompdf.js 对背景色和边框都支持,效果与网页一致,看板感更强,责任人扫一眼就知道优先级,跟进节奏也更清晰,状态一目了然,跟进更高效。
待办较多时表格会跨页,dompdf.js 自动分页并在新页继续渲染,内容连续不截断;跨页表格的表头重复显示能让后续页面更好读,具体控制方法可以参考分页指南一文中的详细说明,组合使用效果最佳,长纪要也能保持可读,跨页阅读不迷路,责任人和截止时间始终清晰。
议题讨论内容长、待办表格大的纪要会超过一页,dompdf.js 自动分页,页与页之间内容连续,不会出现文字重叠或内容丢失的情况,长会议也能完整记录,决议和待办一条都不会少,归档后依然能还原会议全貌,评审和追溯都有据可查,责任边界更清晰。
长文档建议通过 @page 设置页边距,并为每页加上页眉(会议名称)和页脚(页码),多页纪要看起来才像正式文档,归档和打印都更专业,客户查阅体验也好,装订后依然能找到对应章节,领导翻阅时也一目了然,页码连续、结构完整,打印装订后依然整洁,专业度直接拉满。
封面页、附件页等特殊页面可以与正文分开处理:先 addPage 封面再 addPage 正文,页码按需从正文开始,控制方式灵活,文档结构也更清晰,符合正式文件的排版习惯,交付时观感专业,项目档案的完整度更高,客户审计时也能快速提供依据,文档的规范性直接加分。
Q: 纪要里的白板拍照、截图等图片能导出吗?A: 可以,位图、SVG、data URL 都支持,图片直接放在模板里即可,保持清晰锐利,白板照片也能原样呈现,讨论内容完整保留,会后复盘不遗漏任何信息,归档材料更完整。
Q: 导出的纪要文字能复制吗?A: 可以,输出的是矢量文本而非图片,内容可搜索、可复制,方便后续引用和归档检索,领导查看时也能直接选中文字,二次编辑毫无障碍,转成其他格式也很方便,协作效率更高,跨系统流转也不失真,格式稳定可靠。
Q: 可以在 Vue/React 项目里用吗?A: 可以,任何前端框架都能直接调用,具体集成方式可以参考框架集成系列文章,思路完全一致,接入成本很低,一周内即可上线,从调研到落地全程有现成经验可参考,方案稳定性有保障。
下面的按钮用 dompdf.js 在浏览器端实时生成 PDF,无需后端:
这是由 dompdf.js 渲染的示例 PDF 内容。