2014-11-14 3 views
0

Из того, что я прочитал, файлы docx представляют собой заархивированные коллекции xml-файла. В Windows 7 (единственная ОС, на которой я это пробовал), если я сохраню файл, скажем f.docx из Word, затем выйдите из Word и измените имя файла на f.zip, я могу разархивировать пакет и прочитать компонентных файлов. Но если я затем удалю, то заново застегните папку f (без каких-либо изменений) и изменим расширение обратно на docx, тогда я получаю сообщение об ошибке «Файл f.docx не может быть открыт, потому что есть проблемы с содержимым». И когда я смотрю подробности, он говорит: «Microsoft Office не может открыть этот файл, потому что некоторые части отсутствуют или недействительны».Реконструкция docx из xml-файлов

Вопрос: Почему? И как может детали компонентов быть собраны в действительный файл docx?

Аналогичный вопрос задан here, но предлагаемое решение не работает. Как я уже отмечал выше, я не изменяю ничего в папках и даже не открываю файлы. Хотя я не понимаю, почему это было бы актуально, мой метод для разворачивания файла заключается в использовании команды контекстного меню «Отправить в сжатую папку».

+0

Решение, которое вы указали, говорит вам сделать это из cmd.exe. Вы следуете инструкциям? –

+0

Действительно! В [решении] (http://superuser.com/questions/411911/re-zipped-docx-files-dont-open-in-word), который я привел, есть комментарий, который с некоторыми словами, которые я пропустил, а именно «. .. и до тех пор, пока я делаю все зажим/просмотр/распаковку в терминале, это нормально » Одна из проблем, конечно, в том, что Windows 7 не имеет встроенной команды zip, и есть также небольшой сбой, чтобы быть осторожным из. Итак, я написал свой собственный ответ. – user02814

ответ

2

Как отметил @Pawel в своем комментарии, необходимо убедиться в том, что перерисовка выполняется из командной строки. В отсутствие встроенной zip-команды в Windows 7 (мне не удалось получить решение PowerShell, упомянутое here), можно использовать 7-zip для воссоздания zipped-архива; unzipping с контекстным меню Windows 7, кажется, не проблема. Есть что-то, чтобы быть осторожным при использовании 7-zip. Предположим, что foo.docx был переименован в foo.zip и несжато с контекстным меню в папку foo. Затем, когда пришло время повторно закрепить файлы компонентов с помощью 7-zip, не зацикливайте папку foo. Вместо этого спуститесь в папку foo, выберите файлы и папки компонентов и используйте 7-zip, чтобы закрепить эти компоненты в папке foo.zip, чем можно переименовать в foo.docx.

+0

Человек, я просто потерял работу сегодня, и я бил головой, почему я не мог вернуть его. Мне нужно было исправить какой-то из xml-файла, чтобы он стал действительным, и я заново закрепил его обратно, с этой папкой, как вы уже сказали, теперь я заправил ее правильно, и это сработало! Большое вам спасибо –

+0

@Pure_eyes Я рад, что это было полезно. Вы можете отметить это! Если вы считаете, что это правильно, вы можете отметить это как таковое. – user02814

Смежные вопросы