Durch IIS Rewrite PDF-Dateien im Browser öffnen

Im Standard der Matrix42 ESM Umgebung ist es so, dass PDF-Dateien, die z.B. als Anhang eines Tickets hochgeladen sind, bei einem Klick heruntergeladen, anstatt angezeigt zu werden.

Heruntergeladene PDF Datei

Schuld daran ist der Header, der von der Matrix42 File-API gesendet wird:

Content-Disposition und Type Header des IIS für PDF Dateien

Dieser weist den Browser an, die Datei herunterzuladen.

Nachdem wir bereits IIS-Themen wie Hostname zu FQDN umleiten & Single Sign on in Matrix42 aktivieren behandelt haben, will ich dir nun zeigen, wie du das ganze ändern und PDF-Dateien direkt im Browser öffnen kannst!

Achtung: Eigene Rewrite-Regeln sind unter Umständen nicht offiziell von Matrix42 unterstützt, im Zweifel direkt beim Hersteller oder deinem Partner nachfragen!

IIS öffnen & Rewrite Regel anlegen

Öffne zuerst mal die URL Rewrite Regeln im IIS.

IIS Url Rewrite öffnen

Lege anschließend über die rechte Seitenleiste „Actions“ via „Add Rule(s)“ eine neue Outbound Rule vom Typ „Blank rule“ an.

Neue Outbound Rule anlegen

Condition erstellen

Nachdem wir einen Namen wie in meinem Beispiel „SetPDFContentType“ vergeben haben, müssen wir erst mal eine neue Precondition erstellen.

Namen vergeben und Precondition erstellen

Mit dieser Precondition stellen wir sicher, dass die Regel(n) nur unter unseren eingestellten Bedingungen die Header modifiziert.

Rewrite Condition für PDF Dateien
In unserem Fall prüfen wir, ob im Header „Content-Disposition“ am Ende pdf steht. Somit sind wir ziemlich sicher, dass es sich bei dem Request um die Anforderung einer PDF-Datei von der File-API handelt.

Parameter der Condition:

  • Condition Input: {RESPONSE_Content-Disposition}
  • Check if input string: Matches the Pattern
  • Pattern: .*pdf

Rewrite-Regel(n) anlegen

Soweit so gut, nun haben wir also die Condition für unsere beiden Regeln. Da wir noch im Erstellungsbildschirm für die Regel “ SetPDFContentType“ sind, fangen wir mit dieser an.

SetPDFContentType

Rewrite Regel Set PDF Content Type
Precondition IsPDF
Matching ScopeServer Variable
Variable nameRESPONSE_Content-Type
Variable valueMatches the Pattern
UsingRegex
Pattern.*
ConditionsKEINE
ActionRewrite
Valueapplication/pdf

SetPDFInlineView

Nun noch brauchen wir eine weitere neue ausgehende Regel, die den Header so modifiziert, dass die PDF „inline“ angezeigt wird und nicht als „attachment“ behandelt wird.

Rewrite Regel Set PDF Inline View
Precondition IsPDF
Matching ScopeServer Variable
Variable nameRESPONSE_Content_Disposition
Variable valueMatches the Pattern
UsingRegex
Patternattachment;(.*)
ConditionsKEINE
ActionRewrite
Valueinline; {R:1}

Ergebnis

[wpdiscuz-feedback id=“n3qhwh1gt5″ question=“Falls es bei dir nicht klappt, sag gerne Bescheid!“ opened=“0″]Das sollte es schon gewesen sein! Wenn du nun die PDF-Anhänge anklickst, sollten diese direkt in einem neuen Tab geöffnet werden und nicht wie bisher als Download gespeichert werden.[/wpdiscuz-feedback]

Weitere Ressourcen zum Thema IIS-Rewrite und PDF-Dateianzeige:

2 Gedanken zu „Durch IIS Rewrite PDF-Dateien im Browser öffnen“

Schreibe einen Kommentar