ponownie skompresowane pliki docx nie otwierają się w programie Word

29

Udało mi się rozpakować i zbadać wnętrze pliku .docx, ale nie wydaje mi się, aby ponowne skompresowanie działało poprawnie. Nie próbowałem kompresji (linia poleceń: zip -0r ...), narzędzie do archiwizacji i wtyczki 7zip, ale żadna z nich nie działa. Wszystkie pliki .docx, które tworzę, nie otwierają się w oryginalnych programach, nawet jeśli nie zmieniam ani jednego pliku. Jakieś wskazówki?

acsmith
źródło

Odpowiedzi:

36

Ważne jest, aby pliki tworzące docxnie znajdowały się w innym folderze, tzn. [Content_Types].xmlMuszą znajdować się w katalogu głównym wynikowego skompresowanego pliku. Podobne pytanie zostało zadane na StackOverflow.

Po otwarciu (lub wypakowaniu do bieżącego katalogu ) zippliku powinieneś mieć coś podobnego do następującego:

./docProps/
./word/
./_rels/
./customXml/
./[Content_Types].xml

Jeśli masz te pliki w innym katalogu wewnątrz pliku ziplub docx, nie będzie działać. Zauważ, że nie widzę customXmlfolderu na pustym dokumencie Word, ale raport, z którym pierwotnie testowałem, miał go. Możesz mieć więcej (lub mniej) katalogów.

Polecenie wykonania ich ponownie, wydane z „bieżącego katalogu”, to:

zip -r preso.pptx *
Kok
źródło
1
Dzięki. Myślę, że innym kluczem było edytowanie tylko w Terminalu. Nawet po dodaniu -x .DS_Storenadal nie działałoby, chyba że nigdy nie użyję Findera do nawigacji. Więc właśnie użyłem partnera i wszystko jest w porządku.
kowal
Nie jestem pewien, nie mam Maca do testowania, ale problem może być spowodowany przez Maca i jego aplikacje domyślnie ustawione na CR znacznik nowej linii i Word oczekujący CR+LF, mimo że specyfikacje XML mówią, aby traktować je tak samo. Nie mogę powiedzieć, czy Word poprawnie przestrzega tej specyfikacji, czy nie. Mogą również wystąpić nieoczekiwane zmiany w kodowaniu lub nawet utworzony ukryty plik, po raz kolejny nie mogę nic powiedzieć na pewno. Wygląda na to, że i tak znalazłeś obejście.
Bob
Tak, myślę, że to był Finder. Mogę nawet otwierać pliki XML w textmate lub cokolwiek innego, edytować, zapisywać i dopóki wykonuję wszystkie operacje kompresowania / przeglądania / rozpakowywania w terminalu, jest w porządku. Wygląda na to, że teraz działa - problem z plikiem głównym był problemem. Dzięki.
kowala