我正在尝试使用pdftotext,但它不会导入。
我在一台联想IdeaPad S340上运行Windows 10 (64位),这是一台笔记本电脑。
conda install -c conda-forge poppler
安装popplerpip install pdftotext
之后:
这发生在Python3.8 (32位)命令提示符中:
>>> import pdftotext
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pdftotext'
>>>
这发生在空闲的Python3.75Shell (64位)中:
>>> import pdftotext
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import pdftotext
ModuleNotFoundError: No module named 'pdftotext'
>>>
这发生在Anaconda3命令提示符中:
import pdftotext
'import' is not recognized as an internal or external command,
operable program or batch file.
这也发生在Anaconda3命令提示符中:
pip install pdftotext
Requirement already satisfied: pdftotext in c:\programdata\anaconda3\lib\site-packages (2.1.4)
这是否意味着它只在Python 2中运行?我怎么会事先检查过呢?如果它只在Python 2上运行,那么您能推荐一个Python 3包/模块/库吗?用于将PDF读入纯文本文件?
谢谢你的帮忙!
更新:
我从同一台机器和操作系统上的一个新用户开始(另一个用户的名称中有一个空格,因此它的filepath有一个空格,这可能会导致问题)。我也遇到了同样的问题。
我有Python3.7.6和3.8.1。Python3.7.6是通过Anaconda3提示符python -V
(使用conda info
时为3.7.6.final.0)检查版本时显示的。
我也有:
我在这里找到了Python : C:\Program (X86)\MicrosoftVisualStudio\Shared\Python37_64。
我用眼睛搜索了所有的程序文件、用户文件和Anaconda Navigator,我搜索了我的整个C驱动器中的“pdftotext”,但是我没有发现任何关于pdftotext的信息。
从空闲的Python3.7.6shell中尝试也没有工作。
更新:
我想明白了,大概吧。pdftotext不是作为Python导入的,因为PyPI中的示例代码使用它。但是,它确实是一个命令行工具,是Xpdf的一部分。,在这些步骤之后没有额外的安装。
我在Anaconda3 PowerShell命令提示符中使用了该命令:
pdftotext C:\filepath\file.pdf
然后,它创建一个名称相同的文本文件,并将其保存在同一个文件夹中。上面链接的Xpdf页面上列出的命令还有其他选项(比如设置文件名)。
布尤特,这不是一个令人满意的解决方案。我可以通过一个额外的步骤来处理我当前的用例任务,但是我仍然不能从Python程序中调用pdftotext。
更新:
如果您使用Anaconda和conda安装pdftotext,那么导入它似乎只有在您从Anaconda3 shell中在Python解释器中运行时才有效。
因此,我必须首先切换到Anaconda3 PowerShell中的Python解释器模式:python
然后,我可以导入pdftotext而没有错误:import pdftotext
看起来是这样的:
(user)> python
Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pdftotext
>>>
发布于 2020-02-08 00:18:33
好吧,我想出来了!如果您使用Anaconda和conda安装pdftotext,那么导入它似乎只有在您从Anaconda3 shell中在Python解释器中运行时才有效。
因此,我必须首先切换到Anaconda3 PowerShell中的Python解释器模式:python
然后,我可以导入pdftotext而没有错误:import pdftotext
看起来是这样的:
(user)> python
Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pdftotext
>>>
Ooor,第二个部分解决方案是,它作为一个命令行工具,是Xpdf的一部分。工作。
在问题帖子中采取的步骤之后,我不需要额外的安装。我在Anaconda3 PowerShell命令提示符中使用了该命令:
pdftotext C:\filepath\file.pdf
然后,它创建一个名称相同的文本文件,并将其保存在同一个文件夹中。上面链接的Xpdf页面上列出的命令还有其他选项(比如设置文件名)。
在命令行中使用它的第二个解决方案的问题是,如果您想在之后对文本文件进行处理,则必须运行另一个命令或脚本。它所做的就是把它读到一个文件中。
发布于 2020-02-09 11:50:04
pdftotext
不是一个模块,而是一个命令。因此,您可以执行以下操作
import os
file_path = "C:\documents\mypdf.pdf"
# writing data in variable
text = os.popen("pdftotext {}".format(file_path)).read()
# writing data in file
os.system("pdftotext {} {}".format(file_path, "data.txt"))
发布于 2021-12-24 02:53:44
我也有同样的问题,但在执行了下面的工作,它的魅力!
sudo apt install build-essential libpoppler-cpp-dev pkg-config python3-dev
pip install pdftotext
https://stackoverflow.com/questions/59959978
复制相似问题