在repl中使用Python从PDF提取文本

时间:2019-10-12 03:16:52

标签: python pdf pypdf2 pdfminer

我正在尝试从python中的PDF中读取数据,而我正试图使用​​repl.it文件,只是因为它更容易测试不同的库。我已经尝试了PyPDF2和PyPDF4,它们可以工作,但不提供任何空格。 tika给我一个服务器启动错误,pdfminer不起作用,pdfminer3没有空格。 pdftotext无法正确下载。我想知道是否有关于如何pdfminer3如何给空格的更清晰的文档,或者是否还有更多的库可供尝试。

2 个答案:

答案 0 :(得分:0)

再给蒂卡一个尝试?从其他文章中我收集到,这是一个很好的解决方案。

我能够按照此处的说明安装tika:

https://github.com/chrismattmann/tika-python

并成功解析了一个测试pdf文件。

我打算与PYTHON一起使用TIKA:

1)安装(使用pip):

pip install tika

2)创建并运行测试python脚本:(当然,将myfile.pdf替换为您自己的pdf文件的路径)

#!/usr/bin/env python
import tika
tika.initVM()
from tika import parser
parsedPDF = parser.from_file('myfile.pdf')
print(parsedPDF["metadata"])
print(parsedPDF["content"])

请注意,根据您在tika服务器未启动时出现的错误,您可能还需要查看此帖子:

Use tika with python, runtimeerror: unable to start tika server

该帖子上目前最受好评的答案基本上是说,确保已安装Java,并且安装的是Java 8,因为tika-server.jar的所有新版本都将要求Java 8。

希望这会有所帮助,祝你好运!

答案 1 :(得分:0)

# import the libraries for PyDF2
import PyPDF2 
# Making a pdf file 
pdf_file = open('example.pdf', 'rb') 
# creat a pdf 
pdf_reader = PyPDF2.PdfFileReader(pdf_file) 
# print the number of pages in pdf 
print(pdf_reader.numPages) 
# creat the ojbct of pages 
page_obj= pdf_reader.getPage(0) 
# extracting text from page 
print(page_obj.extractText()) 
# closing the pdf file object 
pdf_file.close()