• Word docx文件重命名为zip文件,解压后直接查看和编辑


    一个不知道算不算冷的知识[doge]:

    docx格式的文件本质上是一个ZIP文件

    当把一个.docx文件重命名为.zip文件并解压后,你会发现里面包含了一些XML文件和媒体文件,它们共同构成了Word文档的内容和格式。

    例如,word/document.xml文件包含了Word文档的大部分内容【*全体注意——!这个文件很可爱,熟悉xml结构后能在其中完成Word文档结构、格式相关的几乎所有操作,比用Word软件另存为xml之后得到的xml文件结构清晰很多】,而图片文件则保存在word/media文件夹。

    因此可以把.docx文件重命名为.zip文件,解压后直接查看、编辑文档内部结构和内容。对其中文件进行修改后(这一步刚开始坑会比较多,需要一点点耐心和好奇..)重新压缩并重命名为.docx文件,又可以用word正常打开。

    编辑.xml文件比较推荐用Notepad++,插件安装XML Tools,打开文件后点Pretty print会自动把xml文件树形展开

    下面代码是我改document.xml文件看对word文档影响的时候写的,主要目的是节省体力(¦3[▓▓]

    实现功能就是把解压后的文件夹重新压缩打包成docx文件并打开,然后就可以愉快地查看了

    如果报错建议先撤回之前对xml文档的操作再看看,因为真的很容易手滑(躺

    1. import zipfile
    2. import os
    3. import win32com.client as win32
    4. import random
    5. # 将指定文件夹压缩为ZIP文件
    6. def zip_folder(folder_path, zip_path):
    7. with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf: # 使用'w'模式创建或覆盖ZIP文件,并使用DEFLATED方法压缩
    8. for root, dirs, files in os.walk(folder_path):
    9. for file in files:
    10. file_path = os.path.join(root, file)
    11. zipf.write(file_path, file_path[len(folder_path)+1:])
    12. # 定重命名文件,将文件扩展名从.zip更改为.docx
    13. def re_name(path):
    14. old_name = path
    15. new_name = path[:-4]+'.docx'
    16. os.rename(old_name, new_name)
    17. return new_name
    18. folder_path = r"D:\wordTest\1" # 指定要压缩的文件夹路径,就是你解压docx文档之后获得的那个总文件夹
    19. m = str(random.random()) # 生成一个随机数【这个地方是我偷懒了一下直接用随机数命名,这样不用担心重复
    20. zip_path = f"D:\wordTest\{m}.zip"
    21. zip_folder(folder_path, zip_path) # 压缩文件夹
    22. new_docx = re_name(zip_path) # 重命名压缩文件为.docx扩展名
    23. # 创建Word应用程序对象
    24. word = win32.gencache.EnsureDispatch('Word.Application') # 确保Word应用程序对象存在,如果不存在则创建
    25. # 打开Word文档
    26. word.Documents.Open(new_docx)
    27. word.Visible = True # 设置Word应用程序窗口为可见

  • 相关阅读:
    C# DLL实现泄露实验
    平面设计实验四 绘制工具和修饰工具
    【算法3.12】二分图 - 匈牙利算法 NTR算法(完结)
    k8s部署禅道
    【数据结构与算法】之递归算法
    LangChain的函数,工具和代理(一):OpenAI的函数调用
    spark读写elasticsearch的坑
    长文解析Resnet50的算法原理
    会议OA项目之我的会议排座&批审功能
    为华生物Dextran-SH 葡聚糖巯基 巯基化葡聚糖的简介及应用说明
  • 原文地址:https://blog.csdn.net/YHKKun/article/details/136125827