标签: pdfminer

使用Python中的PDFMiner从PDF文件中提取文本?

Python版本2.7

我正在寻找有关如何使用PDFMiner和Python从PDF文件中提取文本的文档示例.

看起来PDFMiner更新了他们的API,我发现的所有相关示例都包含过时的代码(类和方法已经改变).我发现的库使得从PDF文件中提取文本的任务更容易使用旧的PDFMiner语法,所以我不知道如何做到这一点.

事实上,我只是看源代码,看看能否解决它.

python text-extraction pdfminer

71
推荐指数
4
解决办法
10万
查看次数

如何将pdfminer用作库

我正在尝试使用pdfminer从pdf获取文本数据.我可以使用pdfminer命令行工具pdf2txt.py成功将此数据提取到.txt文件.我目前这样做,然后使用python脚本来清理.txt文件.我想将pdf提取过程合并到脚本中并为自己节省一步.

当我找到这个链接时,我以为我正在做某件事,但我没有成功解决任何问题.也许那里列出的功能需要再次更新,因为我使用的是更新版本的pdfminer.

我也尝试过这里显示的功能,但它也没有用.

我尝试的另一种方法是使用脚本在脚本中调用脚本os.system.这也是不成功的.

我使用的是Python 2.7.1版本和pdfminer版本20110227.

python pdf pdfminer

65
推荐指数
6
解决办法
7万
查看次数

ImportError:无法从“charset_normalizer.constant”导入名称“COMMON_SAFE_ASCII_CHARACTERS”

Traceback (most recent call last):
  File "g:\mydrive\ \pdftotext_pdfminer.py", line 3, in <module>
    from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
  File "C:\Users\ \anaconda3\envs\ \lib\site-packages\pdfminer\pdfinterp.py", line 7, in <module> 
    from .cmapdb import CMap
  File "C:\Users\ \anaconda3\envs\ \lib\site-packages\pdfminer\encodingdb.py", line 7, in <module>
    from .psparser import PSLiteral
  File "C:\Users\ \anaconda3\envs\ \lib\site-packages\pdfminer\psparser.py", line 22, in <module>
    from .utils import choplist
  File "C:\Users\ \anaconda3\envs\ \lib\site-packages\pdfminer\utils.py", line 31, in <module>
    import charset_normalizer  # For str encoding detection
  File "C:\Users\ \anaconda3\envs\ \lib\site-packages\charset_normalizer\__init__.py", line 23, in <module>
    from charset_normalizer.api import from_fp, …
Run Code Online (Sandbox Code Playgroud)

python importerror pdfminer

24
推荐指数
5
解决办法
5万
查看次数

如何从PDF文件中提取文本和文本坐标?

我想用PDFMiner从PDF文件中提取所有文本框和文本框坐标.

许多其他Stack Overflow帖子解决了如何以有序方式提取所有文本,但是如何进行获取文本和文本位置的中间步骤?

给定一个PDF文件,输出应该类似于:

   489, 41,  "Signature"
   500, 52,  "b"
   630, 202, "a_g_i_r"
Run Code Online (Sandbox Code Playgroud)

python pdf pdfminer

21
推荐指数
3
解决办法
2万
查看次数

如何检查PDF是扫描图像还是包含文本

我有大量文件,其中一些是扫描图像为 PDF,一些是完整/部分文本 PDF。

有没有办法检查这些文件,以确保我们只处理扫描图像的文件,而不是完整/部分文本 PDF 文件?

环境:Python 3.6

python python-3.x pdf-extraction pdfminer pypdf2

21
推荐指数
7
解决办法
2万
查看次数

Pdfminer python 3.5

我已经遵循了几个教程但是我无法运行此代码块,我从StringIO到BytesIO进行了必要的切换(我相信?)

我不确定为什么'香蕉'什么都不打印,我认为错误可能是红色的鲱鱼?是不是跟着python2.7教程并试图将它翻译成python3?

errors: File "/Users/foo/PycharmProjects/Try/Pdfminer.py", line 28, in <module>
    banana = convert("A1.pdf")
  File "/Users/foo/PycharmProjects/Try/Pdfminer.py", line 19, in convert
    infile = file(fname, 'rb')
NameError: name 'file' is not defined
Run Code Online (Sandbox Code Playgroud)

脚本

from io import BytesIO

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

def convert(fname, pages=None):
    if not pages:
        pagenums = set()
    else:
        pagenums = set(pages)

    output = BytesIO()
    manager = PDFResourceManager()
    converter = TextConverter(manager, output, laparams=LAParams())
    interpreter = PDFPageInterpreter(manager, converter)

    infile = …
Run Code Online (Sandbox Code Playgroud)

pdf text extract python-3.x pdfminer

19
推荐指数
2
解决办法
3万
查看次数

导入错误:无法从“pdfminer.utils”导入名称“open_filename”

导入时pdfminer.high_level,我收到错误无法导入open_filename名称pdfminer.utils

我尝试了以下步骤:

  1. pip3 install pdfminer.six
  2. import pdfminer
  3. import pdfminer.high_level

(并在此行遇到错误)


ImportError                               Traceback (most recent call last)
<ipython-input-6-772e4980255d> in <module>
----> 1 import pdfminer.high_level

~\anaconda3\lib\site-packages\pdfminer\high_level.py in <module>
     12 from .pdfinterp import PDFResourceManager, PDFPageInterpreter
     13 from .pdfpage import PDFPage
---> 14 from .utils import open_filename
     15 
     16 

ImportError: cannot import name 'open_filename' from 'pdfminer.utils'
Run Code Online (Sandbox Code Playgroud)

python pdfminer

19
推荐指数
1
解决办法
2万
查看次数

ModuleNotFoundError:没有名为“pdfminer.high_level”的模块

我在 pycharm 中从事项目,我想使用 pdfminer 将 pdf 文件转换为文本文件。我的问题是,当我运行该应用程序时,它无法工作,并且显示此错误消息:ModuleNotFoundError:没有名为“pdfminer.high_level”的模块

import re
from pdfminer.high_level import extract_pages, extract_text

text = extract_text("_DarkWeb_1642453520.pdf")
print(text)
Run Code Online (Sandbox Code Playgroud)

完整的错误消息:

 /home/oran/PycharmProjects/pythonProject/venv/bin/python /home/oran/PycharmProjects/pythonProject/main.py 
Traceback (most recent call last):
  File "/home/oran/PycharmProjects/pythonProject/main.py", line 2, in <module>
    from pdfminer.high_level import extract_pages, extract_text
ModuleNotFoundError: No module named 'pdfminer.high_level'


Run Code Online (Sandbox Code Playgroud)

蟒蛇版本3.10.4

python pdfminer

18
推荐指数
1
解决办法
2万
查看次数

如何使用PDFMiner获取PDF中文本的位置?

PDFMiner的文档说:

PDFMiner允许人们获取页面中文本的确切位置

但是,我还没有找到如何做到这一点.PDFMiner的'文档'相当稀疏,所以我不明白如何做到这一点.

python pdf position pdfminer

16
推荐指数
1
解决办法
1万
查看次数

如何在Python中解锁"安全"(读保护)PDF?

在Python中,我使用pdfminer从pdf中读取文本,并在此消息下面显示代码.我现在收到一条错误消息:

File "/usr/local/lib/python2.7/dist-packages/pdfminer/pdfpage.py", line 124, in get_pages
    raise PDFTextExtractionNotAllowed('Text extraction is not allowed: %r' % fp)
PDFTextExtractionNotAllowed: Text extraction is not allowed: <cStringIO.StringO object at 0x7f79137a1
ab0>
Run Code Online (Sandbox Code Playgroud)

当我用Acrobat Pro打开这个pdf时,它证明它是安全的(或"读保护").但是,从这个链接,我读到有很多服务可以轻松禁用这种读保护(例如pdfunlock.com.当潜入pdfminer的源代码时,我看到上面的错误是在这些行上生成的.

if check_extractable and not doc.is_extractable:
    raise PDFTextExtractionNotAllowed('Text extraction is not allowed: %r' % fp)
Run Code Online (Sandbox Code Playgroud)

由于有许多服务可以在一秒钟内禁用这种读保护,我认为这很容易做到.它似乎.is_extractable是一个简单的属性doc,但我认为它不像.is_extractable改为True 那么简单.

有谁知道如何使用Python禁用pdf上的读保护?欢迎所有提示!

================================================

您将在下面找到我目前从非读保护中提取文本的代码.

def getTextFromPDF(rawFile):
    resourceManager = PDFResourceManager(caching=True)
    outfp = StringIO()
    device = TextConverter(resourceManager, outfp, codec='utf-8', laparams=LAParams(), imagewriter=None)
    interpreter = PDFPageInterpreter(resourceManager, …
Run Code Online (Sandbox Code Playgroud)

python pdf pdf-scraping pdfminer

14
推荐指数
3
解决办法
2万
查看次数