python 处理pdf加密文件
  qKXwDtzZUJJJ 2024年01月11日 21 0

近期有同事需要提取加密的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")

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年01月11日 0

暂无评论

推荐阅读
  2Fnpj8K6xSCR   2024年05月17日   107   0   0 Python
  xKQN3Agd2ZMK   2024年05月17日   75   0   0 Python
  fwjWaDlWXE4h   2024年05月17日   38   0   0 Python
  YpHJ7ITmccOD   2024年05月17日   40   0   0 Python
qKXwDtzZUJJJ
作者其他文章 更多