Mozilla Firefox integrierten PDF Viewer pdf.js deaktivieren bzw. verhindern

Mit Version 19 hat Mozilla im Firefox ein eigenes Plugin zur Anzeige von PDF-Dokumenten eingeführt – den PDF-Viewer bzw. PDF-Betrachter pdf.js. Plugin ist dabei eigentlich das falsche Wort, denn es handelt sich bei pdf.js nicht um ein Plugin, sondern um einen Javascript-Renderer, der das PDF-Dokument „on the fly“ in HTML und CSS umwandelt und dann im Browser ausgibt. Das funktioniert bei kleineren Dateien mit einfacher Struktur auch leidlich gut. Bei größeren und komplexen Dokumenten geht die Performance aber sehr schnell in die Knie und manchmal steigt der Viewer auch komplett aus. Von der Qualität der Darstellung will ich gar nicht erst anfangen. Wie man den Firefox-Viewer deaktiviert und wie man verhindern kann, dass die eigenen PDF-Dateien damit geöffnet werden, will ich hier kurz erklären.

Mozillas ursprüngliche Motivation für die Entwicklung von pdf.js waren Sicherheitsaspekte. Plugins sind beliebte Einfallstore für Trojaner und besonders der Acrobat Reader oder auch das Java Plugin haben in der Hinsicht immer wieder für Schlagzeilen gesorgt. Allerdings ist die Umsetzung von pdf.js bei weitem nicht perfekt. Sobald die Dokumente komplexer werden, starrt man gefühlte Ewigkeiten auf das Ladesymbol, die Darstellung, insbesondere von Schriften, lässt zu wünschen übrig und mit interaktiven PDF-Formularen kann pdf.js überhaupt nicht umgehen. Viele Anwender wünschen sich daher die herkömmliche Anzeige z.B. mit den Acrobat Reader zurück.

PDF im Firefox mit Acrobat Reader anzeigen

Wenn man PDF-Dateien statt mit pdf.js lieber mit Acrobat Reader oder einem anderen Programm öffnen will, kann man das sehr einfach in den Firefox-Einstellungen festlegen. Die entsprechende Option findet sich unter dem Reiter „Anwendungen“. In der Liste wählt man neben dem Eintrag „Portable Document Format (PDF)“ das gewünschte Programm, z.B. „Adobe Acrobat (in Firefox)“ wenn sich die PDF-Dateien im Acrobat-Plugin öffnen sollen.

Firefox: Acrobat Reader statt PDF-Viewer verwenden
Firefox: Acrobat Reader statt PDF-Viewer verwenden

Wer die Sicherheit etwas erhöhen möchte, wählt hier die Option „Jedes Mal nachfragen“. Dann können Trojaner-verseuchte PDF-Dateien zumindest nicht ungefragt – z.B. durch Drive-By-Downloads – auf den Rechner gelangen.

Anzeige von PDF-Dateien im Firefox PDF-Viewer serverseitig verhindern

Wenn man als Webmaster oder Seitenbetreiber verhindern will, dass eigene PDF-Dateien mit dem Firefox PDF-Betrachter angezeigt werden, kann man sich mit einer .htaccess Datei behelfen. Die Idee ist, den MIME-Type für die betreffenden Dateien zu ändern und das auch nur, wenn die Datei mit dem Mozilla Firefox abgerufen wird. Der MIME-Type wird vom Apache-Webserver im HTTP-Header-Feld „Content-Type“ mitgesendet. Bei PDF-Dateien wird das Feld in der Regel standardmäßig auf „application/pdf“ gesetzt. Anhand der MIME-Type-Angabe im Response-Header entscheidet der Browser, ob er die Datei selbst anzeigt oder an welches Anzeige-Programm oder Plugin er sie weiterleitet.

MIME-Type für PDF-Dateien im HTTP-Header
MIME-Type „application/pdf“ für PDF-Dateien im HTTP-Antwort-Header

Mit der folgenden .htacces-Datei kann man verhindern, dass PDF-Dateien im Firefox mit dem integrierten PDF-Viewer angezeigt werden:

RewriteEngine on
RewriteCond %{REQUEST_URI} \.pdf$
RewriteCond %{HTTP_USER_AGENT} Firefox/[0-9]+
RewriteRule .* - [T=application/octet-stream]

Voraussetzung ist ein aktives Mod_Rewrite Modul im Apache. Die Rewrite Engine wird in der ersten Zeile eingeschaltet. Die folgende Rewrite Condition sorgt dafür, dass die Rewrite Rule nur für Dateien mit der Endung .pdf angewendet wird. Die zweite Bedingung sorgt wiederum dafür, dass die Regel nur bei Verwendung des Firefox zum Einsatz kommt. Die Rewrite Rule überschreibt schließlich mit Hilfe des T-Flags das Content-Type-Feld im HTTP-Response-Header. Statt „application/pdf“ wird „application/octet-stream“ verwendet. Das sorgt dafür, dass der Browser die Datei wie einen Download behandelt.

Wer dieses Verhalten nur für ganz bestimmte PDF-Dateien erzwingen möchte, muss entweder den regulären Ausdruck in Zeile 2 entsprechend anpassen oder die Dateien zusammen mit der .htaccess in ein separates Unterverzeichnis verschieben. Wenn auf dem Server keine Mod_Rewrite zur Verfügung steht, hilft eventuell der folgende Einzeiler in der .htaccess:

AddType application/octet-stream .pdf

Diese Anweisung überschreibt ebenfalls das Content-Type-Feld für PDF-Dateien, allerdings auch bei jedem Browser und nicht nur im Firefox. Das ist aus Nutzersicht nicht optimal. Die erste Version mit Hilfe von Mod_Rewrite ist definitiv die bessere Alternative. Für Korrekturen, Anmerkungen oder Verbesserungsvorschläge ist wie immer Platz in den Kommentaren 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.