当我在包含PDF文件的目录上运行下面的Python脚本时,我会一直收到以下错误:
ShellError: The command
pdftotext "path/to/pdf/title.pdf" -
failed with exit code 1 ------------- stdout ------------- ------------- stderr ------------- 'pdftotext' is not recognized as an internal or external command, operable program or batch file.
我已经确认pdf2text和PDFMiner安装正确。这是我第一次使用textract,它对所有其他文件类型(Word文档、PowerPoint文档、Excel文档等)都非常有效。当pdf2text
是实际的库时,进程为什么要调用pdftotext
?
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
谢谢!
我自己刚处理完这个问题。据我所知,困惑在于pdftotext是linux中流行的命令实用程序,而pdf2text是PDFMiner包的包装器。我的windows poppler和pdftotext二进制文件来自一个archive.org链接,所以我觉得这里的链接不对,但是here's a link我在wikipedia页面上找到了一个windows二进制文件。据我所知,pdftotext往往比pdfMiner提供更好的输出。我遇到的问题是,生成的错误与您收到的错误相同,即
pdftotext.exe
已安装,并且位于我的路径中,但是如果我不通过命令行启动python脚本,则会收到错误。如果你最终下载了它,它会附带一些其他的好工具,比如pdftohtml和pdftops。不过,个人最喜欢的是
pdftotext -layout whatever.txt
,它将把pdf打印成纯文本,并将所有内容都打印到位。tl;dr尝试运行打开命令行并运行程序。如果您仍然可以尝试(1)安装windows二进制文件(假设您在windows上)或(2)尝试用更新textract
希望能帮上忙!
尝试在代码中实现此代码。
但你应该安装libreoffice。
相关问题 更多 >
编程相关推荐