Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python从PDF中提取文本_Python_Pdf_Pypdf2 - Fatal编程技术网

用Python从PDF中提取文本

用Python从PDF中提取文本,python,pdf,pypdf2,Python,Pdf,Pypdf2,我有一个PDF格式的完整引用: 我可以使用以下代码提取python中的文本: import PyPDF2 pdfFileObj = open('example.pdf','rb') pdfReader = PyPDF2.PdfFileReader(pdfFileObj) pageObj = pdfReader.getPage(0) print (pageObj.extractText()) 这会将所有引号作为一个段落返回。是否可以用水平分隔符“拆分”pdf并将其拆分为引

我有一个PDF格式的完整引用:

我可以使用以下代码提取python中的文本:

import PyPDF2

pdfFileObj = open('example.pdf','rb') 
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)         
print (pageObj.extractText())

这会将所有引号作为一个段落返回。是否可以用水平分隔符“拆分”pdf并将其拆分为引号?

我找不到用水平分隔符拆分的方法,但我设法用另一种方法:

import PyPDF2

quotes = []

pdfFileObj = open('test.pdf','rb') 
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)         
for x in (pageObj.extractText()).split('"\n'): print x+"\n"*5

如果只想从pdf文本中提取引号,可以使用
regex
查找所有引号

import PyPDF2
import re
pdfFileObj = open('test.pdf','rb') 
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)         
text = str(pageObj.extractText())

quotes = re.findall(r'"[^"]*"',text)
for quote in quotes:
    print quote
    print 
或者只是

quotes = re.findall(r'"[^"]*"',text)
print quotes

你能提供一个文本的例子和一个你希望它看起来如何的例子吗?链接将转到PDF。在这个PDF中有两个短语。我希望将这两个短语/引号提取到两个字符串变量中,然后进一步处理。非常感谢。它似乎起作用了。你能解释一下正则表达式吗?我不太明白。我的主要目标是提取,也许你可以快速查看一下。我想我可以从这个pdf中学习,但不确定我是否可以。你想从这个pdf中提取什么?没有引用,与您的问题完全不同。最终目标是JSON对参考资料、日期、申请人、地点和提案。我创建了另一个pdf,试图学习如何将其应用于主pdf,但我认为代码不可转移。请在您的答案周围添加上下文,以供将来学习和防止否决。(摘自《评论》)。
import pdfplumber

pdf = pdfplumber.open(file_path)

p0 = pdf.pages[0]

text = p0.extract_text()

text