Modul PDF: Unterschied zwischen den Versionen
Zeile 201: | Zeile 201: | ||
==#pdf_multibb== | ==#pdf_multibb== | ||
+ | Wie #pdf_multi, allerdings werden Pseudo-BB-Codes interpretiert. | ||
− | ''' | + | '''Codes''' |
− | |||
− | |||
+ | * [] - Font normal | ||
+ | * [i] - Font kursiv / italic | ||
+ | * [b] - Font fett / bold | ||
+ | * [bi] - Font fett und kursiv / bold italic | ||
==#pdf_line== | ==#pdf_line== |
Version vom 22. Dezember 2020, 18:26 Uhr
Inhaltsverzeichnis
Im Modul PDF werden die Routinen zusammengefasst, die zur Erstellung von PDF-Dateien verwendet werden.
#pdf_start
Beginnt ein PDF-Dokument.
Derzeit wird nur das Format DIN A4 im Hoch- oder Querformat unterstützt.
Parameter
- pal (PageLandscape) - Wenn Y, dann wird die Seite im Querformat erstellt; Default N; Funktionen werden ersetzt
Beispiel
#pdf_start #pdf_text c="Hello World" #pdf_stop fn=$DIR(doc)\test.pdf
#pdf_stop
Beendet das PDF-Dokument und speichert es.
Parameter
- fn ("FileName") - dateiname, unter dem das Dokument gespeichert wird; Funktionen werden ersetzt. Ist der Parameter leer, so wird ein Dateiauswahldialog geöffnet.
Beispiel
#pdf_start #pdf_text c="Hello World" #pdf_stop fn=$DIR(doc)\test.pdf
#pdf_text
Fügt eine Textzeile ein.
Parameter
- a ("align") - Ausrichtung des Textes
- c ("center") - zentriert
- d2 - rechtsbündig auf zwei Dezimalstellen
- d4 - rechtsbündig auf vier Dezimalstellen
- l - linksbündig
- r - rechtsbündig
- c ("caption") - Text, der ausgegeben werden soll; Funktionen werden ersetzt
- grp ("group") - Gruppenwert; wenn dieser Wert vom vorherigen abweicht, dann wird eine neue Gruppe begonnen; Funktionen werden ersetzt
- l - Linker Rand; Funktionen werden ersetzt; Default 18mm
- mb ("margin bottom") - Wird nach dem Zeilenumbruch dieser untere Rand unterschritten, dann wird eine neue Spalte beziehungsweise neue Seite begonnen; Funktionen werden ersetzt; default 15 mm.
- r - Rechter Rand; Funktionen werden ersetzt; Default 15mm
Beispiel
#pdf_text c="Dies ist ein Test" l=30 r=100 a=c
#pdf_texto
Wie #pdf_text, mit dem Unterschied, dass kein Zeilenvorschub erfolgt.
Parameter
siehe #pdf_text
Beispiel
#pdf_texto c="Eine Beispielzeile mit " #pdf_font b=Y #pdf_text l=53 c="einem Font-Wechsel "
#pdf_font
Setzt den Font für die Textaufgabe.
Parameter
- b ("bold") - Wenn Y, dann wird der Font fett dargestellt.
- cl ("color") - Farbe, als Hex-Wert oder als Farbkonstante
- i ("italic") - Wenn Y, dann wird der Font kursiv dargestellt.
- n ("name") - Name der Schriftart; Default ist Helvetica
- s ("size") - Größe der Schriftart in typographischen Punkt; Funktionen werden ersetzt; Default 10. Die Zeilenhöhe ist 120% der Schriftgröße
Beispiel
#setfont s=12 b=Y
#pdf_sety
Setzt die Y-Position.
Bei der Ausgabe mit #pdf_text haben wir einen automatischen Zeilenvorschub. Sollen jedoch Absätze eingefügt werden, dann muss die Y-Position entsprechend verändert werden.
Der 0-Punkt bei PDF liegt in der linken, unteren Ecke. Die obere Ecke bei einem stehenden DIN A4-Blatt liegt also bei 297 mm, die Y-Position reduziert sich also laufend, wenn das Blatt von oben nach unten beschrieben wird.
Parameter
- d ("distance") - Reduziert den Y- Wert um den angegebenen Wert in mm; Funktionen werden ersetzt.
- y - Setzt die Y-Position als absoluten Wert in mm; Funktionen werden ersetzt.
Beispiel
#pdf_text Zeile 1 #pdf_text Zeile 2 #pdf_sety d=5 #pdf_text Neuer Absatz #pdf_text weitere Zeile
#pdf_checknewline
Fügt eine neue Zeile ein. Liegt die Position dann unter dem unteren Rand, wird eine neue Spalte beziehungsweise eine neue Seite begonnen.
Parameter
- mb ("margin bottom") - Unterer Rand in mm; wird dieser Wert unterschritten, dann wird eine neue Spalte beziehungsweise eine neue Seite begonnen. Funktionen werden ersetzt; default ist 20.
Beispiel
#pdf_checknewline mb=15
#pdf_loadpic
Das Laden und das Einfügen von Bildern sind getrennte Anweisungen, da ein und dasselbe Bild nur einmal geladen wird (und dann nur einmal in der PDF-Datei ist), aber öfters eingefügt werden kann.
Parameter
- fn ("FileName") - Dateiname der Datei, aus welcher das Bild geladen wird.
- n - Name des Bildes. Muss um Dokument eindeutig sein.
Beispiel
#pdf_loadpic n=logo fn=i:\temp\logo_firma.BMP #pdf_insertpic n=logo w=60 h=40 x=50 y=50
#pdf_insertpic
Das Laden und das Einfügen von Bildern sind getrennte Anweisungen, da ein und dasselbe Bild nur einmal geladen wird (und dann nur einmal in der PDF-Datei ist), aber öfters eingefügt werden kann.
Das Bild kann vertikal absolut positioniert werden, indem der Parameter y gesetzt wird. Ist der Parameter y nicht gesetzt, so wird das Bild relativ gesetzt, also unter den Text gesetzt. In diesem Fall werden die Parameter d und mb berücksichtigt.
Parameter
- d ("distance") - Abstand zwischen Text und Bild in mm; Default 0; Funktionen werden ersetzt. Parameter wird nur bei relativer Positionierung berücksichtigt.
- h - Höhe des Bildes; Funktionen werden ersetzt.
- mb ("margin bottom") - Unterer Rand. Würde bei relativer Positionierung dieser Rand unterschritten, so wird eine neue Spalte beziehungsweise neue Seite begonnen.
- n - Name des Bildes. Das Bild dieses Namens muss vorher mit #pdf_loadpic geladen worden sein.
- w ("width") - Breite des Bildes in mm; Funktionen werden ersetzt.
- x - X-Position des Bildes; Funktionen werden ersetzt.
- y - Y-Position des Bildes; Funktionen werden ersetzt. Wenn der Parameter y gesetzt ist, wird das Bild absolut positioniert und die Parameter d und mb bleiben unberücksichtigt.
Beispiel
#pdf_loadpic n=logo fn=i:\temp\logo_firma.BMP #pdf_insertpic n=logo w=60 h=40 x=50 y=50
#pdf_newpage
Beginnt eine neue Seite
Parameter
(keine)
Beispiel
#pdf_newpage
#pdf_newcol
Beginnt eine neue Spalte. Wenn es sich bereits um die letzte Spalte auf der Seite handelt, dann wird eine neue Seite begonnen.
Parameter
(keine)
Beispiel
#pdf_newcol
#pdf_multi
Fügt einen Text ein, die Zeilen werden erforderlichenfalls umgebrochen.
Parameter
- a ("align") - Ausrichtung des Textes
- c ("center") - zentriert
- d2 - rechtsbündig auf zwei Dezimalstellen
- d4 - rechtsbündig auf vier Dezimalstellen
- l - linksbündig
- r - rechtsbündig
- c ("caption") - Text, der ausgegeben werden soll; Funktionen werden ersetzt
- grp ("group") - Gruppenwert; wenn dieser Wert vom vorherigen abweicht, dann wird eine neue Gruppe begonnen; Funktionen werden ersetzt
- l - Linker Rand; Funktionen werden ersetzt; Default 18mm
- mb ("margin bottom") - Wird nach dem Zeilenumbruch dieser untere Rand unterschritten, dann wird eine neue Spalte beziehungsweise neue Seite begonnen; Funktionen werden ersetzt; default 15 mm.
- mbp ("margin bottom paragraph") - Wird nach dem Zeilenumbruch dieser untere Rand unterschritten, und handelt es sich um eine leere Zeile, dann wird eine neue Spalte beziehungsweise neue Seite begonnen; Funktionen werden ersetzt; default 15 mm. (Mit diesem Parameter kann bewirkt werden, dass ein Spalten- oder Seitenumbruch ein wenig vorgezogen wird, damit nicht eine einzelne oder einige wenige einzelne Zeilen am Ende einer Spalte oder Seite stehen bleiben.)
- r - Rechter Rand; Funktionen werden ersetzt; Default 15mm
Beispiel
#pdf_multi mb=15 mbp=22 c=$TEXT(3)
#pdf_multibb
Wie #pdf_multi, allerdings werden Pseudo-BB-Codes interpretiert.
Codes
- [] - Font normal
- [i] - Font kursiv / italic
- [b] - Font fett / bold
- [bi] - Font fett und kursiv / bold italic
#pdf_line
Parameter
Beispiel
#pdf_coldef
Parameter
Beispiel