Python 文档生态:对比与借鉴
本页是实现参考,不是项目能力的范围上限。全量目标、固定 26.9.0 基准和验收门槛以 商业对齐计划 为准;使用方式见 DOM 指南 和 转换与安全。
下表保留迁移前已积累的对照方向与历史验证,不代表 DocKiln 0.1.0 已重新验收。Markdown/TXT 读写及 Markdown 语义映射已移除,相关旧记录仅用于历史对照。局部测试或某次原生输出不代表完整格式/布局等价;历史
阶段的无引用调试、性能记录和缺少完整复验材料的零散外部引擎观察可从 Git 历史恢复;
benchmarks/ 保留指南、测试或复验器引用的材料。不将旧测试数量、环境或 CI 状态写成当前结果。
| 来源 | 项目落点 | 证明价值所需证据 | 当前状态 |
|---|---|---|---|
| python-docx | 原包局部编辑、自然的节点 API、公开保留报告 | 独立 ZIP 部件字节对照,读/无编辑/资源编辑/失败不污染 | 已实现;独立 ZIP 字节及无编辑/编辑用例通过 |
| docxtpl | 可信 Word 模板与转换组合,明确模板错误 | 实际模板变量、循环、图片、缺失变量和 XML 转义 | 变量、段落循环、内嵌/动态图片、缺失变量及 XML 转义已实测;动态图片的 DOCX/PDF 尺寸和像素检查通过 |
| Mammoth | 自定义业务样式语义、脚注引用与回链、转换消息 | 标题/引用/代码样式覆盖与不变更源模型;脚注位置和内容对照 | Markdown 映射与注释导出已移除;既有 Mammoth/Pandoc 对照仅为历史证据,当前保留 DOCX/Flat OPC 注释及来源模型 |
| docx2python | 来源关联与独立内容对照 | 复杂列表、嵌套/合并表格、notes 和跨 run 内容 | 既有语义 corpus 通过;原 XML 定位已验证,复杂共同样本仍待扩展 |
| Pandoc | 单一中间模型、输出参考样式、读写边界 | 模型语义往返;参考 DOCX 样式用于生成且保留输出关系 | 参考 DOCX 样式覆盖已实现;有效字号/直接格式/ID 关系/失败不污染验证通过,常见内容及参考标题已做真实 Pandoc 对照,复杂字符继承仍待深化 |
| unoserver | 批转换超时、回收和生命周期 | 超时/崩溃后下一任务成功、重复转换无 profile 串扰;吞吐对照 | 原生超时后恢复、不同输入/独立 profile、崩溃子进程回收已验证;批量吞吐对照待补 |
| docx2pdf | Microsoft Word 对照工具 | 相同样本的真实 Word 页数、文本、视觉结果;环境缺失明确记录 | 已有八页 Word 原生产物和小字号对照;固定语料的完整布局验收仍未完成 |
| fpdf2 | 字体回退、塑形、测量与输出一致 | 混合字体与复杂文字的实际坐标/内容/测量对照 | 相同格式 run 连字/字距、fallback 缓存和 RTL 片段方向已修复;实际基线/边界与原生标点坐标已有验证;真实格式边界及更多文字仍待深化 |
| ReportLab | 测量/放置/拆分职责、跨页表格 | 长行分割、重复表头、不可拆行的布局验证 | 长行、重复表头及不可拆行已有实测;首个多行表头拆分、重复表头导航和旋转单元格隐藏文字已修复;四类 ReportLab 共同样本通过内容/位置对照;复杂富内容共同样本仍待扩展 |
| WeasyPrint | 页边区域、页码、分页与孤行规则 | keepNext、pageBreakBefore、widowControl 跨页/列内容与坐标 | pageBreakBefore、keepNext 链与两行孤行控制、多列链/首表行/组均衡已验证;页边 Artifact 与首次可见导航已验证;复杂连续分节仍待扩展 |
| Docling | 稳定结构契约、层级和来源追踪 | JSON 契约、原始 part/定位关联、正文/附属内容区分 | 原始 part/元素索引已实现,正文/嵌套表格/注/页眉测试通过;完整 LDM 图片 JSON 往返已验证 |
| 商业 Aspose / Spire.Doc | 诚实能力矩阵、一致选项、复杂文档验收 | 能力声明逐条关联实现/测试,不使用未实现选项冒充兼容 | 已有矩阵;PDF 内容流压缩/打开模式、大纲补层和展开状态已验证,其余选项继续审计 |
| pypdf / PyMuPDF | 独立 PDF 结构、内容和渲染验收 | 同一样本独立抽取、页面坐标及渲染图 | 五类基准内容/图片独立抽取通过;段落导航的页/列/坐标、结构树映射已对照;表格/页边等共同样本逐页像素摘要一致,更多真实语料仍待扩展 |
证据与剩余边界
- 共同语义样本(本地复验材料,未公开)、注释/脚注样本(本地复验材料,未公开) 用于内容与结构对照,不替代分页和像素检查。
- 早期性能测量移至 Git 历史;需要当前速度结论时,应在固定环境和共同语料上重新测量。
- 当前字体替换、塑形、外部引擎和内容损失边界见 转换与安全。
- 完整布局、复杂共同样本、批量吞吐、标准认证及全部商业 API 的缺口仍保留在 全量台账(本地复验材料,未公开)。
重现各专项时使用 benchmarks/ 中记录的版本、语料、配置和执行方法;测试/复验器仍
引用的原始输出及生成器保留。阶段叙述和失败调试过程可从 Git 历史恢复。