[php] headers voor het zenden van PDF

Pagina: 1
Acties:

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Welke headers moet ik naar een client zenden om een pdf weer te geven?

Ik gebruik nu "Content-Type: application/pdf";

en gebruik vervolgens
code:
1
2
3
4
while(!feof($file_handle)) {
    $buffer = fread($file_handle, 4096);
    print $buffer;
}

Maar dit werkt niet goed onder IE 6. Onder IE 5 werkt dit wel.

Verwijderd

Content-Disposition: filename=__.pdf
header("Content-Transfer-Encoding: binary");
header("Content-type: application/pdf");

zoiets heb ik in een scriptje ergens staan...

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

als je zelf PDF files maakt mbv bijv. PDFlib dan wordt het zo aangeraden:
PHP:
1
2
3
4
5
<?
header("Content-type: application/pdf");
header("Content-Length: $lengte");
header("Content-Disposition: inline; filename=$bestand.pdf");
?>

  • rookie
  • Registratie: Februari 2000
  • Niet online
tip: gebruik fpassthru in plaats van dat buffer gedoe...

en zet ook meteen in de headers (i.v.m. cache):
PHP:
1
2
3
4
5
6
7
<?
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Ik gebruik inmiddels fpassthru, en zal eens kijken naar de andere headers. Ik las in een newsgroup al dat anderen hetzelfde probleem hadden, en dit opgelost hadden met een Content-length header. Dit loste bij mij het probleem in een aantal gevallen op.

  • HGM
  • Registratie: April 2000
  • Niet online

HGM

Op dinsdag 12 februari 2002 12:07 schreef B-Man het volgende:
Ik las in een newsgroup al dat anderen hetzelfde probleem hadden, en dit opgelost hadden met een Content-length header. Dit loste bij mij het probleem in een aantal gevallen op.
Ik heb ook de Content-length erin zitten (zie boven), maar hoezo "in een aantal gevallen" ??

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Ikzelf draai IE 5, dit werkte ook met alleen een Content-Type header. IE 5.5 en IE 6 werkten niet.

Met de extra Content-Length header werkt het nu ook onder IE 5.5, maar nog niet onder IE 6. Met de drie headers die je gaf (HGM) ben ik nu aan het testen of IE 6 wel werkt.
Pagina: 1