首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDF Miner PDFEncryptionError

PDF Miner PDFEncryptionError
EN

Stack Overflow用户
提问于 2015-12-18 14:19:53
回答 2查看 5.9K关注 0票数 11

我试图从pdf文件中提取文本,然后尝试识别引用。我用的是pdfminer 20140328。未加密的文件运行良好,但我现在得到了一个文件:

文件"C:\Tools\Python27\lib\site-packages\pdfminer\pdfdocument.py",第348行,在_initialize_password中 提高PDFEncryptionError(‘未知算法: param=%r’% param) 未知算法:'}\xe2>\xf1\xf6\xc6\x8f\xab\x1f"O\x9bfc\xcd\x15\xe09~2\xc9\x87\x03\xaf\x17f>\x13\t^K\x99',{‘CF’:{'StdCF':{'Length':16,‘pdfminer.pdfdocument.PDFEncryptionError’:/AESV2,'AuthEvent':/DocOpen},'O':param= 'Filter':/Standard,'P':-1548,‘长度’:128,'R':4,'U':'Kk>\x14\xf7\xac\xe6\x97\xb35\xaby!\x04|\x18(\xbfN^Nu\x8aAd\x00NV\xff\xfa\x01\x08','V':4,'StmF':/StdCF,'StrF':/StdCF}

我检查了pdfinfo,这个文件似乎是加密的,但我可以打开它,没有任何问题。所以我有两个问题:

  • 首先:如何可能对文档进行加密,但我可以在没有密码的情况下打开它?
  • 第二,如何使PDFMiner正确读取该文件?在某个地方,我读到安装pycrypto,以获得更多的算法,但它并没有解决我的问题。

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-22 18:35:22

我对一些文件也有同样的问题。文档看起来是加密的,但密码是空的。这就是为什么我们可以很容易地打开它没有密码。

最后,我用Ubuntu的qpdf实用程序解决了这个问题。如果您提供密码(在我的例子中为空白),它可以解密文件。我在Python脚本中实现了一个shell命令,它用一个空密码解密文档:

代码语言:javascript
复制
from subprocess import call
call('qpdf --password=%s --decrypt %s %s' %('', pdf_filename, pdf_filename_decr), shell=True)

哪里

代码语言:javascript
复制
`pdf_filename` - filename of encrypted pdf,
`pdf_filename_decr` - filename of a new decrypted copy.

pdfminer现在应该提取文本。

票数 20
EN

Stack Overflow用户

发布于 2018-07-25 18:47:06

我得到了完全相同的错误,加密选项-V 4的PDF加密。原来这实际上是支持在最新的pdfminer。

如果您使用pip安装pdfminer,您将运行一个不支持它的2014年版本(20140328)。因此,相反:

代码语言:javascript
复制
git clone https://github.com/euske/pdfminer.git
cd pdfminer
python setup.py install

确保安装了pycrypto:

代码语言:javascript
复制
pip install pycrypto

您可以导入AES:

代码语言:javascript
复制
from Crypto.Cipher import AES
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34357680

复制
相关文章

相似问题

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