Witamy w oficjalnej, niezwykle obszernej encyklopedii systemu Web2Print Max. Niniejszy dokument stanowi kompletne kompendium wiedzy o architekturze, modułach administracyjnych oraz logice biznesowej B2B i B2C. Przeznaczony jest zarówno dla operatorów DTP, administratorów, jak i menedżerów drukarni, dostarczając głębokiego wglądu w każdy mechanizm napędzający Twoją produkcję.
Web2Print Max to zintegrowana platforma poligraficzna nowej generacji, zaprojektowana, aby wyeliminować lukę pomiędzy klientem końcowym a maszynami drukującymi. Zamiast budować tradycyjny sklep e-commerce, stworzyliśmy pełnoprawny ekosystem operacyjny. System opiera się na wydajnej bazie danych (domyślnie SQLite z możliwością bezbolesnej migracji do PostgreSQL) i korzysta z hybrydowego frontendu renderowanego przez PHP (PHP 8.2), uzupełnionego ultra-szybkim, reaktywnym interfejsem graficznym zbudowanym w oparciu o framework Tailwind CSS oraz waniliowy JavaScript.
Wizją systemu było osiągnięcie wrażenia aplikacji natywnej – brak migania ekranu (tzw. page reload) przy przechodzeniu między sekcjami w panelu administracyjnym. Używamy w pełni zoptymalizowanych operacji AJAX (Fetch API), które w tle wymieniają małe pakiety danych w formacie JSON z endpointami takimi jak admin/actions.php.
Platforma korzysta ze struktury zakładek ładowanych przez manipulatory DOM w JavaScripcie. Znacząco odciąża to serwer, ograniczając zapytania zapytań renderowania HTML-a na rzecz czystej wymiany danych. Administrator może otworzyć szczegóły zlecenia, zatwierdzić plik i przenieść na maszynę, ani razu nie odświeżając okna.
Wszystkie zapytania SQL opierają się na mechanizmach PDO Prepared Statements zapobiegających wstrzykiwaniu kodu (SQL Injection). Dodatkowo, komunikacja w kluczowych endpointach, takich jak generator zewnętrzny VDP, jest chroniona cyfrowym podpisem kryptograficznym używającym weryfikacji HMAC-SHA256, co skutecznie zapobiega przejmowaniu poleceń wektorowych przez intruzów.
Największą przewagą konkurencyjną platformy Web2Print Max jest niespotykanie rozbudowany i konfigurowalny moduł B2B (Business-to-Business). O ile zwykły system e-commerce skupia się na relacji "sklep - klient", o tyle nasz system rozumie zawiłe relacje korporacyjne.
System dzieli odbiorców na potrójny poziom autoryzacji: Drukarnia -> Spółka Matka (Company) -> Oddział Korporacyjny (Department) -> Pracownik. Pozwala to sieciom franczyzowym lub dużym korporacjom (np. bankom) logować swoich menedżerów (company_admin), którzy widzą wydatki całej sieci, podczas gdy kierownicy oddziałów (department_manager) zarządzają tylko swoimi filiami, a zwykli użytkownicy (user) mogą wyłącznie składać "Zapotrzebowania" bez prawa natychmiastowego zakupu, czekając na wewnętrzną akceptację wewnątrz ich własnej firmy.
Każdemu Działowi (Oddziałowi) można w Panelu Admina nałożyć miesięczny sztywny budżet (np. "Marketing Gdańsk - 5 000 PLN miesięcznie"). W przypadku przekroczenia budżetu, system inteligentnie zablokuje proces koszyka i poprosi o wysłanie e-maila z prośbą o doładowanie środków od zarządu korporacji.
Dla wyjątkowo dużych korporacji, możesz utworzyć dedykowany adres URL, np. drukarnia.pl/b2b/nazwa-korporacji. Wejście na ten link jest zamknięte, wymaga użycia pinu lub dedykowanego loginu. Po wejściu, użytkownicy widzą interfejs opatrzony logo ich firmy (tzw. White Labeling) oraz mają dostęp wyłącznie do ich własnego, zatwierdzonego z góry asortymentu (np. tylko wizytówki, papier firmowy firmowy z na sztywno zablokowanym logo w edytorze).
Moduł Edytora (zintegrowany w pliku editor.php) jest sercem całego rozwiązania. W odróżnieniu od archaicznych, ociężałych systemów Flash lub opartych na serwerowym generowaniu rastrów, nasze Studio bazuje na wysoce rozwiniętym API HTML5 Canvas z wykorzystaniem biblioteki matematyczno-geometrycznej Fabric.js.
Każdy szablon na platformie jest reprezentacją strukturalnego pliku JSON (często z wieloma stronami / artboardami). Opisuje on dokładnie pozycje węzłów wektorowych (tekst, krzywe Beziera, poligony) oraz obrazów. Platforma potrafi precyzyjnie zarządzać właściwościami obiektów: zablokować skalowanie logo, zabronić usunięcia klauzuli prawnej lub ograniczyć zestaw fontów jedynie do tych zawartych w księdze znaku (Brand Book) klienta korporacyjnego.
Narzędzie dynamicznie rysuje siatki pre-pressowe wewnątrz przeglądarki. Użytkownik widzi dokładnie tzw. spady (obszar ucinany przez gilotynę, oznaczony siatką i czerwoną linią) oraz marginesy bezpieczeństwa dla tekstów (zielone linie przerywane). Elementy te nie są drukowane, służą jedynie optymalizacji projektu w locie. Eliminuje to 95% zwrotów plików DTP ("tekst jest za blisko krawędzi").
formToCanvas() wymusza asynchroniczne, płynne uaktualnienie obrazu z zachowaniem skalowania względem obiektu źródłowego (kadrowanie i maskowanie SVG).custom_design. Kiedy zamówienie zostanie opłacone, system w tle przepycha ten JSON do węzła Node.js / Puppeteer (silnik renderujący PDF), aby odzyskać plik w jakości 300 DPI, wektorowym CMYK.Moduł Variable Data Printing (Druk Zmiennych Danych) to funkcja typowa wyłącznie dla bardzo drogich systemów poligraficznych klasy Enterprise. Web2Print Max oferuje go całkowicie natywnie. Służy do błyskawicznego tworzenia tysięcy personalizowanych projektów (np. 500 pracowników korporacji z unikalnym numerem telefonu i imieniem, w jednym potężnym zamówieniu wizytówek).
Zamiast ręcznie uzupełniać 500 wierszy formularzy, administrator korporacyjny pobiera przygotowany przez nasz system pusty, sformatowany plik CSV. Następnie w Excelu wkleja wszystkie potrzebne dane i przeciąga ten plik w odpowiednie pole na ekranie edytora.
System z użyciem biblioteki PapaParse (JavaScript) w ułamku sekundy skanuje CSV w przeglądarce, wykrywa kolumny, identyfikuje błędy i paruje odpowiednie kolumny z warstwami w szablonie Fabric.js (np. kolumna Imię_i_Nazwisko mapowana jest do wektora tekstowego nazwanego {{Imię}} w pliku JSON).
Po kliknięciu "Generuj serię", frontend wysyła potężną pakę danych JSON za pomocą protokołu POST do endpointu api/router.php?url=vdp. W tle inicjalizowana jest klasa VDPProcessor.php, która używając funkcji str_replace, nadpisuje warstwy dla każdego zestawu danych w pętli. Tysiące powstałych małych JSON-ów jest kompilowane w jedną paczkę (Batch), a następnie wysyłane do węzłów zewnętrznych poprzez silnik WebhookManager.php wykorzystujący zapytania cURL. Z powodu wrażliwości danych (w tym cen i danych osobowych w plikach wektorowych), payload jest haszowany w standardzie kryptografii HMAC-SHA256.
Złożoność koszyka w branży druku (Web-to-Print) polega na tym, że zamówienia nie są gotowymi towarami na półce, ale nieskończoną ilością permutacji opcji, załączników (DTP) i ciągów wektorowych.
Koszyk potrafi "rozpakować" pole options (JSON) i zaprezentować je w czytelny sposób: np. "Wydruk 4/4 Kolor, Papier 350g, Błysk Jednostronny, Perforacja" w pięknym ujęciu tabelarycznym, zamiast ściany nieczytelnego kodu. Sumuje to automatycznie cenę bazową i wszystkie modyfikatory.
Ponieważ platforma pozwala zamówić jednocześnie 10 projektów plakatów (każdy z innej grafiki) i paczkę wizytówek, mechanizm w payment_success.php przypisuje im wspólny identyfikator referencyjny np. GRP_9_5_17112000. Ułatwia to drastycznie księgowość – gdy bramka płatnicza zwraca sukces opłaty całej paczki okiem kuriera, system uaktualnia hurtowo poszczególne zadania w panelu produkcyjnym.
W core/PaymentGateway.php zaimplementowaliśmy kompletny interfejs polimorficzny dla obsługi dowolnego providera. System domyślnie posiada kod obsługi szybkiego przelewu PayU, kart i blika ze Stripe, oraz wbudowany system fakturowania terminowego "Pro-Forma". Wybranie "Przelew Tradycyjny" nadaje zleceniom w tabeli bazodanowej status 'pending' i wstrzymuje maszyny. Opłacenie online kartą automatycznie aktywuje produkcję rzutując stan bazy na 'new'.
Główne centrum dowodzenia w pliku admin.php. To pierwszy ekran, jaki widzi menedżer drukarni lub właściciel firmy zaraz po zalogowaniu. Zaprojektowany zgodnie z zasadą dostarczania kluczowych danych "na jedno spojrzenie" (Glance Value).
Chart.js, który asynchronicznie odpytuje backend o historyczne przychody z ostatnich 30 dni lub kwartału (agregacja netto). Linia trendu pozwala szybko ocenić "gorące" sezony poligraficzne.Całkowicie pożegnano papierowe teczki produkcyjne! Moduł Management Information System został zaimplementowany jako nowoczesna tablica Kanban przypominająca w działaniu aplikacje typu Trello. Pozwala na optymalizację przepływu pracy (workflow) maszynistów i działu logistyki w czasie rzeczywistym.
System rozróżnia stacje robocze, m.in.: Oczekujące, Maszyna Cyfrowa, Druk Offsetowy, Introligatornia (Finishing) oraz Wysyłka. Każde urządzenie w drukarni (tablet, ekran na ścianie przy maszynie CTP) może wyświetlać ten panel. Operator chwyta kafelek zamówienia palcem i przeciąga na stację "Maszyna Cyfrowa". System w tle odpytuje endpoint update_kanban, zapisuje czas wejścia w stację i przypisuje personalia operatora do zdarzenia.
Zwieńczeniem tego dzieła jest mechanizm logistyczny. Kiedy zlecenie opuści introligatornię i zostanie upuszczone do kolumny "Wysyłka", platforma nie prosi o ręczne wpisywanie kodu przewozowego. W tle odpalany jest procesor z `InvoiceGenerator.php`, który wypluwa pięknego PDF-a z fakturą i wiąże go z tabelą zamówień. Następnie wywoływany jest `ShippingGateway.php` komunikujący się z API InPost, który generuje list przewozowy i rzuca kod "tracking number" bezpośrednio klientowi w jego prywatnym panelu orders.php.
Bardzo szczegółowa sekcja agregacji zamówień w klasycznym widoku kaskadowym (lista typu DataTables). Z poziomu list możesz sortować, filtrować i zarządzać plikami wejściowymi.
Pozwala na podgląd specyfikacji: pliki od klienta (wektory wygenerowane lub załączniki PDF wgrane ręcznie przez klienta). W tym miejscu pracownik DTP ma możliwość weryfikacji manualnej pliku, sprawdzenia zadruków obustronnych i ostatecznego zatwierdzenia plików wprost na maszynę RIP.
Narzędzie umożliwiające wprowadzenie zamówienia przez operatora DTP w imieniu klienta, który przyszedł do biura obsługi drukarni "z ulicy", bez konta internetowego. System pozwala utworzyć mu tymczasowy profil, przepuścić wycenę za pomocą standardowego Cennika (Pricing Engine) i wydać paragon, wrzucając zlecenie z ulicy na tablicę Kanban z zamówieniami online, centralizując cały przepływ.
Zbiór zadań dla systemów zewnętrznych. Pozwala jednym kliknięciem wypluć paczkę CSV dla firm kurierskich (DPD / GLS) bądź spiąć stany magazynowe systemem BaseLinker, gdyby drukarnia sprzedawała swoje pakiety startowe z półki magazynowej.
Specjalistyczny moduł negocjacji biznesowych B2B w przypadku zleceń na zryczałtowaną produkcję specjalną, której kalkulator nie mógł obsłużyć (np. "Oklejenie firmowej floty samochodów z użyciem specjalnych odblasków M3").
Potężna baza zarządzania użytkownikami, korporacjami i rolami systemowymi na platformie.
Widok wszystkich zarejestrowanych kupujących. Moduł pozwala na modyfikację ich danych kontaktowych, narzucanie ręcznie zdefiniowanych rabatów lojalnościowych, a także przypisywanie im "Statusów Stałego Klienta", modyfikujących cenniki globalnie.
W tym ujęciu definiujesz relacje nadrzędne (Konta Firmowe). Administrujesz spółkami matkami, do których spinasz poszczególne departamenty z predefiniowanymi budżetami (Cost Centers). Zarządzasz numerami NIP, uprawnieniami na faktury z odroczonym terminem płatności ("Kupiecki Kredyt - 30 Dni") oraz powiązujesz poszczególnych użytkowników platformy z odpowiednimi działami korporacji.
Mechanizm akceptacji plików, zanim te trafią na druk. Jeżeli wgrywany wektor lub PDF ma niepewny status spadu lub niski DPI, włącza się ścieżka Proofing. Tutaj widnieją wszystkie zlecenia czekające na decyzję użytkownika, który po otrzymaniu na e-mail grafiki poglądowej "podglądu niskiej rozdzielczości z obciętym marginesem" decyduje, czy bierze odpowiedzialność i puszcza do druku, czy wycofuje w celach poprawy.
Technologia multi-store, pozwalająca drukarni wystartować z własnymi portalami dedykowanymi pod zamknięte nisze lub odcięte spółki korporacyjne bez tworzenia nowego oprogramowania (architektura jeden backend – wiele frontendów).
Jeden z najbardziej skomplikowanych matematycznie modułów systemowych. Pozwala na obsługę dowolnego wymiaru siatki i nieskończonej kombinatoryki uszlachetnień druku (lakiery, farby, podłoża).
Pozwala drukarni precyzyjnie konfigurować marżę procentową (narzuty) w zależności od stopnia skomplikowania projektu, a także nakładu. Silnik wylicza obniżki bazowe w locie dla zakupów hurtowych na osi X (Ilość) oraz na osi Y (Kombinacja Papierów i Opcji).
Centralne definiowanie gramatur papierów, co przekłada się bezpośrednio na algorytmy wagi paczek kurierskich. Ustawisz tu grubość surowca w mm i wagę metra kwadratowego (np. 150g/m2 kreda mat), przez co kurier inPost wyceni logistykę zanim operator tknie pudło tekturowe.
Eliminuje konieczność wpisywania parametrów do każdego z tysiąca wariantów katalogowych osobno. Możesz stworzyć atrybut globalny "Folia Soft-Touch" dodający narzut stały +50 PLN + 12% od nakładu, a potem zaledwie podpiąć ten "switch" do Wizytówek, Kart Menu i Katalogów Szytych.
Kontrola bazy danych interaktywnych szablonów W2P zbudowanych na formatach wektorowych. Baza dla Canvas.
Platforma poligraficzna nie może być odcięta marketingowo od Internetu. Moduł CMS oddaje użytkownikowi możliwości znane ze środowisk WordPress.
Dostarcza "twardych" i kluczowych danych do podejmowania strategicznych ruchów cenowych lub wysłania arkuszy podatkowych firmom księgowym.
Rdzeń techniczny i konfiguracyjny (dostępny wyłącznie pod autoryzacją super_admin), spinający drukarnię z zewnętrznymi korporacjami.
Centralne repozytorium bezpiecznego przechowywania sekretów dostępowych (API Secret Keys) do bramek kart płatniczych Stripe i bramki przelewów natychmiastowych PayU, jak również systemów integracyjnych firm kurierskich.
Określanie punktów odbioru Webhooków w systemie renderującym Variable Data Printing (masowe paczki PDF po wyjściu CSV). Określanie tokenów hashowania HMAC-SHA256, które upewniają serwer Drukarni (odbierający wyrenderowany już plik PDF HD), że pakunek nie jest wstrzyknięciem wirusa przez hakerów.
Ustawienie twardego standardu działania aplikacji B2B (Domyślny wymiar Bleedu 3mm, format metryczny mm vs Cale, wymuszona Waluta Euro lub PLN), kluczowe do poprawnego przetwarzania kalkulatorów cenowych Pricing Engine.