У меня есть документ Word DOCX (не уверен, с какой версией Word он был создан). У меня проблемы с печатью на локальный принтер или в PDF. В последнем случае он жалуется на один из шрифтов (Cambria , который, я думаю, используется для математических уравнений в документе). Поскольку DOCX - это просто ZIP-архив, я решил взломать документ, вручную заменив упоминания шрифта на другое имя шрифта в одном из файлов XML, которые составляют DOCX. Однако, как только я заархивировал папку в новый документ DOCX, она не смогла загрузиться в Word. Я сначала попробовал это с 7zip следующим образом:

7z a new_document.docx new_document

где new_document - это папка, содержащая все части, включая вручную модифицированный XML-файл. Я получил MS Office can't open this file because the zip archive file is an unsupported version . Потом я попробовал

zip -r new_document.docx new_document

и получил MS Office can't open this file because some parts are missing or invalid .

Хотя мои изменения были минимальными, возможно, я что-то напутал. Тем не менее, есть ли "правильный" способ сжать папку документа обратно в действительный DOCX?

1 ответ1

0

То, как вы называете 7z и zip , немного неверно. Это приведет к созданию ZIP-архива с папкой new_document на корневом уровне. Тем не менее, вы хотите, чтобы содержимое new_document на корневом уровне.

Кроме того, я помню, что вы не можете использовать все функции ZIP с Office Open XML и что (некоторые) файлы должны появляться в определенном порядке в архиве. Возьмите это с зерном соли все же.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .