首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止pdfplumber读取每一页的标题?

如何阻止pdfplumber读取每一页的标题?
EN

Stack Overflow用户
提问于 2021-04-01 15:58:30
回答 1查看 583关注 0票数 1

我希望pdfplumber从用户给出的随机pdf中提取文本。问题是pdfplumber还会从每个页面中提取标题文本或标题。如何编写pdfplumber程序,使其不读取页眉(标题)和页码(或页脚,如果可能)?

下面是代码:

代码语言:javascript
复制
import pdfplumber

all_text = ""

pdf = pdfplumber.open(file)
for pdf_page in pdf.pages:
    one = pdf_page.extract_text()
    all_text = all_text + '\n' + str(one)
    print(all_text)

其中file是PDF文档...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-01 18:13:07

我觉得你做不到。

但是,您可以使用crop方法裁剪文档。这样,您可以只提取页面裁剪部分的文本,而不提取页眉和页脚。当然,这种方法要求您提前知道页眉和页脚的高度。

下面是对余弦的解释:

代码语言:javascript
复制
x0 = % Distance of left side of character from left side of page.
top = % Distance of top of character from top of page.
x1 = % Distance of right side of character from left side of page.
bottom = % Distance of bottom of the character from top of page.

代码如下:

代码语言:javascript
复制
# Get text of whole document as string
crop_coords = [x0, top, x1, bottom]
text = ''
pages = []
with pdfplumber.open(filename) as pdf:
    for i, page in enumerate(pdf.pages):
        my_width = page.width
        my_height = page.height
        # Crop pages
        my_bbox = (crop_coords[0]*float(my_width), crop_coords[1]*float(my_height), crop_coords[2]*float(my_width), crop_coords[3]*float(my_height))
        page_crop = page.crop(bbox=my_bbox)
        text = text+str(page_crop.extract_text()).lower()
        pages.append(page_crop)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66900539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档