python实现pdf解密和pdf转图片

  • pdf解密
  • pdf转图片

pdf解密

安装PyPDF2

pip install PyPDF2

解密代码如下

# coding:utf-8
from PyPDF2 import PdfFileReader
from PyPDF2 import PdfFileWriterdef get_reader(filename, password):try:old_file = open(filename, 'rb')print(filename + " open successfully!")except Exception as err:print('文件打开失败!' + str(err))return None# 创建读实例pdf_reader = PdfFileReader(old_file, strict=False)# 解密操作if pdf_reader.isEncrypted:if password is None:print('%s文件被加密,需要密码!' % filename)return Noneelse:if pdf_reader.decrypt(password) != 1:print('%s密码不正确!' % filename)return Noneif old_file in locals():old_file.close()return pdf_readerdef decrypt_pdf(filename, password, decrypted_filename=None):"""将加密的文件及逆行解密,并生成一个无需密码pdf文件:param filename: 原先加密的pdf文件:param password: 对应的密码:param decrypted_filename: 解密之后的文件名:return:"""# 生成一个Reader和Writerpdf_reader = get_reader(filename, password)if pdf_reader is None:returnif not pdf_reader.isEncrypted:print('文件没有被加密,无需操作!')returnpdf_writer = PdfFileWriter()pdf_writer.appendPagesFromReader(pdf_reader)if decrypted_filename is None:decrypted_filename = "".join(filename.split('.')[:-1]) + '_' + 'decrypted' + '.pdf'# 写入新文件pdf_writer.write(open(decrypted_filename, 'wb'))print(decrypted_filename + " decode successfully!")if __name__ == "__main__":decrypt_pdf(r'C:\\Users\\test.pdf', 'password')

生成的解密文件在C:\\Users\\test_decrypted.pdf

pdf转图片

需要安装PyMuPDF

pip install PyMuPDF

转图片

import os
import fitz  # fitz就是PyMuPDFdef pyMuPDF_fitz(pdfPath, imagePath):pdfDoc = fitz.open(pdfPath)for pg in range(pdfDoc.pageCount):page = pdfDoc[pg]# 每个尺寸的缩放系数为1.3,这将为我们生成分辨率提高2.6的图像。# 此处若是不做设置,默认图片大小为:792X612, dpi=96zoom_x = 1.33333333  # (1.33333333-->1056x816)   (2-->1584x1224)zoom_y = 1.33333333mat = fitz.Matrix(zoom_x, zoom_y).preRotate(0)#不旋转pix = page.getPixmap(matrix=mat, alpha=False)if not os.path.exists(imagePath):  # 判断存放图片的文件夹是否存在os.makedirs(imagePath)  # 若图片文件夹不存在就创建pix.writePNG(imagePath + '/' + 'images_%s.png' % pg)  # 将图片写入指定的文件夹内if __name__ == "__main__":# 1、PDF地址pdfPath = 'C:\\Users\\test_decrypted.pdf'# 2、需要储存图片的目录imagePath = 'C:\\Users\\'pyMuPDF_fitz(pdfPath, imagePath)

生成的图片在C:\\Users\\test_decrypted_Page1.jpg,有几页就有几张图片。

python实现pdf解密和pdf转图片相关推荐

  1. pdf解密,pdf,jpg,word格式互相转换

    pdf加解密,pdf,jpg,word格式互相转换 介绍 下载安装 pdf解密 pdf与其他格式转换 介绍 今天一个同事找我帮忙,把一个加密的pdf密码解除,于是简单研究一下,也是很有趣的功能 下载安 ...

  2. pdf解密软件pdf password remover

    自行提取: 链接:https://pan.baidu.com/s/1_Rb1Rm7KxGvrxdi2ciPLjw 提取码:1111 喜欢的点个关注

  3. 免费离线PDF工具箱,PDF工具大全,PDF合并PDF加密PDF解密PDF格式转换PDF分割PDF旋转以及从PDF中提取图片,满足对PDF操作的一切需求~完全免费无使用次数限制,文末附下载链接~

    一款 完全免费 的PDF工具箱,软件一共 内置45个和PDF文件操作相关的功能,无需注册登录 即可 免费使用,所有的功能都 不限制使用次数,你对PDF操作的大多数需求它都能满足!而且 所有操作均在本地 ...

  4. 如何用pdf转换器压缩pdf文件大小

    在学习或办公过程中,常会遇到一些较大的PDF文件需要转换成Word文档的问题,没有经验的朋友常常不知道该怎么把PDF文件转换成Word而烦恼不已,但事实上我们可以通过一个简单PDF压缩工具将文本体积进 ...

  5. python在线学习pdf_扣丁学堂Python在线学习之将pdf转成图片的方法

    扣丁学堂Python在线学习之将pdf转成图片的方法 2018-05-23 11:29:01 1266浏览 Python将pdf转成图片的方法,不论是参加 本篇文章记录如何使用python将pdf文件 ...

  6. python pdf解密脚本(pikepdf模块)

    python pdf解密脚本(pikepdf模块) 参考:https://blog.csdn.net/weixin_44160754/article/details/114525052 pikepdf ...

  7. 通过Python的pdfplumber库将pdf转为图片

    文章目录 前言 一.pdfplumber库是什么? 二.安装pdfplumber库 三.查看pdfplumber库版本 四.pdf素材 五.将pdf转为图片 1.引入库 2.定义pdf路径 3.打开P ...

  8. Python 获得pdf中的文字、图片文字方法

    Python 获得pdf中的文字.图片文字方法 下载word版文件 OCR,全称Optical character recognition,中文译名叫做光学文字识别.它把图像中的字符,转换为机器编码的 ...

  9. ubuntu下使用python将ppt转成图片_在Ubuntu下,python将PPT和word转换为PDF,ubuntu,pptword,pdf...

    前言: 在我以前的博客中有这么两篇博客,一篇是: python将ppt文件转换为jpg图片 . 这两篇博客都是讲如何将word,ppt转换为图片,但是这些方法都是在win系统中实现的,而在ubuntu ...

最新文章

  1. 【NCEPU】韩绘锦:扩散卷积神经网络
  2. JS+jQuery简单版发布、删除留言
  3. 2019Java常见面试下
  4. 软件测试-PR录制脚本程序ie的时候闪退
  5. 数据处理算法链接 DATA MINING GA LINK
  6. php文件名函数,php 获取文件名basename()函数的用法总结
  7. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics
  8. node --- 监听文件变化(静态、动态、子进程)
  9. java mset_Java 反射机制(包括组成、结构、示例说明等内容)
  10. @service注解_SpringBoot最最最常用的注解梳理
  11. 干货!3 个重要因素,带你看透 AI 技术架构方案的可行性
  12. 计算机专业基础 -- Spring系列框架相关基础知识
  13. 西门子1212c 通过高速脉冲输出控制台达B2伺服电机
  14. 百度的AI赛事,正在启蒙一代年轻人
  15. Bzoj2959: 长跑
  16. 清除90天苹果充值记录_苹果内购退款2020千万要知道的技巧,不得不看!
  17. 七、MySQL之数据定义语言(二)
  18. Android基本概念介绍
  19. 有哪些好书值得一看?
  20. 中兴面试经历(回忆版) -20160628

热门文章

  1. [Java] Scanner(new File( )) 从文件输入内容
  2. windwows和linux下,mysql密码的破解
  3. vs的form标签引起css走样问题
  4. 调整自己--提升自己
  5. 在Spring项目中集成使用MongoDB
  6. 私有云办公平台大规模集群/企业级集群/小型工作室集群解决方案:NextCloud集群部署方案--NextCloud集群架构设计
  7. 840. 模拟哈希表(模板)
  8. win10 + Terminal + WSL+ oh-my-zsh 配置漂亮实用的windows终端及配置ubuntu不加.exe打开windows程序
  9. 【HTML】获取当前时间并显示在网页上
  10. Upload-Labs(11-15)