我试图从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,这个文件似乎是加密的,但我可以打开它,没有任何问题。所以我有两个问题:
非常感谢。
发布于 2016-02-22 18:35:22
我对一些文件也有同样的问题。文档看起来是加密的,但密码是空的。这就是为什么我们可以很容易地打开它没有密码。
最后,我用Ubuntu的qpdf实用程序解决了这个问题。如果您提供密码(在我的例子中为空白),它可以解密文件。我在Python脚本中实现了一个shell命令,它用一个空密码解密文档:
from subprocess import call
call('qpdf --password=%s --decrypt %s %s' %('', pdf_filename, pdf_filename_decr), shell=True)哪里
`pdf_filename` - filename of encrypted pdf,
`pdf_filename_decr` - filename of a new decrypted copy.pdfminer现在应该提取文本。
发布于 2018-07-25 18:47:06
我得到了完全相同的错误,加密选项-V 4的PDF加密。原来这实际上是支持在最新的pdfminer。
如果您使用pip安装pdfminer,您将运行一个不支持它的2014年版本(20140328)。因此,相反:
git clone https://github.com/euske/pdfminer.git
cd pdfminer
python setup.py install确保安装了pycrypto:
pip install pycrypto您可以导入AES:
from Crypto.Cipher import AEShttps://stackoverflow.com/questions/34357680
复制相似问题