PDF downloaden + Fehler beim Öffnen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PDF downloaden + Fehler beim Öffnen

    Also, mein Problem ist folgendes:
    Ich generiere eine pdf datei, welche korrekt erzeugt wird und auch im ordner abgelegt wird. name: "datei.pdf"
    So, nun will ich diese nach dem generieren zum Download anbieten, was auch klappt, nur beim Öffnen dieser Datei kommt folgender Fehler:

    Beim Öffnen dieses Dokuments ist ein Fehler aufgetreten. Diese Datei ist beschädigt und kann nicht repariert werden.

    Jetzt meine Frage, woran dies liegt.
    Für eure Antworten zur Lösung des Problems, wäre ich euch sehr dankbar.

    Achja, hier noch mein Code:

    PHP-Code:
        if(isset($_GET['get']) AND $_GET['get'] == 'pdf') {

            
    $datei fopen("datei.pdf","w+");
            
    $pdfdatei pdf_open($datei);
            
    pdf_set_info($pdfdatei"Title""Erste PDF-Datei");
            
    pdf_begin_page($pdfdatei595.3842);
            
    pdf_set_font($pdfdatei"arial"6"winansi");
            
    pdf_set_text_pos($pdfdatei50750);
            
            
            
    $sql "SELECT 
                    event, 
                    DATE_FORMAT(date, '%d.%m.%Y') AS date_formatted
                FROM
                    events
                WHERE
                    date > NOW()
                ORDER BY
                    date ASC
                    "
    ;
                            
            
    $x = new Query($sql);
            if(
    $x->error()) 
            {        
                echo 
    "<pre>\n";        
                echo 
    $x->getError();        
                echo 
    "</pre>\n";
                die();   
            }                
            
    $result mysql_query($sql) OR die(mysql_error());
            while(
    $row $x->fetch())
            {
                
    $test $row['date_formatted'].' - '.$row['event'];
                
    pdf_continue_text($pdfdatei$test);
            }    
            
    $x->free();    
            unset(
    $x);    
            
            
    pdf_end_page($pdfdatei);
            
    pdf_close($pdfdatei);
            
    fclose($datei);

        
            
    $filename 'datei.pdf';
            
            
    header("Pragma: public");
            
    header("Expires: 0");
            
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            
    header("Content-Type: application/force-download");
            
    header("Content-Type: application/octet-stream");
            
    header("Content-Type: application/download");
            
    header("Content-Disposition: attachment; filename=".basename($filename).";");
            
    header("Content-Transfer-Encoding: binary");
            
    header("Content-Length: ".filesize($filename));
            
            
    readfile("$filename");
            exit();

        } 
    Gruß

  • #2
    Das Problem ist diese Zeile:
    PHP-Code:
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    Du verbietest damit dem IE, die Datei lokal zwischenzuspeichern und der nimmt das (ein wenig zu sehr) wörtlich. Der Acrobat Reader bekommt dann nichts mehr von der Datei ab.

    Ändere das mal so ab:
    PHP-Code:
    header("Cache-Control: private"); 
    Dann klappt's auch im IE.

    Mario
    Checkliste für Webstandards · Web-Sniffer · Englisch Lernen

    Kommentar

    Lädt...
    X