1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : février 2013
    Messages : 41
    Points : 18
    Points
    18

    Par défaut Response as application/pdf changer le titre

    Bonjour,

    Le site de mon entreprise est fait en ASP/VB.NET.
    Je dois modifié le système de facture. J'ai donc fais un système qui affiche la facture en prenant les infos en base et en les remplissant avec Gembox et un docx.
    Bref, tout ça pour dire qu'à la fin je récupère un Byte() et je le renvoi avec le code ci dessous en tant que contenu de la page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                Response.Clear()
                Response.ContentType = "application/pdf"
                Response.OutputStream.Write(stream.GetBuffer(), 0, stream.GetBuffer().Length)
                Response.AddHeader("Content-Disposition", "filename=""" & tInvoice.Number & ".pdf""")
                Response.OutputStream.Flush()
                Response.OutputStream.Close()
                Response.[End]()
    Mon problème est que j'ai beau essayer tout ce que je trouve sur le net et plus encore, je ne trouve pas de solution pour que le titre de la page (dans l'onglet) soit autre chose que le nom du .aspx.
    Je voudrais pouvoir mettre `tInvoice.Number & ".pdf"` en tant que nom de la page (et également en tant que nom du fichier pour que le plugin de chrome l'affiche dans sa barre du dessus)

    Quelqu'un aurais une solution ou une piste ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 334
    Points : 4 558
    Points
    4 558
    Billets dans le blog
    5

    Par défaut

    Bonjour,

    Essai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Response.AddHeader("Content-Disposition", "attachment;filename=""" & tInvoice.Number & ".pdf""")
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : février 2013
    Messages : 41
    Points : 18
    Points
    18

    Par défaut

    Oui, j'ai déjà essayé et ça ne fonctionne pas puisque je veux que ce soit intégrer à la page et pas en téléchargement.

  4. #4
    Rédacteur/Modérateur

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 334
    Points : 4 558
    Points
    4 558
    Billets dans le blog
    5

    Par défaut

    D'accord. J'avais mal compris le besoin. Dans ce cas, le titre de l'onglet est le reflet du contenu de la balise <title> de la page. Il faut donc changer cette balise.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : février 2013
    Messages : 41
    Points : 18
    Points
    18

    Par défaut

    Impossible puisque c'est le plugin du navigateur qui génère le contenu HTML, la page est la même que si l'on ouvre un fichier pdf avec le navigateur. Impossible de le modifier.

  6. #6
    Rédacteur/Modérateur

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 334
    Points : 4 558
    Points
    4 558
    Billets dans le blog
    5

    Par défaut

    Bon, on va y arriver.

    En fait, ce que vous recherchez, c'est que le PDF s'ouvre directement dans la page où se situe le lien permettant d'y accéder ?
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  7. #7
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : février 2013
    Messages : 41
    Points : 18
    Points
    18

    Par défaut

    Oui, en fait, j'ai un lien "http://monsite.fr/Invoice/invoiceviewer?id=4566".
    Et cette URL, grâce au code mis dans mon premier message, me montre un PDF directement dans le navigateur (si le navigateur possède un plugin Acrobat reader, ce qui est le cas dans 90% des cas).
    Le title (Généré donc par le plugin de chaque navigateur. Ce qui veux dire que selon le navigateur le code n'est pas le même et que je n'ai aucun contrôle dessus) est "invoiceviewer", c'est à dire le nom de mon fichier. Ce que je veux c'est pouvoir changer le nom de ce fichier, si c'est possible, et mettre une valeur que j'ai récupéré depuis ma BDD en VB.NET.

  8. #8
    Rédacteur/Modérateur

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 334
    Points : 4 558
    Points
    4 558
    Billets dans le blog
    5

    Par défaut

    D'accord, là, la demande est claire.

    Malheureusement, je crois que ce n'est tout simplement pas possible. En tout cas, pas possible de manière portable.

    Le titre affiché dans un navigateur est classiquement le contenu de la balise <title> ou à défaut, le nom de la page. Lorsque le document est ouvert au sein même du navigateur, il n'y a pas de balise <title>. C'est donc le nom de la page (le comportement que vous observez).

    L'entête "Content-Disposition" permet de définir le comportement souhaité (affichage en ligne, ou téléchargement) pour l'ouverture d'un document (et attention, ce n'est qu'un souhait ! Rien n'indique que cela sera respecté). Et dans le cas du téléchargement, de spécifier le nom du fichier. Mais uniquement en cas de téléchargement.

    Si les navigateurs disposent d'un mécanisme permettant de spécifier cela, alors il y a des chances que cela soit propre à chaque navigateur. Aucune solution portable à première vue.


    La seule solution que je vois consiste, non pas à jouer sur les entêtes, mais sur l'URL. Utiliser de l'URL rewriting par exemple, pour faire en sorte qu'une URL de la forme "http://monsite.fr/Invoice/4566/invoice.pdf" soit réécrite en http://monsite.fr/Invoice/invoiceviewer?id=4566. C'est la seule solution viable qui me vienne à l'esprit.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  9. #9
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : février 2013
    Messages : 41
    Points : 18
    Points
    18

    Par défaut

    D'accord merci, je voulais avoir un autre avis pour être sûr que j'ai bien tout tenté.
    Donc oui j'y avais pensé mais je cherchais une autre solution.
    Je vais faire ça ducoup, à moins que je laisse le title comme ça et puis tempis. le content-disposition que j'ai mis, avec juste le filename, permet (notamment sur google chrome) de mettre le bon nom de fichier si l'utilisateur fait "Ctrl + S", donc pour moi c'est déjà pas mal.

    merci pour ton aide

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/01/2016, 09h42
  2. [VBA] Excel. Changer le titre de l'application.
    Par LeForestier dans le forum Contribuez
    Réponses: 1
    Dernier message: 20/05/2009, 07h22
  3. Changer le titre application sous le logo
    Par dede92 dans le forum phpMyAdmin
    Réponses: 3
    Dernier message: 10/06/2008, 17h02
  4. changer le titre de la fenêtre
    Par seb m. dans le forum JavaScript
    Réponses: 8
    Dernier message: 17/11/2004, 15h29
  5. Réponses: 2
    Dernier message: 17/10/2002, 16h16

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