raise PDFEncryptionError('Unknown algorithm: param=%r' % param) pdfminer.pdfdocument.PDFEncryptionError: Unknown algorithm

使用pdfminer遇到的pdf文件加密问题:

raise PDFEncryptionError('Unknown algorithm: param=%r' % param)

pdfminer.pdfdocument.PDFEncryptionError: Unknown algorithm: param={'CF': {'StdCF': {'Length': 16, 'CFM': /AESV2, 'AuthEvent': /DocOpen}}, 'O': '}xe2>xf1xf6xc6x8fxabx1f"Ox9bfcxcdx15xe09~2xc9\x87x03xafx17f>x13 ^Kx99', 'Filter': /Standard, 'P': -1548, 'Length': 128, 'R': 4, 'U': 'Kk>x14xf7xacxe6x97xb35xaby!x04|x18(xbfN^Nux8aAdx00NVxffxfax01x08', 'V': 4, 'StmF': /StdCF, 'StrF': /StdCF}

原因:这个pdf文件有密码,但密码是空字符串,所以必须要解密一下才可以做解析

解决方案:

from subprocess import call
# pdf_filename代表源文件路径, pdf_copy_filename代表解密后的文件路径, 密码为''
call('qpdf --password=%s --decrypt %s %s' % ('', pdf_filename, pdf_copy_filename), shell=True)

 之后直接解析pdf_copy_filename文件即可!

原文地址:https://www.cnblogs.com/LiCheng-/p/7550282.html