阅读Python中的PDF并转换为PDF格式的文本

时间:2014-05-23 04:55:03

标签: python pdftotext

我已使用此代码将pdf转换为文本。

input1 = '//Home//Sai Krishna Dubagunta.pdf'
output = '//Home//Me.txt'
os.system(("pdftotext %s %s") %( input1, output))

我创建了Home目录并将源文件粘贴到其中。

我得到的输出是

1

并且没有创建.txt的文件。问题出在哪里?

3 个答案:

答案 0 :(得分:4)

有各种Python包可以用Python从PDF中提取文本。

pdftotext

pdftotext包:似乎工作得很好,但它没有选项,例如提取边界框

安装

对于Ubuntu:

sudo apt-get install build-essential libpoppler-cpp-dev pkg-config python-dev

最小工作示例

import pdftotext

with open("lorem_ipsum.pdf", "rb") as f:
    pdf = pdftotext.PDF(f)

# Iterate over all the pages
for page in pdf:
    print(page)

# Just read the second page
print(pdf.read(2))

# Or read all the text at once
print(pdf.read_all())

PDF矿工

使用pip install pdfminer.six安装它。最小的工作示例是here

答案 1 :(得分:3)

你的表达

("pdftotext %s %s") %( input1, output)

将转换为

pdftotext //Home//Sai Krishna Dubagunta.pdf //Home//Me.txt

表示传递给pdftotext的第一个参数是//Home//Sai,第二个参数是Krishna。这显然是行不通的。

将参数括在引号中:

os.system("pdftotext '%s' '%s'" % (input1, output))

答案 2 :(得分:0)

我认为pdftotext命令只接受一个参数。尝试使用:

os.system(("pdftotext %s") % input1)

看看会发生什么。希望这会有所帮助。