deepl翻译的PDF文档保护密码解除

1、首先将后缀名(.docx)修改为压缩包格式(.zip)。

2、修改解密word加密.py里zip的位置,和新生成的zip的位置和名称

bash 复制代码
import zipfile
import xml.etree.ElementTree as ET
import os
import shutil

# 定义文件路径
zip_file_path = r'C:\Users\Administrator\Desktop\新建文件夹 (3)\小说 en.zip'
new_zip_file_path = r'C:\Users\Administrator\Desktop\新建文件夹 (3)\小说 en_modified.zip'
xml_file_path_in_zip = 'word/settings.xml'

# 创建临时目录
temp_dir = 'temp_zip'
os.makedirs(temp_dir, exist_ok=True)

# 打开 ZIP 文件
with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
    # 解压缩所有文件到临时目录
    zip_ref.extractall(temp_dir)

# 构建完整的 XML 文件路径
xml_file_full_path = os.path.join(temp_dir, xml_file_path_in_zip)

# 解析 XML 文件,并指定命名空间
tree = ET.parse(xml_file_full_path)
root = tree.getroot()

# 定义命名空间
namespace = {'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}

# 查找并修改 w:documentProtection 元素的 w:enforcement 属性
document_protection = root.find('.//w:documentProtection', namespace)
if document_protection is not None:
    if '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}enforcement' in document_protection.attrib:
        document_protection.attrib['{http://schemas.openxmlformats.org/wordprocessingml/2006/main}enforcement'] = 'false'

# 将修改后的 XML 文件保存回临时目录
tree.write(xml_file_full_path, encoding='utf-8', xml_declaration=True, default_namespace='http://schemas.openxmlformats.org/wordprocessingml/2006/main')

# 创建新的 ZIP 文件
with zipfile.ZipFile(new_zip_file_path, 'w', zipfile.ZIP_DEFLATED) as new_zip_ref:
    for foldername, subfolders, filenames in os.walk(temp_dir):
        for filename in filenames:
            file_path = os.path.join(foldername, filename)
            arcname = os.path.relpath(file_path, temp_dir)
            new_zip_ref.write(file_path, arcname)

# 清理临时目录
shutil.rmtree(temp_dir)

print(f'修改后的 ZIP 文件已保存到: {new_zip_file_path}')

3、运行解密word加密.py

4、将新生成的zip后缀改回.docx

5、打开.docx看是否已经解除密码保护了

相关推荐
Kyln.Wu19 小时前
【python实用小脚本-190】Python一键删除PDF任意页:输入页码秒出干净文件——再也不用在线裁剪排队
服务器·python·pdf
阿幸软件杂货间1 天前
免费万能电子书格式转换器!Neat Converter支持 ePub、Azw3、Mobi、Doc、PDF、TXT 文件的相互转换。
pdf·格式转换
星马梦缘2 天前
CSDN转PDF【无水印且免费!!!】
pdf·免费·pandoc·转pdf·无水印·csdn转pdf·wkhtmlpdf
画月的亮2 天前
前端处理导出PDF。Vue导出pdf
前端·vue.js·pdf
伊织code3 天前
pdfminer.six
python·pdf·图片·提取·文本·pdfminer·pdfminer.six
HAPPY酷3 天前
给纯小白的Python操作 PDF 笔记
开发语言·python·pdf
代码AI弗森4 天前
PDF OCR + 大模型:让文档理解不止停留在识字
pdf·ocr
小周同学:5 天前
在 Vue2 中使用 pdf.js + pdf-lib 实现 PDF 预览、手写签名、文字批注与高保真导出
开发语言·前端·javascript·vue.js·pdf
Kyln.Wu5 天前
【python实用小脚本-187】Python一键批量改PDF文字:拖进来秒出新文件——再也不用Acrobat来回导
python·pdf·c#
迪尔~6 天前
Apache POI中通过WorkBook写入图片后出现导出PDF文件时在不同页重复写入该图片问题,如何在通过sheet获取绘图对象清除该图片
java·pdf·excel