PptxGenJS如何添加字体?从HTML表格生成PPT时怎么设置字体家族
PptxGenJS HTML表格转PPT自定义字体操作方案
方法1:全局设置默认字体(全PPT生效)
- 初始化PptxGenJS实例后直接设置
defaultFont属性,所有生成的内容包括从HTML转换的表格都会默认使用该字体,不需要单独调整表格配置 - 示例代码:
const pptx = new PptxGenJS(); // 全局设置默认字体,示例为微软雅黑 pptx.defaultFont = "Microsoft YaHei";
方法2:单独为HTML转换的表格指定字体
如果只需要修改HTML转出的表格字体,不需要修改全局其他内容字体,可在调用转换方法时通过options参数传递字体配置:
- 如果你使用官方
tableToSlides方法直接转换HTML表格DOM节点:
// 取目标HTML表格的DOM节点 const tableDom = document.getElementById("your-table-id"); // 转换时传入字体配置 pptx.tableToSlides(tableDom, { fontFace: "Microsoft YaHei", // 可搭配其他字体相关配置 fontSize: 12 });
- 如果你是自行解析HTML表格内容后调用
addTable方法生成表格:
// 解析HTML得到的表格内容二维数组 const tableData = [ ["列1", "列2", "列3"], ["内容1", "内容2", "内容3"] ]; // 生成表格时指定全局字体 pptx.addSlide().addTable(tableData, { fontFace: "Microsoft YaHei" }); // 如果需要给表头、特殊单元格单独设置字体,可以在单元格数据中单独指定配置 const tableDataWithStyle = [ [ { text: "列1", options: { fontFace: "Microsoft YaHei Bold" } }, { text: "列2", options: { fontFace: "Microsoft YaHei Bold" } } ], ["内容1", "内容2"] ]; pptx.addSlide().addTable(tableDataWithStyle, { // 普通单元格默认字体 fontFace: "Microsoft YaHei" });
注意事项
- 指定的字体需要在生成PPT的设备和后续打开PPT的设备上都安装,否则会自动 fallback 到系统默认字体
- 如果需要嵌入字体,可通过
pptx.defineFont方法配置,PptxGenJS仅支持嵌入OpenType/TrueType字体,需要传入字体的base64数据
内容的提问来源于stack exchange,提问作者Keshav Roy
相关产品推荐
相关产品推荐

