1. Wprowadzenie
imPRESS Studio to profesjonalne narzędzie do impozycji plików PDF, przeznaczone dla drukarni, studiów DTP i grafików przygotowujących publikacje do druku offsetowego, cyfrowego oraz Print-on-Demand.
Impozycja to proces układania stron dokumentu na arkuszach drukarskich w takiej kolejności i orientacji, aby po wydrukowaniu, złożeniu i obcięciu powstała gotowa publikacja z poprawną paginacją. imPRESS Studio automatyzuje ten proces: przyjmuje pliki PDF, układa je na arkuszach (SRA3, A3, B2, Letter lub dowolnym rozmiarze własnym) zgodnie z wybraną metodą oprawy, generuje znaczniki drukarskie, kompensuje pełzanie (creep) i eksportuje gotowy plik produkcyjny — opcjonalnie w standardzie PDF/X-4.
1.1. Dla kogo jest ten program
- Drukarnie offsetowe i cyfrowe — przygotowanie form drukowych, sygnatur, opraw zeszytowych i klejonych.
- Studia DTP i graficy — szybkie sprawdzenie, jak publikacja rozłoży się na arkuszu, oraz przygotowanie plików do oddania do druku.
- Produkcja etykiet i naklejek — step-and-repeat, roll-fed, znaczniki konturów ploterów Summa OPOS.
- Operatorzy Print-on-Demand — automatyzacja przez hot foldery i tryb wiersza poleceń.
1.2. Kluczowe możliwości
| Obszar | Funkcje |
|---|---|
| Oprawy i układy | Zeszytowa (saddle stitch), klejona (perfect bound), spirala/wiro, N-up ganging, Z-fold, gatefold, harmonijka (accordion), roll-fed step-and-repeat, sheet-fed step & repeat |
| Znaczniki | Linie cięcia, pasery, paski kolorów CMYK, klin szarości K, znaczniki bigowania, kody kreskowe, markery konturów Summa OPOS / OPOS-XY, profile znaczników (marks profiles) |
| Przygotowanie do druku | Kompensacja pełzania, symulacja nadruku (overprint / multiply blend), spady (bleed), strefa bezpieczna, grzbiet |
| Kontrola jakości | Głęboki preflight (DPI obrazów, RGB/CMYK, osadzenie czcionek, przezroczystości, kolory dodatkowe, zgodność PDF/X), raport preflight |
| Eksport | PDF wieloarkuszowy (wybór wersji 1.4–1.7), PDF/X-4 (ISO 15930-7) z profilem ICC — natywnie silnikiem imPRESS Export Engine (z konwersją wektorowego RGB przez ICC) lub przez Ghostscript; PDF/X-1a i X-3 przez Ghostscript; numerowanie stron, strona przewodnika cięcia |
| Automatyzacja | Tryb CLI (impose / license / hotfolder), podsystem hot folder z kolejką, ledgerem SQLite i throttlingiem Ghostscript |
| Produktywność | Interaktywny podgląd z miniaturami, statystyki zużycia materiału i kosztu, overlay loga, sugestie szablonów, lokalizacja wielojęzyczna |
2. Architektura systemu
imPRESS Studio zbudowany jest w architekturze warstwowej z wyraźnym podziałem na logikę domenową, przetwarzanie PDF, eksport, automatyzację i warstwę prezentacji. Wszystkie projekty są kompilowane do jednego pliku wykonywalnego (imPRESS Studio.exe) — projekt aplikacji dołącza pliki źródłowe pozostałych modułów przez <Compile Include>, co upraszcza dystrybucję i unika blokad bibliotek DLL.
2.1. Moduły (projekty)
| Moduł | Odpowiedzialność |
|---|---|
| Imposition.Core | Logika domenowa impozycji: model szablonu (Template), zlecenie (ImpositionJob), silnik (ImpositionEngine), strategie oprawy, układy arkuszy, znaczniki, overlay, optymalizator układu, silnik sugestii szablonów, statystyki zlecenia. |
| Imposition.Pdf | Operacje na plikach PDF: analizator (PdfAnalyzer), kompozytor (PdfComposer), eksporter (PdfExporter), renderer podglądu (PDFium), renderery znaczników i overlay, łączenie PDF, modele i parsery preflight (czcionki, obrazy, przezroczystości, kolory dodatkowe, zgodność standardów). |
| Imposition.Export | Potok eksportu (ExportPipeline), walidator preflight, menedżer profili ICC, generowanie pliku definicji PDF/X (PdfXDefinitionFile), silnik walidacji prepress z zestawem walidatorów, generator podsumowania, wyrażenia zakresów (RangeExpression). |
| Imposition.HotFolder | Podsystem automatyzacji: konfiguracja, obserwator plików (FileSystemWatcher / polling), debouncer zdarzeń, sonda stabilności pliku, kolejka zadań, polityka backoff, ledger SQLite, throttling Ghostscript, host i menedżer. |
| Imposition.Ui | Warstwa prezentacji Avalonia: okno główne, kontrolki (m.in. ImpositionCanvas), dialogi (eksport, szablony, hot foldery, preflight, licencja, ustawienia, pomoc), modele widoku (MVVM, CommunityToolkit.Mvvm), rozszerzenia markup (lokalizacja). |
| Imposition.Utils | Narzędzia współdzielone: ścieżki aplikacji (AppPaths), operacje na plikach, stos undo/redo, konfiguracja loggera (Serilog), licencjonowanie (fingerprint maszyny, plik licencji, generator, walidator), lokalizacja, jednostki wyświetlania. |
| Imposition.App | Punkt wejścia: Program.cs (routing GUI/CLI), CompositionRoot.cs (kontener DI), CliRunner.cs (komendy wsadowe). |
2.2. Stos technologiczny
| Komponent | Technologia | Rola |
|---|---|---|
| Środowisko uruchomieniowe | .NET 8 (net8.0) | Platforma docelowa, self-contained win-x64 |
| Interfejs | Avalonia 11.2.7 (Fluent, Skia) | Wieloplatformowy UI, renderowanie przez SkiaSharp |
| Wzorzec UI | CommunityToolkit.Mvvm 8.2.2 | MVVM, generowane właściwości i komendy |
| Analiza PDF | PdfPig 0.1.9 | Odczyt stron, czcionek, obrazów, box-ów |
| Kompozycja PDF | PdfSharpCore 1.3.65 | Montaż stron na arkuszach, rysowanie znaczników |
| Renderowanie podglądu | Docnet.Core 2.6.0 (PDFium) | Rastrowy podgląd arkuszy |
| Grafika | SkiaSharp 2.88.9 | Rysowanie podglądu i overlay |
| Kody kreskowe | ZXing.Net 0.16.10 | Generowanie kodów na znacznikach |
| PDF/X-4 | imPRESS Export Engine (natywny) lub Ghostscript 10.07 (w pakiecie) | Pakowanie do standardu drukarskiego z ICC; natywnie także konwersja wektorowego RGB (WCS) |
| Baza stanu | Microsoft.Data.Sqlite 8.0.10 | Ledger hot folderów (idempotencja) |
| Automatyzacja/host | Microsoft.Extensions.Hosting, Polly 8.4.2 | Hosting hot folderów, retry/backoff |
| CLI | System.CommandLine 2.0 beta | Parser komend wsadowych |
| Logowanie | Serilog 3.1.1 (Console, File) | Strukturalne logi |
| Sprzęt/licencja | System.Management 8.0.0 | Fingerprint maszyny |
2.3. Kompozycja zależności i wątek STA
CompositionRoot.Build() buduje jeden kontener IServiceProvider współdzielony przez ścieżkę GUI i CLI. Usługi długożyjące (silnik, analizator, kompozytor, walidatory, menedżer profili ICC, podsystem hot folder) rejestrowane są jako singletony; modele widoku jako transient (każde okno dostaje świeżą instancję). Wyjątkiem jest TemplateEditorViewModel — singleton, aby edycje szablonu nie ginęły między otwarciami dialogu.
Main jest celowo synchroniczny i oznaczony [STAThread]. Atrybut STA „trzyma się" wyłącznie metody wejściowej i jest tracony po pierwszym await; rejestracja Win32 drag&drop (RegisterDragDrop) wymaga wątku w trybie STA. Dlatego GUI startuje synchronicznie, a ścieżka CLI (która nie potrzebuje STA) jest delegowana do pomocnika asynchronicznego.
Wszystkie strategie oprawy rejestrowane są jako IBindingStrategy i wstrzykiwane do ImpositionEngine jako słownik kluczowany typem oprawy. Wszystkie walidatory preflight rejestrowane są jako IPrepressValidator — kolejność rejestracji wyznacza kolejność w raporcie.
2.4. Przepływ danych (od pliku do druku)
- Wczytanie i analiza —
PdfAnalyzerodczytuje liczbę stron, wymiary, box-y, czcionki, obrazy, przezroczystości. - Planowanie —
ImpositionEngine.Plan()wybiera strategię wgTemplate.Bindingi wypełniaImpositionJob.SheetLayouts(lista arkuszy z pozycjami stron —PagePlacement). - Podgląd —
PdfPreviewRenderer(PDFium) rastruje arkusze;ImpositionCanvasrysuje je z heurystyką LOD (poziom szczegółowości zależny od zoomu). - Preflight —
PrepressValidationEngineuruchamia wszystkie walidatory i tworzyPrepressValidationReport. - Kompozycja —
PdfComposer(PdfSharpCore) montuje strony na arkuszach, nanosi znaczniki i overlay. - Konwersja (opcjonalna) —
ExportPipelinewywołuje Ghostscript z plikiem definicji PDF/X i profilem ICC. - Zapis — gotowy PDF w lokalizacji wyjściowej.
PdfComposer / PdfSharpCore) oraz w podglądzie (ImpositionCanvas / PDFium). Wspólnym szwem dopasowania spadu do komórki jest logika BleedFit; wyjście jest świadome spadu (TrimBox → komórka).
3. Instalacja i wymagania
3.1. Wymagania systemowe
| Element | Wymaganie |
|---|---|
| System operacyjny | Windows 10 / 11 (64-bit) |
| Architektura | x64 |
| .NET | Nie wymaga osobnej instalacji — wydanie jest self-contained |
| Ghostscript | Dołączony w pakiecie (Assets/ghostscript, wersja 10.07) — do konwersji PDF/X-4 |
| Pamięć | Zalecane min. 4 GB RAM (eksport wieloarkuszowy z PDF/X-4 jest intensywny) |
| Dysk | ~300–500 MB (z dołączonym Ghostscript i profilami ICC) |
3.2. Instalacja
Aplikacja dystrybuowana jest jako instalator (Inno Setup) generowany skryptem build/pack.ps1. Po instalacji program można uruchomić z menu Start lub bezpośrednio plikiem imPRESS Studio.exe.
Pliki dynamiczne (konfiguracja, szablony, licencje, logi, baza hot folderów) nigdy nie są zapisywane w katalogu Program Files — trafiają do %APPDATA% (dane roaming) i %LOCALAPPDATA% (logi, SQLite, cache). Szczegóły w rozdziale 17. Pliki i lokalizacje danych.
3.3. Pierwsze uruchomienie
- Uruchom aplikację — przy pierwszym starcie tworzone są katalogi danych i wczytywana jest konfiguracja domyślna.
- Jeśli nie ma aktywnej licencji, pojawi się okno aktywacji (patrz rozdział 4).
- Wbudowane szablony i profile znaczników są zaczytywane („seed") przy pierwszym uruchomieniu.
4. Licencjonowanie i aktywacja
imPRESS Studio używa licencji powiązanej ze sprzętem (machine-bound). Identyfikator maszyny jest hashem obliczanym z parametrów sprzętowych komputera (MachineFingerprint, moduł System.Management).
4.1. Proces aktywacji
- Otwórz okno Licencja (w nagłówku) lub poczekaj na okno aktywacji przy starcie.
- Skopiuj identyfikator maszyny (fingerprint) — unikalny hash Twojego komputera.
- Prześlij go sprzedawcy przy zamawianiu licencji.
- Otrzymasz klucz aktywacyjny (ciąg Base64) lub plik licencji (
.json). - Wklej klucz i kliknij Aktywuj licencję — lub wczytaj plik licencji.
4.2. Edycje licencji
| Edycja | Opis |
|---|---|
| Trial | 30 dni, pełna funkcjonalność |
| Standard | Podstawowa wersja produkcyjna |
| Professional | Pełna wersja z obsługą PDF/X-4 i CLI |
4.3. Brama licencyjna w CLI
Eksport z poziomu CLI podlega tej samej bramie licencyjnej co GUI. Jeśli licencja jest nieważna, komenda impose zwraca kod wyjścia 2 i wypisuje komunikat z instrukcją aktywacji.
%APPDATA%\imPRESS Studio\licenses — skopiuj go przed reinstalacją.
5. Interfejs użytkownika
Okno główne podzielone jest na trzy kolumny plus nagłówek i pasek stanu.
| Obszar | Zawartość |
|---|---|
| Nagłówek | Logo oraz przyciski: Szablon, Opcje eksportu, Pomoc, Licencja, O programie, a także akcje Planuj i Eksportuj. |
| Lewy panel | Karty: Szablon (bieżący szablon), Pliki źródłowe PDF (lista wczytanych plików), Plik wyjściowy, Akcje, Dokument (liczba stron, arkuszy, sygnatur). |
| Środkowy panel | Interaktywny podgląd arkusza z paskiem narzędzi (zoom, nawigacja, opcje) i pasem miniatur arkuszy. |
| Prawy panel | Statystyki zlecenia: arkusze, sygnatury, zużycie papieru, szacowanie kosztów, informacje o oprawie. |
| Pasek stanu | Aktualny status operacji oraz wskazówki dotyczące obsługi podglądu. |
5.1. Szybki start — pięć kroków
- Wybierz lub utwórz szablon — przycisk Szablon w nagłówku lub Zarządzaj szablonami w lewym panelu.
- Wczytaj plik PDF — + Dodaj pliki… (Ctrl+O) lub przeciągnij plik na okno. Zaznaczenie kilku plików i Wczytaj zaznaczone scala je w jeden dokument.
- Zaplanuj impozycję — Ctrl+P lub Planuj.
- Sprawdź podgląd — nawiguj strzałkami ← →, zoomuj kółkiem, włączaj znaczniki, pokaż przód/tył lub rozkładówkę.
- Wyeksportuj — Ctrl+E, wybierz zakres, standard PDF i opcjonalnie PDF/X-4.
6. Szablony impozycji — pełna referencja
Szablon (Template) to kompletny plan pracy impozycji zapisywany w formacie JSON. Poniżej pełna referencja pól modelu.
6.1. Pola główne
| Pole (JSON) | Typ | Domyślnie | Opis |
|---|---|---|---|
id | string | auto | Identyfikator szablonu (unikalny w bibliotece; generowany automatycznie, jeśli pusty). |
name | string | — | Nazwa wyświetlana. |
binding | BindingType | — | Typ oprawy (patrz rozdział 7). |
pagesPerSignature | int | 8 | Stron na sygnaturę (zeszytowa/klejona; musi być wielokrotnością 4). |
nUpX / nUpY | int | 2 / 1 | Liczba stron w poziomie / pionie (N-up). |
sheet | SheetSize | — | Wymiary arkusza (widthMm, heightMm, name). |
trim | TrimSize | — | Wymiary strony po obcięciu (widthMm, heightMm). |
margins | LayoutMargins | — | Marginesy i odstępy (patrz 6.2). |
marks | MarksOptions | — | Znaczniki (przełączniki legacy; patrz rozdział 8). |
marksProfileRef | string? | null | Referencja do profilu znaczników; gdy ustawiona, ma pierwszeństwo nad marks. |
creep | CreepOptions | — | Kompensacja pełzania (patrz rozdział 9). |
saddle | SaddleOptions | — | Opcje oprawy zeszytowej. |
fold | FoldOptions | — | Opcje falcowania: liczba paneli oraz sizeMode (Panel / FlatProduct) decydujący, czy trim opisuje jeden panel, czy wyrób rozłożony. 1.5.11 |
gatefold | GatefoldOptions | — | Opcje gatefold (styl + redukcja). |
roll | RollOptions | — | Opcje roll-fed. |
stepAndRepeat | StepAndRepeatOptions | — | Opcje step & repeat. |
overlay | OverlayOptions | — | Overlay loga/obrazu. |
duplex | bool | true | Druk dwustronny (work-and-back). |
6.2. Marginesy (LayoutMargins)
| Pole | Domyślnie | Opis |
|---|---|---|
bleedMm | 3.0 | Spad — grafika wychodząca poza linie cięcia. |
safeZoneMm | 5.0 | Strefa bezpieczna (wcięcie od trim). |
gutterMm | 0.0 | Rynienka — odstęp między sąsiednimi stronami. |
spineMm | 0.0 | Grzbiet dla oprawy klejonej. |
sheetMarginMm | 10.0 | Margines od krawędzi arkusza (chwytak maszyny). |
6.3. Walidacja szablonu
Metoda Template.Validate() egzekwuje reguły poprawności przed planowaniem:
- Wymiary arkusza i trim muszą być dodatnie; N-up X/Y dodatnie; marginesy nieujemne.
- Dla oprawy zeszytowej i klejonej: stron na sygnaturę dodatnie i podzielne przez 4.
- Sygnatura 8-stronicowa (saddle): liczba stron podzielna przez 8.
- Tryb kopii (StackedCopies): minimum 2 kopie na arkusz.
- Kontrola dopasowania do arkusza specyficzna dla trybu (np. zeszytówka sprawdza wymaganą szerokość/wysokość = 2×trim + rynienka + 2×margines).
6.4. Zarządzanie szablonami
- Wybór gotowego szablonu z biblioteki.
- Tworzenie nowego szablonu od zera (przycisk Nowy).
- Edycja parametrów i zapis pod własną nazwą (plik JSON).
- Import/eksport szablonów jako pliki
.json— do wymiany między stanowiskami.
7. Typy oprawy i strategie układania
Każdy typ oprawy ma dedykowaną strategię (IBindingStrategy) wybieraną przez ImpositionEngine na podstawie pola binding szablonu.
7.1. Oprawa zeszytowa (SaddleStitch)
Składki złożone na pół i zszyte zszywkami w grzbiecie. Typowo 8 lub 16 stron na sygnaturę. Idealna dla cienkich publikacji (do ~60 stron). Wymaga kompensacji pełzania przy większych nakładach. Tryby układu (SaddleSheetLayout):
| Tryb | Opis |
|---|---|
TwoUp | Klasyczne 2-up: jedna złożona rozkładówka na arkusz (4 strony na arkusz). |
StackedCopies | N identycznych kopii rozkładówki ułożonych w wierszach na większym arkuszu. Arkusz najpierw cięty na paski, potem składany — typowy workflow cyfrowy. |
EightPageSignature | Klasyczna forma 8-stronicowa: siatka 2×2, górny rząd obrócony o 180° (główkami do siebie), składana dwukrotnie bez cięcia. Liczba stron musi być wielokrotnością 8. |
7.2. Oprawa klejona (PerfectBound)
Każda sygnatura jest osobną składką sklejaną klejem w grzbiecie. Stosowana w grubszych książkach (powyżej ~50 stron). Wymaga ustawienia marginesu grzbietowego (spineMm), którego szerokość zależy od grubości całej książki.
7.3. Spirala / wiro (Wiro)
Oprawa na spiralę lub drut — pojedyncze strony z otworami do bindowania.
7.4. N-up ganging (Ganging)
Wiele różnych ulotek/stron na jednym arkuszu, bez oprawy. Strategia cyklicznie przechodzi przez kolejne strony źródłowe i nigdy nie obraca kopii.
7.5. Falcowanie: Z-fold, Gatefold, Accordion
Arkusz składany bez cięcia (ulotki, foldery, mapy). Liczba paneli w FoldOptions.PanelCount:
(arkusz − marginesy − odstępy) ÷ liczba paneli, a format netto
(trim) był wyłącznie prostokątem, w który wpasowywano grafikę. Linie falcu przesuwały się więc
razem z podłożem — ulotka DL o panelach 99 mm impozycjonowana na SRA3 wychodziła z panelami co 143,33 mm,
czyli falcerka bigująca na 99 mm zaginała w poprzek grafiki. Od 1.5.11 szerokość panelu pochodzi
z produktu: panele są układane w podanym rozmiarze, stykają się liniami falcu, a cały blok jest
centrowany na arkuszu; niewykorzystany papier zostaje pusty. Arkusz jest podłożem, nie parametrem projektu.
Całą geometrię wylicza jedna klasa — FoldGeometry — współdzielona przez strategię układania,
walidację szablonu, podgląd i renderer znaczników, dzięki czemu wszystkie cztery zgadzają się co do położenia
bigów. Udostępnia:
| Metoda | Zwraca |
|---|---|
PanelsFor(template) | Liczba paneli; gatefold wyprowadza ją ze stylu (3 skrzydła albo 4 panele), pozostałe z FoldOptions.PanelCount. |
PanelSizeMm(template) | Rozmiar jednego panelu — czyli rozmiar strony, jaki musi mieć źródłowy PDF. |
FlatSizeMm(template) | Rozmiar wyrobu rozłożonego (panel × liczba paneli). |
Compute(template) | FoldLayout w punktach: szerokość i wysokość panelu, początek bloku, odstęp, pozycje linii falcu (FoldLinesPt()) oraz flaga FitsSheet. |
Tryb interpretacji rozmiaru (FoldOptions.SizeMode) 1.5.11
Produkt składany można opisać z dwóch stron; wybór jest zapisywany w szablonie:
| Wartość | Znaczenie trim | Szerokość panelu |
|---|---|---|
Panel (domyślnie) | Jeden panel — rozmiar strony przychodzącego PDF-a. | trim.widthMm |
FlatProduct | Wyrób rozłożony, np. „A4 poziomo składane do DL”. | trim.widthMm ÷ liczba paneli |
Szablony zapisane przed 1.5.11 wczytują się jako Panel — dokładnie to, co ich
format netto już oznaczał — więc ich arkusze pozostają niezmienione.
Kontrola mieszczenia paneli 1.5.11
Do 1.5.10 kontrolę mieszczenia miał wyłącznie gatefold; Z-fold i harmonijka spadały do ogólnego testu N-up,
który przy NUpX = 1 (z jakim wychodzi każdy preset falcu) sprawdzał, czy mieści się jeden
panel. Trzy panele po 210 mm na arkuszu 297 mm przechodziły walidację, po czym strategia produkowała panele
zachodzące na siebie o 114 mm. Wszystkie trzy oprawy falcowane dzielą teraz jedną kontrolę:
wymaganaSzerokość = panele × szerokośćPanelu + (panele − 1) × odstęp + 2 × marginesArkusza
wymaganaWysokość = wysokośćPanelu + 2 × marginesArkusza
Komunikat nazywa to, co zmierzono: „3 panele po 210,0mm” albo „wyrób rozłożony 297×210mm = 3×99,0mm”.
Znaczniki falcu 1.5.11
Do 1.5.10 znaczniki falcu były rysowane wyłącznie dla oprawy zeszytowej, mimo że każdy preset falcu ma je
włączone. Od 1.5.11 kreskowane znaczniki powstają przy górnej i dolnej krawędzi arkusza w pozycjach zwracanych
przez FoldLayout.FoldLinesPt() — identycznie w podglądzie i w wyeksportowanym PDF-ie.
| Typ | Panele | Opis |
|---|---|---|
| Z-fold | 3 | Trzy panele złożone w kształt Z. |
| Gatefold | 3 lub 4 | ThreePanel (6 stron, dwa skrzydła zaginają się do środka) lub FourPanel (8 stron, klasyczna brama). Skrzydła są zwężane o foldReductionMm (domyślnie 2 mm), aby nie kolidowały na linii środka. |
| Accordion | 4+ | Wiele paneli składanych naprzemiennie (harmonijka). |
7.6. Roll-fed step-and-repeat (RollFed) 1.2
Produkcja naklejek/etykiet na rolce ciągłej (web-press). Szerokość arkusza = fizyczna szerokość rolki. Opcje (RollOptions):
| Pole | Domyślnie | Opis |
|---|---|---|
maxRollLengthMm | 0 (bez limitu) | Maksymalna długość jednego segmentu wyjściowego; 0 = jeden segment o wyliczonej długości. |
gapXMm / gapYMm | 2.0 | Odstęp poziomy/pionowy między elementami. |
repeatCount | 1 | Łączna liczba elementów do wyprodukowania (variable repeat). |
allowRotation | false | Ocena obrotu 0°/90° i wybór wariantu mieszczącego więcej kroków (basic nesting). |
7.7. Sheet-fed step & repeat (StepAndRepeat) 1.2
Powielanie JEDNEJ strony źródłowej w siatkę NxM z opcjonalnymi wzorcami obrotu i odstępem pitch (od środka do środka). Różni się od Ganging tym, że Ganging cykluje przez wiele stron i nie obraca kopii.
| Pole | Opis |
|---|---|
rotationPattern | None, AlternatingRows, AlternatingColumns, Checkerboard — wzorce obrotu 180° dla lepszego nestingu kształtów nieregularnych. |
spacingMode | GapBetween (jak Ganging) lub CenterToCenter (pitch maszynowy; rynienka ignorowana, siatka centrowana). |
horizontalPitchMm / verticalPitchMm | Odstęp od środka do środka (tylko dla trybu CenterToCenter). |
8. Marginesy, spady i znaczniki drukarskie
8.1. Pojęcia drukarskie
- Spad (bleed)
- Obszar grafiki wychodzący poza linie cięcia — typowo 3 mm. Zabezpiecza przed białymi krawędziami po niedokładnym obcięciu.
- Strefa bezpieczna (safe zone)
- Minimalna odległość tekstu od linii cięcia — typowo 5 mm.
- Rynienka (gutter)
- Odstęp między sąsiednimi stronami na arkuszu.
- Margines arkusza
- Odstęp od krawędzi arkusza do pierwszej strony — wymagany przez chwytak maszyny.
- Grzbiet (spine)
- Szerokość grzbietu dla oprawy klejonej (grubość papieru × liczba stron).
8.2. Znaczniki drukarskie (MarksOptions)
| Pole | Domyślnie | Opis |
|---|---|---|
crop | true | Linie cięcia w rogach trim. |
registration | true | Pasery (krzyżyki centrujące separacje CMYK). |
colorBars | true | Paski kontrolne CMYK wzdłuż krawędzi. |
foldMarks | true | Znaczniki bigowania (falcowania). |
markLengthMm | 5.0 | Długość linii cięcia. |
markOffsetMm | 3.0 | Odstęp znaczników od krawędzi trim. |
cutterMarks | None | Markery konturu: SummaOPOS (4 czarne kwadraty w rogach) lub SummaOPOSXY (OPOS + etykieta job-ID). |
cutterMarkSizeMm | 3.0 | Bok kwadratu markera (Summa domyślnie 3 mm). |
cutterMarkOffsetMm | 5.0 | Prześwit między obszarem cięcia a markerem (Summa wymaga ~5–8 mm). |
8.3. Profile znaczników (marks profiles) 1.3
Nowsze szablony zamiast płaskich przełączników używają profili znaczników wskazywanych przez marksProfileRef. Profile są przechowywane w pliku (file-backed store) i seedowane wbudowanymi profilami przy pierwszym uruchomieniu. Resolver używa profilu, gdy referencja jest niepusta, w przeciwnym razie wraca do przełączników legacy marks. Profile można edytować w dedykowanym edytorze (MarksProfileEditor) i obsługują m.in.: styl i pozycję paserów, styl pasków kolorów, kolory farby znaczników, kody kreskowe, klin szarości K (1.4.4).
8.4. Symulacja nadruku (overprint)
Podgląd potrafi symulować nadruk metodą multiply blend — pokazuje ciemnienie przy nadrukowaniu kolorów CMYK na siebie, co pomaga przewidzieć efekt na prasie.
9. Kompensacja pełzania (creep)
W oprawie zeszytowej wszystkie składki są zagnieżdżone w sobie. Wewnętrzne strony „wychodzą" poza krawędź zewnętrznych o grubość poprzedzających kartek. Po obcięciu zewnętrznej krawędzi marginesy wewnętrznych stron stają się węższe — nawet o kilka milimetrów przy grubszych publikacjach.
Kompensacja pełzania przesuwa treść wewnętrznych stron w kierunku grzbietu, tak aby po obcięciu marginesy były identyczne na wszystkich stronach.
9.1. Opcje (CreepOptions)
| Pole | Domyślnie | Opis |
|---|---|---|
enabled | false | Włącz kompensację. |
paperThicknessMm | 0.1 | Grubość pojedynczej kartki (np. 0,1 mm dla 100 g/m²; 0,13 mm dla 115 g/m²). |
9.2. Jak włączyć
- Otwórz menedżer szablonów, karta Pełzanie.
- Zaznacz Włącz kompensację i podaj grubość papieru.
- Włącz opcję Pełzanie w podglądzie — pomarańczowe linie przerywane pokazują kompensację dla każdej sygnatury.
10. Pliki źródłowe PDF
Karta Pliki źródłowe PDF w lewym panelu zarządza listą dokumentów wejściowych.
- + Dodaj pliki… (Ctrl+O) — dialog wyboru wielu PDF naraz.
- Przeciągnij i upuść — upuść pliki PDF na okno aplikacji (Win32 drag&drop, stąd wymóg STA).
- Checkboxy — zaznacz pliki do wczytania; więcej niż jeden + Wczytaj zaznaczone scala je w jeden dokument w kolejności listy.
- Strzałki ▲▼ — zmiana kolejności przed scaleniem.
- Info — szczegóły wybranego PDF: liczba stron, wymiary, trim, metadane, czcionki, przezroczystości, szyfrowanie, tagowanie, OCG (warstwy).
- ✕ — usuń zaznaczony plik; Usuń odznaczone — wyczyść pliki bez checkboxa.
11. Podgląd arkuszy
11.1. Nawigacja
- Kółko myszy — zoom względem kursora.
- Przeciąganie — przesuwanie widoku (pan).
- ← / → — poprzedni / następny arkusz.
- Miniatury — szybkie przejście do arkusza; pole „Arkusz X / Y" — licznik.
- Ctrl+0 lub F — dopasuj do okna; R — obrót 90°; Ctrl++/Ctrl+- — zoom.
- Przyciski szybkiego zoomu: 50%, Dopasuj, 200%.
11.2. Co można wizualizować
- Tył / Przód (⇄) — przełączanie stron arkusza (druk dwustronny).
- Rozkładówka — przód i tył obok siebie, do kontroli pasowania.
- Znaczniki — cięcia, pasery, paski kolorów, bigowanie.
- Pełzanie — pomarańczowe linie kompensacji dla każdej sygnatury.
- Nadruk — symulacja multiply blend.
- Obrót widoku (↻) — 90° dla sprawdzenia orientacji na prasie.
ImpositionCanvas dobiera poziom szczegółowości renderowania na podstawie aktualnego zoomu, co utrzymuje płynność przy dużej liczbie arkuszy.
12. Preflight — kontrola przygotowania do druku
Preflight to automatyczna kontrola poprawności pliku PDF przed drukiem. Głęboki analizator (PdfPreflightAnalyzer) bada plik, a silnik walidacji (PrepressValidationEngine) uruchamia zestaw walidatorów i tworzy raport (PrepressValidationReport) z poziomami ważności (severity).
12.1. Zestaw kontroli
Walidatory są wtyczkami (IPrepressValidator) rejestrowanymi w kontenerze; kolejność rejestracji jest kolejnością kategorii w raporcie. Każde znalezisko niesie stabilny kod (np. BLEED_LOW), niezależny od języka, po którym można je filtrować i do którego przypisana jest porada „co poprawić najpierw”.
| Obszar | Kontrole |
|---|---|
| Dokument | Szyfrowanie i uprawnienia (PDF_ENCRYPTED), dokument bez stron (PDF_NO_PAGES), wersja PDF wobec standardu docelowego (PDF_VERSION_ABOVE_TARGET), tytuł i pakiet XMP wymagane przez PDF/X (DOC_TITLE_MISSING, XMP_MISSING). |
| Geometria | Spady i ich symetria, ramki stron i ich hierarchia, mieszane formaty, niezgodność formatu netto z szablonem, obrót stron (PAGE_ROTATION_SET) i obrót niejednolity (PAGE_ROTATION_MIXED), strefa bezpieczna. |
| Kolor | RGB w pracy CMYK (treść i wektory), mieszane przestrzenie, kolory dodatkowe — nazwy, duplikaty pod różnym zapisem, Pantone, przezroczystość na dodatku — kolorant All drukujący na wszystkich formach (SPOT_ALL_COLORANT), liczba form wobec możliwości prasy (SPOT_COUNT_OVER_LIMIT), limit farby (TAC) liczony z content streamu, budowa czerni. |
| Obrazy | Rozdzielczość półtonu (trzy progi), rozdzielczość kreski 1-bitowej z własnym progiem (IMAGE_LINEART_DPI_LOW), głębia bitowa, ryzykowne kodowania. |
| Czcionki i treść | Osadzenie, Standard 14, Type 3, duplikaty, tekst poniżej progu wielkości, tekst poza formatem netto, czerń rejestrowa w tekście, linie o zerowej grubości, puste strony. |
| Przezroczystość i standard | Grupy przezroczystości, tryby mieszania, nadruk, deklaracja PDF/X i output intent, sieci trappingu, deklaracja /Trapped. |
| Warstwy | Obecność treści opcjonalnej, warstwa ukryta ustawiona na druk (LAYER_HIDDEN_BUT_PRINTS), warstwa widoczna wyłączona z druku. |
12.2. Profile prasy i waga kontroli 1.5.8 / 1.5.12
Progi opisują maszynę, nie zadanie, więc mieszkają w profilu prasy (PreflightProfileLibrary): limit farby, progi rozdzielczości półtonu i kreski, strefa bezpieczna, oczekiwanie trappingu, limit kolorów dodatkowych. Pięć profili wbudowanych (offset powlekany i niepowlekany, gazetowy, cyfrowy, wielki format) plus zapisane przez operatora.
Każda kontrola ma dodatkowo politykę wagi per kod — Off, Info, Warning, Error — egzekwowaną centralnie w PrepressValidationContext.Add, więc obejmuje wszystkie walidatory bez ich wiedzy. Drukarnia trapująca w RIP-ie wycisza doradztwo o trappingu; pracująca wyłącznie w CMYK-u podnosi RGB do błędu. Off oznacza „nie ma”, a nie „zdegradowane”: znalezisko nie jest ani wypisywane, ani liczone, więc nie może zablokować eksportu zza filtra.
12.3. Naprawy plików 1.5.7 / 1.6.0
Naprawa (IPrepressFixup) działa na kopii — oryginał operatora zostaje nietknięty — a po zapisie plik jest ponownie walidowany, żeby pokazać, które kody faktycznie zniknęły, a które przetrwały. Karta napraw w oknie informacji o pliku pojawia się tylko wtedy, gdy któraś naprawa pasuje do tego konkretnego raportu.
| Naprawa | Co robi | Kiedy odmawia |
|---|---|---|
| Ramki stron | Zapisuje wprost TrimBox/BleedBox wynikające ze standardu (Trim ← Crop ← Media). | Strona, która własne ramki już ma — zgadywanie linii cięcia to zmakulaturowany nakład. |
| RGB → CMYK | Konwersja przez profil ICC. | Brak profilu ICC na maszynie. |
| Adnotacje | Usuwa adnotacje interaktywne i komentarze. | Adnotacje produkcyjne (trapping, znaczniki) i wszystkie nierozpoznane zostają. |
| Metadane dokumentu 1.6.0 | Wpisuje tytuł (z nazwy pliku) i deklarację /Trapped, których wymaga PDF/X. | Gdy raport wykazał w pliku sieci trappingu — powiedzenie o pliku z trappingiem, że go nie ma, kończy się trappingiem podwójnym. |
| Stan druku warstw 1.6.0 | Warstwom ukrytym w widoku domyślnym ustawia /PrintState /OFF, więc plik drukuje się tak, jak wygląda. Nic nie jest usuwane. | Warstwy widoczne — warstwa, którą widać, to warstwa, o której już zdecydowano. |
12.4. Raport, tryb ścisły i zapis
Raport grupuje znaleziska po kategoriach, w każdej od najcięższych, i otwiera się panelem „co poprawić najpierw” (PreflightSummaryGenerator) z poradą przypisaną do konkretnego kodu. Przy dłuższych raportach dostępny jest filtr wagi; panel doradczy liczy się zawsze z całego raportu, nie z przefiltrowanego podzbioru.
Zapis raportu (PreflightReportWriter, Informacje o pliku → Walidacja → Zapisz raport) renderuje wynik jako czysty tekst: nagłówek z plikiem, profilem i werdyktem, potem znaleziska od najcięższych, powtórzenia jednego kodu zwinięte, a kolejne strony złożone w zakresy (1-3, 7, 11-13). Znalezisko prepressowe to spór z klientem o to, czyj plik jest zły, i musi podróżować z dowodem.
Tryb ścisły zatrzymuje eksport na ostrzeżeniach; błędy zatrzymują go zawsze, niezależnie od trybu. Wpisy informacyjne nie bramkują niczego — pozycje w rodzaju „dopełnienie formy” czy „nieparzysta liczba stron w dupleksie” opisują całkowicie normalną produkcję.
13. Eksport i pakowanie PDF/X
Trzy odmiany różnią się dokładnie trzema rzeczami, obsługiwanymi w jednym miejscu
(ImpressExportEngine.PackageAsPdfX):
| Standard | Wersja PDF | Kolor | Przezroczystość |
|---|---|---|---|
| PDF/X-1a:2001 (ISO 15930-4) | 1.4 | tylko DeviceCMYK, DeviceGray, kolory dodatkowe | zabroniona |
| PDF/X-3:2003 (ISO 15930-6) | 1.4 | dopuszcza kolor niezależny od urządzenia (ICCBased) | zabroniona |
| PDF/X-4:2010 (ISO 15930-7) | 1.6 | jak X-3 | dozwolona |
Obsługa przezroczystości w X-1a i X-3 1.5.12
Oba standardy są zdefiniowane na PDF 1.4, który nie zna przezroczystości. Silnik nie
spłaszcza grafiki — zamiana faktycznie półprzezroczystej treści na kryjącą wymaga
kompozycji strony, a to zadanie rasteryzatora; wykonane po cichu zamieniłoby tekst wektorowy
w piksele. Zamiast tego NativeTransparencyFlattener rozdziela dwa przypadki:
| Konstrukcja | Traktowanie |
|---|---|
/Group << /S /Transparency >> przy braku innej przezroczystości | nieaktywna — usuwana |
/CA 1, /ca 1, /BM /Normal, /SMask /None | nieaktywne — usuwane |
/ca lub /CA < 1 | maluje — eksport odrzucony |
maska miękka (/SMask) w stanie graficznym lub w obrazie | maluje — eksport odrzucony |
| tryb mieszania inny niż Normal / Compatible | maluje — eksport odrzucony |
Nieaktywne wpisy są usuwane wyłącznie wtedy, gdy cały dokument jest wolny od przezroczystości, która maluje: grupa izolowana albo z wybijaniem staje się obserwowalna, gdy w grę wchodzi prawdziwa przezroczystość.
Dlaczego usuwanie odbywa się na gotowym pliku 1.5.12
PdfSharpCore stempluje /Group << /CS /DeviceRGB /S /Transparency >> na
każdej serializowanej stronie — zmierzone na pustej stronie bez treści i bez
przezroczystości. Usunięcie klucza przez model obiektowy nic nie daje, bo zapisujący dopisuje go
z powrotem. Grupy są więc wycinane z zapisanego pliku, a zamiennik ma tę samą długość w bajtach
(spacje są legalnym białym znakiem między tokenami PDF), dzięki czemu tablica referencji
pozostaje poprawna bez przebudowy.
Po zapisie plik jest czytany ponownie i weryfikowany: pozostała przezroczystość (a dla X-1a także pozostały DeviceRGB) przerywa eksport. Zmiana w bibliotece objawi się odmową eksportu, a nie plikiem deklarującym zgodność, której nie ma.
13.1. Proces eksportu
Po naciśnięciu Eksportuj (Ctrl+E) ExportPipeline.RunAsync wykonuje:
- Analiza pliku źródłowego — strony, czcionki, obrazy, przezroczystości.
- Preflight — kontrola poprawności (opcjonalnie ścisła).
- Kompozycja — montaż stron na arkuszach + znaczniki + overlay.
- Opcjonalnie PDF/X-4 — natywnie silnikiem imPRESS Export Engine (z konwersją wektorowego RGB przez ICC) lub przez Ghostscript.
- Zapis — gotowy PDF w lokalizacji wyjściowej.
13.2. Opcje eksportu (ExportOptions)
| Opcja | Opis |
|---|---|
| PDF/X-4 | Standard ISO 15930-7. Obsługuje przezroczystości, warstwy i profile ICC. |
| Profil ICC | Profil kolorów wyjściowych (np. ISOcoated_v2_eci dla offsetu na papierze kredowanym). |
| Ścisły preflight | Zatrzymaj eksport przy ostrzeżeniach. |
| Zakres arkuszy | Np. 1-5, 2,4,6, 1,3-7 (parser RangeExpression). |
| Numerowanie stron | Stempel numeracji (PageNumberingOptions). |
| Przewodnik cięcia | Strona ze schematem cięcia gilotyną + tabelą pozycji (--cutting-guide w CLI). |
13.3. PDF/X-4 — wymagania i profile
PDF/X-4 (ISO 15930-7) to standard dla druku obsługujący przezroczystości, warstwy i profile ICC, zalecany przez większość drukarni. Od 1.5.2 pakowanie wykonuje domyślnie natywny imPRESS Export Engine (OutputIntent + XMP + TrimBox + PDF 1.6, konwersja wektorowego RGB→CMYK przez profil ICC silnikiem kolorów Windows); pliki z obrazami RGB oraz tryby X-1a/X-3 obsługuje Ghostscript (dołączony, wersja 10.07) z plikiem definicji (PdfXDefinitionFile / PDFX_def.ps) i profilem ICC.
| Profil | Zastosowanie |
|---|---|
| ISOcoated_v2_eci / PSOcoated_v3 | Offset, papier kredowany błyszczący. |
| PSO_Uncoated_ISO12647 / PSOuncoated_v3_FOGRA52 | Offset, papier niepowlekany. |
| eciRGB_v2 / sRGB | Druk cyfrowy, wydruki RGB. |
--permit-file-read dla profilu ICC w PDFX_def.ps. Rzeczywiste błędy Ghostscript trafiają na stdout (nie tylko stderr).
14. Statystyki zlecenia
Po zaplanowaniu impozycji prawy panel pokazuje statystyki obliczane przez JobStatistics:
| Wskaźnik | Opis |
|---|---|
| Arkusze i sygnatury | Liczba fizycznych arkuszy z maszyny. |
| Wypełnione / puste sloty | Ile pozycji na arkuszu zajętych stronami. |
| Powierzchnia papieru | Brutto i netto (po obcięciu) w m². |
| Szacowana waga | Na podstawie gramatury (g/m²). |
| Wykorzystanie / odpad | Procent powierzchni trafiającej do publikacji vs. obcinanej. |
| Szacowany koszt | Z pola „Cena za arkusz". |
| Informacje o oprawie | Typ, stron na sygnaturę, spad, rynienka. |
15. Hot Folder — automatyzacja 1.1.0
Podsystem hot folder monitoruje wskazane katalogi i automatycznie przetwarza pliki, które się w nich pojawią. Architektura jest oparta na Microsoft.Extensions.Hosting i odporna na błędy (retry/backoff przez Polly, idempotencja przez ledger SQLite).
15.1. Komponenty
| Komponent | Rola |
|---|---|
| HotFolderConfig / Store | Konfiguracja folderów (hotfolders.json), walidacja. |
| Watching | Obserwator (FileSystemWatcher lub polling), debouncer zdarzeń, sonda stabilności pliku (czeka aż plik przestanie rosnąć). |
| Queueing | Kolejka zadań, polityka backoff przy błędach. |
| State | Ledger SQLite (SqliteProcessingLedger) — śledzi przetworzone pliki, zapobiega ponownemu przetwarzaniu. |
| Processing | Strategia nazewnictwa wyjścia, przejścia plików, dławik równoległych konwersji Ghostscript (pobierany wyłącznie wtedy, gdy zadanie może faktycznie uruchomić Ghostscripta — folder ustawiony na silnik natywny nie szereguje się za limitem chroniącym przed narzędziem, którego nie używa). |
| Jdf 1.6.0 | Czytnik biletów zleceń CIP4 (JDF 1.x i XJDF 2.x), rozwiązywanie odwołań do grafiki, nakładanie opisu produktu na szablon folderu. |
| Hosting | Host i menedżer (start/stop/reload), snapshot statusu, metryki diagnostyczne. |
15.2. Zarządzanie
Hot foldery konfiguruje się w dialogu menedżera (HotFolderManagerDialog) i edytora (HotFolderEditDialog), lub z CLI (patrz rozdział 16). Domyślny limit równoległych procesów Ghostscript to 2 (konfigurowalny w globalnych ustawieniach).
%APPDATA% / %LOCALAPPDATA% (nigdy w Program Files) — patrz rozdział 17.
15.3. Wybór szablonu 1.6.0
Folder wskazuje szablon na trzy sposoby: z listy zapisanych szablonów (tych samych, które widzi menedżer szablonów), z listy wbudowanych punktów startowych albo ścieżką do pliku .json. Wybrany preset jest zapisywany do katalogu szablonów i folder wskazuje na powstały plik — od tej chwili to szablon jak każdy inny, edytowalny w menedżerze. Istniejący plik o tej samej nazwie nie jest nadpisywany: preset, który operator zdążył dostroić, przetrwa ponowny wybór.
15.4. Bilety zleceń JDF / XJDF 1.6.0
Po włączeniu opcji Przyjmuj bilety zleceń folder obserwuje także pliki .jdf i .xjdf. Bilet nie jest pracą — opisuje pracę i wskazuje plik, który nią jest. Czytnik (JobTicketReader) obsługuje obie generacje: JDF 1.x, gdzie wartości intencji siedzą w podelementach z atrybutami Actual i Preferred (uzgodnione wygrywa z żądanym) albo są zapisane wprost na elemencie intencji, oraz spłaszczoną formę XJDF 2.x.
Z biletu czytane są: odwołanie do grafiki (FileSpec/@URL), format netto, arkusz, liczba stron, jedno- lub dwustronność, oprawa i nakład. Wszystkie wymiary CIP4 są w punktach 1/72 cala i przeliczane na milimetry w czytniku; liczby parsowane są niezmiennie kulturowo.
| Element | Zachowanie |
|---|---|
| Szablon folderu | Jest podłogą. Bilet nadpisuje wyłącznie to, co sam podaje; spady, guttery, marginesy arkusza, znaczniki i pełzanie zostają z folderu. Każde nadpisanie trafia do logu zadania z wartością przed i po. |
| Liczba stron | Nigdy nie jest brana z biletu — decyduje PDF. Rozbieżność jest raportowana. |
| Oprawa | Mapowana tylko tam, gdzie obie strony znaczą tę samą operację introligatorską. Ring, Tape, szycie nićmi i pozostałe zostawiają oprawę z szablonu, a słowo biletu ląduje w logu. |
| Nakład | Zapisywany i logowany, nigdy mapowany — to decyzja maszyny, nie impozycji. |
| Kolejność wrzucania | Najpierw PDF, potem bilet (konwencja każdego MIS-u). Przy odwrotnej kolejności folder czeka na grafikę w ramach tego samego budżetu stabilności. |
| Po zakończeniu | Bilet i grafika wędrują razem — oba do archiwum albo oba do folderu błędów. |
http, https i ftp są odrzucane wprost.
15.5. Tryb usługi Windows 1.6.0
Hot foldery mogą działać jako usługa (HotFolderWindowsService), więc pracują bez zalogowanego użytkownika i wracają po restarcie maszyny. Klucz usługi to ImpressStudioHotFolders, nazwa wyświetlana — imPRESS Studio Hot Folders. Rejestracja i sterowanie: hotfolder service install / start / stop / uninstall / status albo pasek Usługa Windows w menedżerze hot folderów, podnoszący uprawnienia przez UAC.
- Katalog danych. Konfiguracja, licencja i szablony leżą w profilu osoby, która foldery ustawiła, a usługa nie działa jako ta osoba — jako LocalSystem ma
%APPDATA%podC:\Windows\System32\config. Instalator zapisuje ścieżkę w komendzie usługi jako--data-dir, parsowaną przed złożeniem aplikacji, żeby cały proces rozwiązywał jeden komplet katalogów. - Konto. Domyślnie LocalSystem; dla hot folderów na udziale sieciowym wskaż konto domenowe — LocalSystem uwierzytelnia się jako maszyna i serwer plików zwykle mu odmawia.
- Restart po awarii konfigurowany przy instalacji: trzy próby co minutę, licznik zerowany dobowo.
- Uzgodnienie z SCM. Start jest potwierdzany natychmiast i wykonywany w tle (start hosta to operacje wejścia-wyjścia, być może na wolnym udziale); start nieudany zatrzymuje usługę z niezerowym kodem wyjścia, zamiast trwać w stanie „działa”, nie obserwując niczego.
16. Tryb wiersza poleceń (CLI)
imPRESS Studio rozpoznaje argumenty wiersza poleceń (parser System.CommandLine). Bez argumentów uruchamia GUI; z argumentem-czasownikiem działa headless.
16.1. Komenda impose
"imPRESS Studio.exe" impose \
--source wejscie.pdf \
--output wyjscie.pdf \
--template szablon.json \
--pdfx4
| Opcja | Wymagane | Opis |
|---|---|---|
--source | tak | Ścieżka do źródłowego PDF. |
--output | tak | Ścieżka pliku wyjściowego. |
--template | tak | Plik szablonu JSON. |
--pdfx4 | nie | Konwersja do PDF/X-4 przez Ghostscript. |
--gs | nie | Ścieżka do Ghostscript (jeśli nie w PATH). |
--cutting-guide | nie | Dołącz stronę przewodnika cięcia. |
Kody wyjścia: 0 — sukces; 1 — błąd; 2 — brak/nieważna licencja.
16.2. Komenda license
"imPRESS Studio.exe" license fingerprint
"imPRESS Studio.exe" license info
"imPRESS Studio.exe" license activate --key KLUCZ_BASE64
16.3. Komenda hotfolder
"imPRESS Studio.exe" hotfolder run # demon w foreground (Ctrl+C zatrzymuje)
"imPRESS Studio.exe" hotfolder list # status wszystkich folderów
"imPRESS Studio.exe" hotfolder start <GUID>
"imPRESS Studio.exe" hotfolder stop <GUID>
"imPRESS Studio.exe" hotfolder reload # przeładuj hotfolders.json
Komenda hotfolder run musi być pierwszą komendą procesu — jest przechwytywana w Program.Main przed parserem, ponieważ wymaga zestawienia hosta wokół CLI.
17. Pliki i lokalizacje danych
Helper AppPaths centralizuje wszystkie ścieżki. Dane roaming idą do %APPDATA%\imPRESS Studio, dane lokalne do %LOCALAPPDATA%\imPRESS Studio.
| Lokalizacja | Zawartość |
|---|---|
%APPDATA%\…\templates | Szablony impozycji (JSON). |
%APPDATA%\…\presets | Presety. |
%APPDATA%\…\licenses | Plik licencji (.json). |
%APPDATA%\…\icc | Profile ICC użytkownika. |
%APPDATA%\…\export-presets | Presety eksportu. |
%APPDATA%\…\localization | Nakładki lokalizacji (własne paczki .json). |
%APPDATA%\…\marks-profiles | Profile znaczników. |
%LOCALAPPDATA%\…\logs | Logi (Serilog). |
%LOCALAPPDATA%\…\state | Stan, baza SQLite hot folderów. |
%LOCALAPPDATA%\…\cache | Cache. |
18. Lokalizacja i jednostki
Interfejs jest w pełni lokalizowany przez LocalizationService i rozszerzenie markup LocExtension. Wbudowane języki obejmują m.in.: polski (pl), angielski (en), niemiecki (de), hiszpański (es), francuski (fr), włoski (it), japoński (ja), koreański (ko), rosyjski (ru), turecki (tr). Własne paczki językowe (.json) można dodać w katalogu nakładek lokalizacji.
Jednostki wyświetlania (DisplayUnitsService) obsługują milimetry i cale. Model danych jest kanoniczny w milimetrach; konwersja odbywa się na granicy XAML przez MmConverter. Przy przełączaniu mm/cale presety szablonów zamieniają zestawy ISO ↔ US (1.4.5).
19. Skróty klawiaturowe
| Skrót | Działanie |
|---|---|
| Ctrl+O | Wczytaj plik PDF |
| Ctrl+P | Zaplanuj impozycję |
| Ctrl+E | Eksportuj do PDF |
| Ctrl++ / Ctrl+- | Przybliż / oddal podgląd |
| Ctrl+0 / F | Dopasuj widok do okna |
| R | Obróć widok o 90° |
| ← / → | Poprzedni / następny arkusz |
| F1 | Pomoc wewnątrz aplikacji |
| Kółko myszy | Zoom względem kursora |
| Przeciąganie | Przesuwanie widoku (pan) |
| Drag & drop PDF | Wczytaj plik przez upuszczenie |
20. Rozwiązywanie problemów
„Brak aktywnej licencji"
Otwórz Licencja i wklej klucz aktywacyjny lub wczytaj plik .json.
Eksport PDF/X-4 nie działa
Ghostscript jest dołączony, ale przy własnej ścieżce wskaż gswin64c.exe w opcjach (lub --gs w CLI). Pamiętaj o uprawnieniu odczytu profilu ICC w trybie SAFER.
Podgląd pokazuje czarne strony
Sprawdź, czy PDF nie jest zaszyfrowany (Info w lewym panelu). PDF-y z ograniczeniami mogą wymagać usunięcia zabezpieczeń.
Strony wychodzą „poza" arkusz
Trim + spad + rynienka + marginesy arkusza przekracza rozmiar arkusza. Wybierz większy arkusz lub zmniejsz marginesy/spad. Walidacja szablonu sygnalizuje to komunikatem o wymaganej szerokości/wysokości.
„Plik jest używany przez inny proces"
Zamknij plik wyjściowy w Acrobacie/przeglądarce lub wybierz inną ścieżkę.
Wolny eksport dużych plików
Eksport wieloarkuszowy z PDF/X-4 jest intensywny. Rozważ eksport bez PDF/X-4 i konwersję zbiorczą skryptem, lub użyj hot folderów z throttlingiem.
21. Słowniczek pojęć
- Impozycja
- Układanie stron na arkuszach tak, aby po druku, złożeniu i obcięciu powstała publikacja z poprawną paginacją.
- Sygnatura (składka)
- Grupa stron drukowanych na jednym arkuszu (typowo 4, 8 lub 16).
- N-Up
- Liczba stron na jednej stronie arkusza (np. 2×2 = 4 strony).
- Trim
- Końcowy rozmiar strony po obcięciu spadów.
- Spad (bleed)
- Grafika wychodząca poza linie cięcia.
- Pełzanie (creep)
- Wychodzenie wewnętrznych stron poza krawędź zewnętrznych w oprawie zeszytowej.
- PDF/X-4
- Standard ISO 15930-7 dla druku (przezroczystości, warstwy, ICC).
- Preflight
- Automatyczna kontrola poprawności pliku przed drukiem.
- Pasery (registration marks)
- Znaczniki krzyżykowe do pasowania separacji CMYK.
- Pitch
- Odstęp od środka do środka między kopiami (step & repeat).
- Nesting
- Optymalne zagnieżdżanie kształtów (obroty) dla mniejszego odpadu.
- OPOS
- System markerów konturu ploterów Summa (print&cut).
- OCG (Optional Content Groups)
- Warstwy PDF, które można włączać/wyłączać.
- Hot folder
- Monitorowany katalog — pliki w nim są automatycznie przetwarzane.
- LOD (Level of Detail)
- Poziom szczegółowości renderowania zależny od zoomu.
22. Historia wersji (kamienie milowe)
| Wersja | Najważniejsze zmiany |
|---|---|
| 1.0.x | Pierwsze wydania: silnik impozycji, oprawa zeszytowa i klejona, podgląd, eksport PDF, znaczniki, kompensacja pełzania, CLI. |
| 1.1.0 | Podsystem Hot Folder (kolejka, ledger SQLite, throttling Ghostscript, host). |
| 1.1.1 | Głęboki preflight prepress (analizator PDF + silnik walidacji z 10 walidatorami). |
| 1.2.x | Roll-fed step-and-repeat, sheet-fed step & repeat, markery Summa OPOS / OPOS-XY (print&cut), overlay loga (PNG/JPG/PDF na każdym arkuszu). |
| 1.3.x | Profile znaczników (marks profiles) z edytorem i file-backed store; rozbudowa opcji znaczników. |
| 1.4.0–1.4.3 | Dalsze usprawnienia układów, znaczników i przepływu eksportu. |
| 1.4.4 | Wydzielenie paska kolorów z parsera; klin szarości K (grayscale wedge). |
| 1.4.5 | Presety szablonów zamieniają zestawy ISO ↔ US przy przełączaniu mm/cale; zakres stron resetowany przy zmianie pliku źródłowego. |
| 1.4.6–1.4.7 | Pakiet napraw stabilności i poprawności (spady quarter-turn, mirroring duplex, kolejność Z-fold/Accordion, wycieki zasobów). |
| 1.4.8 | Numeracja biletów, work-and-turn, podgląd spasowania przód/tył, doradca arkusza, PDF/X-3, Preflight 2.0 (zawartość stron i adnotacje), parytet CLI. |
| 1.5.0 | imPRESS Export Engine: natywny PDF/X-4 z konwersją wektorowego RGB→CMYK przez ICC (WCS) — bez Ghostscripta; wybór silnika i wersji PDF przy eksporcie; natywny skan pokrycia farbą; przeprojektowany menedżer szablonów (zakładki, sekcje kontekstowe). |
| 1.5.1 | Naprawa cichej mutacji szablonu (Run.Text TwoWay), preflight po polsku, komunikaty z nazwą ocenianego szablonu. |
| 1.5.2 | Hot foldery 2.0 (szablon z listy, silnik i wersja PDF per folder, sekcja Zaawansowane, auto-Ghostscript); komplet ramek stron (CropBox/BleedBox/TrimBox) w eksporcie. |
| 1.5.4–1.5.6 | Poprawki i usprawnienia przepływu eksportu oraz podglądu. |
| 1.5.7 | Pasek arkuszy przeniesiony do inspektora; kliknięcie miniatury przestaje kasować plan. |
| 1.5.8 | Sugestie szablonów szeregowane sześcioma ważonymi czynnikami, z uzasadnieniem i pamięcią wyborów drukarni; własne produkty; profile prepress (progi preflightu jako profil maszyny, pięć wbudowanych); preflight: strefa bezpieczna, limit farby (TAC) czytany z content streamu, budowa czerni, trapping, kolory dodatkowe, warstwy, kodowania obrazów; kompensacja pełzania z gramatury i rodzaju papieru. |
| 1.5.9 | Listy rozmiarów podążają za szablonem (arkusz wybrany jest arkuszem użytym); dopasowanie nazwy arkusza z przyrostkiem orientacji; Optymalizuj N-up potrafi także zmniejszyć układ, tą samą arytmetyką co walidacja. |
| 1.5.10 | Ganging kolejnych stron dokumentu (GangingPageMode); kolejność stron przeciąganiem miniatur, trzymana jako permutacja i odtwarzana po przebudowie dokumentu; naprawa {loc:Loc} — przełączanie języka działa w całym interfejsie; pomoc w aplikacji napisana od nowa w obu językach. |
| 1.5.12 | Natywne pakowanie PDF/X-1a i PDF/X-3 (PackageAsPdfX) — Ghostscript przestaje być zależnością; usuwanie nieaktywnych konstrukcji przezroczystości i odmowa przy przezroczystości, która maluje (NativeTransparencyFlattener); weryfikacja zapisanego pliku pod kątem przezroczystości i (dla X-1a) DeviceRGB; skan pokrycia farbą i wyszukiwanie Ghostscripta rozdzielone na NativeInkScanner i GhostscriptLocator. |
| 1.5.11 | Geometria falcu liczona z produktu (FoldGeometry, FoldSizeMode) zamiast z podziału arkusza; wspólna kontrola mieszczenia paneli; znaczniki falcu dla opraw falcowanych; podgląd arkusza na żywo i walidacja na żywo w menedżerze szablonów; rozmiar użytku z listy formatów standardowych; presety przemianowane na punkty startowe i pogrupowane; wykrywanie spadu w wymiarach pliku oraz progi dopasowania skalowane z formatem w sugestiach; kontrola mieszczenia siatki Step & Repeat z rozstawem osi. |
| 1.6.0 | Bilety zleceń CIP4 w hot folderach (JobTicketReader, JDF 1.x i XJDF 2.x) z rozwiązywaniem odwołań ograniczonym do dozwolonych katalogów i sparsowaniem odpornym na encje zewnętrzne; hot foldery jako usługa Windows z katalogiem danych przekazywanym przy instalacji; dziesięć nowych kontroli preflightu (obrót stron, szyfrowanie, wersja PDF wobec standardu, tytuł i XMP, rozdzielczość kreski, kolorant All, limit form) i dwie nowe naprawy (metadane dokumentu, stan druku warstw); przebudowa obu okien preflightu; wbudowane presety w wyborze szablonu hot foldera; PDF/X przestaje wymagać Ghostscripta również w warstwie hot folderów. |
| 1.6.1 | Raport preflightu rysowany przez wspólny mechanizm palety (ThemeBrush) — wyszukiwanie kolorów z poziomu kodu podaje wariant motywu, więc paleta z ThemeDictionaries się rozwiązuje; brak klucza zostawia wartość motywu, zamiast podstawiać kolor zastępczy. Przełączenie motywu jasny / ciemny działa od razu, razem z podglądem arkusza. |
| 1.6.2 | Język startowy rozstrzygany przez StartupLanguage: świadomy wybór z Ustawień, potem język zapisany przez instalatora (impress-setup.ini), potem język Windows, a na końcu angielski. Wcześniej pole miało bezwarunkową wartość „polski”. Pomoc → Zgłoś problem tworzy jedno archiwum ZIP z dziennikami, konfiguracją i podsumowaniem środowiska (bez pliku licencji). |
| 1.6.3 | Publikacja z prekompilacją do kodu natywnego (PublishReadyToRun): 166 zestawów, które dotąd jechały jako kod pośredni i były kompilowane przez JIT przy każdym zimnym starcie, jest teraz gotowych. Start skrócony mniej więcej dwukrotnie; instalator większy o ok. 9 MB. Podgląd uwzględnia wybrany profil ICC po naciśnięciu Planuj (symulacja ekranowa sRGB → CMYK → sRGB, plakietka PROOF pod podglądem). |
| 1.5.3 | Zakładka Podgląd: miniatury bez limitu z przesuwnym oknem pamięci i edycją stron (obrót, skala szarości natywnie na silniku); Plik → Zapisz PDF; start bez auto-szablonu; Informacje o pliku na zakładkach; pigułka pliku (wersja/kolory/min DPI); tolerancyjny dekoder Flate. |
Pełny, szczegółowy changelog znajduje się w pliku changelog.html dołączonym do aplikacji.
