Was ich tun möchte:
Eine lokal auf dem RasPi gespeicherte PDF Datei via Webfront an den Browser schicken, so dass diese angezeigt oder alternativ abgespeichert werden kann.
Nur klappt das bisher nicht.
Erschwerend ist, dass das System keinen Internet Zugang hat. Deswegen kann die Datei nur lokal liegen und nicht zB. auf Dropbox o.ä. bereitgestellt werden.
Folgendes habe ich versucht
Versuch verlinken der PDF
-PDF im Verzeichnis „webfront/user/“ abgelegt
-im Webfront als „Externe Seite“ auf das PDF verlinkt
Resultat: PDF wird nicht an den Browser zurück geschickt (es passiert gar nix)
Versuch PDF Ausgabe via Script
-Script und PDF liegen beide im Verzeichnis „webfront/user/“
-Script gibt als Output HTTP header und PDF zurück
-Script ist als „Externe Seite“ im Webfront eingebunden
<?php
//Start writing your scripts between the brackets
$file = './test.pdf';
$filename = 'filename.pdf';
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
@readfile($file);
?>
Dieser Versuch scheitert daran, dass die Header durch das Webfront schon gesetzt sind und dementsprechend das File vom Browser nicht als PDF erkannt wird.
Hat mir jemand einen Tipp, wie ich das hinbekomme eine lokale PDF Datei (habe ich nur als PDF und nicht in einem anderen Format) aus IPS an den Browser zu schicken?
Vielen Dank für den Tipp mit dem Leerzeichen!
Ist ein Ansatz (falls das nicht ein Copy&Paste Fehler ins Forum war)
Werd mir das heute Abend anschauen und melde dann ob’s geklappt hat.
Leerzeichen war auf Zeile 1 vorhanden - definitiv ein Fehler.
Nach der Korrektur - nix
mit den PHP header() Anweisungen sehe ich im Browser nix vom PDF, scheint ignoriert oder gar nicht zum Browser geschickt zu werden…
Nehme ich die header() Anweisungen raus raus, sehe ich wenigstens den Inhalt des PDFs im Browser. Allerdings ist das noch nicht ganz das Resultat, dass ich erhofft hatte:
<?php
$file = 'test.pdf';
$filename = 'Custom file name for the.pdf'; /* Note: Always use .pdf at the end. */
//header('Content-type: application/pdf');
//header('Content-Disposition: inline; filename="' . $filename . '"');
//header('Content-Transfer-Encoding: binary');
//header('Content-Length: ' . filesize($file));
//header('Accept-Ranges: bytes');
@readfile($file);
?>
Ich weiss nicht mehr weiter… kann es wirklich so schwer sein eine Lokale PDF an den Browser zu schicken?
Hat jemand einen anderen Ansatz wie ich eine lokal gespeicherte PDF an den Browser schicken kann?