CZ | EN | DE | SK | PL

Z PRAKTYKI

Dziesięć koszulek ręcznie albo skryptem. Dlaczego uruchamiam go i przy małych zleceniach

Dwieście koszulek było u nas przypadkiem skrajnym. Zwykle przychodzi klub z dziesięcioma do dwudziestu nazwisk i tak sięgam po skrypt. Tutaj jest dlaczego, razem z tym, ile zajmuje przygotowanie szablonu, zanim w ogóle da się cokolwiek wygenerować.

Koszulkę personalizuje się sztuka po sztuce. Każdy zawodnik ma swój numer z przodu i z tyłu, nazwisko albo pseudonim i swój rozmiar. Przy jednej sztuce to żadna praca. Problem dziesiątej sztuki nie polega na tym, że jest trudniejsza. Polega na tym, że nie poświęca się jej już takiej uwagi jak pierwszej.

Dziesięć koszulek ręcznie

Przebieg jest zawsze ten sam. Zmieniam numer na przodzie. Zmieniam numer z tyłu. Wpisuję nazwisko, u niektórych pseudonim. Przy tym pilnuję, żeby pisać na właściwym obszarze roboczym, czyli we właściwym rozmiarze, i żeby nigdzie nie zrobić literówki. Potem Plik, Zapisz jako, PDF, i jeszcze raz sprawdzić, czy zaznaczony jest ten obszar, o który mi chodzi. Wybieram folder, wpisuję nazwę pliku i zapisuję.

I tak dziesięć razy pod rząd. Nic z tego nie jest trudne. To po prostu dziesięć czynności na sztukę i dwie z nich to „uważaj na coś”.

Dziesięć koszulek skryptem

Uruchamiam skrypt. Zależnie od tego, jak przyszła tabela, włączam zamianę nazwisk na wielkie litery, bo kluby przysyłają je raz wielkimi, raz małymi, a często jednym i drugim naraz. Wybieram CSV. Mapuję kolumny. Przechodzę przez okno eksportu i klikam OK.

Potem patrzę, jak skrypt tworzy pliki do druku. Postęp widać na bieżąco, więc wiadomo, gdzie jest i czy coś się nie zacina.

Przygotowanie szablonu: dziesięć minut

To jest ta część, której nikt nie pokazuje w demonstracjach, więc powiem wprost. Kiedy otwieram stary plik z czasów sprzed skryptu, taki z ośmioma rozmiarami, czyli ośmioma obszarami roboczymi, nazwanie tych obszarów i zmiana nazw wszystkich pól tekstowych na NumerText i NazwiskoText zajmuje mi około dziesięciu minut. Potem mogę już generować.

Dziesięć minut raz na szablon. Kiedy ten sam klub wróci za rok, otwieram plik i od razu uruchamiam skrypt. Jedyne, na co trzeba uważać, to zapis nazw: skrypt rozróżnia wielkie i małe litery, więc tu nie ma miejsca na improwizację.

Dlaczego przygotowuję szablon nawet dla jednej koszulki

Bo prawie nigdy nie kończy się na jednej. Klub, który zamówił jeden wzór, miesiąc później zamawia dwadzieścia sztuk. Dziesięć minut włożone w szablon zwraca się już przy drugim użyciu. A jeśli zlecenie nigdy się nie powtórzy, straciłem dziesięć minut. To zaryzykuję.

Tabela, jak przychodzi od klubu

Nigdy nie wygląda jak przykład z instrukcji. Przychodzi z Excela, z arkusza Google, czasem jako tekst wklejony do e-maila. Kodowanie i separator skrypt ustala sam, więc średniki, przecinki i tabulatory to nie mój problem. Wielkie i małe litery załatwia pole wyboru.

Imię nad nazwiskiem oddziela się w komórce dwiema pionowymi kreskami. A jeśli dwa wiersze prowadziłyby do dokładnie tej samej nazwy pliku, skrypt pomija drugi eksport, zależnie od tego, jak jest to ustawione w oknie eksportu. Nie chodzi o to, że to ten sam zawodnik. Numer 15 NOVAK w rozmiarze XL i numer 15 NOVAK w rozmiarze M to dwa różne pliki, bo rozmiar jest w nazwie. Pomijane jest to tylko wtedy, gdy wynik byłby dosłownie tym samym plikiem. A wtedy wystarczy, żeby drukarnia wydrukowała go dwa razy.

Co dzieje się w trakcie

Dla każdego wiersza tabeli i dla każdego produktu przebiega za każdym razem ta sama piątka kroków:

  1. Aktywowany jest właściwy obszar roboczy według rozmiaru z tabeli.
  2. Czyszczone są warstwy, na których rysowane są numery graficzne i logo, żeby nie zostało nic z poprzedniej sztuki.
  3. Do pól tekstowych wpisywany jest numer, nazwisko, pseudonim, rozmiar i kod.
  4. Dodawane jest to, czego font nie potrafi albo co jest grafiką: znaki diakrytyczne z symboli, cyfry graficzne, logo wewnątrz numeru.
  5. Gotowy obszar zapisywany jest jako PDF pod nazwą z szablonu.

Przy dziesięciu wierszach to chwila. Różnica wobec pracy ręcznej nie polega na tym, że komputer pisze szybciej niż człowiek. Polega na tym, że ostatnią sztukę traktuje dokładnie tak samo jak pierwszą.

Co doszło później

Skrypt powstał właśnie z powodu tego przepisywania nazwisk i numerów. To monotonna praca, przy której powstają błędy, i to był powód, dla którego się w to wziąłem. Reszta doszła później i dziś się z tego cieszę, bo ręcznie jest jeszcze bardziej uciążliwa: znaki diakrytyczne w foncie, który ich nie ma, numery graficzne zamiast pisma i logo sponsora wewnątrz numeru.

Diakrytyka ręcznie wygląda tak. Dla danego rozmiaru buduję sobie wszystkie znaki, których brakuje w foncie. Wystarczyłoby zrobić tylko te z tabeli, ale kiedy mam czas, robię od razu wszystkie, żeby do tego nie wracać. Potem przy każdym nazwisku wyłączam te symbole, które akurat nie pasują, a resztę przesuwam nad właściwe litery. Dla innego rozmiaru koszulki zmniejszam je i przesuwam od nowa. I tak nazwisko po nazwisku, rozmiar po rozmiarze.

Skrypt robi to sam i dopasowuje do rozmiaru według pola referencyjnego, więc koszulka dziecięca i XXL dostaną znak we właściwej proporcji. Tak samo potrafi złożyć numer z cyfr graficznych albo osadzić logo wewnątrz cyfry. I sprawdza z góry, czy font w ogóle ma wszystkie znaki z tabeli, żeby nie okazało się, że coś się nie wyrenderowało, dopiero przy druku.

To nie jest praca trudna. To praca, przy której za każdym razem cieszymy się, że nie musimy już jej robić ręcznie.

Co znajduję w folderze

Gotowe pliki PDF do druku, posortowane do podfolderów według produktu. Jak mają nazywać się pliki i foldery, ustawiam wcześniej. Do nazwy wstawiam to, czego akurat potrzebuję: {cislo}, {jmeno}, {prezdivka}, {velikost}, {kod}, {docName}. Obok działa podgląd, więc widzę, jak plik będzie się nazywał, zanim cokolwiek zostanie wyeksportowane.

Protokół ExportPDF_Log.txt znajduję tam, gdzie leży pierwotny plik Illustratora, z którego generuję. Nie wśród gotowych plików PDF, nawet jeśli każę im wyjść zupełnie gdzie indziej. A na koniec pokazuje się podsumowanie: ile sztuk przeszło i gdzie był problem.

A kiedy jest ich dwieście

Dwieście sztuk dla jednego klubu robiłem, ale to był przypadek skrajny, nie zwykły tydzień. Ręcznie to według moich rachunków ponad cztery godziny, skrypt ma to w dziesięć minut pracy.

W tej liczbie ciekawsze jest jednak co innego. Przy dwustu plikach nie da się już po ludzku sprawdzić każdego z nich. Nawet gdyby praca ręczna trwała tyle samo, wyniku nie dałoby się równie pewnie zweryfikować. Przy skrypcie dane idą z tabeli bez zmian, a co nie wyszło, jest wypisane w protokole.

Dziesięć koszulek: co się różni

Ręcznie Skryptem
Numer z przodu przepisać przy każdej z tabeli
Numer z tyłu przepisać przy każdej z tabeli
Nazwisko albo pseudonim wpisać przy każdej z tabeli
Wielkie litery poprawić ręcznie pole wyboru
Właściwy obszar roboczy, czyli rozmiar pilnować przy każdej według rozmiaru z tabeli
Zapis PDF Zapisz jako, przy każdej automatycznie
Nazwa pliku wpisać przy każdej z szablonu nazwy
Rozdzielenie do folderów ręcznie z szablonu nazwy
Literówki upilnować dane idą z tabeli bez zmian
Diakrytyka, której font nie ma zbudować i przesuwać przy każdym nazwisku z symboli, skaluje się według rozmiaru
Przygotowanie z góry żadne dziesięć minut raz na szablon

Czym jest exportPDF

Skrypt, o którym mowa przez cały czas. Piszę go od 2025 roku dla własnej produkcji i używam go codziennie. Istnieje w wersji dla Illustratora i dla CorelDRAW. Demo jest bezpłatne, ograniczone liczbą uruchomień i liczbą wierszy w tabeli, ale na przejście całej drogi od szablonu do gotowych plików PDF to wystarczy.

Szczegóły: exportPDF dla Illustratora · cennik i licencje · wsparcie i częste pytania. O narzędziach wbudowanych w oba programy napisałem osobno: gdzie kończy się panel Zmienne i gdzie kończy się korespondencja seryjna w CorelDRAW.

Skrypt exportPDF rozwijam od 2025 roku. Powstał z własnej potrzeby i codziennie używam go we własnej produkcji. Jeśli rozwiązujecie to samo, napiszcie do mnie, konsultacja jest bezpłatna, a odpowiadam w ciągu 24 godzin. Cała historia

Aleš Ulrych
info@exportpdf.cz