none
wie PDF Dateien am besten öffnen mit Adobe Reader RRS feed

  • Frage

  • Hi,

    gibt es eigentlich eine andere (bessere) möglichkeit PDF dateien in asp.net zu öffnen?

    context.Response.ContentType = "application/pdf";
    context.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", filename));
    
    context.Response.TransmitFile(string.Format("{0}\\{1}", documentDirectory, filename));

    Freitag, 9. Dezember 2016 10:47

Antworten

  • Hallo Alex,

    was verstehst du unter besser? Da du ASP.NET erwähnst und anhand des Codes würde ich sagen, dass du die Datei auf einem Server zum Download bereit stellst. Je nach Browser Einstellung wird die PDF-Datei dann ggf. direkt im Browser angezeigt bzw. gespeichert und dann ggf. geöffnet. Wobei der content-disposition-Header dafür sorgt, dass der Browser den Speichern-Dialog anzeigen sollte.

    Je nachdem was du Serverseitig einsetzt, gibt es aber auch noch andere Wege. Beispielsweise gibt es in MVC das FileResult und die dazugehörige File-Methode. Grundsätzlich läuft es aber immer auf das Senden der Bytes mit einem ContentType hinaus. Ggf. noch mit zusätzlichen Headern.


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    • Als Antwort markiert alex_1978 Freitag, 9. Dezember 2016 14:57
    Freitag, 9. Dezember 2016 11:09
  • Hallo Alex,

    das, was Du hier machst, ist, die Datei zum Client zu senden und diesen, wie Tom schon geschrieben hat, durch die Angabe

    content-disposition ... attachment; ...

    in der Regel zur Anzeige des "Speichern unter..." Dialogs zu bewegen. Mit

    content-disposition ... inline; ...

    wird, wenn der Client auch so eingestellt ist, die PDF Datei direkt im Browser bzw. dem zugehörigen Browser Add-On angezeigt.

    In beiden Fällen ist es Voraussetzung, dass auf dem Client ein PDF Reader installiert bzw. vorhanden ist. Manche Browser haben integrierte PDF Anzeigeelemente, manche aber auch nicht.

    Falls Du eine direkte Anzeige ohne clientseitige Anwendung möchtest, schau bspw. mal hier:

      https://pdfobject.com/#examples

      https://mozilla.github.io/pdf.js/


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community



    Freitag, 9. Dezember 2016 11:27
    Moderator

Alle Antworten