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

固定格式变页数PDF提取应付赠款机构信息遇阻求解决方案

可行提取方案建议

1. 精准定位PDF结构区域

既然PDF格式固定,先通过PyMuPDF解析页面的文本块坐标:

  • 使用doc.get_page_text("blocks")获取每一页的文本块及对应坐标信息,分析机构详情所在的固定矩形区域(比如每一页的特定y轴范围)
  • 遍历页面时直接过滤出该区域内的文本块,避免全局文本干扰,再做初步清洗

2. 基于关键词的规则匹配

结合你的触发关键词列表,编写针对性正则规则:

  • 若详情是“关键词+内容”的格式(如“机构名称:XX基金会”),用正则r'机构名称:(.*?)\n'提取对应内容
  • 若为表格形式,给Tabula添加lattice=True参数强制按表格解析,同时手动指定目标列的位置(可先用Tabula GUI工具确认表格坐标)

3. 自定义实体识别优化

如果用SpaCy/NLTK效果不佳,训练专属实体模型:

  • 标注一批你的PDF中的机构名称、赠款金额等实体样本
  • 用SpaCy的spacy train命令训练自定义NER模型,适配你的PDF文本格式,提升识别准确率

4. 工具组合与多页处理

  • 扫描版PDF先通过pytesseract做OCR识别,再用上述方法提取文本
  • 编写循环逻辑,对每一页重复执行相同的提取规则,最后将结果合并为JSON/CSV等结构化格式

测试代码调整示例

针对PyMuPDF的区域提取优化代码:

import fitz

doc = fitz.open("target.pdf")
# 替换为实际目标区域的坐标范围
target_y_start = 150
target_y_end = 600

for page in doc:
    blocks = page.get_text("blocks")
    for block in blocks:
        x0, y0, x1, y1, text, _, _ = block
        if target_y_start <= y0 <= target_y_end:
            print(text.strip())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:42:09