2

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

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

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

我得到的输出是

1

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

4

3 回答 3

7

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

pdf转文本

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

于 2017-07-13T12:44:00.360 回答
4

你的表情

("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))
于 2014-05-23T05:06:58.287 回答
0

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

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

看看会发生什么。希望这可以帮助。

于 2014-05-23T05:04:53.493 回答