Signatur
Beschreibung
ps_end_page() schließt die zuletzt mit ps_begin_page() geöffnete Seite in einem PostScript-Dokument ab. Jede begonnene Seite muss mit diesem Aufruf explizit beendet werden, bevor eine neue Seite geöffnet oder das Dokument geschlossen werden kann.
Die Funktion gehört zur ps-Extension (PostScript), die das Erzeugen von PostScript-Dateien aus PHP heraus ermöglicht. Das typische Muster lautet: Dokument öffnen → Seite beginnen → Inhalte zeichnen → Seite beenden → ggf. weitere Seiten → Dokument schließen.
Wird ps_end_page() nicht aufgerufen, bevor das Dokument mit ps_delete() oder ps_close() geschlossen wird, kann die resultierende PostScript-Datei fehlerhaft oder unvollständig sein. Daher ist es ratsam, den Aufruf immer unmittelbar nach Abschluss der Zeichenoperationen einer Seite zu platzieren.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $psdoc Pflicht | resource | Eine gültige PostScript-Dokument-Ressource, die zuvor mit ps_new() erzeugt und mit ps_open_file() geöffnet wurde. |
Rückgabewert
true zurück, wenn die Seite erfolgreich beendet wurde, oder false im Fehlerfall (z. B. wenn keine Seite geöffnet war oder die Ressource ungültig ist).Beispiele
Einfaches einseitiges PostScript-Dokument
<?php
// PS-Ressource erzeugen
$ps = ps_new();
if (!ps_open_file($ps, '/tmp/ausgabe.ps')) {
die('Datei konnte nicht geöffnet werden.');
}
// Dokumentinformationen setzen
ps_set_info($ps, 'Creator', 'PHP ps_end_page Beispiel');
ps_set_info($ps, 'Title', 'Test-Seite');
// Erste Seite beginnen (A4: 595 x 842 Punkte)
ps_begin_page($ps, 595, 842);
// Text auf der Seite ausgeben
ps_set_value($ps, 'textx', 50);
ps_set_value($ps, 'texty', 780);
ps_show($ps, 'Hallo, PostScript!');
// Seite beenden
ps_end_page($ps);
// Dokument schließen und Ressource freigeben
ps_close($ps);
ps_delete($ps);
echo 'PostScript-Datei erfolgreich erstellt.';
?>
Mehrseitiges PostScript-Dokument
<?php
$ps = ps_new();
ps_open_file($ps, '/tmp/mehrseiter.ps');
ps_set_info($ps, 'Creator', 'PHP Mehrseiter');
ps_set_info($ps, 'Title', 'Mehrseitiges Dokument');
$seiten = ['Seite 1: Einleitung', 'Seite 2: Hauptteil', 'Seite 3: Fazit'];
foreach ($seiten as $inhalt) {
ps_begin_page($ps, 595, 842);
ps_set_value($ps, 'textx', 50);
ps_set_value($ps, 'texty', 780);
ps_show($ps, $inhalt);
// Jede Seite muss explizit beendet werden
ps_end_page($ps);
}
ps_close($ps);
ps_delete($ps);
echo 'Mehrseitiges Dokument mit ' . count($seiten) . ' Seiten erstellt.';
?>
// Wichtig · Fallstricke
Hinweis zur Extension: Die ps-Extension ist nicht standardmäßig in PHP enthalten und muss separat installiert werden (PECL-Paket ps). Sie setzt die externe Bibliothek pslib voraus.
Reihenfolge beachten: ps_end_page() muss immer nach ps_begin_page() aufgerufen werden. Ein verschachtelter Aufruf (Seite innerhalb einer Seite) ist nicht erlaubt und führt zu einem Fehler. Ebenso darf ps_end_page() nicht aufgerufen werden, wenn keine Seite geöffnet ist.