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% 縮放比例重新渲染並檢查每一頁。
- 修正任何間距、對齊或分頁問題,並重複渲染循環。
- 確認沒有遺留檔案(暫存檔、重複渲染),除非使用者要求保留。