Druck und PDF-Generierung
Zweck
Druck- und PDF-Workflows in SpeamCore folgen drei Mustern, je nach Anwendungsfall:
| Pattern | Wann | Beispiel |
|---|---|---|
| Browser-Print | Einfache Reports oder Listen direkt aus dem FE | /time-overview/report, /open-items Print-Button |
| BE-Print-Service | Komplexe Belege mit fester Layout-Vorlage | Verkaufsbelege als Rechnungs-PDF, Bestellbelege |
| QR-Code-Aufkleber | Anlagen, Lager-Spots, OperatingEquipment | QR-IDs, Lager-Spots, OperatingEquipments |
Pattern 1 — Browser-Print
Im FE wird window.print() mit einem speziell formatierten Print-Layout (oft eigenes CSS) ausgeloest. Die Komponente verwendet typischerweise:
PrintOptionsModal(z. B. in /time-overview) zur Auswahl von Datumsbereich, Mitarbeiter-Filter etc.OpenItemPrintButton(/open-items) als einfacher Auslöser.
Vorteile:
- keine BE-Abhaengigkeit, schnell.
- Anwender hat volle Kontrolle über Drucker/PDF-Export über den Browser-Dialog.
Grenzen:
- keine konsistente Pixel-genaue PDF-Erzeugung server-seitig.
- nicht versendbar ohne Anwender-Interaktion.
Pattern 2 — BE-Print-Service
Für Belege mit gefordertem Layout (Briefkopf, Logo, Footer, Mehrsprachigkeit) generiert der Backend einen PDF-Buffer und liefert ihn als Download oder Mail-Anhang aus.
Typische Endpoints:
POST /api/sales-documents/:id/print→ liefert PDF.POST /api/purchase-documents/:id/print→ analog.- Print-Templates werden über Anpassung (Public-Attribute) gesteuert.
Eigenschaften:
- konsistente Ausgabe über alle Geraete.
- Templates pro Mandant individualisierbar.
- PDF kann automatisch in Document-Center gespeichert werden.
Pattern 3 — QR-Code-Aufkleber
Für physische Markierung (Anlagen, Lager-Spots, Betriebsmittel):
QrCodeComponent(FE) erzeugt das QR-Bild aus der ID viaqrcode.react.- Aufkleber-Layout (Hintergrundfarbe, Logo, Bezeichner-Text) kommt aus Anpassung — QR-Code (Sub-Tab
qr-code). - Print-Layout ist Browser-Print mit angepasstem CSS.
Routen mit QR-Code-Druck:
- QR-IDs — generische QR-Aufkleber.
- Lager-Spots — pro Spot ein QR.
- Anlagen (/konzepte/anlagen-systems) und OperatingEquipments.
Berechtigungen
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | Print (Custom-Capability) | Print-Buttons im UI sichtbar | APP_SPEAMCORE_VIEW_PRINT (CUSTOM-CAPABILITY)` |
do | Print | Browser-Print ausloesbar | APP_SPEAMCORE_DO_PRINT |
view/do | beleg-spezifische Subjects | BE-Print-Service nutzbar | APP_SPEAMCORE_VIEW/DO_BELEG-SPEZIFISCHE SUBJECTS |
Wiederverwendbare Konzepte
- Anpassung — Branding und QR-Code-Layout.
- Berechtigungen verstehen (CASL)
Verknuepfungen zu anderen Modulen
- Time-Overview —
PrintOptionsModal. - Open-Items —
OpenItemPrintButton. - Sales-Documents, Purchase-Documents — BE-Print-Service.
- QR-IDs, Warehouse-Spots, Operating-Equipments — QR-Aufkleber.
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung als Querschnitts-Grundlage.