fastix®: PDF per PHP um Seite erweitern?

Beitrag lesen

Moin!

WOW!
Danke, das ist das, was ich gesucht habe!!!

Noch nicht ganz. Es geht nämlich ohne temporäre Datei, zudem sind ein paar Fehler abzufangen.

<?php  
  
// Main  
  
$vorblatt = 'vorblatt.pdf'; //Vorblatt  
FileCheck($vorblatt);  
  
$document = 'document.pdf'; //Dokument  
FileCheck($document);  
  
header('Content-type: application/pdf'); // Header senden  
header('Content-Disposition: attachment; filename="' . document.pdf . '"');  // Header für Dateiname zum Download  
passthru ("pdftk \"$vorblatt\" \"$document\" cat output -"); // PDFs verbinden und senden  
  
exit; // end Main  
  
function FileCheck($f) {  
    if (! is_file($name)) { // Gibt es die Datei nicht?  
       die ('Fatal: Die Datei ' . htmlentities($name) . ' existiert nicht!');  
    }  
    if (! is_readable($name)) { // Ist die Datei nicht lesbar?  
       die ('Fatal: Die Datei ' . htmlentities($name) . ' kann nicht gelesen werden!');  
    }  
    return true;  
}  
?>

Kleines Problem: Tritt dann noch ein Fehler auf, so wird Folgendes gesendet.

Error: Failed to open PDF file:  
   gibtsnicht.pdf  
Errors encountered.  No output created.  
Done.  Input errors, so no output created.

gesendet. Ich habe nicht getestet, was das Plugin dann macht. Wird das "Dokument" gespeichert, dann steht wohl der Text drin... Klar könnte man das theoretisch puffern und den Puffer prüfen, aber dann hat man möglicherweise das Problem, dass in diesen Puffer ein paar  Megabyte zuviel geschrieben werden.

Der präsentierte Code ist ungetestet und kann Fehler enthalten.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix