You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PyMuPDF区分PDF重复字段并填充不同值

解决PyMuPDF为PDF重复字段填充不同值的问题

你的现有代码会给所有找到的字段填充固定的"X",要实现不同页的重复字段填不同值,核心是按页码对应目标值来处理,同时注意你代码里有个变量名错误(pagina应该是page,否则会触发报错)。

具体修改方案:

  • 先定义一个和页码对应的填充值列表,列表索引对应PDF的页码(PyMuPDF中页码从0开始),按需设置每页要填充的内容;
  • 循环遍历每页时,根据当前页码取出对应的填充值,再插入到目标字段位置。

修改后的完整代码:

pdf = fitz.open(document)

# 定义每页对应的填充值,索引0对应第1页,索引1对应第2页,按需调整内容
page_values = ["X", ""]  # 示例:第1页填X,第2页留空

for page_num in range(len(pdf)):
    page = pdf.load_page(page_num)
    # 修正变量名错误:pagina -> page
    text = page.get_text("text")
    target_value = page_values[page_num]  # 获取当前页要填充的值
    
    areas = page.search_for("( ) I do not have tax residency outside Brazil.")
    
    for area in areas:
        # 仅当目标值不为空时插入,避免空字符占位
        if target_value:
            page.insert_text((area.x0 + 1.7, area.y0 + 9.5), target_value, fontsize=9, color=(0, 0, 0))

pdf.save(f"{local_download}\\{file_name_to_save}")
pdf.close()

如果需要第1页留空、第2页填X,只需把page_values改成["", "X"]即可;后续若有更多页,继续在列表中添加对应页码的填充值就行。

内容的提问来源于stack exchange,提问作者Fábio Mattes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 14:11:00