Articles

InDesign Tips and Tricks

gdyby Olimpiada miała miejsce w programie InDesign, MITTERA przyniosłaby złoto do domu. Z cotygodniowych reklam, czasopism, promocyjnych mailerów i publikacji cyfrowych-mogą zrobić to wszystko.

Kiedy ostatnio klient poprosił nas o pomoc w automatyzacji kluczowych raportów wydajności, nasza rozległa wiedza na temat aplikacji była niewystarczająca. Nasz bardzo wszechstronny zespół danych musiał nauczyć się programu z zupełnie nowej perspektywy, zanurzając się głęboko w wewnętrzne działanie programu.

podczas zapisywania projektu InDesign, domyślnym formatem pliku jest INDD, który zgodnie z przewidywaniami oznacza dokument InDesign. Inną opcją jest IDML, co oznacza InDesign Markup Language.

format IDML pełni dwie główne funkcje.

  1. pozwala na wsteczną kompatybilność dokumentu InDesign z powrotem do CS4.
  2. umożliwia programistom zewnętrznym interakcję z plikiem programu InDesign, niezależnie od tego, czy tworzy on Plik od zera, modyfikuje istniejący plik, czy też skrobuje z niego informacje.

to były właśnie możliwości, których potrzebowaliśmy, aby zautomatyzować raport naszego Klienta, dlatego zdecydowaliśmy się dowiedzieć więcej o formacie IDML.

aby w pełni opisać specyfikację jest znacznie poza zakresem tego postu, ale możemy zapewnić przegląd. (Jeśli jesteś zainteresowany, możesz przeczytać ten przydatny 500-stronicowy podręcznik.)

na pozór, nie wydaje się być duża różnica między plikiem IDML a plikiem INDD, z wyjątkiem rozszerzenia pliku. Ale pliki IDML niosą mały sekret, ponieważ (w większości przypadków)są po prostu plikami archiwum ZIP, zawierającymi wiele innych plików skompresowanych razem. Jak każdy inny plik ZIP, dostęp do tych innych plików wymaga rozpakowania pliku IDML. Po rozpakowaniu pliku IDML widzimy następujące pliki i foldery:

  • plik xml
  • plik typu MIME
  • MasterSpreads folder zawierający pliki xml
  • META-INF folder zawierający pliki xml
  • Resources folder zawierający pliki xml
  • Spreads folder zawierający pliki xml
  • Stories folder zawierający pliki xml
  • folder XML zawierający pliki xml

łącznie te pliki zawierają każdy bit informacji, który definiuje dokument InDesign, zapisany w formacie XML. Dla tych, którzy nie znają, XML jest popularnym językiem używanym do przechowywania i przesyłania danych w wysoce ustrukturyzowany sposób, który jest zarówno czytelny dla człowieka, jak i maszyny. Ciekawi czytelnicy mogą zauważyć, że jest to również język podstawowy dla obecnych plików pakietu Microsoft Office. (Jest źródłem x w przejściu od .doc to .docx).

wiele z tych plików XML mają informacje dotyczące szczegółów dokumentu, takich jak kodowanie, typy plików, czcionki, kolory, style, relacje elementów, itp. Dla naszych celów skupimy się tylko na dwóch elementach, które zawierają istotę projektu, folderach spready i historie.

już na podstawie nazw doświadczony (w)projektant może odgadnąć informacje zapisane w tych plikach. Folder spready zawiera plik xml dla każdego spreadu w dokumencie, zawierający szczegółowe informacje na temat pozycjonowania elementów, stylizacji, układu oraz obrazów i wątków tworzących spread. Folder Stories zawiera plik xml dla każdego wątku w dokumencie (każdej części tekstu). Przykład tych reprezentacji jest pokazany poniżej:

InDesign widok dokumentu.

InDesign widok dokumentu.

wpis w rozłożonym pliku xml dla historii naszego dokumentu. Zawiera informacje o tym, jak umieścić historię w spreadzie i inne informacje o stylizacji.

wpis w pliku XML dla historii naszego dokumentu. Zawiera informacje o tym, jak umieścić historię w spreadzie i inne informacje o stylizacji.

3

rzeczywisty plik XML historii dla tekstu naszego dokumentu. Oprócz samego tekstu zawiera on dodatkowe informacje na temat stylu tekstu.

podczas gdy projektant manipulowałby dokumentem za pomocą aplikacji InDesign, gdybyśmy chcieli wprowadzić pewne modyfikacje programowe w tym dokumencie jako część zautomatyzowanego procesu, dokonywalibyśmy zmian bezpośrednio do pliku spread lub pliku wątku — w zależności od zmiany, którą chcieliśmy wprowadzić.

aby zmienić położenie tekstu, na przykład, wprowadzilibyśmy modyfikacje współrzędnych podanych w pliku spread dla naszego elementu story. Aby dodać zupełnie nowy element, utworzylibyśmy dla niego wpis w pliku spread. Jeśli jest to element tekstowy, utwórz nowy odpowiadający mu plik wątku z rzeczywistą zawartością. Aby zastosować inny styl do tekstu, możemy zmodyfikować go w pliku wątku. Lub jeśli chcemy wyodrębnić tekst z dokumentu za pomocą oprogramowania do parsowania XML, możemy wyodrębnić go z pliku story zamiast bawić się kłopotliwymi parserami PDF, aby zeskrobać ostateczny plik PDF naszego dokumentu.

Kiedy zaczęliśmy tworzyć nasze zautomatyzowane rozwiązanie, zrobiliśmy wszystkie te rzeczy.

ostatecznie udało nam się zaoszczędzić naszym klientom godzin ręcznego wysiłku, który zwykle poświęcano na generowanie ich raportu i zapewnić im dokładniejszy wynik w procesie. Ta nowo odkryta wiedza pozwoliła nam również uczynić inne wewnętrzne procesy bardziej dokładnymi i wydajnymi, pomagając nam w naszych nieustających wysiłkach na rzecz lepszej obsługi naszych klientów.

– Abhishek Vemuri, analityk danych