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

React Discussion :

Ouvrir un pdf avec REACT


Sujet :

React

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mai 2021
    Messages : 35
    Points : 52
    Points
    52
    Par défaut Ouvrir un pdf avec REACT
    Bonjour, j'aimerai ouvrir un pdf grâce à une balise link, exemple :

    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    {
            id:1,
            name:"Création d'un site avec Symfony 4 : base de donnée + formulaire",
            tags:["Symfony","sql","formulaire"],
            date:"octobre, 2021",
            imgSrc:"https://res.cloudinary.com/practicaldev/image/fetch/s--sBeV06Xc--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2yrzy75q4dzibqz6rf82.png",
            link: '../assets/GestionLivreRendu.pdf'
        },
    sauf que ça ouvre bien une nouvelle page, mais vide, et pas de pdf en vue.

    J'ai donc essayer de mettre une balise <a> avec un href vers le pdf lors de la création de la "box" (une sorte de div qui affiche les paramètres de ci-dessus)
    Cela marche, mais je n'arrive pas à choisir en fonction de l'id de l'objet donné.
    Je pensais à mettre un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(id === 1){
       <Box target="_blank" to={{ pathname: `${Pdf}` }}>
    }
    if(id === 2){
       <Box target="_blank" to={{ pathname: `${Pdf2}` }}>
    }
    en sachant que Pdf et Pdf2 sont des import des pdfs (import Pdf from '../assets/fifactRendu.pdf';)
    Je pense que c'est censé marcher mais je débute et j'arrive vraiment pas a utiliser les if en prenant la variable id, quelqu'un pour m'aider soit à faire la méthode des if, soit à m'expliquer une autre façon de le faire.
    PS : Toutes les "div" qui affichent les objets sont créer d'un coup (comme un foreach quoi), du coup je peux changer que la variable avec des conditions :/

  2. #2
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    Il n'est pas possible d'utiliser des if dans le return d'un .jsx pour rendre un composant optionnel, la méthode est la suivante :
    {id ===0 && <MyComponent/>} la deuxième partie du test (<MyComponent/>) est toujours vraie donc si le membre de gauche est vrai alors <MyComponent/> sera rendu.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mai 2021
    Messages : 35
    Points : 52
    Points
    52
    Par défaut Alors ?
    Alors je dois faire quoi si le if ne marche pas ?

  4. #4
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    je t'ai donné la réponse dans mon message précédent, il suffit de l'adapter

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mai 2021
    Messages : 35
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par -Nikopol- Voir le message
    Il n'est pas possible d'utiliser des if dans le return d'un .jsx pour rendre un composant optionnel, la méthode est la suivante :
    {id ===0 && <MyComponent/>} la deuxième partie du test (<MyComponent/>) est toujours vraie donc si le membre de gauche est vrai alors <MyComponent/> sera rendu.
    ça veut dire que, je dois mettre
    {id ===0 && <MyComponent/>} (MyComponent c'est quoi?)
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    const Box = styled(motion(NavLink))`
      backdrop-filter: blur(2px);
      box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
      text-decoration: none;
      width: calc(10rem + 15vw);
      height: 20rem;
      border: 2px solid ${(props) => props.theme.text};
      padding: 1rem;
      color: ${(props) => props.theme.text};
      `};
    `;
    En fait je comprends pas comment ça marche ;(
    A quel moment je choisi la variable qui sera dans le pathname ?
    Code JS : 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
     
    const BlogComponent = (props) => {
      const { name, tags, date, imgSrc, link } = props.blog;
      return (
        <Container variants={item}>
          <Box target="_blank" to={{ pathname: `${link}` }}>
            <Image img={imgSrc} />
            <Title>{name}</Title>
            <HashTags>
              {tags.map((t, id) => (
                <Tag key={id}>#{t}</Tag>
              ))}
            </HashTags>
            <Date>{date}</Date>
          </Box>
        </Container>
      );
    };

Discussions similaires

  1. ouvrir un pdf avec vb.net
    Par charouel dans le forum VB.NET
    Réponses: 4
    Dernier message: 30/07/2009, 11h38
  2. Ouvrir un PDF avec GhostScript
    Par bremer dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 24/02/2008, 17h10
  3. impossible d'ouvrir un pdf avec reader8
    Par pmoury06 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 02/03/2007, 15h32
  4. ouvrir document pdf avec chemin absolu complet
    Par aurelie83 dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2006, 17h48
  5. Ouvrir un PDF avec un autre logiciel qu'Acrobat
    Par JimmyB dans le forum Access
    Réponses: 2
    Dernier message: 18/10/2006, 21h27

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