CZ | EN | DE | SK | PL

Adobe Illustrator

Variable Data v Illustratore: čo nezvláda - a ako z CSV napriek tomu hromadne vyexportovať PDF

Illustrator má vstavaný panel Variables, ktorý vyzerá ako riešenie pre hromadnú personalizáciu. V produkcii narazíte na štyri konkrétne miesta. Opíšem, čo každé z nich znamená, čím si pomôžete zadarmo a kde to prestane stačiť.

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ň.

Skript exportPDF vyvíjam od roku 2025. Vznikol z vlastnej potreby automatizovať tvorbu personalizovaných tlačovín - a denne ho používam vo vlastnej produkcii. Prečítajte si celý príbeh

Aleš Ulrych
info@exportpdf.cz