6步速通:修复损坏的word文件

news2024/11/15 8:25:11

前两天,老师找到我,想让我帮忙修复一个打不开的docx文档。症状大概是这样:

 

打开文件的时候花了较长时间,并且显示了乱码,并且老师使用WPS自带的文档修复功能也无法修复。

遇到这个情况,到底怎么办呢?

第一步:搜索

首先,我简单搜索了一下,发现docx其实是个zip格式的压缩包,因此,就尝试将这个文件改为zip后缀,想通过压缩软件来打开。

当打开后,压缩软件报了个错:

压缩文件没法正常打开。考虑到docx的本质是zip,因此,先尝试修复这个zip文件。

第二步:修复zip

在Linux系统下,可以使用以下的命令来修复zip:

zip -FF 样本.zip --out ok.zip

然后,就会出现这个提示:

这个提示的意思是,问我们这个压缩包是否为“单卷的”。(因为大文件可以切分为多个压缩包)

我们输入“y”即可。

接着我们可以看到输出了这样一串信息:

注意到“word/media/image1.png”这个文件的大小为0字节。估计是由于写入文件时出错,导致这个图片没有被写入。

打开修复好的压缩包,长这个样子:

大概找了找,发现文字都在word文件夹下的document.xml里面。

步骤3:尝试直接重命名

我尝试直接把这个压缩包重命名为docx,然后用word打开。没想到还是报错。猜测是因为文件中,有一些与docx相关的隐藏字段(不影响zip工作的那些)也损坏了。

步骤4:创建一个空的docx

考虑到目前是zip正常工作,但是docx不工作。思路就是,尝试新建一个空的docx,将其重命名为zip,再把待恢复的文件的zip包中的xml文件复制进去。这样不就创造出一个docx相关数据、zip的数据都完整的文件了吗!

步骤5:构建一个完整的docx文件

然后把待恢复文件的xml都拷贝进去,新换掉新文件里面的那几个xml,替换之后如下图所示:

步骤6:重命名为docx,完工!

把新的这个压缩包重命名为docx,打开就能看到文件了,直接完工咯!

转载请注明来源:6步速通:修复损坏的word文件 – 龙进的博客

欢迎关注我的公众号“灯珑”,让我们一起了解更多的事物~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/140942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【填坑向】我可能也就是踩了dockrfile部署jar包(需读取resource目录下的文件)全部的坑吧。。。

FileNotFoundException。。没错、这篇还是从读取的文件找不到的问题开始,今天来个终极版( ̄∇ ̄)/一开始我把要读取的文件放在了项目根路径,package就没把它打进去,显然是找不到的,于是我把这个JSON文件移到了…

数据智能时代的营销新玩法RTA,你了解吗?|极客星球

近日,由国内知名产品经理社区PMTalk和MobTech联合举办的“从0到1深入产品运营方法论”沙龙活动圆满落幕,MobTech袤博科技开发者平台副总裁陆俊超在会上分享了RTA产品如何全方位提升用户增长效能。 RTA应运而生 在流量红利日益消退的环境下,…

中台KPI怎么设计?

在中台系统建设完毕之后,中台战略在一家企业中的落地工作就算完成了。 此时,我们必须有准确的指标来反映该战略的实际效果,因此就需要对中台战略在企业运作中的效益进行持续化的监测与评估。 行动点: (1&#xff09…

app嵌入新功能,一键接入(内含低代码平台)

在app的开发运营中,有时会需要跟随着用户的使用习惯来进行业务上的更新迭代,比如说新增或删减部分功能,或是调整应用功能布局,优化组件分区,以达到更简洁的效果。那么对应的会有低代码平台提供一些通用组件&#xff0c…

机器学习--决策树、线性模型、随机梯度下降

目录 一、决策树 二、线性模型 三、随机梯度下降 一、决策树 决策树(decision tree):是一种基本的分类与回归方法,此处主要讨论分类的决策树。 在分类问题中,表示基于特征对实例进行分类的过程,可以认为…

带你玩转指针——指针进阶(一)

指针的概念:指针就是变量,用来存放地址指针的大小是固定的4/8个字节(32位平台/64位平台)指针也是有类型的,指针类型决定了-步长,指针解引用时的权限字符指针在前面的学习我们知道了字符指针的初阶应用假如是…

xxljob 调度中心项目 调度一个方法到我们自己的项目,他是咋执行的

目录 1 需求2 实现1 需求 xxljob 调度中心项目 调度一个方法到我们自己的项目,他是咋执行的 2 实现 我们的项目首先是netty 服务器接收到,然后转发到run方法里面 核心就是下面的这个map对象 // 任务启动之后,时间一到就 创建一个 JobThread ,就放到这个priva…

【Linux kernel 文件系统入门及渐进 1 -- sysfs 介绍】

文章目录1.1 Sysfs 介绍1.1.1 kobject 产生背景1.1.2 主要的数据结构1.1.3 数据结构实现1.2 attribute 的功能概述1.2.1 struct attribute 实现1.2.2 attribute 文件的创建1.2.3 attibute 文件的 read 和 write1.1 Sysfs 介绍 Sysfs 是一个基于 RAM 的文件系统,它和…

如何优化.so mmap内存占用

1)如何优化.so mmap内存占用 ​2)模拟器下物理碰撞失效 3)Unity RenderTexture的释放在安卓上并不能使GL内存完全回落 4)数字人中,怎么做到胡子固定在嘴巴皮肤上 这是第319篇UWA技术知识分享的推送。今天我们继续为大家…

docker容器入门介绍

一、什么是docker容器 容器(Container)是基于镜像创建的运行实例,一个容器中可以运行一个或多个应用程序(jdk开发的java应用 程序)。 Docker 可以帮助你构建和部署容器,你只需要把自己的应用程序或者服务打…

对外投资数据集

一、2009-2018年各省省际对外非金融类直接投资流量情况数据来源: 中国商务年鉴2、时间跨度:2009-2018年3、区域范围:全国各省份二、2003-2018 OFDI对外直接投资存流量(分国家)与分省份对外直接投资存流量1、…

一个在关键路径上面隐藏了11个月的BUG:DragonOS进程切换查错

前言的前面 DragonOS是一个从0开始研发内核及用户态环境的,独立自主的,面向服务器领域的开源操作系统,提供Linux兼容性。 官网:https://DragonOS.org 代码仓库:GitHub - fslongjin/DragonOS: 一个64位的操作系统。A…

基于jsp+sevlet+mysql实现用户登陆和增删改查功能

基于jspsevletmysql实现用户登陆和增删改查功能一、系统介绍二、功能展示1.用户登陆2.用户列表3.查询用户信息4.添加用户信息5.修改用户信息6.删除用户信息三、其它系统四、获取源码一、系统介绍 系统主要功能: 用户登陆、添加用户、查询用户、修改用户、删除用户 …

用javascript分类刷leetcode4.贪心(图文视频讲解)

什么是贪心算法 贪心法,又称贪心算法,贪婪算法,在对问题求解时,总是做出在当前看来最好的选择,期望通过每个阶段的局部最优选择达到全局最优,但结果不一定最优 适用场景:简单的说,…

手把手YOLOv5输出热力图

环境要求 我的版本是YOLOV5 7.0 先看结果: 结果仅供参考 具体步骤一: 首先配置好YOLO V5环境 这个采用pip install requirements即可 具体配置环境可以看我其他的博客有详细介绍 GPU环境自己配置 步骤二: 运行YOLO 没问题,输…

Excel表格的导入导出——EasyExcel

参考视频 csdn参考地址 一、导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version> </dependency>二、实体类 方式一&#xff1a;Excel Property&#xff08;&…

Kubernetes Pod 底层实现原理

文章目录前言一、探索 Container1.1 设置实验环境&#xff08;playground&#xff09;1.2 探索容器的 namespace1.3 探索容器的 cgroupsCheck the memory limit.二、探索 Pod2.1 设置实验环境&#xff08;playground&#xff09;2.2 探索 Pod 的容器2.3 探索 Pod 的命名空间2.4…

UDP协议重点总结(附实例)

文章目录前言一、网络的原生情况二、UDP协议2.1 UDP的特点2.1.1 不可靠性2.1.2 无连接&#xff08;不是缺点&#xff09;2.1.3 面向数据报&#xff08;优点&#xff09;2.1.4 缓冲区2.1.5 大小受限2.2 UDP协议端格式2.3 关于校验和2.4 基于UDP的应用层协议三、UDP总结&#xff…

P2279 [HNOI2003]消防局的设立

[HNOI2003]消防局的设立题目描述2020 年&#xff0c;人类在火星上建立了一个庞大的基地群&#xff0c;总共有 n 个基地。起初为了节约材料&#xff0c;人类只修建了 n-1 条道路来连接这些基地&#xff0c;并且每两个基地都能够通过道路到达&#xff0c;所以所有的基地形成了一个…

HTML5本地存储详解

html5 本地存储。前言一、localStorage 对象二、sessionStorage 对象三、localstorage 与 cookie 的区别四、localStorage 和 sessionStorage 二者的区别总结前言 ☀️本地存储是指在客户端存储数据&#xff0c;HTML5 为我们提供了两种 API&#xff0c;分别是 localStorage 与 …