繁体   English   中英

如何从python解码pdf加密文件

[英]How to decode a pdf encrypted file from python

我有一个PDF文件和关联的密码。

我只想使用python将加密文件转换为清晰版本。

我在这里找到一些Python模块(pyPdf2,PDFMiner)来处理PDF文件,但是它们都不能与加密一起使用。

有人已经做到了吗?

您还需要了解加密算法和密钥长度,以便能够建议哪个工具可以工作...并且根据答案,可能没有python库。

现在pyPDF2支持加密,根据此答案 ,它可以这样实现:

import os
import PyPDF2
from PyPDF2 import PdfFileReader

fp = open(filename)
pdfFile = PdfFileReader(fp)
password = "mypassword"
if pdfFile.isEncrypted:
    try:
        pdfFile.decrypt(password)
        print('File Decrypted (PyPDF2)')
    except:
        command = ("cp "+ filename +
            " temp.pdf; qpdf --password='' --decrypt temp.pdf " + filename
            + "; rm temp.pdf")
        os.system(command)
        print('File Decrypted (qpdf)')
        fp = open(filename)
        pdfFile = PdfFileReader(fp)
else:
    print('File Not Encrypted')

请注意,此代码默认情况下使用pyPDF2 ,并在出现问题时故障回复到qpdf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM