图片转 PPT 最容易出问题的就是表格:看着只是一块网格,导出后能不能直接改数字才是关键。原图里的数据表,或任何由横竖线划分出行列的网格,都要求模型输出一个表格元素:外框位置加上行数、列数和逐行的单元格内容。导出时它是 PowerPoint 里的一个原生表格,可以直接改字、调列宽、加行。模型如果用一堆线条加零散文字拼出网格,完整性检查和视觉复检会把它记为「图形近似」问题。导入 .pptx 时,原文件里的表格同样转成表格元素。下面按内容格式、识别要求、校验、导出、检查、修改、事实检查、导入的顺序说明,最后列出目前的限制。
表格可以设置什么
外框用左上角和宽高表示,单位是原图像素。表格本身可以设置:
| 设置 | 说明 |
|---|---|
| 行数、列数 | 必填,各 1~75 |
| 单元格内容 | 必填,按行排列;每个单元格可以只写文字,也可以带样式 |
| 列宽、行高 | 可选,按比例分配到外框的宽高 |
| 边框 | 可选,设置颜色和粗细,范围为所有边框,或只画列与列之间的竖线;也可以设为无边框 |
| 表头 | 可选,表示首行是表头 |
每个单元格可以设置:文字、加粗、字号、文字颜色、水平对齐(左、中、右、两端)、垂直对齐(上、中、下)、填充色、合并(横跨几列、纵跨几行)。被合并区域覆盖的位置不用再写内容。
例如一张三列的季度数据表,第一行是横跨 3 列、居中的标题「2026 年度」,第二行是「季度、收入、利润」,第三行是「Q1、100、20」,其中数字右对齐。

识别要求:一个表格,不拼线条
识别提示词规定:只要图中有数据表或任何带行列线的网格,就输出一个表格元素,写出真实的行、列和单元格内容,不要用一排排线条加零散文字拼出网格。同一段还要求表格单元格和柱状图的柱子一样保持直角。imageToEditablePPT-Agent 的提示词有同样的要求。
这样要求的原因是:用线拼出来的网格在 PowerPoint 里是几十个互不相关的连接线和文本框,改一个数字要先找到对应的文本框,加一行要挪动所有线,列宽也对不齐。原生表格只有一个对象,文字跟着单元格走。整张表导出后在页面上只是一个表格对象,这一点有自动化测试覆盖。

校验
表格入库前要通过以下校验:
- 行数、列数是 1~75 的整数。
- 单元格内容按行排列,每一行是一组单元格;单元格可以为空、是文字或数字,也可以是带样式的单元格。带样式的单元格只接受上面列出的设置。
- 每个单元格最多 2000 字;颜色必须是合法的十六进制颜色;合并的跨度必须是正整数。
- 边框粗细在 0~200px 之间。
外框超出画布的部分会被收回到画布内。没有名称的表格默认叫「表格」。
有两种情况不判为错误,在导出时自动处理:单元格数量与行列数不一致时,多出的丢弃,缺少的补成空白格;列宽、行高的个数与列数、行数不一致时,改为平均分配。
导出为原生表格
导出时,每个表格元素生成 PowerPoint 的一个原生表格,这一步决定了图片转 PPT 的结果是一个可编辑的表格,还是一张表格截图:
- 列宽、行高按给定比例分配到外框尺寸。
- 按行依次填入单元格。合并单元格按 PowerPoint 的标准写法输出,跨度最多到表格的右边和底边为止。
- 每个单元格的文字是一个段落,字体为 Arial,没有设置字号时为 24px(导出为 18pt),垂直对齐默认居中。设置了表头时,首行默认加粗并填充浅蓝灰色,单元格自己设置了加粗或填充时以单元格为准。
- 没有设置边框时,使用深灰色、1px 的统一边框;设为无边框时不画边框。只画竖线时,只在列与列之间画线。
所有颜色和边框都直接写在表格上,不依赖 PowerPoint 主题的表格样式,所以换主题不会改变表格的颜色。合并单元格的导出和超出 75 行的拒绝都有自动化测试覆盖。
实时预览
审核页的画布会实时画出表格,合并单元格的展开方式与导出相同。模型输出完一个表格元素,画布上就能看到它。视觉复检用的截图也来自这张画布。
完整性检查与视觉复检
完整性检查和视觉复检使用同一份检查清单。「元素遗漏」一项把表格线列为常见的遗漏内容。「图形近似」一项要求:带表格线的数据表必须是单个表格元素,如果被拼成了一排排线条和零散文字,就在这一项下报出来。
级别为「严重」、并且指向具体元素的问题会自动修复,每次只改写一个元素。一张用线拼出来的表由几十个元素组成,属于结构性问题,单元素修改处理不了。要把它换成一个表格,可以交给 imageToEditablePPT-Agent:它的一次修改可以同时删除旧元素、新增表格(见第 05 章)。对话里没有指明具体元素时,删除和新增会先列出来,等你确认后再生效。
元素清单与对话修改
元素清单把表格显示为「表格」。清单里的位置和尺寸输入框目前只对方框、椭圆、文字开放,表格在清单里可以确认或删除。修改表格有两种方式:
- 单元素对话:选中表格,描述要改的内容,例如改某个数字、增加一行;模型返回修改后的整个表格,重新校验后生效。
- imageToEditablePPT-Agent:在对话里描述修改,适合同时涉及多个元素的调整。
「一键整理」把表格当作一个整体参与对齐和排列,不调整表格内部的行列。
beautyPPT-Agent 的事实检查
beautyPPT-Agent 重新设计时,可以把表格改成用形状和文字画出的图表,但数字必须保持不变。服务端用确定的规则对比原页和方案里的数字,不依赖模型判断:报出方案里新出现的数字和原页里缺失的数字。比较前会统一全角与半角、千分位、「万」「亿」等写法,只是换一种写法的数字不会被误报。方案里出现原页没有的数字时,需要你确认后才能应用。
表格单元格里的数字和文字元素里的数字一样参与这项检查,也会作为原页文字提供给模型。这一点有自动化测试覆盖:方案丢掉了表格里的数字,会被报为缺失。
导入 .pptx 中的表格
导入 .pptx 时,原文件里的表格按以下规则转成表格元素:
- 行数、列数、列宽、行高取自原表格的网格线。超过 75 行或 75 列的表格不导入,并提示「超过 75 行/列的表格未导入」。
- 保留合并单元格。
- 单元格文字保留多行;颜色、字号、加粗取单元格内字数最多的那种样式,对齐方式取占多数的那种。斜体和字体不带入。单元格填充色保留。
- 全表使用一种边框:取第一个带边框的单元格的线条颜色和粗细;原表格没有边框时不画边框。导入的表格不设表头。
- 旋转的表格改为水平放置,从右到左的表格按从左到右导入,这两种情况都会写进导入提示。
这些转换规则有自动化测试覆盖:把表格导出为 .pptx 再导入,外框误差在 1px 以内,单元格文字一致。
目前的限制
- 每个单元格只有一种样式:同一格里不能混用不同颜色或粗细,暂不支持斜体、下划线和字体选择(导出固定为 Arial)。
- 边框只能全表统一:一种颜色、一种粗细,范围只有「所有边框」和「仅列间竖线」两种。暂不支持单独设置某个单元格的边框、只画横线或只画外框,也没有虚线边框。导入时,各单元格不同的边框会合并为一种。
- 暂不支持设置单元格内边距,导出使用 PowerPoint 的默认值。需要调整时,可以在 PowerPoint 里修改。
- 元素清单里不能直接修改表格的位置和尺寸,可以通过对话修改,或导出后在 PowerPoint 里调整。
- 超过 75 行或 75 列的表格在识别时会被拒绝,在导入时会被跳过。
