Ich möchte gleichzeitig den in Chrome integrierten PDF-Viewer und das Adobe Reader-Plugin verwenden. Insbesondere möchte ich PDF-Dateien standardmäßig mit dem integrierten Viewer öffnen (da ich dies für sicherer halte), aber Adobe Reader für einige spezielle intern generierte PDF-Dateien verwenden, die Funktionen verwenden, über die der integrierte Viewer nicht verfügt.
Ich habe zwei Fragen:
Erstens, gibt es einen halbwegs vernünftigen Weg, dies zu tun? Ich habe festgestellt, dass Chrome nur zulässt, dass eines der Plug-ins zu einem bestimmten Zeitpunkt aktiv ist, wahrscheinlich, weil es einen Konflikt bei der Unterstützung von Anwendungs- / PDF-Inhalten gibt.
Zweitens, was halten Sie von Folgendem: Meine Lösung muss nur unter Windows funktionieren, und es gibt einen Unterschied in der Funktionsweise von NPAPI-Plugins unter Windows und anderswo. Unter Windows werden die unterstützten MIME-Typen in einer Ressource gespeichert, die ich ändern kann. Es stellt sich heraus, dass ich mein Ziel erreichen kann, indem ich den application / pdf-Eintrag in der Liste der MIME-Typen in etwas anderes ändere:
- Mit Chrome kann ich beide Plugins gleichzeitig aktivieren
- Es verwendet den integrierten PDF-Viewer für alle normalen PDF-Dateien
- Wenn ich etwas anfordere, das eigentlich PDF ist, aber den anderen Inhaltstyp hat, den ich in die Ressource eingefügt habe, lädt Chrome es in das Adobe Reader-Plugin
Ich bin mir nicht sicher, ob dies ein "halbwegs vernünftiger Weg" ist, daher habe ich möglicherweise meine eigene Frage nicht beantwortet. Die Hauptprobleme, die ich sehen kann, sind:
- Ich kann nicht garantieren, dass Adobe die Art und Weise, wie das Plugin eingehende Inhalte identifiziert, in Zukunft nicht mehr ändert. In einigen zukünftigen Versionen wird der Inhalt möglicherweise nicht mehr als PDF behandelt, da er einen unbekannten Inhaltstyp hat
- Es unterbricht die digitale Signatur der Plugin-DLL
- Es verstößt höchstwahrscheinlich gegen die EULA von Adobe Reader, eine geänderte Datei zu "verbreiten", auch wenn dies nur intern geschieht
Was (sonst) kann schief gehen?