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

如何用Python补充代码在PDF中高亮数字(含现有高亮代码)

修改代码实现PDF中指定单词+所有数字高亮

你可以通过PyMuPDF(fitz)的正则搜索功能匹配所有数字,以下是修改后的完整代码:

import fitz

# 打开PDF文件
my_pdf = fitz.open("AR_Finland_2021.pdf")

# 需要高亮的指定单词
target_words = ["blood", "aid"]
# 匹配所有连续数字的正则表达式
number_pattern = r'\d+'

# 遍历每一页处理高亮
for page in my_pdf:
    # 收集所有指定单词的匹配位置
    match_positions = []
    for word in target_words:
        match_positions.extend(page.search_for(word))
    
    # 收集所有数字的匹配位置,启用正则搜索模式
    match_positions.extend(page.search_for(number_pattern, flags=fitz.TEXT_SEARCH_REGEX))
    
    # 对所有匹配位置添加高亮注释
    for pos in match_positions:
        highlight = page.add_highlight_annot(pos)
        highlight.update()

# 保存处理后的PDF
my_pdf.save("highlighted_text.pdf")

关键修改说明:

  • 正则匹配数字:用r'\d+'作为匹配规则,\d匹配单个数字,+表示匹配一个或多个连续数字,覆盖整数、多位数场景。
  • 启用正则搜索:调用search_for时传入flags=fitz.TEXT_SEARCH_REGEX,让PyMuPDF按正则表达式解析搜索内容。
  • 优化代码结构:把指定单词存入列表批量处理,比单独定义变量更简洁易维护。

内容的提问来源于stack exchange,提问作者CelloRibeiro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:06:19