doc-beautifier
Beautify .docx files with a professional general template. Preserves all original text content while applying consistent formatting.
Quick Start
python3 scripts/beautify.py <input.docx> <output.docx>
# Optional template:
python3 scripts/beautify.py input.docx output.docx --template elegant
Features
- Structure Detection: Heuristically identifies titles, headings (3 levels), and body paragraphs based on text patterns, length, and existing formatting
- 3 Built-in Templates:
standard— Default professional template (A4, 微软雅黑 headings, 宋体 body, 1.5 line spacing)compact— Tighter spacing, smaller margins, 1.25 line spacing (for dense documents)elegant— Larger margins, refined colors, spacious layout (for formal reports)
- Page Layout: Sets A4 page size, proper margins, centered page numbers in footer
- Content Preservation: ALL original text is preserved; no content is added, removed, or reordered
Template Specification
| Setting | standard | compact | elegant |
|---|---|---|---|
| Page margins | 2.54/3.18 cm | 2.0/2.5 cm | 3.0/3.5 cm |
| Title size | 22pt | 18pt | 26pt |
| H1 size | 16pt | 14pt | 16pt |
| H2 size | 14pt | 12pt | 14pt |
| H3 size | 12pt | 11pt | 12pt |
| Body size | 12pt(小四) | 11pt(五号) | 12pt(小四) |
| Line spacing | 1.5 | 1.25 | 1.5 |
| Body font | 宋体 | 宋体 | 宋体 |
| Heading font | 微软雅黑 | 微软雅黑 | 微软雅黑 |
Workflow
- Locate the user's input .docx file
- Run
beautify.pywith desired template - Validate the output by unpacking or checking with python-docx
- Deliver the beautified document path to the user
Structure Detection Heuristics
The script identifies paragraph roles using:
- First non-empty paragraph → Document title
- Already styled as Heading 1-3 → Preserve heading level
- Bold + large font + short text (< 50 chars) without ending punctuation → Heading
- Starts with Chinese number (一、二、) or decimal (1.1, 2.3) → Heading
- Bold paragraphs under 60 chars → Heading
- Everything else → Body text
Customization
Edit the TEMPLATES dictionary in scripts/beautify.py to:
- Change colors, fonts, sizes
- Add new template variants
- Adjust line spacing or indentation
- Modify page margins
Requirements
python-docx(install:pip install python-docx)- Python 3.8+
评论
加载中…