Python读取PDF文字 去掉页眉页脚

使用PyMuPDF(即fitz)读取PDF中的text时,会把页码也读进来。所以,有时候就需要让程序忽略页眉和页脚,或者直接删除页眉和页脚。

根据fitz的文档:Page - PyMuPDF 1.24.0 documentation

get_text的clip参数可以指定要读取文字的区域,于是大致代码如下:

doc = fitz.open(fname)
page = doc[0]
rect = page.rect
clip = 50 # 假设页眉和页脚的高度都是50
crop = fitz.Rect(0, clip, rect.width, rect.height-clip)
text = page.get_text(clip=crop)

要去除PDF文件中的页眉页脚,可以使用Python中的第三方库PyPDF2来实现。 首先,我们需要安装PyPDF2库。可以使用以下命令在命令行中安装库: ``` pip install PyPDF2 ``` 安装完成后,我们可以编写Python代码来去除PDF文件的页眉页脚。具体代码如下: ```python import PyPDF2 # 打开PDF文件 pdf_file = open('example.pdf', 'rb') # 创建PDF阅读器对象 pdf_reader = PyPDF2.PdfReader(pdf_file) # 创建PDF写入器对象 pdf_writer = PyPDF2.PdfWriter() # 遍历PDF页面 for page_num in range(pdf_reader.numPages): # 获取当前页面 page = pdf_reader.getPage(page_num) # 从页面中提取内容框 content_box = page.mediaBox # 更新内容框的上边界和下边界 content_box.upperRight = (content_box.upperRight[0], content_box.upperRight[1]-50) # 更新上边界 content_box.lowerLeft = (content_box.lowerLeft[0], content_box.lowerLeft[1]+50) # 更新下边界 # 创建新页面,并将内容框更新后的页面添加到PDF写入器中 new_page = pdf_writer.add_blank_page(width=page.mediaBox.getWidth(), height=page.mediaBox.getHeight()) # 创建新页面 new_page.mergeTranslatedPage(page, tx=0, ty=-50) # 添加内容框更新后的页面 # 将处理后的 PDF 页面写入新文件 output_file = open('new_example.pdf', 'wb') pdf_writer.write(output_file) # 关闭文件 pdf_file.close() output_file.close() ``` 以上代码将打开`example.pdf`文件,并遍历每个页面,通过更新内容框的上边界和下边界来去除页眉页脚。然后将处理后的页面写入一个新的PDF文件`new_example.pdf`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值