DOCX 技能
使用时机
- 阅读或审阅注重布局的 DOCX 内容(表格、图表、分页)。
- 创建或编辑具有专业格式的 DOCX 文件。
- 在交付前验证视觉布局。
工作流程
- 优先进行视觉审查(布局、表格、图表)。
- 如果
soffice和pdftoppm可用,将 DOCX 转换为 PDF,再转换为 PNG。 - 或者使用
scripts/render_docx.py(需要pdf2image和 Poppler)。 - 如果缺少这些工具,安装它们或请用户在本地查看渲染的页面。
- 如果
- 使用
python-docx进行编辑和结构化创建(标题、样式、表格、列表)。 - 每次有意义的修改后,重新渲染并检查页面。
- 如果无法进行视觉审查,则回退使用
python-docx提取文本,并指出布局风险。 - 保持中间输出有序,并在最终批准后清理。
临时文件和输出约定
- 使用
tmp/docs/存放中间文件;处理完毕后删除。 - 在此仓库中工作时,将最终产物写入
output/doc/目录。 - 保持文件名稳定且具有描述性。
依赖项(如缺失请安装)
推荐使用 uv 管理依赖。
Python 包:
uv pip install python-docx pdf2image
如果 uv 不可用:
python3 -m pip install python-docx pdf2image
系统工具(用于渲染):
# macOS (Homebrew)
brew install libreoffice poppler
# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils
如果在此环境中无法安装,请告知用户缺少哪个依赖项以及如何在本地安装。
环境
无需设置环境变量。
渲染命令
DOCX -> PDF:
soffice -env:UserInstallation=file:///tmp/lo_profile_$$ --headless --convert-to pdf --outdir $OUTDIR $INPUT_DOCX
PDF -> PNG:
pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
集成辅助脚本:
python3 scripts/render_docx.py /path/to/file.docx --output_dir /tmp/docx_pages
质量要求
- 交付客户就绪的文档:一致的排版、间距、页边距和清晰的层级结构。
- 避免格式缺陷:裁剪/重叠文本、表格断裂、字符不可读或使用默认模板样式。
- 图表、表格和视觉效果在渲染页面中必须清晰可读且对齐正确。
- 仅使用 ASCII 连字符。避免使用 U+2011(不间断连字符)和其他 Unicode 破折号。
- 引文和参考文献必须人类可读;切勿留下工具令牌或占位符字符串。
最终检查
- 在最终交付前,以 100% 缩放比例重新渲染并检查每一页。
- 修复任何间距、对齐或分页问题,并重复渲染循环。
- 确认没有残留文件(临时文件、重复渲染),除非用户要求保留。