使用Adobe Reader命令使用python处理PDF

时间:2018-11-27 08:45:58

标签: python pdf adobe reader adobe-reader

我想以与Adobe Reader相同的方式保护PDF文件的安全:可以在没有密码的情况下打开文件,但是不允许复制,更改文档,页面提取,高分辨率打印等。 我知道有一种方法可以使用PyPDF2使用以下代码对PDF文件进行加密(仅出于好奇,取自https://www.blog.pythonlibrary.org/2018/06/07/an-intro-to-pypdf2/),但是它在打开内容之前要求输入密码,然后仍然可以复制:

from PyPDF2 import PdfFileWriter, PdfFileReader

def encrypt(input_pdf, output_pdf, password):
    pdf_writer = PdfFileWriter()
    pdf_reader = PdfFileReader(input_pdf)

    for page in range(pdf_reader.getNumPages()):
        pdf_writer.addPage(pdf_reader.getPage(page))

    pdf_writer.encrypt(user_pwd=password, owner_pwd=None, 
                       use_128bit=True)
    with open(output_pdf, 'wb') as fh:
        pdf_writer.write(fh)

if __name__ == '__main__':
    encrypt(input_pdf='introduction.pdf',
            output_pdf='encrypted.pdf',
            password='blowfish')

但是有没有一种方法可以使用Adobe Reader命令保护PDF?我搜索了但失败了。有人知道怎么做吗?希望有人能帮忙!

1 个答案:

答案 0 :(得分:0)

实际上,毕竟有可能! 上面的代码有效,您所需要做的就是将用户密码更改为空字符串,设置所有者密码,并将PyPDF2的{​​{1}}文件中的一行更改为:

pdf.py

收件人:

# permit everything:
P = -1

这将阻止对加密的PDF进行所有更改,复制等操作:)