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

如何在Python中获取PDF文件中指定文本的下一行内容

从PDF文本中提取指定行的下一行内容

需求说明

从PDF读取的文本中,获取指定文本**“井盖电压 井盖位置 井盖等级”(对应原英文:Voltage on Manhole Cover Manhole Location Manhole Grade)的下一行内容,期望输出为“无道路 与地面齐平/找平”**(对应原英文:No Roadway To Grade/Flush)。

示例文本

井盖是否可检查 是

井盖电压 井盖位置 井盖等级    
无道路 与地面齐平/找平
井盖类型 井盖尺寸 入口数量 1
单动实心款 24英寸
井盖长度 2英尺
井盖宽度 2英尺
净空深度(D/C) 3英尺
顶部到地面高度(C/S) 6英寸
井盖内容物 次级(低于4kV)、路灯     
主电缆数量 0
环境控制

实现方案(以Python为例)

思路

  1. 将读取到的PDF文本按行拆分,过滤无效空行(可选)
  2. 遍历行列表,定位到目标行
  3. 若目标行存在下一行,提取该行内容

代码示例

# 假设已将PDF文本读取到变量pdf_text中
pdf_text = """
Manhole Available for Inspection Yes

Voltage on Manhole Cover Manhole Location Manhole Grade    
No Roadway To Grade/Flush
Manhole Cover Type Manhole Cover Size Number of Entrances 1
Single Action Solid 24"
Manhole Length 2 ft
Manhole Width 2 ft
Depth Clearance (D/C) 3 ft
Ceiling to Surface (C/S) 6 inches
Manhole Content Secondary (Less than 4kV), Streetlight     
# of Primary Cables 0
Environmental Controls
"""

# 按行分割并过滤空行
lines = [line.strip() for line in pdf_text.split('\n') if line.strip()]

# 指定目标文本(根据读取的文本语言选择)
target_line = "Voltage on Manhole Cover Manhole Location Manhole Grade"

result = None
for idx, line in enumerate(lines):
    if line == target_line:
        if idx + 1 < len(lines):
            result = lines[idx + 1]
            break

print(result)  # 输出:No Roadway To Grade/Flush

注意事项

  • 若读取的是中文翻译后的文本,将target_line替换为对应的中文语句即可
  • 部分PDF可能存在文本换行异常,需根据实际输出调整行分割或匹配逻辑
  • 必须判断下一行索引是否有效,避免出现索引越界错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:45:47