sarekhl
Goto Top

PDF-Dateien in WebSites

Hallo zusammen,

ich habe mal eine Frage zur Einbindung von PDF-Dokumenten in WebSites. Mir ist aufgefallen, daß auf einigen WebSites der Link auf ein PDF-Dokument dazu führt, daß das Dokument heruntergeladen wird (Browser zeigt den DateiSpeichern-Dialog) und bei anderen WebSites das Dokument direkt im Browser (bzw. im Acrobat-Plugin des Browsers) angezeigt wird.

Weiß jemand, woran es liegt, ob die Datei direkt angezeigt oder heruntergeladen wird? Ich würde das auf eigenen WebSites gerne bewußt einsetzen ...


Danke im Voraus,
André

Content-Key: 154557

Url: https://administrator.de/contentid/154557

Printed on: April 23, 2024 at 19:04 o'clock

Member: ShitzOvran
ShitzOvran Nov 08, 2010 at 12:33:57 (UTC)
Goto Top
also meiner Meinung nach liegt es wirklich am PlugIn...

ich habe festgestellt, dass ich alle Links, die zu einem PDF führten runterladen musste bevor ich zB in Firefox das AdobeReader-PlugIn installiert hatte. Es ist also rein eine Sache des Browsers wie er mit dem angegebenen Content umzugehen hat.

man kann allerdings das Harunterladen erzwingen.. wobei ich gerade aus dem Kopf das php-skript nicht kenne
Member: em-pie
em-pie Nov 08, 2010 at 13:02:47 (UTC)
Goto Top
Hi,

für den umgekehrten Weg (also PDF zwanghaft einbetten wäre vllt. folghendes Interessant: http://www.php.de/html-usability-und-barrierefreiheit/31134-erledigt-mo ..)

Gruß
meistro87
Member: SarekHL
SarekHL Nov 08, 2010 at 14:19:43 (UTC)
Goto Top
ich habe festgestellt, dass ich alle Links, die zu einem PDF führten runterladen musste bevor ich zB in Firefox das AdobeReader-PlugIn installiert hatte. Es ist also rein eine Sache des Browsers wie er mit dem angegebenen Content umzugehen hat.

Das ist klar, aber ist habe beide Verhaltensweisen mit dem selben Browser (und zwar nach Installation des Adobe Readers und damit dessen Plugins) beobachtet. Es muß also noch eine andere Ursache geben, die nicht browserseitig zu suchen ist.
Member: ShitzOvran
ShitzOvran Nov 08, 2010 at 15:24:40 (UTC)
Goto Top
Ja, wie gesagt, es kann ja gut angehen, dass auf den Seiten, bei denen das Downloadfenster kam, das PHP-Script eingebunden war, welches den Browser zum herunterladen zwingt... hast du evtl mal ein konkretes Beispiel?
Member: em-pie
em-pie Nov 08, 2010 at 15:32:08 (UTC)
Goto Top
Tagchen,

Ohne dass du den Quellcode kennst wirst du so schnell nicht weiter kommen ;)

Am besten du gibst uns mal eine Internetseite und du schaust mal, wie sich die selbe Seite mit untersch. Browsern verhält!


Wenn du vorhast, dass alle PDFs immer herunter geladen werden sollen, wäre vllt folgernder Link noch relevant:
http://forum.jswelt.de/serverseitige-programmierung/29757-php-download- ...


Gruß
meistro
Member: Florian.Sauber
Florian.Sauber Nov 08, 2010 at 22:57:46 (UTC)
Goto Top
Hallo André,

das hängt von dem MIME- bzw. Content-Type ab, mit dem das Dokument vom Server via HTTP verteilt wird.

Mit CGI, PHP, etc, aber auch über den Webserver selbst, kannst Du bestimmen, wie dies geschieht.

Liegt "application/pdf" vor, erkennt es der Browser / das Plugin und läd das pdf, da diesdurch Medientyp "Ausführbare Datei" und Sbtyp "pdf" bekannt gemacht worden ist.

Manche Server verteilen aber alle Medientypen "application" mit Subtyp "octet-stream" für "ausführbare Datei". Dann bekommt der Browser/Plugin nichts davon mit, dass es sich um ein pdf handelt und stellt es über den Download-Dialog bereit, wie er es z.B. auch mit einer EXE-Datei machen würde.

Hier z.B. kannst Du darüber noch etwas mehr erfahren:

Unter Apache z.B. kannst Du das mit AddType in der .htaccess steuern.
AddType application/octet-stream .pdf
würde dafür sorgen, dass alle pdfs nicht mehr vom Plugin als solches erkannt werden.

LG Florian
Member: SarekHL
SarekHL Nov 09, 2010 at 04:38:55 (UTC)
Goto Top
das hängt von dem MIME- bzw. Content-Type ab, mit dem das Dokument vom Server via HTTP verteilt wird.

Mit CGI, PHP, etc, aber auch über den Webserver selbst, kannst Du bestimmen, wie dies geschieht.

[...]

AddType application/octet-stream .pdf
würde dafür sorgen, dass alle pdfs nicht mehr vom Plugin als solches erkannt werden.

Das scheint mir in die richtige Richtung zu gehen. Nun möchte ich das ganze natürlich nicht über den Webserver steuern, da ich ja beide Varianten einsetzen möchte, sozusagen einen Download-Link und einen Betrachten-Link für das Dokument. Dann müßte ich es also nach dem was Du schreibst über PHP steuern. Hast Du da ein Codebeispiel, wie ich das in meinem HTML-Dokument einbinde? Oder ein Codebeispiel für ein CGI-Script und dessen Einbindung?


Danke,
André
Member: Florian.Sauber
Florian.Sauber Nov 09, 2010 at 12:55:43 (UTC)
Goto Top
Hallo André,

Zitat von @SarekHL:
Dann müßte ich es also nach dem was Du schreibst über PHP steuern. Hast Du da ein Codebeispiel, wie ich
das in meinem HTML-Dokument einbinde? Oder ein Codebeispiel für ein CGI-Script und dessen Einbindung?
Wenn Du bisher kein PHP nutzt, wird Dir das wohl nichts bringen. Ein grundsätzliche Vorgehen, wäre z.B., dass über einen Link ein PHP-Script gestartet wird, dass den Download steuert. Ist aber ohne ein dahinterstehende Konzept nicht unbedingt anzuraten.

Evtl besser für Dich wäre folgendes. Du hast das falsch verstanden:
Nun möchte ich das ganze natürlich nicht über den Webserver steuern, da ich ja beide Varianten einsetzen möchte, sozusagen einen Download-Link und einen Betrachten-Link für das Dokument.
Eine Steuerung via .htaccess muss ja nicht global auf dem ganzen Server laufen. Vielmehr gelten sie für Verzeichnisse und deren Unterverzeichnisse.
Da Du beide Möglichkeiten anbieten willst, würde ich 2 Verzeichnisse benutzen.
Ein "Betracht-Verz" und ein "Download-Verz". Die PDFs packst Du dann in beide Verzeichnisse. Während das "betracht-Verz" keine .htaccess-Datei beinhaltet, erstellst Du im "DL-Verzeichnis" ein .htaccess Datei mit dem obeigen Parameter AddType.
Wenn Du nun auf die Datei im "Betr-Verz" verlinkst, wird das PDF "ganz normal" ausgeliefert; bei Dir also im Browser-Plugin geöffnet.
Wenn Du auf eine Datei im "DL-Verz." verlinkst, greifen die htaccess-Einstellungen und die dortigen Dateien werden vom Server mit MIME-Type application/octet-stream ausgeliefert und der Download-Dialog erscheint.

LG Florian