首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用textract的pdftotext

使用textract的pdftotext
EN

Stack Overflow用户
提问于 2015-04-08 17:01:38
回答 2查看 11.2K关注 0票数 7

当我在包含PDF文件的目录上运行下面的Python脚本时,我一直收到以下错误:

ShellError:命令pdftotext "path/to/pdf/title.pdf" -失败了退出代码1

我已经验证了pdf2text和PDFMiner的安装是否正确。这是我第一次使用textract,它在所有其他文件类型(Word文档、PowerPoint文档、Excel等)上都工作得很好。当pdftotext是实际的库时,为什么要调用pdf2text

代码语言:javascript
复制
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

谢谢!

EN

回答 2

Stack Overflow用户

发布于 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)尝试用

代码语言:javascript
复制
pip install textract --upgrade

希望这能帮上忙!

票数 2
EN

Stack Overflow用户

发布于 2019-02-14 08:54:27

尝试在代码中实现此代码。

代码语言:javascript
复制
import subprocess
subprocess.call(['soffice', '--headless',
            '--convert-to', 'odt', filename])
filename = os.path.splitext(filename)[0] + str('.odt')

但是你应该安装libreoffice。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29520913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档