Modyfikowanie zawartości plików OpenDocument

Pliki OpenDocument zazwyczaj tworzymy i modyfikujemy za pomocą odpowiedniego pakietu biurowego, takiego jak LibreOffice. Warto jednak wiedzieć, że ich zawartość można zmieniać również za pomocą… Notatnika. Zazwyczaj nie ma takiej potrzeby, ale istnieją sytuacje, gdy jest to najszybszy sposób na wykonanie jakiegoś zadania. W tym artykule przyjrzymy się plikom OpenDocument „od kuchni” i zobaczymy, jak możemy wykorzystać tę wiedzę na naszą korzyść.

Pliki OpenDocument, o których tutaj mowa, to (pomijając całą ideologiczną, polityczną i techniczną otoczkę) pliki „formatu LibreOffice” — tego, w którym program domyślnie zapisuje wszystkie dokumenty. Mają one rozszerzenia ODT dla plików tekstowych, ODS dla arkusza kalkulacyjnego, ODP dla prezentacji itd. Informacje przedstawione w tym artykule odnoszą się do wszystkich z nich.

Pliki te, w gruncie rzeczy, są zwyczajnymi archiwami ZIP. Archiwa te zawierają serię plików i katalogów o ściśle określonych nazwach. LibreOffice, otwierając plik OpenDocument, rozpakowuje go; dzięki standaryzacji nazw plików w archiwum wie, gdzie konkretnie ma szukać informacji określonego rodzaju. A skoro potrafi to LibreOffice, nic nie stoi na przeszkodzie, abyśmy i my to zrobili. Dysponując odpowiednimi narzędziami, użytkownik może sam rozpakować archiwum i modyfikować pliki w nim się znajdujące.

Tak naprawdę wystarczą nam standardowe narzędzia systemowe, takie jak archiwizer plików wbudowany w system Windows oraz Notatnik, jednak praca z nimi nie należy do najwygodniejszych. Do rozpakowywania i późniejszego tworzenia archiwów polecam program 7-zip, zaś do modyfikowania plików — edytor Notepad++. Oba są darmowe, a dodatkowo udostępniają wersję przenośną — taką, która działa bez instalacji. Użytkownicy systemów GNU/Linux oraz Mac OS X mogą skorzystać z programów wiersza poleceń: zipunzip oraz ulubionego edytora tekstu.

Kiedy nasze środowisko pracy jest już gotowe, możemy przystąpić do dzieła.

Pierwszym i podstawowym krokiem jest utworzenie nowego folderu, do którego kopiujemy plik OpenDocument. Następnie rozpakowujemy go, tak samo jak wszystkie inne archiwa. W efekcie w naszym katalogu pojawi się kilka nowych katalogów oraz seria plików XML. Poniżej zamieszczam opis niektórych z nich.

  • meta.xml — zawiera podstawowe dane o pliku, takie jak twórca, autor ostatniej zmiany, data ostatniej zmiany, całkowity czas edycji, informacje statystyczne o dokumencie itp.
  • styles.xml — zawiera informacje o właściwościach stylów użytych w dokumencie.
  • content.xml — zawiera właściwą treść pliku.
  • Pictures — zawiera pliki graficzne wykorzystane w pliku.

W celu ich edycji, po prostu otwieramy je w wybranym edytorze tekstu. Szybko zauważymy, że pliki te zawierają bardzo długie linie. Wynika to z tego, że format XML zaprojektowany został z myślą o przetwarzaniu przez komputer, a nie człowieka. Można temu jednak łatwo zaradzić, w odpowiedni sposób formatując otwarty plik. We wspomnianym Notepad++ musimy doinstalować wtyczkę XML Tools, a po ponownym uruchomieniu programu wybrać z menu PluginyXML ToolsPretty print (XML only - with line breaks). Użytkownicy Linuksa mogą skorzystać z programu wiersza poleceń xmllint z flagą --format.

Treść plików XML tworzących pliki OpenDocument została tak zaprojektowana, aby człowiek znający język angielski mógł domyślić się przeznaczenia większości znaczników oraz parametrów. W przypadku wątpliwości warto jednak skonsultować się ze specyfikacją tego formatu plików, dostępną na stronach OASIS. Jej pierwsza część zawiera właściwie wszystkie istotne informacje; druga opisuje formuły używane w programie Calc; trzecia odnosi się do struktury zawartości archiwum oraz sposobów jego kreowania (w tym dopuszczalne algorytmy kompresji oraz szyfrowania). Wszystkie trzy dostępne są wyłącznie w języku angielskim.

Gdy już dokonamy wszystkich zmian, pozostaje nam tylko na powrót utworzyć plik OpenDocument. W tym celu zaznaczamy wszystkie pliki w katalogu (oprócz źródłowego pliku OpenDocument, jeżeli go nie usunęliśmy) i tworzymy z nich archiwum ZIP. Niezwykle istotne jest, aby spakować pliki w katalogu, a nie sam katalog wraz z zawartością — w tym drugim przypadku podczas otwarcia pliku w LibreOffice zobaczymy komunikat błędu. Ponadto ważne jest, aby archiwum to miało takie samo rozszerzenie jak plik, który w pierwszym kroku rozpakowaliśmy. W przeciwnym przypadku system Windows nie będzie potrafił utworzonego pliku powiązać z programem LibreOffice.

Jak zaznaczyłem we wstępie do artykułu, większość użytkowników nigdy nie będzie miała potrzeby wykonywać czynności tutaj opisanych. Niektórzy jednak zauważą, że jest to dość wygodny sposób na usuwanie niektórych błędów, kopiowanie wzorców slajdów, dokonywanie drobnych poprawek czy po prostu maszynowe przetwarzanie plików OpenDocument.

Podobał Ci się ten artykuł? Zapisz się na listę subskrybentów i otrzymuj informacje o następnych

Komentarzy: 1