将所有PDF文件转换为目录中的文本

时间:2013-05-11 06:23:16

标签: python

我刚下载PDFMiner将PDF文件转换为文字。我通过在终端上执行此命令来转换文件

python pdf2txt.py -o myOutput.txt simple1.pdf

它工作正常,现在我想在我的简单Python脚本上嵌入该函数。我想转换目录上的所有PDF文件

# Lets say I have an array with filenames on it
files = [
    'file1.pdf', 'file2.pdf', 'file3.pdf'
]

# And convert all PDF files to text
# By repeatedly executing pdf2txt.py
for x in range(0, len(files))
    # And run something like
    python pdf2txt.py -o output.txt files[x]

我也尝试使用os.system但是出现了一个闪烁的窗口(我的终端)。我只是想将我阵列上的所有文件转换为文本。

2 个答案:

答案 0 :(得分:1)

使用subprocess模块。

import subprocess

files = [
    'file1.pdf', 'file2.pdf', 'file3.pdf'
]
for f in files:
    cmd = 'python pdf2txt.py -o %s.txt %s' % (f.split('.')[0], f)
    run = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    out, err = run.communicate()

    # display errors if they occur    
    if err:
        print err

阅读subprocess documentation了解更多信息。

答案 1 :(得分:0)

有一个API可以帮助您执行此类任务。 Read the documentation