IE6 und PDF Generierung über Header
Florian
- php
Hallo,
ich versuche gerade verzweifelt PDFs über Header zu generieren. Zielsystem, auf dem das ganze lauffähig sein soll:
- IE6 Version 6.0.3790.3959 Updateversion SP2
- Adobe Reader 7.08
- SSL Verschlüsselung aktiv
Diese Vorgaben sind leider gegeben.
Ohne SSL habe ich eine passende Header Kombination gefunden. Mit SSL bin ich jetzt soweit, dass das PDF generiert wird, beim Öffnen allerdings die Fehlermeldung, das die Datei "nicht repariert werden kann". Ich zwar schon viele Forenbeiträge diverser Foren probiert, dennoch ohne Ergebnis.
Hier mal der Code:
//==============================================
function stream($options = '') {
if (!is_array($options)) {
$options = array();
}
if ( headers_sent())
die("Unable to stream pdf: headers already sent");
if ( isset($options['compress']) && $options['compress'] == 0) {
$tmp = ltrim($this->output(1));
} else {
$tmp = ltrim($this->output());
}
//keine Ahnung, ob das nötig ist ;)
header('HTTP/1.1 200 OK');
header('Status: 200 OK');
//SSL Bug unter IE 6
header('Pragma: anytextexeptno-cache',true);
header("Cache-Control: private");
header("Content-type: application/pdf");
header("Content-Length: " . strlen($tmp));
$fileName = (isset($options['Content-Disposition']) ? $options['Content-Disposition'] : 'file.pdf');
if ( !isset($options["Attachment"]))
$options["Attachment"] = true;
$attachment = $options["Attachment"] ? "attachment" : "inline";
header("Content-Disposition: $attachment; filename="$fileName"");
header("Content-transfer-encoding: binary\n");
if (isset($options['Accept-Ranges']) && $options['Accept-Ranges'] == 1) {
header("Accept-Ranges: " . strlen($tmp));
}
echo $tmp;
flush();
}
//=========================================================
Vielleicht kann ja einer helfen,
Thx 4 help
Florian