python-docx高级用法
from docx import Document
from docx.enum.section import WD_SECTION
# 创建一个新文档
doc = Document()
# 添加页眉
header = doc.sections[0].header
header.add_paragraph('Header text')
# 添加页脚
footer = doc.sections[0].footer
footer.add_paragraph('Footer text')
# 设置页眉页脚不同
doc.sections[0].different_first_page_header_footer = True
doc.sections[0].first_page_header.add_paragraph('First page header')
doc.sections[0].first_page_footer.add_paragraph('First page footer')
from docx import Document
from docx.shared import Pt
from docx.oxml.ns import qn
# 创建一个新文档
doc = Document()
# 添加目录
doc.add_paragraph('Table of Contents', style='Heading 1')
doc.add_paragraph('Chapter 1', style='Heading 2')
doc.add_paragraph('Section 1.1', style='Heading 3')
doc.add_paragraph('Section 1.2', style='Heading 3')
doc.add_paragraph('Chapter 2', style='Heading 2')
doc.add_paragraph('Section 2.1', style='Heading 3')
doc.add_paragraph('Section 2.2', style='Heading 3')
doc.add_paragraph('Section 2.3', style='Heading 3')
doc.add_paragraph('Chapter 3', style='Heading 2')
doc.add_paragraph('Section 3.1', style='Heading 3')
doc.add_paragraph('Section 3.2', style='Heading 3')
doc.add_paragraph('Section 3.3', style='Heading 3')
doc.add_paragraph('Section 3.4', style='Heading 3')
doc.add_paragraph('Section 3.5', style='Heading 3')
doc.add_paragraph('Section 3.6', style='Heading 3')
doc.add_paragraph('Section 3.7', style='Heading 3')
# 添加书签
doc.add_paragraph('Bookmark', style='Heading 1')
bookmark = doc.add_paragraph()
bookmark.add_run('This is a bookmarked text.').italic = True
doc.add_bookmark('bookmark', bookmark)
# 更新目录
doc.sections[0].page_width = Pt(700)
doc.sections[0].page_height = Pt(1000)
doc.sections[0].orient = WD_SECTION.LANDSCAPE
doc.sections[0].start_type = WD_SECTION.NEW_PAGE
doc.sections[0].add_page_break()
doc.add_paragraph('Updated Table of Contents', style='Heading 1')
doc.add_paragraph('Chapter 1', style='Heading 2')
doc.add_paragraph('Section 1.1', style='Heading 3')
doc.add_paragraph('Section 1.2', style='Heading 3')
doc.add_paragraph('Chapter 2', style='Heading 2')
doc.add_paragraph('Section 2.1', style='Heading 3')
doc.add_paragraph('Section 2.2', style='Heading 3')
doc.add_paragraph('Section 2.3', style='Heading 3')
doc.add_paragraph('Chapter 3', style='Heading 2')
doc.add_paragraph('Section 3.1', style='Heading 3')
doc.add_paragraph('Section 3.2', style='Heading 3')
doc.add_paragraph('Section 3.3', style='Heading 3')
doc.add_paragraph('Section 3.4', style='Heading 3')
doc.add_paragraph('Section 3.5', style='Heading 3')
doc.add_paragraph('Section 3.6', style='Heading 3')
doc.add_paragraph('Section 3.7', style='Heading 3')
doc.add_paragraph('Bookmark', style='Heading 1')
doc.add_paragraph().add_run('This is a bookmarked text.').italic = True
doc.save('example.docx')
from docx import Document
# 创建一个新文档
doc = Document()
# 添加注释
para = doc.add_paragraph('This is a paragraph with a comment.')
comment = para.add_comment('This is a comment.')
comment.author = 'Author'
# 添加批注
para = doc.add_paragraph('This is a paragraph with a comment.')
doc.add_paragraph('This is another paragraph.')
para.add_run().underline = True
doc.add_comment('This is a comment.', para)
doc.save('example.docx')
from docxtpl import DocxTemplate, InlineImage
# 使用模板生成文档
tpl = DocxTemplate('template.docx')
context = {
'title': 'Document Title',
'subtitle': 'Document Subtitle',
'image': InlineImage(tpl, 'image.jpg', width=500, height=500),
'table': [
{'name': 'John', 'age': 30},
{'name': 'Mary', 'age': 25},
{'name': 'Tom', 'age': 35}
]
}
tpl.render(context)
tpl.save('example.docx')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现