You need to enable JavaScript to run this app. 使用PyMuPDF读取PDF文件时如何忽略页眉页脚内容
优惠活动
大模型
产品
解决方案
定价
更多

使用PyMuPDF读取PDF文件时如何忽略页眉页脚内容

PyMuPDF 忽略页眉页脚提取文本解决方案

完全可以在PyMuPDF读取过程中直接实现该需求,无需转换为docx格式,能完全避免格式重排错乱的问题。核心逻辑是利用PyMuPDF的区域文本提取能力,裁剪掉页面上下固定高度的页眉页脚区域,仅提取中间正文部分的内容。

实现代码

import fitz  # PyMuPDF

# 自定义上下边距裁剪比例,可根据你的PDF实际页眉页脚高度调整
# 示例数值代表裁掉顶部10%、底部10%的边缘区域
TOP_MARGIN_RATIO = 0.1
BOTTOM_MARGIN_RATIO = 0.1

with fitz.open('file.pdf') as doc:
    text = ""
    for page in doc:
        # 获取当前页面的完整尺寸坐标,格式为(左上角x, 左上角y, 右下角x, 右下角y)
        page_rect = page.rect
        # 计算正文有效区域的坐标范围
        clip_rect = fitz.Rect(
            page_rect.x0,
            page_rect.y0 + page_rect.height * TOP_MARGIN_RATIO,
            page_rect.x1,
            page_rect.y1 - page_rect.height * BOTTOM_MARGIN_RATIO
        )
        # 仅提取裁剪区域内的文本,旧版本PyMuPDF可替换为getText(clip=clip_rect)
        text += page.get_text(clip=clip_rect)

参数调整说明

  • 先抽取3-5页测试提取效果,根据实际页眉页脚的高度微调两个边距比例的数值即可,比如页眉高度更大就把TOP_MARGIN_RATIO调到0.12,没有页脚可以直接把BOTTOM_MARGIN_RATIO设为0
  • 如果不同页面的页眉页脚位置存在差异,可以单独对指定页码设置专属的裁剪参数,不需要全局使用统一比例
  • 该裁剪逻辑同样适用于提取指定区域内的图片、表格等非文本内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 19:06:09