快速结论:这是在 Open WebUI 中预览由 python-pptx 等方式生成、包含饼图、圆环图或水平条形图的 PowerPoint 文件时出现的现象。它属于预览功能尚未支持这些图表类型的功能请求,并非 PPTX 文件损坏。优先确认文件在其他软件中能否正常显示,再判断是否为预览限制。
适用环境:Open WebUI v0.12.3 及 dev 分支(提交 8fa77c8282b10e7de36863c4df6583a62a55354c);通过 pip / uv(uv tool install open-webui)安装;服务端 Debian 13,浏览器端 Linux + Chromium 151;Ollama 未参与。
最快修复方案:暂无确认的一步修复方案。Issue 中给出的临时办法是下载该文件,改用 PowerPoint 或 LibreOffice 打开查看,这些软件会按文件内容显示全部图表。
注意事项:Issue 讨论中已明确判定为功能请求(Not a bug. Feature request.),不是现有图表的渲染缺陷。没有证据表明调整环境、依赖或配置可以解决;新增图表类型的绘制能力需要等待 Open WebUI 预览功能更新,Issue 中仅表示已在 dev 处理,未给出具体版本。
问题场景
用户在聊天中上传或从文件导航器中打开一个 PowerPoint(.pptx)文件,并切换到 Preview 标签查看。文件通过 python-pptx 生成,包含饼图(c:pieChart)、圆环图(c:doughnutChart)和水平条形图(<c:barDir val="bar"/>)。预览中饼图和圆环图的图表区域完全空白;水平条形图被画成垂直柱状图。与 LibreOffice 或 PowerPoint 中的显示结果对比,差异明显。该问题可追溯到 #32873,其中标题对齐问题已由 #32876 修复,但上述两个图表问题在 dev 分支上仍存在。
报错原文
feat: PowerPoint preview: draw pie, doughnut and horizontal bar charts
浏览器控制台没有报错输出。问题表现为预览渲染结果与文件实际内容不一致,而不是抛出异常。
原因分析
根据 Issue 中对 src/lib/utils/pptxToHtml.ts 的分析,原因集中在 renderChart()(L796-L802)的实现范围:
- 该函数只识别
c:barChart和c:lineChart两种图表类型,其他类型会返回false(L1033),因此饼图、圆环图等连图表占位框都不会绘制,幻灯片上看起来像图表缺失。 - 对于所有
c:barChart,函数一律按垂直柱状图绘制,从不读取c:barDir,所以设置barDir="bar"的水平条形图被错误画成垂直柱。 - area、scatter、radar 等其他图表类型同样不受支持,也会留下空白区域。
维护者在评论中指出,这不是现有图表的故障,文件本身是完好的,问题在于预览缺少对应图表类型的绘制逻辑,因此归类为功能请求。
环境排查
- 确认 Open WebUI 版本:v0.12.3 与 dev(8fa77c8282b10e7de36863c4df6583a62a55354c)均复现,说明不是单一版本回归。
- 确认安装方式是否为 pip / uv(
uv tool install open-webui),以判断是否与其他部署方式存在差异——Issue 未提供其他安装方式的对比证据。 - 确认浏览器与操作系统环境(Issue 中为 Linux + Chromium 151),并检查浏览器控制台是否真的没有报错。
- 确认 PPTX 文件本身是否正常:用 PowerPoint 或 LibreOffice 打开同一文件,核对图表是否完整显示。
- 确认预览内容是否来自
pptxToHtml.ts的解析路径(Issue 中通过pptxToImages()复现渲染结果)。
解决步骤
- 先从文件侧排除问题:在 PowerPoint 或 LibreOffice 中打开同一个 .pptx,确认饼图、圆环图和水平条形图均正常显示。若正常,说明文件无损,问题在预览端。
- 在 Open WebUI 中下载该文件,用上述桌面软件查看,作为临时绕过方案;这是 Issue 中明确给出的 workaround。
- 不要尝试通过修改依赖、CUDA 或系统配置来修复,现有证据不支持这些方向。
- 如需在预览中直接查看这些图表,关注 Open WebUI 后续版本对
renderChart()的更新;Issue 评论仅表示“Addressed in dev”,未提供一次性修复步骤。 - 若需要推动覆盖更多图表类型,可参考 Issue 正文建议:为不支持的图表类型增加回退占位框,避免幻灯片看起来像缺少图表。
验证方法
使用 Issue 中的 python-pptx 示例生成 charts.pptx,在 Open WebUI 的 Preview 标签中打开,并与 LibreOffice 或 PowerPoint 的显示结果逐一对比。若预览中出现饼图、圆环图,且 barDir="bar" 的图表以水平条形呈现,说明对应绘制能力已生效;在此之前,验证结果应表现为前两者空白、水平条形图被画成垂直柱,与 Issue 描述一致。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Bug]: Qwen3.6-35B-A3B (hybrid GDN + MoE): a prompt's logprobs move by up to 0.2 when another sequence shares its engine step (v0.30.0, sm_1](https://www.chat-gpts.plus/wp-content/uploads/2026/10/59764-7f760e85-768x403.jpg)

