PDF downloaden + Fehler beim Öffnen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment

    Working...
    X