Signatur
Beschreibung
ps_set_parameter gehört zur ps-Erweiterung (pslib) für PHP und ermöglicht es, verschiedene Steuerparameter eines PostScript-Dokuments als Zeichenkette zu setzen. Die Funktion beeinflusst das Verhalten der nachfolgenden ps-Befehle, etwa beim Umgang mit Schriften, der Zeichenkodierung oder dem Textsatz.
Typische Parameter sind zum Beispiel fontencoding (legt die Zeichenkodierung für Schriften fest, z. B. ISOLatin1Encoding), ligaturediglyphs (schaltet Ligaturen ein oder aus) oder hyphenation (aktiviert die Silbentrennung). Die genaue Liste der unterstützten Parameternamen hängt von der installierten Version der pslib-Bibliothek ab.
Die Funktion ergänzt ps_set_value, die für numerische Parameter zuständig ist. Damit lassen sich Layout und Erscheinungsbild von PostScript-Ausgaben gezielt steuern, ohne direkt PostScript-Code schreiben zu müssen.
Sie sollte immer nach dem Öffnen des Dokuments mit ps_new und vor den entsprechenden Ausgabebefehlen aufgerufen werden, da Parameter die nachfolgenden Operationen beeinflussen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $psdoc Pflicht | resource | Die PostScript-Ressource, die zuvor mit ps_new() erzeugt wurde. |
|
| $name Pflicht | string | Name des Parameters, der gesetzt werden soll, z. B. fontencoding, imagereuse oder hyphenation. |
|
| $value Pflicht | string | Der Wert, auf den der Parameter gesetzt werden soll, z. B. ISOLatin1Encoding oder true/false als Zeichenkette. |
Rückgabewert
true bei Erfolg zurück, false wenn ein Fehler aufgetreten ist (z. B. ungültiger Parametername oder ungültige Ressource).Beispiele
Zeichenkodierung für Schriften festlegen
<?php
// PostScript-Dokument erstellen
$ps = ps_new();
if (!$ps) {
die('Fehler beim Erstellen der PostScript-Ressource.');
}
// Datei öffnen
ps_open_file($ps, 'ausgabe.ps');
// Zeichenkodierung auf ISO Latin 1 setzen
ps_set_parameter($ps, 'fontencoding', 'ISOLatin1Encoding');
// Schrift laden und verwenden
$font = ps_findfont($ps, 'Helvetica', '', 0);
ps_setfont($ps, $font, 14.0);
// Seite starten und Text ausgeben
ps_begin_page($ps, 595, 842);
ps_show_xy($ps, 'Hallo Welt – Ümläutä!', 50, 700);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
echo 'PostScript-Datei erfolgreich erstellt.';
?>
Silbentrennung aktivieren
<?php
$ps = ps_new();
ps_open_file($ps, 'text_mit_trennung.ps');
// Silbentrennung aktivieren
ps_set_parameter($ps, 'hyphenation', 'true');
// Sprache für Silbentrennung setzen
ps_set_parameter($ps, 'hyphendict', 'hyph_de.dic');
$font = ps_findfont($ps, 'Times-Roman', '', 0);
ps_setfont($ps, $font, 12.0);
ps_begin_page($ps, 595, 842);
// Weiterer Ausgabe-Code ...
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
echo 'Dokument mit Silbentrennung erstellt.';
?>
// Wichtig · Fallstricke
Veraltete Erweiterung: Die ps-Erweiterung basiert auf der externen Bibliothek pslib und wird in modernen PHP-Projekten kaum noch eingesetzt. Für neue Projekte empfiehlt sich die Verwendung von PDFlib oder FPDF/TCPDF zur PDF-Erzeugung.
Die verfügbaren Parameternamen und deren gültige Werte sind in der offiziellen PHP-Dokumentation sowie in der pslib-Dokumentation aufgeführt. Ein ungültiger Parametername führt zu false als Rückgabewert, wirft jedoch keine Exception.
Nicht alle Parameter sind in jeder pslib-Version verfügbar. Es empfiehlt sich, die verwendete pslib-Version zu prüfen, wenn Portabilität wichtig ist.