DasIch: generierte PDF Datei über den InternetExplorer öffnen

Hallo Leute,
ich hab ein Problem:
ich hab eine PDF-Datei mit PHP generieren lassen.
Wenn ich aber die Datei anzeigen möchte (das ganze soll über gesendete Header funzen), kommen nur seltsame Zeichen :-D, also der Code der PDF.
Hier mal der Header:
header("Content-type:application/pdf");
header("Content-lenght:" . strlen($buff));
header("Content-disposition:inline, filename=xyz.pdf");

Im Mozilla gehts, aber es soll der IE verwendet werden?
Wie kann ich das lösen?
Danke im Vorraus!

MFG DasIch

  1. Hallo,

    ich hab eine PDF-Datei mit PHP generieren lassen.
    Wenn ich aber die Datei anzeigen möchte (das ganze soll über gesendete Header funzen), kommen nur seltsame Zeichen :-D, also der Code der PDF.

    Vielleicht hilft Dir http://www.fpdf.de/faq/?sid=9569df1750d073783e52d34986f2290d#2 weiter.

    Freundliche Grüße

    Vinzenz

    1. Danke, aber das hilft nicht wirklich.
      Die Datei soll definitiv nicht gespeichert werden!
      Irgendjemand sagte mal was von einer Lösung mit .htaccess
      Gibts da was zum einlesen??

      1. Hi,

        Irgendjemand sagte mal was von einer Lösung mit .htaccess

        Der IE erwartet eine Datei mit .pdf-Endung.

        Nenne den PHP-URL als *.pdf

        Man kann via .htaccess nun die *.pdf ebenfalls von PHP parsen lassen, aber das erlaubt nicht jeder Provider.

        Problemloser geht es mot mod_rewrite (ebenfalls via .htacess möglich):

        RewriteEngine on
        RewriteBase   /
        RewriteRule   ^doc.pdf$ doc.php

        Dann ruft ein http://www.example.org/doc.pdf in Wirklichkeit die doc.php auf, die dann die PDF-Daten ausgibt.

        Gibts da was zum einlesen??

        Nach mod_rewrite googeln.

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        1. Das hilft alles nix,
          ich habs mal versucht die Datei mit Endung .pdf ausführen zu lassen und dem apache dafür php vorzugeben. Da kommen wieder nur die lustigen Zeichen! :-D

  2. Hallo,

    du möchtest also, dass der Browser eine Ressource anzeigt, die er eigentlich gar nicht versteht. Das kann nicht funktionieren.

    header("Content-type:application/pdf");
    header("Content-lenght:" . strlen($buff));
    header("Content-disposition:inline, filename=xyz.pdf");

    Tja, und nun schaut unser lieber Internet Explorer in seinen internen Tabellen nach, was denn der MIME-Typ "application/pdf" eigentlich ist, und da findet er keinen Eintrag. Eigentlich würde er jetzt anbieten, die Datei lokal zu speichern, weil er nichts damit anzufangen weiß. Aber da ist ja noch der content-disposition Header, der ihm dringend nahelegt, die Ressource dennoch "inline" anzuzeigen. Also versucht er es halt als reinen Text, ist das Beste, was er in der Situation hinkriegt.
    Für die korrekte Darstellung des PDFs wäre jetzt das Acrobat-Plugin nötig, das scheint aber auf deinem Testrechner nicht (oder nicht korrekt) installiert zu sein.

    So long,

    Martin

    1. Danke für deine Antwort, Martin.
      Kannst du mir auch sagen, wie ich ihn dazu bringe das Dokument mit dem Acrobat Reader zu öffnen?

      Danke im Vorraus!

      1. Die Lösung ist attachment!!!!
        Juhu!!!

        DANKE!!!!!

  3. Hi,

    header("Content-type:application/pdf");
    header("Content-lenght:" . strlen($buff));

    Tippfehler? leng_th_!

    header("Content-disposition:inline, filename=xyz.pdf");

    Trennzeichen vor den disposition-Parametern ist der Strichpunkt, nicht das Komma.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.