Rozbudowane scalanie danych w InDesignie

Potrzeba matką wynalazku – mówi stare przysłowie. Można by dodać – a lenistwo jego ojcem. Obie te zasady były i wciąż są motorem moich starań zgłębienia funkcji i tricków, dzięki którym jestem w stanie coraz szybciej i bardziej wydajnie składać publikacje. Szczególnie polubiłem scalanie danych w InDesignie oraz inne sposoby na automatyzację zaciągania danych do programu z zewnętrznych źródeł. Prawie zawsze, gdy wydaje mi się, że niewiele da się już w tej materii ulepszyć, dowiaduję się, że jednak się mylę. Ot, choćby trafiając na sprytne pluginy, z których istnienia nie zdawałem sobie wcześniej sprawy.

Podstawowy, nierozszerzony InDesign oferuje nam dwa wbudowane sposoby pracy z danymi zewnętrznymi. Jednym z nich jest możliwość tworzenia szablonów w oparciu o XML. Funkcjonalność, owszem, użyteczna, jednak cokolwiek toporna w obsłudze. Drugi to scalanie danych (data merge).

Scalanie działa z grubsza tak, jak korespondencja seryjna w programach biurowych (jak Microsoft Word czy Open Office). Jest to funkcja, dzięki której możemy sprząc nasz dokument z arkuszem kalkulacyjnym i wstawiać pola z kolejnych rekordów w wybrane miejsca naszego projektu. Jednym z najprostszych zastosowań tego mechanizmu jest np. tworzenie etykiet w oparciu o plik z danymi adresowymi. Dokładnie w ten sposób zacząłem używać scalania w moich wczesnych przygodach z programem. Nie chciało mi się wykonywać nudnych, powtarzalnych czynności w oparciu o metodę kopiuj-wklej, aby indywidualizować etykiety, certyfikaty czy dyplomy, a musiałem tworzyć bardzo dużą liczbę tego rodzaju plików na potrzeby realizowanych przeze mnie prac.

W ten sposób korzystałem z funkcjonalności przez długi czas, aż do momentu, gdy stanąłem wobec wyzwania polegającego na wygenerowaniu wielu zindywidualizowanych raportów, prezentujących wyniki badania ankietowego samorządom uczestniczącym w ogólnopolskim badaniu ankietowym. Pod pojęciem „wiele” mam tu na myśli ponad pięćset. Każdy taki raport zawierać miał około 50–60 tabel z wynikami oraz tyleż samo wykresów, prezentujących liczby w formie graficznej, milszej dla oka, niż suche dane. Według moich zgrubnych obliczeń, aby zrobić rzecz „na piechotę”, potrzebowałbym ponad pół roku. Miałem miesiąc. Maksymalnie dwa. Poszedłem więc po rozum do głowy i opracowałem metodę polegającą na stworzeniu bardzo rozbudowanego arkusza CSV (przy pomocy odrobiny magii spod znaku PHP+MySQL, gdyż dane źródłowe znajdowały się na serwerze sieciowym) oraz opracowaniu szablonu indesignowego ze zmiennymi zastępowanymi przez odpowiednie dane z rzeczonego arkusza. Pojedynczy rekord (wiersz) z pliku CSV odpowiadał jednemu raportowi. Problem wykresów rozwiązałem, kupując czcionkę Chartwell i używając jej mniej więcej tak, jak opisuje David Blatner w tym artykule na indesignsecrets.com. W rezultacie uzyskałem możliwość automatycznego tworzenia raportów, a całą robotę związaną ze wstawianiem odpowiednich danych w odpowiednie miejsca wykonywał za mnie InDesign.

Doświadczenie to pokazało mi, że scalanie danych w InDesignie to dużo poręczniejsze narzędzie, niż mi się pierwotnie wydawało. Zacząłem eksperymentować z używaniem tej funkcji do tworzenia katalogów produktowych, kart produktu, szablonów dokumentów itp. Raz wypadało to lepiej, raz gorzej, ale generalnie – sprawdzało się nieźle i przekładało na wzrost wydajności (i więcej wolnego czasu).

Niestety, scalanie ma swoje wady. Na raz można podpiąć do InDesigna tylko jeden arkusz. Interfejs nie oferuje zbyt wiele możliwości i daje niewiele kontroli, a raz scalony dokument traci odniesienie do źródła i chcąc potem np. zaktualizować ceny w scalonym katalogu produktowym, trzeba go wygenerować od nowa, co może być (i jest) uciążliwe. Myślałem sobie – byłoby świetnie, gdyby istniała możliwość ożenienia dobrodziejstw scalania danych z funkcjonalnością szablonu XML. To były wypas.

I właśnie niedawno dowiedziałem się, że taka możliwość istnieje. Jest to plugin do InDesigna, nazywa się EasyCatalog i nie rozumiem, jak mogłem go wcześniej pominąć. No dobrze, trochę może jednak rozumiem. Plugin jest płatny – i to całkiem niemało, a jako skromny grafik-freelancer celowałem wcześniej raczej w bezpłatne lub tanie rozwiązania.

Ale, do rzeczy. EasyCatalog to tak jakby scalanie danych w InDesignie połączone z XMLem, na dodatek na sterydach i z turbodoładowaniem. Plugin pozwala nam łatwo (naprawdę!) tworzyć publikacje i szablony podpięte do jednego lub wielu źródeł danych (również do baz danych). Rozszerza program o style produktowe, będące specyficznym rodzajem obiektów zgrupowanych, które to możemy sprzęgać z poszczególnymi rekordami podłączonych źródeł. Oddaje do naszej dyspozycji dynamiczne tabele, obustronną synchronizację dokumentu ze źródłem, akcje i operacje, które możemy „w locie” przeprowadzać na importowanych wartościach… Słowem – cuda-wianki. A to wszystko udało mi się zapoznać ledwie po kilku krótkich randkach z wersją demo.

Jeśli pracujecie z danymi, tworzycie katalogi, musicie pracować szybko i efektywnie – zainteresujcie się tą możliwością. Po co tracić czas na nudne i żmudne ręczne aktualizowanie dokumentu, skoro można to zrobić automatycznie? Ja z pewnością prędzej czy później zainwestuję w to rozszerzenie, choć wydatek zaczeka sobie cierpliwie na zlecenie, które uzasadni jego zakup. Bo niewątpliwie wtyczka jest godna zainteresowania i warta, aby poświęcić parę godzin, aby się jej nauczyć.

A póki co, żal będzie wracać do starego, dobrego scalania danych. To będzie jak przesiadka z Ferrari z powrotem do Seicento, a choć lubię małe samochody, to jednak zapas mocy jest czymś, czemu nie sposób odmówić oczywistych zalet.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *