目录
此方法可以用于破解PDF的编辑密码,而不是PDF的打开密码
当遇到类似如下问题时可以使用本方法解决:
想要操作复制内容时,发现需要输入密码
Python的版本要求在3.7和3.7以上即可,我这里使用的是3.7版本
下载地址:?Index of /ftp/python/3.7.0/
下载后点击安装即可
右键win图标选择终端管理员,或者win+R 输入cmd,打开cmd窗口
CMD命令中输入? ?pip install pikepdf? ?
任意目录下(要求没有中文路径)新建一个文本文件
重命名为?xxxx.py(我这里命名为 unlockpdf.py
然后编辑该文件内容如下:
可直接复制代码如下:
import tkinter
from tkinter import filedialog
import pikepdf
import os
# Windows
print('请选择PDF文件。 Please choose PDF.\n')
# 打开一个文件选择对话框
root = tkinter.Tk()
root.withdraw() # 隐藏多余的窗口
# 选择文件路径
filePath = filedialog.askopenfilename()
# 用pikepdf破解,并以unlocked.pdf保存在当前程序所在路径下
pdf = pikepdf.open(filePath)
pdf.save('unloked.pdf')
print('解密完成。 Unloked done.')
os.system("pause") # 请按任意键继续. . .
保存文件后可以看到生成了一个python脚本文件
双击该脚本文件
对话框中选择想要解密的文件即可
解密完成后看到“完成”字样后可以看到一个 unlocked.pdf的文件,此文件已经完成解密
同样需要下载python版本3.7及以上,
需要安装pikepdf工具
pip install pikepdf
除此之外,直接运行源代码可能会提示?缺少tkinter模块
?:
$ python unpdf_v0.2_linux.py Traceback (most recent call last): File "/home/xyj/LocalProject/unpdf/src/unpdf_v0.2_linux.py", line 1, in <module> import tkinter ModuleNotFoundError: No module named 'tkinter'
deb
?系发行版可使用以下两行命令解决:
sudo apt update
sudo apt install python3-tk
arch
?系发行版可使用以下命令解决:
sudo pacman -S tk
CentOS
?可使用以下命令解决:
sudo yum -y install tkinter
python脚本如下:
import tkinter
from tkinter import filedialog
import pikepdf
# Linux
print('请选择PDF文件。 Please choose PDF.\n')
# 打开一个文件选择对话框
root = tkinter.Tk()
root.withdraw() # 隐藏多余的窗口
# 选择文件路径
filePath = filedialog.askopenfilename()
# 用pikepdf破解,并以unlocked.pdf保存在当前程序所在路径下
pdf = pikepdf.open(filePath)
pdf.save('unloked.pdf')
print('解密完成。 Unloked done.')