Signatur
Beschreibung
ps_get_parameter gehört zur PHP-PostScript-Erweiterung (ps) und ermöglicht es, zuvor über ps_set_parameter gesetzte oder intern verwaltete Parameter einer PostScript-Dokument-Ressource abzurufen. Die Funktion wird typischerweise eingesetzt, um den aktuellen Zustand bestimmter Einstellungen zu inspizieren, bevor weitere Zeichenoperationen durchgeführt werden.
Der Parameter name bestimmt, welcher interne Wert abgefragt wird. Gültige Namen sind unter anderem fontname (Name der aktuell gesetzten Schriftart), encoding (Zeichenkodierung), ligaturdiglyphs und weitere, von der ps-Bibliothek definierte Schlüssel. Der optionale Parameter modifier kann in bestimmten Kontexten (z. B. bei der Abfrage von Schriftarten-Informationen) einen numerischen Modifikator übergeben.
Der Rückgabewert ist eine Zeichenkette mit dem aktuellen Wert des Parameters, oder false, wenn der angegebene Name nicht bekannt ist oder ein Fehler auftritt. Die Funktion ist nützlich, um vor dem Rendern sicherzustellen, dass bestimmte Einstellungen korrekt gesetzt wurden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $psdoc Pflicht | resource | Eine gültige PostScript-Ressource, die zuvor mit ps_new() erstellt und mit ps_open_file() geöffnet wurde. |
|
| $name Pflicht | string | Der Name des abzufragenden Parameters, z. B. "fontname", "encoding" oder "scope". Die gültigen Namen sind durch die zugrunde liegende pslib-Bibliothek definiert. |
|
| $modifier | float | 0.0 | Optionaler numerischer Modifikator, der in bestimmten Abfragen (z. B. bei schriftbezogenen Parametern) als Zusatzinformation übergeben wird. |
Rückgabewert
string zurück. Ist der Parameter unbekannt oder tritt ein Fehler auf, wird false zurückgegeben.Beispiele
Aktuelle Schriftart einer PS-Ressource auslesen
<?php
// PostScript-Dokument erstellen
$ps = ps_new();
if (!$ps) {
die('Konnte PS-Ressource nicht erstellen');
}
ps_open_file($ps, 'ausgabe.ps');
ps_begin_page($ps, 595, 842);
// Schriftart setzen
$font = ps_findfont($ps, 'Helvetica', '', 0);
ps_setfont($ps, $font, 12.0);
// Aktuelle Schriftart-Parameter abfragen
$fontname = ps_get_parameter($ps, 'fontname', 0.0);
if ($fontname !== false) {
echo 'Aktuelle Schriftart: ' . $fontname . PHP_EOL;
} else {
echo 'Parameter konnte nicht abgerufen werden.' . PHP_EOL;
}
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
?>
Encoding-Parameter einer PS-Ressource prüfen
<?php
$ps = ps_new();
ps_open_file($ps, 'test.ps');
ps_begin_page($ps, 595, 842);
// Encoding setzen
ps_set_parameter($ps, 'encoding', 'utf8');
// Encoding wieder auslesen und prüfen
$encoding = ps_get_parameter($ps, 'encoding', 0.0);
if ($encoding !== false) {
echo 'Gesetztes Encoding: ' . $encoding . PHP_EOL;
} else {
echo 'Encoding-Parameter nicht verfügbar.' . PHP_EOL;
}
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
?>
// Wichtig · Fallstricke
Erweiterung erforderlich: ps_get_parameter setzt voraus, dass die PHP-Erweiterung ps (pslib) installiert und aktiviert ist. Sie ist nicht Teil der PHP-Standardinstallation und muss separat kompiliert bzw. als PECL-Paket eingebunden werden.
Die Funktion ist eng an die Interna der pslib-Bibliothek geknüpft. Ungültige Parameter-Namen führen zu einem Rückgabewert von false, erzeugen aber je nach Konfiguration möglicherweise keine PHP-Warnung. Es empfiehlt sich daher, den Rückgabewert stets explizit auf false zu prüfen.