Sie befinden sich hier: Startseite ›› PHP


Problem mit Alpha PDF (FPDF) in Kombination mit FPDI

Als ich die Klasse FPDI mit der Erweiterung Alpha PDF verwenden wollte erhielt ich bei der Erstellung der PDF einen Fehler beim öffnen der Datei. Der PDF-Reader lieferte folgenden Fehler:

Der erweiterte Grafik-Status mit dem Namen "GS1" konnte nicht gefunden werden." 

Das Problem war offensichtlich die Verwendung von SetAlpha aus der Erweiterung AlphaPDF in Kombination mit FPDI. Hier der entsprechende Auszug aus dem Skript:

/* Parameter für Transparenz gesetzt Alpha-Kanal 10 % */
$pdf->SetAlpha(0.1);

Lösung des Problems

Die Behebung des Problems ist relativ simpel und erfolgt durch ersetzten eines Codesegments in der Datei fpdi.php:

/* In der Datei fpdi.php muss folgende Zeile ersetzt werden. */

$this->_out('<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]')

/* Und zwar durch: */

$this->_out('<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]')
$this->_out('/ExtGState <<')
foreach($this->extgstates as $k=>$extgstate) 
$this->_out('/GS'.$k.' '.$extgstate['n'].' 0 R')
$this->_out('>>')