怎么识别pdf的段落?

需求:将已提取的pdf文本内容按段落分,比如每页有三个段落,每个段落放进一个变量。
遇到的问题:pdfplumberextract_text提取出pdf文本内容后,发现行和段落都是以“/n”结尾,无法区分哪些是段落结尾。

pdf原文:
image.png

代码:

import pdfplumber
path = 'Merriam Webster’s Vocabulary Builder.pdf' #要提取的pdf
pdfFileObj = pdfplumber.open(path)
page = 15 #要提取的页码
pageObj = pdfFileObj.pages[page-1]
pageObj.extract_text()

输出结果:
image.png

阅读 8.7k
1 个回答

pdf 还原是一个很难的问题。因为里面一般没有段落的概念,只有每个文字及其坐标。

这个问题,一般方法是解析出来每个文字及其坐标,相邻的文字聚成word,word聚成行,根据规则将行聚合为段落: 规则包括行是否有缩进,行结尾是否到底,最后一个字符是不是句号、问号等规则。

还有一个方法是 OCR,现在百度、阿里等提供的 OCR 一般带有简单的段落聚合功能。直接送进去就出来结果了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题