IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Ouverture d'un PDF dans un nouvel onglet web


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Points : 81
    Points
    81
    Par défaut Ouverture d'un PDF dans un nouvel onglet web
    Bonjour,

    Le langage de programmation est ASP VB.Net
    J'essaye de générer un PDF en ASP, je n'ai aucun soucis en VB WebForm mais la je m'attaque à du ASP et le problème est que je n'arrive pas à ouvrir dans un nouvel onglet voici le code avec le fameux "Hello World"

    Private Sub btnFicheClient_Click(sender As Object, e As EventArgs) Handles btnFicheClient.Click

    Dim doc As Document = New Document
    PdfWriter.GetInstance(doc, New FileStream(Request.PhysicalApplicationPath + "\1.pdf", FileMode.Create))

    doc.Open()
    doc.Add(New Paragraph("Hello World"))
    doc.Close()

    Response.Redirect("~/1.pdf")

    End Sub

    Donc mon Response.Redirect fonctionne très bien mais évidement cela n'ouvre pas sur mon site un nouvel onglet, il reste sur mon site et écrase la page actuelle.
    Une personne pourrait me trouver la solution ? Un target ou autre.

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Sur le lien/bouton tu dois préciser dans la balise si elle s'ouvre dans la page courante ou dans une nouvelle page. (au pire en javascript)

    http://www.w3schools.com/tags/att_a_target.asp

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    J'ai déjà essayé avec un target="_blank" dans la balise bouton et rien ne se passe. Et comment ouvrir en Javascript un pdf qui existe que virtuellement en vb. Il n'existe rien à la place de response.redirect ? Parce que c'est dommage tout fonctionne sauf qu'on reste sur la même page.

  4. #4
    Membre actif
    Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 127
    Points : 288
    Points
    288
    Par défaut
    Essaye peut-être ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write("<script>window.open('~/1.pdf','_blank');</script>");

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    Non déjà essayé car en fait il cherche du coup un fichier en local et ne trouve pas la ressource (Normal c'est un fichier virtuel).
    Vous avez une autre façon vous pour générer un pdf sur un site internet asp net ?

  6. #6
    Membre actif
    Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 127
    Points : 288
    Points
    288
    Par défaut
    Oui iTextSharp marche très bien : https://sourceforge.net/projects/itextsharp/

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    Oui je me suis toujours servi de itextsharp mais en webform la sur internet (asp) le système n'est pas le même

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    Parce que ce bout de code fonctionne et me va :

    Dim Doc As Document = New Document

    PdfWriter.GetInstance(Doc, New FileStream("c:\temp\FichierJ.pdf", FileMode.Create))

    Doc.Open()
    Doc.Add(New Paragraph("Hello World"))
    Doc.Close()

    Process.Start("c:\temp\FichierJ.pdf")

    Problème c'est que sur le site web on ne peux pas enregistrer un fichier sur l'ordinateur du client ^^

  9. #9
    Membre actif
    Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2010
    Messages : 127
    Points : 288
    Points
    288
    Par défaut
    Et bien tu peux créer ton doc, l'afficher dans le browser et le client peut (ou non) le sauver.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    HttpContext.Current.Response.ContentType = "application/pdf"
        HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf")
        HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache)
     
        Dim pdfDoc As New Document()
        PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream)
     
        pdfDoc.Open()
        'WRITE PDF <<<<<<
     
        pdfDoc.Add(New Paragraph("My first PDF"))
     
        'END WRITE PDF >>>>>
        pdfDoc.Close()
     
        HttpContext.Current.Response.Write(pdfDoc)
        HttpContext.Current.Response.End()
    Pour que ce soit dans un autre onglet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HttpContext.Current.Response.Write("<script>");
    HttpContext.Current.Response.Write("window.open('../LOCATION/pages/FILENAME.pdf', '_newtab');");
    HttpContext.Current.Response.Write("</script>");

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2016
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2016
    Messages : 147
    Points : 81
    Points
    81
    Par défaut
    Merci beaucoup,

    Cela fonctionne comme je le souhaite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouverture des fichiers PDF dans une nouvelle fenètre
    Par natalie75 dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 20/05/2015, 10h54
  2. Afficher PDF dans un nouvel onglet
    Par lekerand dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 12/03/2015, 19h07
  3. PDF dans iframe s'ouvre dans un nouvel onglet au lieu de s'ouvrir dans l'iframe
    Par damdidoum dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/05/2011, 12h58
  4. Forcer l'ouverture d'un lien dans un nouvel onglet IE
    Par lucie.houel dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 30/11/2007, 08h47
  5. Comment éviter l'ouverture d'une fenêtre dans un nouvel onglet ?
    Par AhawF6co dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/02/2007, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo