Dokumentation
PDFs erstellen
PDFs in Vue
PDFs in Nuxt
PDFs in React
PDFs in Angular
Drehen
Zwei Werkzeuge für zwei Aufgaben: Rotated dreht einen Teilbaum um einen beliebigen Winkel, für
Stempel und Watermark, und RotatedBox macht Quarter-Turns, die das Layout berücksichtigt, für
senkrechte Labels. Beide drehen um die Mitte des Elements.
Rotated - ein Stempel oder Watermark
Rotated({ angle }, child) dreht child um angle Grad (im Uhrzeigersinn) um seine Mitte, genau wie CSS
transform: rotate(). Es ist paint-only: Das Kind behält seine normale Layout-Box, die
gedrehte Zeichnung darf also über ihren Platz hinausragen, und Geschwister ordnen sich nie neu um sie
herum. In einer Row oder Column ist das Kind das Element geändert in beta.5 - ein Expanded in
einem Rotated dehnt sich also weiterhin. Genau das wollen Sie bei einem Stempel - er soll den Inhalt
darunter nicht verschieben.
Zusammen mit einer relative-Box und Positioned legen Sie einen Stempel „BEZAHLT“ / „PAID“ schräg über
ein Dokument:
import { Box, Text, Positioned, Rotated } from "@jasy/pdf";
Box({ relative: true }, [
// ... your invoice ...
Positioned(
{ h: "center", v: "center" },
Rotated(
{ angle: -18 },
Box({ border: "#c0392b", borderWidth: 4, radius: 12, padding: { x: 26, y: 12 } }, [
Text("BEZAHLT", { size: 40, bold: true, color: "#c0392b" }),
]),
),
),
]);
Positioned({ h: "center", v: "center" }) zentriert den Stempel auf der Karte; Rotated kippt ihn an Ort
und Stelle um seine eigene Mitte. Siehe die Rechnung mit Stempel im Showroom.
RotatedBox - ein senkrechtes Label
Ein Stempel ändert das Layout nicht - ein senkrechtes Label neben einer Tabelle aber sollte es.
RotatedBox({ turns }, child) macht ganze Quarter-Turns und berücksichtigt das Layout: Eine Drehung
um 90 oder 270 Grad tauscht Breite und Höhe der Box, sie reserviert also ihre schmale Breite und große
Höhe, und Geschwister ordnen sich um sie herum an. turns ist die Zahl der Quarter-Turns im
Uhrzeigersinn (1 = 90 Grad, 2 = 180, 3 = 270).
import { Row, Column, Text, RotatedBox } from "@jasy/pdf";
Row({ align: "center" }, [
RotatedBox({ turns: 3 }, Text("SECTION A", { size: 16, bold: true })), // reads bottom-to-top
Column({ gap: 6 }, rows), // the list; the label sits tight to its left, vertically centered
]);
Weil die gedrehte Box ihren echten Footprint meldet, nimmt das Label nur ihre schmale Breite (kein toter Raum) und bleibt senkrecht mittig neben der Liste.
Welches von beiden
Rotated- jeder Winkel, das Layout bleibt unberührt. Stempel, Watermark, dekorative Badges.RotatedBox- Schritte von 90 Grad, das Layout folgt. Senkrechte Labels für Tabellen und Spalten.
Gut zu wissen
- Pivot ist die Mitte. Beide drehen um die Mitte der Box des Elements (CSS
transform-origin: center). - In
Rotatedist die Drehung paint-only. Nach einemRotatedum 90 Grad wird die Layout-Box NICHT hoch - sie bleibt, wie sie war, und die Zeichnung ragt hinaus. Greifen Sie zuRotatedBox, wenn das Layout folgen soll.