跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

首页/工作区与文件/产物与文件改动

docx 产物在 LibreOffice 与 Word 下的差异:怎么验、验什么

AI 生成的 .docx 在你这儿打开挺好看,发给别人就错位了。

待实测版本与环境核验日期2026-11-14
工具
python-docx可生成;本机未装LibreOffice
状态
本机无法做双渲染器对比,本页给验收项
核验日期
2026-11-14
诚实说明:本机没有LibreOffice,做不了「同一份docx在两个渲染器下有多少像素差」这种实测。所以这页给的是验收项清单,不是对比结论——真正的对比数据等有环境了再补。

docx错位几乎都出在下面这几项。它们共同点是:规范和渲染器实现之间留有自由度,不同软件填这个空白的方式不同。

易错位的地方为什么会偏怎么验
字体缺失时的回退文档指定的字体对方没装,回退到别的字,字宽变了行就重排换一台没装该字体的机器打开,看是否仍在一页内
行距与段前段后倍数行距在不同渲染器下取整方式不同看段落数是否变化、是否多出孤行
表格自动列宽由渲染器按内容算宽度,算法不一样把表格列宽改成固定值,再对比
分页与孤行控制分页规则实现细节不同看关键标题是否被推到下一页
图片与文字环绕环绕方式实现差异较大重点看图文混排段落
制表符与缩进制表位默认值不同看目录、签名档这类用制表符对齐的地方

生成阶段就能降低风险

  • 字体只用人人都有的:中文用宋体/黑体/微软雅黑,别用少见字体。
  • 行距用固定值(例如1.5倍改为具体磅值),别用「多倍行距」。
  • 表格列宽写死,不要留给自动计算。
  • 少用文本框:它是最容易错位的元素。

验证的最短路径

  1. 生成docx。
  2. 在你机器上用Word(或WPS)打开,截图或导出PDF记为基线。
  3. 在另一台机器用另一个渲染器打开,对比关键页:首页、含表格的页、结尾。
  4. 只对比这四处,不要全篇逐字看——重点永远是结构,不是像素。

如果你也没有第二个渲染器

退一步的做法:把docx自己导出成PDF,PDF的版式是固定的,再对比PDF。这不能替代跨渲染器验证,但能确认「你自己这边的版式是稳定的」。

怎么算跑通

照着逐条对,全过才算完成。有一条没过,先解决它再往下。

  • 关键四处(首页/表格页/结尾/图文混排)都对比过
  • 字体在目标机器上存在,或已知回退结果可接受
  • 表格列宽是固定值而不是自动

会失败在哪

现象 / 原因 / 怎么办,按实际踩到的顺序写。

现象原因怎么办
对方打开后行距明显不同用了倍数行距,渲染器取整不同改成固定磅值重新生成
表格列宽在对方那儿变形自动列宽由渲染器计算把列宽写成具体值

来源

标「已核验」的,来自本站实跑;标「公开资料整理」的,逐条附出处。