利用python2.7.18解密pdf文件

之前介绍过在线移除pdf密码的方式,但在线的方式多少有些安全隐患,而且当pdf过大时,下载的速度也堪忧。所以就补充一个利用python来解密的方案。

博主的python版本是python2.7.18。解密需要用到python的PyPDF2库,如果本地未安装的话可以利用pip语句在线安装一个。

pip install PyPDF2

这个方式仅限于较为简单的防误修改的密码,对复杂加密的pdf文件可能失效,解密代码如下:

import PyPDF2
from PyPDF2 import PdfReader, PdfWriter

def remove_pdf_password(input_path, output_path, password):
    # 读取加密的PDF
    reader = PdfReader(input_path)
    if reader.is_encrypted:
        reader.decrypt(password)
    
    # 创建写入器并添加所有页面
    writer = PdfWriter()
    for page in reader.pages:
        writer.add_page(page)
    
    # 保存无密码的PDF
    with open(output_path, "wb") as f:
        writer.write(f)

# 使用示例
input_pdf = "encrypted.pdf"
output_pdf = "unencrypted.pdf"
password = "yourpassword"  # 替换为实际密码

remove_pdf_password(input_pdf, output_pdf, password)

将代码保存为.py文件,放入待解密encrypted.pdf文件的同文件夹,成功后会收获一个名为unencrypted.pdf的文件,利用这个文件就可以进行正常的截图与打印工作了。

标签: python

移动端可扫我直达哦~

推荐阅读

thumbnail 2025-10-09

python扫描电话手表的开放端口

手头上有台闲置的米兔2S电话手表,固件版本是T13开头的,想看看ip地址有没有什么端口是开放便于调试的,所以利用python扫了一下,程序利用deepseek生成,结果扫一遍下来用了10分钟,答案是一个端口也没有开放:import s...

少儿编程 python

thumbnail 2025-10-09

PYTHON 通过按键来中止循环程序运行

用python实现了一个类似按键精灵的功能,在一个可修改的pdf里依次输入序列号并打印,序列号多的时候结束程序很难被点到,所以想设置一个快捷键来中止程序。程序基与python 2.7.18, 需要调用 keyboard 库,如果没有的...

少儿编程 python

thumbnail 2025-07-03

利用python拆分本地pdf文件的方法

之前分享过利用在线文件格式转换工具来拆分PDF文件的方法,昨天遇到一个尴尬的问题,利用在线转换的时候,上传速度很快,拆分也没有报错,然而拆分后的压缩包总计32M,而下载速度却只有可怜的30k,这就有点不能忍了。于是在下载进度条第一次报...

少儿编程 python

thumbnail 2025-03-29

利用python压缩扫描图片格式的pdf文件

扫描了一份52页的银行流水,需要提交到某个网站,但该站点限制最大文件不超过10M,博主的扫描件大小总计38M,用夸克浏览器扫描得到,即便选择瘦身模式,最终的大小也超过了30M。之前有找过压缩pdf的在线站点,博主在博客内也有提及,有兴...

少儿编程 python

thumbnail 2025-01-07

利用python3查找文件夹内所有文件内容

学习wp主题的时候看到了几个自定义的action,因为主题文件较多,随手点了几个都不对,逐渐红温,忽然想起来python可能会有对应的模块吧,毕竟“人生苦短,我用python”嘛。要说ai搜索这东西,方便确实是方便,一搜索直接把示例程...

少儿编程 python

thumbnail 2024-06-28

python中print函数的格式控制符号

%字符:标记转换说明符的开始;转换标志:- 表示左对齐;+ 表示在转换值之前要加上正负号;“” (空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充;最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽...

少儿编程 python

thumbnail 2024-06-27

小鸟数据python语法速查表

Python对大小写敏感,使用半角符号,变量命名采用“_”、数字或字母的组合,建议采用规范的命名方式,比如使用驼峰式命名方式,编程过程中多写注释。基础语法数据类型:整数,浮点,字符串,逻辑值运算符号:+,-,*,/, % , // ,...

少儿编程 python

thumbnail 2024-06-18

pyautogui报错误:No module named pytweening

之前利用pyautogui实现了一个类似按键精灵的功能,在一个可写的PDF文件中,动态修改某个单元格的值,并依次打印出来。利用python2.7实现的程序,因为中途换装过python3,换回python2.7版本之后很多库都失效了,年...

少儿编程 python

thumbnail 2024-06-17

利用PYTHON批量修改图片的宽高尺寸

将制作完成的产品拍照发客户,是博主的工作之一,原来是用的数码相机,随着手机照片质量的提升,现在用手机拍照也能满足需求。目前在用的手机是xsmax,默认设置下一张照片经常会超过4M,记得购买的第一个u盘的容量也就32M还是64M。遇到客...

少儿编程 python

thumbnail 2024-04-08

Python利用tinify API实现批量压缩图片

一直觉得“API”这个词语的书面解释过于高大上,使用下来感觉API就如同一个自动售货机,有需求的人投了一个币进去,然后售货机给了你对应面值的饮料。就比如这个tinify API,核心功能是实现图片的压缩,用户传过去一张图片,它回传一个...

少儿编程 python