|
近期有同事需要提取加密的pdf文件,截取其中的信息,并且重构pdf文件。网上没有搜到相关的pdf操作,于是咨询了chatgpt,给出了pypdf2的使用案例。但是时间比较久远了,很多库内的调用接口都已经更新了。
于是自行到官方的库内学习相关接口使用。整理的处理代码如下:- # -*- coding: utf-8 -*-
- """
- Created on Thu Jan 11 10:36:17 2024
- @author: xm AZHE
- """
- import PyPDF2
- file=r'C:\Users\xm\Downloads\xxx1.pdf'
- # 打开PDF文件
- pdf_file = open(file, 'rb')
- # 创建一个PDF阅读器对象
- pdf_reader = PyPDF2.PdfReader(pdf_file)
- # 创建一个新的PDF写入器对象
- pdf_writer = PyPDF2.PdfWriter()
- # 截取第0,第101到108页
- page = pdf_reader.pages[0]
- pdf_writer.add_page(page)
- for i in range(101,109):
- page = pdf_reader.pages[i]
- pdf_writer.add_page(page)
- # 顺便导出下每页的图片
- count = 0
- for image_file_object in page.images:
- with open(str(count) + image_file_object.name, "wb") as fp:
- fp.write(image_file_object.data)
- count += 1
- # 打印下下每页的文字
- page.extract_text(0)
-
- # 处理的文件加个密
- pdf_writer.encrypt("123456")
- # 创建一个新的PDF文件并将页面写入其中
- out_file=file.replace('.pdf','_remake.pdf')
- output_file = open(out_file, 'wb')
- pdf_writer.write(output_file)
- # 关闭文件
- output_file.close()
- pdf_file.close()
复制代码
PS: 解密用- if reader.is_encrypted:
- reader.decrypt("123456")
复制代码
来源:https://www.cnblogs.com/techs-wenzhe/p/17958145
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|