个人征信报告制作神器,征信报告生成器,编辑无痕修改效果,免费开源

发布时间 2023-11-22 12:26:12作者: 花花java大师

提前说明,软件是直接解除PDF密码,实现pdf文档密码解除效果,软件并不提供成品,就分享一下代码的实现思路,正常文档报告是带密码的,我们要想删除某个记录或者查询记录必须要输入密码才可以,正常暴力破解几乎是不可能的,网上有那种字典破解的,那个就是智商税,然后这个工具就不需要,你只需要把带有密码的PDF拖入进来,它会自动在桌面生成一个随机名称的文档,而这个文档我们就可以随意编辑,也不需要密码,仅仅学习使用。

软件界面:

 

 

易语言程序集代码:

=============================================================

.版本 2

.支持库 edroptarget

.程序集 窗口程序集_启动窗口, , , www.eyuyan.la

.程序集变量 fileInfo, FileInfo

.程序集变量 pdfs, 文本型, , "0"

.程序集变量 命令行, 文本型, , "0"

.子程序 __启动窗口_创建完毕

.如果真 (文件是否存在 (取运行目录 () + “\PDFtox.dll”) = 假)

写到文件 (取运行目录 () + “\PDFtox.dll”, #Dll)

.如果真结束

拖放对象1.注册拖放控件 (图片框1.取窗口句柄 ())

' ***************************************************************

' 以下代码为PDF文件的右键菜单相关程序

注册右键 ()

' 以下代码是右键执行内容

' 注:只有编译后的文件才能正常执行下面代码,如果把编译后的文件添加到系统环境变量路径(即path)下,也可在命令行中执行本程序

取命令行 (命令行)

.如果真 (取数组成员数 (命令行) > 0)

pdf2jpg (命令行 [1])

结束 ()

.如果真结束

' ****************************************************************

.子程序 注册右键

.如果 (写注册项 (#根类, “*\shell\pdf2jpg\”, “PDF转JPG”) 且 写注册项 (#根类, “*\shell\pdf2jpg\command\”, 取运行目录 () + “\” + 取执行文件名 () + “ %1”))

.否则

删除注册项 (#根类, “*\shell\pdf2jpg\command”)

删除注册项 (#根类, “*\shell\pdf2jpg”)

.如果结束

.子程序 pdf2jpg, , 公开, 易语言学习资源、源码下载站:www.eyuyan.la

.参数 path, 文本型

.局部变量 文件_句柄, 整数型

.局部变量 文件_密码, 文本型

.局部变量 保存_目录, 文本型

fileInfo = 模块_文件_取信息 (path)

' 调试输出 (fileInfo.path, fileInfo.name, fileInfo.size, fileInfo.sizeT, fileInfo.fullName, fileInfo.extension, fileInfo.forlderName)

文件_句柄 = OpenPDF (fileInfo.fullName, “”)

.判断开始 (文件_句柄 = #YCANPDF_ERR_ENCRYPTED)

输入框 (“文件被加密,请输入密码”, “输入密码”, “”, 文件_密码, 1, )

文件_句柄 = OpenPDF (fileInfo.fullName, 文件_密码)

.如果真 (文件_句柄 < 0)

信息框 (“文件信息错误”, 0, “提示”, )

.如果真结束

.判断 (文件_句柄 < 0)

信息框 (“文件信息错误”, 0, “提示”, )

.默认

保存_目录 = fileInfo.path + fileInfo.name + “\”

创建目录 (保存_目录)

ExportIMG (文件_句柄, 保存_目录, “”, #YCANPDF_IMAGE_JPG, #IMAGE_DPI_300, #IMAGE_DPI_300, 1, GetPageNum (文件_句柄), &PDF_回调函数)

ClosePDF (文件_句柄)

' 信息框 (“转换完成”, 0, “提示”, _启动窗口)

运行 (“explorer ” + 保存_目录, 假, )

.判断结束

.子程序 PDF_回调函数, 整数型, , '这个函数在每一页转换之前调用

.参数 参_起始页

.参数 参_终止页

.参数 参_当前页

返回 (参_终止页 - 参_当前页 + 1)

.子程序 _拖放对象1_得到文件, , , 易语言学习资源、源码下载站:www.eyuyan.la

.参数 接收到的文件路径, 文本型

pdfs = 分割文本 (接收到的文件路径, #换行符, )

.如果真 (取数组成员数 (pdfs) > 0)

pdf2jpg (pdfs [1])

.如果真结束

=============================================================

程序集1:

=============================================================

.版本 2

.程序集 程序集1

.子程序 模块_文件_取信息, FileInfo, 公开, 易语言学习资源、源码下载站:www.eyuyan.la

.参数 参_全路径, 文本型

.局部变量 info, FileInfo

.局部变量 idx, 整数型

info.fullName = 参_全路径

idx = 倒找文本 (参_全路径, “\”, , 假)

info.path = 取文本左边 (参_全路径, idx)

info.name = 取文本中间 (参_全路径, idx + 1, 倒找文本 (参_全路径, “.”, , 假) - idx - 1)

info.extension = 取文本右边 (参_全路径, 取文本长度 (参_全路径) - 倒找文本 (参_全路径, “.”, , 假))

idx = 倒找文本 (info.path, “\”, 取文本长度 (info.path) - 1, 假)

info.forlderName = 取文本中间 (info.path, idx + 1, 取文本长度 (info.path) - idx - 1)

info.size = 取文件尺寸 (参_全路径)

info.sizeT = 内部_换算文件大小 (info.size)

返回 (info)

.子程序 内部_换算文件大小, 文本型, , 本源码来自易语言资源网(www.eyuyan.la)

.参数 fileSizeByte, 整数型

.局部变量 fileSizeMsg, 文本型

.判断开始 (fileSizeByte ≥ 1073741824)

fileSizeMsg = 到文本 (到整数 (fileSizeByte ÷ 1073741824)) + “GB”

.判断 (fileSizeByte ≥ 1048576)

fileSizeMsg = 到文本 (到整数 (fileSizeByte ÷ 1048576)) + “MB”

.判断 (fileSizeByte ≥ 1024)

fileSizeMsg = 到文本 (到整数 (fileSizeByte ÷ 1024)) + “KB”

.判断 (fileSizeByte > 0)

fileSizeMsg = 到文本 (fileSizeByte) + “ B”

.默认

.判断结束

返回 (fileSizeMsg)

==========================================================

自定义数据类型:

========================================================

.版本 2

.数据类型 FileInfo, 公开, 文件信息

.成员 fullName, 文本型, , , 全路径

.成员 path, 文本型, , , 全目录

.成员 forlderName, 文本型, , , 文件夹

.成员 name, 文本型, , , 名称

.成员 extension, 文本型, , , 扩展名

.成员 size, 整数型, , , 大小

.成员 sizeT, 文本型, , , 换算后的大小

===================================================