Nechcel som písať skript. Chcel som spersonalizovať pár stoviek dresov a predpokladal som, že to Illustrator zvládne. Tento článok je to, čo som cestou zistil - vrátane jednej veci, ktorú som pokazil sám a nahlásil ju Adobe ako chybu Illustratora.
Čo panel Variables naozaj robí
Okno → Premenné ponúka štyri typy premenných: textový reťazec, prepojený súbor, viditeľnosť (objekt sa podľa TRUE/FALSE zobrazí alebo skryje) a dáta grafu. Zviažete ich s objektmi, načítate knižnicu premenných a prepínate medzi dátovými sadami; prepnutie sady aktualizuje grafiku na obrazovke. S bezplatným skriptom VariableImporter od Vasilyho Halla navyše zložíte názov dátovej sady z hodnôt vo vašich stĺpcoch - čo sa o chvíľu zíde. Od verzie CC 22.1 (marec 2018) načíta panel CSV aj sám, predtým vedel len XML.
Pre pár variantov, ktoré si preklikáte ručne, toto úplne stačí a nič ďalšie nepotrebujete.
Štyri limity, na ktoré narazíte v produkcii
1. Hromadný export vedie len cez akcie
V paneli nie je nič v zmysle „vyexportuj jedno PDF na každú dátovú sadu“. Štandardná cesta je nahrať akciu a spustiť Súbor → Automatizácia → Dávka so zdrojom Data Sets. Funguje to spoľahlivo. Cenu za to platíte tým, že export riadi nahratá akcia: predvoľba PDF je pre celý beh jedna a nedá sa meniť podľa riadka, a keď niečo uprostred dlhej dávky zlyhá, ľahko si to nevšimnete.
2. Názvy súborov áno, štruktúra priečinkov nie
Výroba chce Novak_10_XL.pdf, nie Batch_0001.pdf. Illustrator pomenuje sady načítané z CSV ako „Data Set 1, 2, 3“ a naviazať názov sady na stĺpec sám nevie - je to otvorená požiadavka na Illustrator UserVoice. Dávka potom ponúka tri schémy pomenovania, všetky odvodené od názvu sady. Existuje však riešenie zadarmo: VariableImporter poskladá názov sady až zo šiestich polí, medzi nimi aj z hodnôt vo vašich stĺpcoch, takže Novak_10_XL.pdf dostanete bez platenia čohokoľvek. Čo zostane mimo dosahu tak či tak, je štruktúra priečinkov riadená dátami - Dávka zapisuje do jedného cieľového priečinka, takže rozradenie podľa zákazky, produktu a veľkosti zostane na vás.
3. V skripte sa ľahko pomýlite a dokumentácia nepomôže
Tu som strávil najviac času a dopadlo to inak, než som čakal. Keď som sa v skripte pokúšal prečítať hodnoty z dátovej sady, vracali sa mi prázdne reťazce. Usúdil som, že je niečo pokazené, a v máji 2025 som na fóre Adobe založil podrobné hlásenie aj s ukážkovým súborom, CSV a testovacím skriptom.
Ukázalo sa, že chyba bola u mňa, nie v Illustratore. CarlosCanto odpovedal správnou syntaxou: k sade sa pristupuje cez doc.activeDataSet = doc.dataSets[i], číta sa doc.variables namiesto kolekcie tej konkrétnej sady a hodnota sa berie z variable.pageItems[0].contents. Vlákno je verejné a jeho odpoveď si v ňom môže prečítať ktokoľvek: Issue with Reading Variable Data from DataSet in Illustrator 29.5. Česť, komu česť.
Na závere to však nič nezmenilo. Vo chvíli, keď píšete ExtendScript, ktorý prepína dátové sady, číta z nich hodnoty a sám riadi export PDF, už nepoužívate vstavanú funkciu - píšete si vlastný exportér. Limity nad a pod týmto bodom zostávajú presne tam, kde boli.
4. Premenné obsah dosadia, ale nevytvoria
Všetky štyri typy premenných majú spoločné to, že dosadzujú obsah, ktorý ste pripravili dopredu. Viditeľnosť vie ukázať alebo skryť objekt, ktorý v dokumente už je - logo sponzora sa teda prepnúť dá, ak si všetky varianty nachystáte vopred. Žiadna z premenných však nevytvorí novú grafiku: nezloží číslo z grafických symbolov, nezasadí logo dovnútra číslice a nedopočíta jeho veľkosť, nedoplní mäkčeň do fontu, ktorý mäkčeň nemá, a nevysadí 17 kľúčeniek na jeden tlačový hárok. A pritom práve tieto veci zožerú celý deň.
Porovnanie bez prikrášľovania
Nástroje zadarmo naozaj fungujú. Každý z nich má však hranicu inde a táto tabuľka ukazuje kde.
|
Variables + akcie |
VariableImporter |
InDesign Data Merge |
exportPDF |
| Načítanie CSV |
✓ od CC 22.1 |
✓ |
✓ |
✓ |
| Jedno PDF na riadok bez akcií |
✗ |
✗ |
čiastočne |
✓ |
| Názvy súborov z dát |
názvy sád |
✓ |
✗ |
✓ |
| Štruktúra priečinkov z dát |
✗ |
✗ |
✗ |
✓ |
| Čísla z grafických symbolov |
✗ |
✗ |
✗ |
✓ |
| Logo vnútri číslice |
✗ |
✗ |
✗ |
✓ |
| Diakritika vo fontoch bez nej |
✗ |
✗ |
✗ |
✓ 10 jazykov |
| Drobné predmety na jeden hárok |
✗ |
✗ |
ručne |
✓ |
| Kontrola chýbajúcich glyfov |
✗ |
✗ |
✗ |
✓ |
| Detekcia duplicít |
✗ |
✗ |
✗ |
✓ |
| Log a súhrn po exporte |
✗ |
✗ |
✗ |
✓ |
| Pomenované profily výrobkov |
✗ |
✗ |
✗ |
✓ |
| Dva výrobky z jednej tabuľky |
✗ |
✗ |
✗ |
✓ |
| Zostane v Illustratore |
✓ |
✓ |
✗ |
✓ |
| Cena |
zadarmo |
zadarmo |
predplatné CC |
demo zadarmo, licencia |
Kedy si vystačíte s nástrojmi zadarmo
Občasné zákazky, jednoduchá zámena textu, pár desiatok súborov, žiadna zvláštna typografia - nastavte si VariableImporter a exportnú akciu a máte hotovo. Naozaj. Ak vaša práca vyzerá takto, zvyšok tejto stránky pre vás nie je.
Kde nadväzuje exportPDF
exportPDF je JSX skript pre Adobe Illustrator CS4 a novší. Premenné a dátové sady úplne obchádza: CSV si načíta sám, vyplní pomenované textové polia vo vašej šablóne a vyexportuje jedno tlačové PDF na každý riadok, s názvami súborov aj priečinkov postavenými z vašich dát. K tomu skladá čísla z grafických symbolov, vsadzuje klubové alebo sponzorské logo dovnútra číslice, dopĺňa diakritiku do fontov, ktoré ju nemajú (10 jazykov vrátane severských Å, Ø, Æ, Ð, Þ), zvláda viacriadkový text a indexy, všetko škáluje podľa veľkosti produktu a vie vysadiť drobné predmety na jeden hárok. Čo v tabuľke vidieť nie je, je práca, ktorú nikto nechce robiť ručne. Keď vo fonte chýba glyf pre cudzie meno, Illustrator kvôli funkcii Missing Glyph Protection ticho prepne ten text na východiskové písmo - na obrazovke to vyzerá takmer správne a zistíte to až na vytlačenom hárku. exportPDF glyfy kontroluje dopredu, chýbajúci znak nahradí medzerou, takže váš font zostane zachovaný, a po exporte vypíše, ktorých riadkov a znakov sa to týkalo - viete teda, že máte doplniť diakritiku alebo glyf. Rovnako stráži duplicity: zhodné produkty preskočí a kolidujúce názvy súborov automaticky premenuje, oboje spočíta do logu aj do súhrnu. Stĺpce v CSV sa nemusia volať tak, ako chce skript: hneď po načítaní sa ich skript pokúsi priradiť k poliam meno, číslo, prezývka a veľkosť sám, a čo nesedí alebo chýba, doplníte ručne. Z jednej tabuľky viete vyrobiť dva nezávislé produkty, nastavenia uložiť ako pomenovaný profil a medzi výrobkami prepínať jedným dialógom, a ďalšie veľkosti (30x50 pre uteráky, 42/44/46 pre čiapky) doplníte čiarkou oddelené do jedného poľa.
Posledný dialóg pred exportom je zároveň posledná kontrola. Priradíte v ňom pomenované plátna k výrobku a k veľkosti z CSV - plátno dresy-XL patrí k výrobku Dresy a veľkosti XL. Pri správnom pomenovaní sa plátna spárujú samy; keď niekde ujde preklep alebo ich máte pomenované po svojom, spárujete ich tu ručne. Vyberiete cieľový priečinok a PDF prednastavenie zo zoznamu, ktorý si skript načíta priamo z Illustratora. Názvy potom skladáte zo šiestich zástupných symbolov - {cislo}, {jmeno}, {prezdivka}, {velikost}, {kod} a {docName} - zvlášť pre šablónu priečinka a zvlášť pre názov súboru, a zvlášť pre každý z dvoch výrobkov. Poradie je na vás: či má názov začínať veľkosťou, číslom alebo menom, je len otázka toho, ako si šablónu napíšete. Náhľad z prvého riadka CSV ukáže výsledok skôr, než sa čokoľvek vyexportuje.
Vznikol v našom grafickom oddelení a denne sa tam od roku 2025 používa. Zákazka na 200 dresov, ktorá kedysi zabrala štyri hodiny kopírovania, trvá zhruba desať minút. Demo je zadarmo a so všetkými funkciami: 30 spustení, 20 riadkov CSV. exportPDF pre Illustrator · cenník · podpora a časté otázky. Pracujete v CorelDRAW? Existuje aj verzia preň.