鱼C论坛

 找回密码
 立即注册
查看: 2828|回复: 2

python 添加文档页码

[复制链接]
发表于 2023-5-17 09:26:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

# 页脚
def ye_jiao():

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

测试了下,只能是0才能运行,
换作是1以后就会报错IndexError: list index out of range
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-5-17 09:27:20 | 显示全部楼层
你好,可以尝试以下代码来实现给文档添加页码:
  1. from docx import Document
  2. from docx.enum.text import WD_ALIGN_PARAGRAPH
  3. from docx.shared import Pt
  4. # 打开文档
  5. doc = Document('your_document.docx')
  6. # 获取页脚
  7. footer = doc.sections[0].footer
  8. # 循环添加页码
  9. for i in range(len(doc.sections)):
  10.     # 获取页脚段落
  11.     paragraph = footer.paragraphs[0]
  12.     # 添加页码
  13.     run = paragraph.add_run()
  14.     run.add_text(str(i+1))
  15.     # 设置页码格式
  16.     run.font.size = Pt(10)
  17.     run.font.name = 'Times New Roman'
  18.     run.alignment = WD_ALIGN_PARAGRAPH.CENTER
  19. # 保存文档
  20. doc.save('your_document_with_page_numbers.docx')
复制代码

其中, your_document.docx 是需要添加页码的文档名, your_document_with_page_numbers.docx 是添加了页码后的文档名。如果你的文档有多个节,则需要在循环中添加相应的页码。另外,需要注意的是,添加页码时需要设置页码的格式,包括字体大小、字体名称和对齐方式等。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-17 10:56:05 | 显示全部楼层
isdkz 发表于 2023-5-17 09:27
你好,可以尝试以下代码来实现给文档添加页码:

这个页码会同步,出现第个页的页码都是一样的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 05:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表