pysunred 发表于 2023-5-17 09:26:49

python 添加文档页码

友友好,
      我现在碰到个问题,就是我有一份百多页的纸质文件,需要添加页码。
我通过空word添加页码打印,但是这个打印机是先打印反面,再打印正面,
导致页码先2,后1,先4,后3。
    现在我想通过python给文档添加页码,网上找到相关代码,试了下只能添加第一页的页码,
我想通过循环进行添加页码,但提示报错。请教友友指导。万分感谢!!
测试代码如下:

# 页脚
def ye_jiao():

    # for i in range(8):
    footer = document.sections.footer# 获取第一个节的页脚
    paragraph = footer.paragraphs# 获取页脚的第一个段落
    paragraph.add_run(f'2')# 添加页脚内容

测试了下,只能是0才能运行,
换作是1以后就会报错IndexError: list index out of range

isdkz 发表于 2023-5-17 09:27:20

你好,可以尝试以下代码来实现给文档添加页码:

from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Pt

# 打开文档
doc = Document('your_document.docx')

# 获取页脚
footer = doc.sections.footer

# 循环添加页码
for i in range(len(doc.sections)):
    # 获取页脚段落
    paragraph = footer.paragraphs
    # 添加页码
    run = paragraph.add_run()
    run.add_text(str(i+1))
    # 设置页码格式
    run.font.size = Pt(10)
    run.font.name = 'Times New Roman'
    run.alignment = WD_ALIGN_PARAGRAPH.CENTER

# 保存文档
doc.save('your_document_with_page_numbers.docx')


其中, your_document.docx 是需要添加页码的文档名, your_document_with_page_numbers.docx 是添加了页码后的文档名。如果你的文档有多个节,则需要在循环中添加相应的页码。另外,需要注意的是,添加页码时需要设置页码的格式,包括字体大小、字体名称和对齐方式等。

pysunred 发表于 2023-5-17 10:56:05

isdkz 发表于 2023-5-17 09:27
你好,可以尝试以下代码来实现给文档添加页码:



这个页码会同步,出现第个页的页码都是一样的
页: [1]
查看完整版本: python 添加文档页码