Start · Sprachen · PHP · Referenz · ps_get_parameter

ps_get_parameter

Funktion

Liest einen benannten Parameter aus einer PostScript-Ressource und gibt dessen Wert als Zeichenkette zurück.

Kategorie: misc

Signatur

ps_get_parameter(resource $psdoc, string $name, float $modifier = 0.0): string|false

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

Typ
string|false
Beschreibung
Gibt den Wert des angeforderten Parameters als 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);
?>
Aktuelle Schriftart: Helvetica

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);
?>
Gesetztes Encoding: utf8

// 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.