Uwaga: przeglądasz tę stronę na urządzeniu o niewielkim ekranie (szerokość < 640px). Niektóre zamieszczone w artykule ilustracje i animacje mogą stać się nieczytelne po dopasowaniu ich do rozdzielczości tego ekranu.
Yestok.pl
Jerzy Moruś
© Wszystkie prawa zastrzeżone. Wykorzystanie całości serwisu lub jego fragmentów bez pisemnej zgody autora zabronione.
Szablony w dokumentach LibreOffice i Apache OpenOffice
Opracowanie powstało z wykorzystaniem wersji oprogramowania istniejącej w trakcie jego pisania. Był to LibreOffice 25.8.2 i Apache OpenOffice 4.1.15.
Szablony, czy są nam potrzebne?
Szablony dokumentów.
Jedną z definicji słowa szablon jest: „naśladowany bezmyślnie wzorzec postępowania”, jednak w naszym przypadku bliższą będzie definicja: „forma, wzór, według których wyrabia się seryjnie przedmioty” a najtrafniejszym określeniem jest wyjaśnienie, że jest to wstępnie ustalona postać dokumentu, który będzie podlegał dalszej edycji.
Wszystkie dokumenty tworzone w oprogramowaniu biurowym powstają na podstawie jakiegoś szablonu. W Apache OpenOffice i LibreOffice szablonów nie wykorzystują jedynie programy Base i Math.
Gdy tworzymy nowy dokument we Writerze, Calcu, Impress-ie czy Draw powstaje on na podstawie dedykowanego szablonu związanego z konkretnym typem dokumentu. Standardowe szablony, domyślne, które zostają automatycznie zastosowane po wywołaniu jednego z tych programów, są dostarczone przez producentów oprogramowania i „wbudowane” w aplikację. To dzięki nim, wywołując np. program Writer, zobaczymy na ekranie „pustą kartkę” przygotowaną do zapisywania. Kartka jest co prawda pusta, ale są już dla niej wstępnie zdefiniowane pewne parametry, jak np. jej rozmiar, ułożenie, wielkość marginesów, rodzaj i wielkość zastosowanego fontu, jego kolor, odstępy między wierszami, wyrównanie tekstu i wiele innych, nad których istnieniem nawet się nie zastanawiamy i dopiero podczas tworzenia albo późniejszego redagowania dokonujemy zmian, dopasowujących ten dokument do własnych potrzeb.
Aplikacje pozwalają na utworzenie, a później korzystanie z dowolnej ilości nowych szablonów, które mogą zostać użyte zamiast szablonu wbudowanego. Taki szablon jest dokumentem odpowiadającym wybranemu programowi, o takiej cesze, że gdy zostanie otwarty w programie, to traktowany będzie jak nowy, niezapisany jeszcze dokument, ze wstępnie zredagowaną treścią, a zakończenie pracy z szablonem będzie wymagało nadania mu indywidualnej nazwy.
Każdy dokument utworzony na podstawie szablonu, czy to „wbudowanego”, czy innego dedykowanego, otrzymuje tymczasową nazwę, która – przy pierwszym zapisywaniu dokumentu – zostanie zastąpiona przez nazwę docelową, utworzoną już przez autora. Tak zapisany dokument przestaje być w tym momencie szablonem. W pakietach LibreOffice i Apache OpenOffice tą nazwą (niezależnie od użytego programu) jest „Bez tytułu”, po której pojawia się liczba informująca o tym, który dokument w tej sesji pakietu biurowego został utworzony na podstawie szablonu. W pakiecie MS Office te tymczasowe nazwy są zróżnicowane, choć także zakończone liczbą i brzmią: dla programu Excel – „Zeszyt”, dla programu Word – „Dokument”, a dla Powerpoint – „Prezentacja”
Jak już wspomniałem, z punktu widzenia oprogramowania szablon jest tylko plikiem ze wszystkimi wstępnie zdefiniowanymi ustawieniami oraz umieszczoną zawartością, taką jak teksty, ilustracje i grafiki, tabele, pola czy makra. Taki plik użyty do utworzenia nowego dokumentu wnosi do niego całą swoją zawartość. Użytkownik może całkowicie zmienić te ustawienia i treści, jednak zmiany te nie wpływają na sam szablon, który ponownie może zostać użyty do utworzenia kolejnego dokumentu.
Podczas pierwszego zapisywania dokumentu, w okienku dialogowym „Zapisz jako” (także wtedy, gdy zostanie użyte polecenie „Zapisz”) pojawia się automatycznie sugerowana nazwa dokumentu taka, jaka jest wyświetlana w pasku tytułowym, czyli nazwa proponowana przez szablon. Nieopaczne natychmiastowe zaakceptowanie treści okna spowoduje zapis nowego dokumentu z tą nazwą, a więc np. „Bez tytułu 1”. Od tego momentu kończy się praca z szablonem, a opracowywany dokument staje się odzwierciedleniem dokumentu utrwalonego na dysku.
Często uważa się, że szablon jest jakimś niewielkim dokumentem. Jest to osąd pochopny, szablon bowiem może być bardzo złożonym, wielostronicowym dokumentem, zawierającym wszystkie elementy, jakie chcielibyśmy mieć w dokumencie wynikowym. A więc, tak jak już napisałem, obliczenia, grafikę, wykresy, ustawienia strony, zdefiniowane style, czy włączone do niego makra. Ponieważ plik szablonu jest w rzeczywistości dokumentem, to można go przygotować w programie, który tego szablonu będzie używał. Po uruchomieniu programu (Writer, Calc, Impress lub Draw), który oczywiście wykorzysta szablon domyślny, można wprowadzić wszelkie niezbędne zmiany w ustawieniach, wpisać własne treści, wstawić niezbędne elementy i zapisać tak utworzony dokument jako nowy szablon.
Aplikacje biurowe muszą jednak „wiedzieć” jak odróżnić plik szablonu od zwykłego pliku z dokumentem i kiedy, otwierając taki plik, należy go traktować jako szablon.
Ponieważ szablon jest plikiem to musi mieć nadaną swoją własną nazwę. Elementem, który odróżnia szablon od zwykłego pliku, jest rozszerzenie nazwy. Angielskim odpowiednikiem słowa „szablon” jest „template”, stąd w rozszerzeniach dotyczących szablonów pojawia się litera „t”. Wyjątkiem są szablony programu MSPowerpoint, w którym litera „t” występuje już w podstawowej nazwie rozszerzenia. Oto zestawienia tych nazw:
| Nazwa programu | Rozszerzenie nazwy pliku | Rozszerzenie nazwy szablonu |
| Writer | odt | ott |
| Calc | ods | ots |
| Impress | odp | otp |
| Draw | odg | otg |
| MSWord | doc, docx, docm | dot, dotx, dotm |
| MSExcel | xls, xlsx, xlsm | xlt,xltx, xltm |
| MSPowerpoint | ppt, pptx, pptm | pot, potx, potm |
Wymieniłem w tym zestawieniu także szablony dotyczące MS Office, ponieważ programy należące do Apache OpenOffice, jak i LibreOffice, prawidłowo zinterpretują także te szablony.
Gdy więc w programie pakietu biurowego wskażemy do otworzenia plik szablonu, zostanie otwarty dokument o tymczasowej nazwie „Bez tytułu…” przygotowany do dalszej edycji. Pamiętajmy jednocześnie, że szablon nie jest świętym Graalem, więc w tworzonym dokumencie możemy wszystko pozmieniać, a zapisany dokument będzie miał już własne cechy. Sam szablon pozostanie nietknięty i gotowy do następnego użycia.
Szablony, tak jak i pozostałe pliki możemy przechowywać w dowolnym folderze i na dowolnym nośniku.
Zarządzanie szablonami.
Szablony mogą znajdować się w dowolnych lokalizacjach na dostępnych nośnikach danych. Twórcy oprogramowania przewidzieli jednak dwa specyficzne położenia szablonów. Pierwsze nosi nazwę „Ścieżki wewnętrzne” i zawiera szablony dołączone do oprogramowania przez jego wydawcę. Szablony te znajdują się w folderze „template” w ścieżce zawierającej zainstalowane oprogramowanie. W systemie Windows jest to ścieżka:
„C:\ProgramFiles\LibreOffice\share\template\”.
Struktura tego folderu jest wewnętrznie rozbudowana i w oprogramowaniu LibreOffice zawiera kolejny folder: „common”, który z kolei zawiera podfoldery, grupujące szablony należące do wspólnej kategorii. W Apache OpenOffice folder „template” zawiera folder „pl”, a ten zawiera następne podfoldery. Wewnętrzne struktury tych folderów nie są już takie same w obu pakietach.
Drugie, to „Ścieżki użytkownika”, mogą tu zostać wskazane dowolne foldery określone przez użytkownika. Dokładne wskazanie pakietowi tych folderów realizowane jest przez polecenie „Narzędzia → Opcje → LibreOffice → Ścieżki → Szablony”. Po zainstalowaniu oprogramowania, w ścieżkach użytkownika automatycznie umieszczany jest dostęp do szablonów dołączonych z oprogramowaniem. W systemie operacyjnym Windows jest to ścieżka w rodzaju
„C:\Users\użytkownik\AppData\Roaming\LibreOffice\4\user\template”
i analogicznie dla Apache OpenOffice.
W obu pakietach wbudowano moduł zarządzający szablonami. Moduł ten dostępny jest tylko w tych programach, które mogą wykorzystywać szablony, a dostęp jest możliwy poprzez wywołanie polecenia „Plik → Szablony → Zarządzaj szablonami…” (w LibreOffice) lub „Plik → Szablony → Zarządzaj…” (w Apache OpenOffice). Moduł odwołuje się tylko do tych szablonów, które znajdują się we wspomnianych powyżej położeniach.
W tym miejscu jeszcze raz chcę podkreślić, że szablony nie muszą znajdować się we wspomnianych położeniach.
Na tym etapie omawiania szablonów chciałbym wrócić, na moment, do szablonów domyślnych. Taki szablon jest zawsze użyty przy uruchamianiu programu. Otóż użytkownik może wskazać dowolny plik szablonu i zażądać, aby był on szablonem domyślnym. Wówczas szablon „wbudowany” nie będzie już przywoływany. Można to zrealizować tylko za pomocą modułu zarządzania szablonami, a więc szablonem domyślnym może być tylko taki, który podlega pod funkcjonalność zarządzania szablonami.
W dalszej części opracowania będę się odnosił do zawartości LibreOffice. Autorzy oprogramowania umożliwili przypisanie szablonowi umownej kategorii, której zadaniem jest ułatwienie odnajdywania potrzebnego szablonu. Sami utworzyli wstępnie kilka nazw takich kategorii i przypisali im szablony dostarczone z oprogramowaniem. Użytkownik może określić własne, nowe kategorie, przenosząc do nich wybrane szablony. Kategoriami istniejącymi po zainstalowaniu oprogramowania LibreOffice są: „Inne dokumenty służbowe”, „Korespondencja i dokumenty osobiste”, „Korespondencja służbowa”, „Lokalizacja”, „MediaWiki”, „Prezentacje”, „Rysunek” i „Style” (są to kategorie znajdujące się w wewnętrznych ścieżkach) i „Moje szablony” (kategoria w ścieżkach użytkownika). Nazwy przytoczonych kategorii są nazwami zastrzeżonymi przez aplikację, nie można więc ich zmienić ani usunąć. Umieszczanie szablonów w wybranej kategorii ma charakter uznaniowy i zależy wyłącznie od użytkownika, przy czym szablony umieszczone w ścieżkach wewnętrznych będą dostępne dla każdego zalogowanego użytkownika. Kategorie utworzone przez użytkownika są dodawane do ścieżek użytkownika.
Poniżej przedstawiam okno dialogowe polecenia zarządzania szablonami w LibreOffice z rozwiniętą listą kategorii.
Rozwijane pole opisane jako „Filtr” pozwala wybrać jakiego typu szablony chcemy zobaczyć. Z wykazu można wybrać: „Wszystkie aplikacje”, „Dokumenty tekstowe”, „Arkusze kalkulacyjne”, „Prezentacje”, „Rysunki”. Główny obszar okna dialogowego pokazuje szablony wyselekcjonowane z wybranej kategorii. Utworzenie dokumentu wg wybranego szablonu wymaga kliknięcia przycisku „Otwórz”.
Dla każdego konkretnego typu szablonu można wybrać jeden z szablonów i przypisać mu atrybut „domyślny”. Przypisanie takiego atrybutu wymaga kliknięcia wybranego szablonu prawym przyciskiem myszy i w otwartym menu kontekstowym wybrania opcji „Ustaw jako domyślny”. Tak wybrany szablon zostanie oznaczony dodatkową ikonką. Poniższa animacja pokazuje przypisanie „domyślności” szablonowi o nazwie „szablon test”, będącym typem „Arkusze kalkulacyjne” i znajdującym się w kategorii „Jermor”. Następnie to przypisanie jest cofnięte. Usunięcie atrybutu „domyślny” oznacza, że aplikacja będzie korzystała z szablonu wbudowanego.
Proszę zauważyć, że znajdujący się w typie „Dokumenty tekstowe” szablon o nazwie „Domyślny” nie jest szablonem domyślnym w znaczeniu posiadanego atrybutu.
Rozwinięte menu kontekstowe oprócz polecenia „Ustaw jako/Resetuj domyślny” zawiera i inne dostępne opcje. Oto ich wyjaśnienie.
„Otwórz” – działa tak, jak wspomniany już przycisk „Otwórz”. Tworzy na podstawie szablonu nowy dokument.
„Edycja” – spowoduje otwarcie szablonu, jako dokumentu, w którym możemy dokonać dowolnych modyfikacji i zapisać go ponownie jako szablon. Aplikacja nie pozwala na edytowanie szablonów, które znajdują się w kategoriach zastrzeżonych w wewnętrznych ścieżkach.
„Zmień nazwę” i „Usuń” – pozwala zmienić nazwę szablonu albo go usunąć, ale tylko tego, który został utworzony przez użytkownika.
„Przenieś” – służy do przenoszenia szablonów między kategoriami. Nie można jednak przenosić szablonów z kategorii zastrzeżonych (z wyłączeniem kategorii „Moje szablony”), w takiej sytuacji aplikacja zaproponuje skopiowanie szablonu.
„Eksportuj” – Pozwala wyeksportować dowolny szablon do wybranego folderu.
Przycisk „Zarządzaj” otwiera zestaw innych opcji.
Pozwalają one na dodanie nowej kategorii, ale wyłącznie w powiązaniu ze ścieżką użytkownika.
Zmianę nazwy kategorii, tylko tych, które zostały utworzone przez użytkownika. Analogicznie dotyczy to także usunięcia kategorii.
Zresetowanie domyślnego szablonu jest dostępne tylko wtedy, gdy w danej kategorii został określony szablon domyślny. Tekst tego polecenia adaptuje się do ustawień filtra i w przypadku ustawienia filtra na „Wszystkie aplikacje” oferuje zresetowanie wszystkich szablonów domyślnych.
Opcja importu pozwala zaimportować szablon dokumentu przechowywany w dowolnym folderze, a opcja „Rozszerzenia” łączy aplikację z repozytorium gotowych szablonów znajdującym się pod adresem https://extensions.libreoffice.org, pozwalając pobrać gotowy szablon z tego repozytorium.
Utworzenie szablonu.
Jak już wspomniałem, dokument szablonu należy przygotować w programie, którego szablon ma dotyczyć. A więc np. dla dokumentu tekstowego we Writerze, a następnie zapisać go jako szablon. Aby to zrobić, wystarczy przy zapisywaniu pliku („Zapisz jako...”) wybrać z rozwijalnej listy pola „Zapisz jako typ” pozycję „szablon” wybranego dokumentu albo po prostu dopisać wymagane rozszerzenie nazwy pliku. Tą metodą szablon można umieścić w dowolnym folderze na dowolnym nośniku.
Dla tak utworzonego szablonu należy wyjaśnić sposób jego modyfikacji. Dwukrotne kliknięcie myszką nazwy takiego pliku lub standardowe otwarcie takiego dokumentu utworzy nowy dokument z nazwą „Bez tytułu…”. W celu modyfikacji szablonu należy wybrać polecenie „Plik → Otwórz…” i w oknie dialogowym, w polu znajdującym się po nazwie pliku wskazać, że chodzi o szablon. Tak jak to przedstawia ilustracja.
Szablon można także zapisać poleceniem „Plik → Szablony → Zapisz jako szablon…”. Aplikacja automatycznie wykorzysta dostęp do domyślnych ścieżek szablonów, prosząc uprzednio o wybór kategorii, do jakiej szablon będzie należał. Szablon zostanie zapisany w ścieżkach użytkownika.
Przykład szablonu.
Poniżej przedstawiam szablon, który ma zaprezentować możliwości wykorzystywania tego mechanizmu. Przygotowałem, w postaci szablonu do programu Writer, moją wizję umowy sprzedaży samochodu. W tym dokumencie użytkownik nie musi odnajdywać miejsc, w których należy wstawić potrzebne informacje (choć oczywiście może to zrobić), dokument „wygeneruje” umowę sprzedaży na podstawie wypełnionych przez użytkownika okien dialogowych. Okna dialogowe są wynikiem umieszczonych w dokumencie pól programu Writer. Szablon na swojej pierwszej stronie zawiera ramkę tekstową z wyjaśnieniem, jak należy wypełnić dokument. Ramka ta nie pojawia się na wydruku samej umowy.
Założeniem do tego projektu było to, aby:
Podać wszystkie informacje niezbędne do zawarcia umowy bez konieczności przeglądania treści dokumentu.
Strony umowy były wymieniane w umowie w mianowniku, unikając w ten sposób sformułowań w postaci „… między Zdzisławem Konińskim a Zofią Markowską…”.
Umożliwić wystąpienie dwóch osób po stronie „Kupujący”.
Automatycznie dopasować treść umowy do liczby kupujących.
Kwota transakcji wystąpi w pełnych złotówkach, bez podawania miejsc po przecinku a ponadto zostanie automatycznie przekształcona na postać słowną.
Wystąpienie słownego wyrażenia kwoty jest do zrealizowania tylko we Writerze pakietu LibreOffice od wersji 7.5. W wersjach wcześniejszych (jeśli ktoś jeszcze ich używa) oraz we Writerze z pakietu Apache OpenOffice, w miejscu, w którym pojawić się ma słowna postać liczby, powtórzona zostanie postać liczbowa.
Szablon zawiera, poza podstawową sekcją dokumentu, dwie dodatkowe sekcje. Ukrytą sekcję „Liczba kupujących” przeznaczoną na przechowanie liczby tych osób i sekcję „Drugi kupujący”, która pojawi się tylko wówczas, gdy umowa dotyczy dwóch osób.
W szablonie wykorzystałem kilka typów pól. Pola warunkowe wpływają na gramatyczną poprawność treści umowy. Do wprowadzenia do umowy niezbędnych danych wykorzystałem pola zmiennych (przeznaczone na liczby: liczba kupujących i cena sprzedaży), pola wprowadzania (przeznaczone na podanie wszystkich niezbędnych informacji: nazwiska, adresy, marka pojazdu itp.), listy wprowadzania (przeznaczone na informacje wybierane z listy, np. czy dokumentem jest dowód osobisty, paszport czy pełnomocnictwo). Każde pole przeznaczone do wprowadzania danych otwiera okno dialogowe, które zawiera opisową informację o tym, czego dotyczy. Poniżej przykład okna dialogowe pola wprowadzania, w którym należy podać numer nadwozia, czyli VIN.
„Odwołanie” podaje w krótkiej formie rodzaj wymaganej informacji. Pod nim, w obszarze, w którym należy ją podać, znajduje się opisowe wyjaśnienie. Jeśli jest „podświetlone” jak na ilustracji, wystarczy zacząć pisać właściwą treść. Podświetlenie i tekst podpowiedzi znikną i zastąpi je właściwa informacja. Zatwierdzenia wpisu dokonuje się przyciskiem OK lub „Dalej”. „Dalej” otwiera po prostu następne okno dialogowe do wypełnienia.
Wspomniane opisowe wyjaśnienie treści znajduje się także wewnątrz dokumentu, wskazując miejsce, w którym znajduje się pole. Jest to jednocześnie wstępnie wpisana zawartość pola. Przedstawia to poniższa ilustracja:
Zaciemnione fragmenty tekstu, to pola programu Writer. Czerwoną obwódką zaznaczyłem pole, którego okno dialogowe pokazuje rys. 5.
Położenie tych pól wyróżnione będzie tłem (niepojawiającym się na wydrukach), gdy w dokumencie Writera włączona jest opcja „cieniowanie pól” („Widok → Cieniowanie pól”).
Przygotowanie umowy polega na wypełnieniu okien dialogowych tworzonych przez kolejne pola Writera.
Można to wykonać na dwa sposoby.
Pierwszy polega na wywołaniu kolejno wszystkich pól programu. Zrealizuje to skrót klawiaturowy SHIFT+CTRL+F9. Spowoduje on pojawienie się pierwszego wymaganego okienka dialogowego, w którym należy podać liczbę kupujących. Jedynie wpisanie liczby 2 uwzględnieni dwóch kupujących, każda inna liczba zostanie potraktowana jak 1.
Po wpisaniu właściwej liczby należy kliknąć przycisk „Dalej”. Spowoduje to zaakceptowanie wpisanej wartości i otwarcie kolejnego okna dialogowego. Wszystkie kolejne okna dialogowe można zatwierdzać przyciskiem „Dalej” lub „OK”.
Zawsze, niezależnie od wprowadzonej liczby kupujących, w sekwencji okien dialogowych pojawią się okna dotyczące drugiego kupującego. Gdy te dane są niepotrzebne, należy klikać przycisk „Dalej” bez wpisywania czegokolwiek.
Sekwencyjne wypełnianie okien dialogowych można przerwać w dowolnym momencie, klikając przycisk „Anuluj”. Ewentualne dalsze wprowadzanie danych można kontynuować ręcznie.
Samodzielne wprowadzanie danych w miejscu pola można wykonać na dwa sposoby. Kliknąć obszar pola i po podświetleniu jego bieżącej zawartości wprowadzić nową zawartość. Po zakończeniu wpisu nie naciskać klawisza ENTER, gdyż zostanie to potraktowane jako chęć wpisania kolejnego wiersza w tym polu. Należy przejść do innej części dokumentu. Wprowadzona treść znajduje się już w polu. Ten sposób prezentowany jest poniżej.
Dwukrotnie kliknąć obszar pola. Pojawi się okno wprowadzania zawierające treść już znajdującą się w polu. Wpisać nową zawartość, pamiętając, że klawisz ENTER wstawi znak nowego wiersza do treści pola. Zakończenie wprowadzania realizuje przycisk OK lub „Dalej” albo „Wstecz”. Pierwszy zamknie okno dialogowe, drugi lub trzeci umieści wprowadzone dane w polu i otworzy następne lub poprzednie okno dialogowe (jeśli takie istnieje).
Ten sposób pokazuje kolejna prezentacja.
Opisany powyżej szablon można pobrać do analizy i testowania korzystając z linku zamieszczonego pod tym tekstem. umowa_kupna_sprzedazy_samochodu.ott
Jeżeli chcecie Państwo pobrać plik, pamiętacie, że za taką możliwość odpowiada kliknięcie odnośnika (łącza) prawym przyciskiem myszki i wybranie z wyświetlonego menu pozycji w rodzaju „Zapisz element docelowy jako...” lub „Zapisz link jako...”. Kliknięcie lewym przyciskiem może spowodować inne działania niż pobieranie, gdyż przeglądarka może próbować bezpośredniego odczytania pliku. W szczególności, większość przeglądarek ma obecnie włączoną możliwość bezpośredniego odczytywania plików PDF.