当我在包含PDF文件的目录上运行下面的Python脚本时,我一直收到以下错误:
ShellError:命令
pdftotext "path/to/pdf/title.pdf" -失败了退出代码1
我已经验证了pdf2text和PDFMiner的安装是否正确。这是我第一次使用textract,它在所有其他文件类型(Word文档、PowerPoint文档、Excel等)上都工作得很好。当pdftotext是实际的库时,为什么要调用pdf2text?
import os
import os.path
import textract
pdf_path = 'path/to/pdf/'
for fname in os.listdir(pdf_path):
if os.path.isfile(pdf_path+fname ):
f = textract.process(pdf_path+fname )
if 'string' in f:
print fname谢谢!
发布于 2015-07-02 16:49:37
我自己刚处理完这个问题。据我所知,混淆之处在于,pdftotext是一个在linux中流行的命令实用程序,而pdf2text是PDFMiner包的包装器。我的archive.org和pdftotext的windows二进制文件来自一个这里有一个链接链接,所以我觉得这里的链接不对,但是我在维基百科页面上找到了windows二进制文件的这里有一个链接。据我所知,pdftotext往往提供比pdfMiner更好的输出。我遇到的问题是生成与您所接收到的错误相同的错误,这是因为在我的路径中安装了pdftotext.exe,但是如果我不通过cmdline启动python脚本,我就会收到错误。
如果您最终下载了它,它会附带其他一些不错的实用程序,如pdftohtml和pdftop。不过,个人最喜欢的是pdftotext -layout whatever.txt,它将打印一个pdf格式,以明文形式输出,所有内容都已就位。
tl;博士尝试运行打开cmdline并运行程序。如果您仍然可以尝试(1)安装一个windows二进制文件(假设您在windows上)或(2)尝试用
pip install textract --upgrade希望这能帮上忙!
发布于 2019-02-14 08:54:27
尝试在代码中实现此代码。
import subprocess
subprocess.call(['soffice', '--headless',
'--convert-to', 'odt', filename])
filename = os.path.splitext(filename)[0] + str('.odt')但是你应该安装libreoffice。
https://stackoverflow.com/questions/29520913
复制相似问题