将任意技术方案按中国专利交底书标准 Part A/B/C 格式自动生成 Word 文档。
两种输入模式均支持:
表格形式,字段:专利名称 / 专利类型 / 发明人 / 撰写人 / 联系方式(邮箱+手机)
附图总体要求:白底黑线工程图样式,箭头标明数据流向,黑体标注。
附图清单:按顺序编号,每张图纸须在正文中以「如图X所示」引用。
图片占位符(插入真实图片前使用):
【图片内容描述: 图纸内容说明,标注关键部件和尺寸】
不得使用 TODO 或 [图片] 等非标准占位符。
C1. 发明创新点:2~3句话概括核心技术思想,突出「做了什么 + 带来什么效果」。
C2. 结构组成与连接原理:分模块编号(6~8个为宜),每模块包含名称和1~2句话功能描述,说明模块间数据传递方式(消息队列/共享内存/API调用)。
C3. 各部件硬件互相结合的工作流程:自然段落,4~6步骤,每步含触发条件、执行动作、产出结果。
C4. 解决的技术问题:「问题名称:解决了……的问题」格式,列举3~5项。
Step 1:用 Word COM 读取 .doc 源文件,提取正文内容。
Step 2:将内容按 Part A/B/C 骨架重组,技术内容填入对应章节,图片位置插入占位符。
Step 3:用 python-docx 生成 .docx。
# Word COM 读取(Windows)
$word = New-Object -ComObject Word.Application
$word.Visible = $false
$doc = $word.Documents.Open("C:\path\to\source.doc", $false, $true)
$sb = New-Object System.Text.StringBuilder
foreach ($p in $doc.Paragraphs) { [void]$sb.Append($p.Range.Text) }
$text = $sb.ToString()
$doc.Close($false)
# 注意:不调用 $word.Quit() 避免 RPC 错误
Step 1:向用户收集以下信息——技术名称、核心技术原理(2~3句)、应用场景(医疗/工业/仓储等)。
Step 2:按下方内容生成策略,从零构建 Part A/B/C 各节内容。
Step 3:用 python-docx 输出 .docx。
生成 C2 模块时,避免空泛描述,须包含:
生成 C3 步骤时,避免笼统表达,须包含:
生成 C4 有益效果时,定量优先于定性:
from docx import Document
from docx.shared import Pt, RGBColor, Cm
from docx.oxml.ns import qn
from docx.enum.table import WD_TABLE_ALIGNMENT
doc = Document()
section = doc.sections[0]
section.page_width = Cm(21)
section.page_height = Cm(29.7)
section.left_margin = section.right_margin = Cm(3.17)
section.top_margin = section.bottom_margin = Cm(2.54)
def set_font(run, name='宋体', size=10.5, bold=False, color=None):
run.font.size = Pt(size)
run.font.bold = bold
run.font.name = name
run._element.rPr.rFonts.set(qn('w:eastAsia'), name)
if color:
run.font.color.rgb = RGBColor(*color)
def add_para(doc, text, font='宋体', size=10.5, bold=False, indent=0, before=2, after=4, color=None):
from docx.shared import Pt
p = doc.add_paragraph()
p.paragraph_format.space_before = Pt(before)
p.paragraph_format.space_after = Pt(after)
p.paragraph_format.line_spacing = Pt(22)
if indent:
p.paragraph_format.left_indent = Cm(indent)
run = p.add_run(text)
set_font(run, font, size, bold, color)
return p
# Part 标题:黑体 小四/14pt 加粗
add_para(doc, '★ Part A 通讯信息', font='黑体', size=14, bold=True, before=16, after=6)
# 正文:宋体 五号/10.5pt
add_para(doc, '正文内容...')
# 图片占位符:蓝色 加粗
add_para(doc, '【图片内容描述: 系统架构示意图】', font='宋体', size=10.5, bold=True, color=(0,0,200))
doc.save('output.docx')
| 元素 | 字体 | 字号 | 样式 |
|---|---|---|---|
| ------ | ------ | ------ | ------ |
| Part 标题 | 黑体 | 14pt | 加粗 |
| C1~C4 标题 | 黑体 | 12pt | 加粗 |
| 正文 | 宋体 | 10.5pt | 常规 |
| 图片占位符 | 宋体 | 10.5pt | 加粗·蓝色 |
.docx(Word 2007+).doc 格式(Word 97-2003)须先通过 Word COM 读取内容,再由 python-docx 输出 .docx【图片内容描述: ...】 标准格式共 2 个版本