AIDE SUR LES NœUDS

linkify-react (Comment ça fonctionne : un guide pour les développeurs)

Publié février 19, 2025
Partager:

Introduction

Dans le vaste monde du développement web, créer des liens cliquables ou une balise d’ancrage au sein d'un texte est une tâche fondamentale. Que vous créiez un blog, une plateforme de réseaux sociaux ou un client de messagerie, la capacité de détecter et de convertir automatiquement les URL, adresses e-mail et autres textes en liens cliquables est essentielle pour offrir une expérience utilisateur fluide. Découvrez Linkify React – un puissant package npm conçu pour simplifier ce processus dans les applications React. Dans cet article, nous allons explorer comment vous pouvez utiliser Linkify pour simplifier la création de liens dans vos projets React, accompagnée d'exemples de code pour démontrer son utilisation.

En plus de cela, nous vous présenterons égalementIronPDF, une bibliothèque polyvalente qui vous permet de générer des documents PDF de haute qualité à partir de vos pages web. Nous vous montrerons qu'en utilisant IronPDF en parallèle avec Linkify, vous pouvez facilement créer des PDF qui conservent les liens cliquables identifiés et convertis par Linkify, assurant ainsi que vos documents maintiennent la même interactivité que votre contenu web.

Commencer avec le composant React Linkify

Linkify React est un package npm léger et facile à utiliser qui automatise la conversion de texte brut contenant des URL, des adresses email et d'autres liens découverts au sein de chaînes enfants en hyperliens cliquables sous forme d'éléments imbriqués. Il élimine le besoin d'analyser et de formater manuellement les liens, ce qui permet aux développeurs de gagner un temps et des efforts précieux. Explorons comment vous pouvez intégrer Linkify dans vos applications React.

Installation

Pour commencer avec React Linkify, vous devez d'abord l'installer comme dépendance dans votre projet. Vous pouvez le faire en utilisant npm ou yarn. Ouvrez votre terminal et exécutez la commande suivante :

npm install react-linkify
//or
yarn add react-linkify

Utilisation

Une fois React Linkify installé, vous pouvez facilement l'intégrer à vos composants React. Voici un exemple simple démontrant comment utiliser React Linkify pour rendre des liens cliquables dans le contenu texte :

import React from 'react';
import Linkify from 'react-linkify';
const MyComponent = () => {
  return (
    <div>
      <h1>Clickable Links with React Linkify</h1>
      <Linkify>
        <p>
          Check out this cool website: https://example.com
          <br />
          You can also reach me at hello@example.com
        </p>
      </Linkify>
    </div>
  );
};
export default MyComponent;
JAVASCRIPT

Dans cet exemple, nous importons le composant Linkify à partir du paquet react-linkify et enveloppons notre contenu texte à l'intérieur. React Linkify détecte automatiquement les URL et les adresses e-mail dans le texte et les convertit en hyperliens cliquables.

Personnalisation

Linkify offre divers props, attributs, et options pour personnaliser le comportement et l'apparence des liens générés. Par exemple, vous pouvez spécifier des attributs cibles pour contrôler comment les liens sont ouverts(par exemple, sous forme de liens externes menant à un nouvel onglet, ou sous forme de balises d'ancrage). Voici comment vous pouvez personnaliser le comportement de React Linkify :

<Linkify properties={{ target: '_blank' }}>
  <p>
    Clickable links will open in a new tab: https://example.com
  </p>
</Linkify>
JAVASCRIPT

Présentation d'IronPDF

IronPDFest un puissant paquet npm conçu pour faciliter la génération de PDF dans les applications Node.js. Il vous permet de créer des documents PDF à partir deContenu HTML, URLs, ou des fichiers PDF existants. Que vous génériez des factures, des rapports ou tout autre type de document, IronPDF simplifie le processus grâce à son interface intuitiveAPIet ensemble de fonctionnalités robustes.

linkify-react(Comment ça fonctionne : Un guide pour les développeurs) : Figure 1 - IronPDF for Node.js : Le site web de la bibliothèque PDF Node.js

Les principales caractéristiques d'IronPDF sont les suivantes

1. Conversion de HTML en PDF

Convertir le contenu de l'interface des éléments HTML en documents PDF sans effort. Cette fonction est particulièrement utile pour générer des PDF dynamiques à partir de contenus web.

2. Conversion d'URL en PDF

Générez des PDFs directement à partir d'URLs. Cela vous permet de capturer le contenu des pages web et de les enregistrer sous forme de fichiers PDF de manière programmatique.

3. Manipulation de PDF

Fusionnez, divisez et manipulez facilement des documents PDF existants. IronPDF offre des fonctionnalités pour manipuler des fichiers PDF, telles que l'ajout de pages, la division de documents, et bien plus encore.

4. Sécurité PDF

Sécurisez vos documents PDF en les chiffrant avec des mots de passe ou en appliquant des signatures numériques. IronPDF propose des options pour protéger vos documents sensibles contre les accès non autorisés.

5. Sortie de haute qualité

Produisez des documents PDF de haute qualité avec un rendu précis du texte, des images et de la mise en forme. IronPDF veille à ce que les PDF générés restent fidèles au contenu original.

6. Compatibilité multiplateforme

IronPDF est compatible avec diverses plateformes, notamment Windows, Linux et macOS, ce qui le rend adapté à un large éventail d'environnements de développement.

7. Intégration simple

Intégrez facilement IronPDF à vos applications Node.js à l'aide de son package npm. L'API est bien documentée, ce qui facilite l'intégration des capacités de génération de PDF dans vos projets.

Que vous construisiez une application web, un script côté serveur ou un outil en ligne de commande,IronPDFvous permet de créer des documents PDF de qualité professionnelle de manière efficace et fiable.

Générez des documents PDF en utilisant IronPDF et Linkify React

Installer les dépendances : Tout d'abord, créez un nouveau projet Next.js(si vous ne l'avez pas encore fait) à l'aide de la commande suivante :

npx create-next-app@latest linkify-ironpdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"

Ensuite, accédez au répertoire de votre projet :

cd linkify-ironpdf

Installez les paquets nécessaires :

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add react-linkify

Créer un PDF

Maintenant, créons un exemple simple de génération d'un PDF à l'aide d'IronPDF. Dans votre composant Next.js(par exemple, pages/index.tsx)ajoutez le code suivant :

API de génération de PDF : La première étape consiste à créer une API pour générer le document PDF. Comme IronPDF ne fonctionne que côté serveur, nous devons créer une API à appeler lorsqu'un utilisateur souhaite générer un PDF. Créez un fichier dans le chemin pages/api/pdf.js et ajoutez le contenu ci-dessous.

IronPDF nécessite également une clé de licence, que vous pouvez obtenir depuis lepage de licenceet placez-le dans le code ci-dessous :

// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key goes here";
export default async function handler(req, res) {
    try {
        const url = req.query.url
        const pdf = await PdfDocument.fromUrl(url);
        const data = await pdf.saveAsBuffer();
        console.error('data PDF:', data);
        res.setHeader('Content-Type', 'application/pdf');
        res.setHeader('Content-Disposition', 'attachment; filename=awesomeIron.pdf');
        res.send(data);
    } catch (error) {
        console.error('Error generating PDF:', error);
        res.status(500).end();
    }
}
JAVASCRIPT

Créé en utilisant IronPDF et Linkify, le code index.js ci-dessous configure la page de génération de PDF pour l'utilisateur :

import Head from "next/head";
import styles from "../styles/Home.module.css";
import React, { useState } from "react";
import Linkify from 'react-linkify';
export default function Home() {
  const [text, setText] = useState("");
  const generatePdf = async () => {
    try {
      const response = await fetch("/api/pdf?url=" + text);
      const blob = await response.blob();
      const url = window.URL.createObjectURL(new Blob([blob]));
      const link = document.createElement("a");
      link.href = url;
      link.setAttribute("download", "awesomeIron.pdf");
      document.body.appendChild(link);
      link.click();
      link.parentNode.removeChild(link);
    } catch (error) {
      console.error("Error generating PDF:", error);
    }
  };
  const handleChange = (event) => {
    setText(event.target.value);
  };
  return (
    <div className={styles.container}>
      <Head>
        <title>Generate PDF Using IronPDF</title>
        <link rel="icon" href="/favicon.ico" />
      </Head>
      <main>
        <h1>Demo Linkify and Generate PDF Using IronPDF</h1>
        <p>
          <span>Enter Url To Linkify and Convert to PDF:</span>{" "}
        </p>
        <Linkify properties={{ target: '_blank' }}>
        <p>
          Clickable links from input text: {text}
        </p>
        </Linkify>
        <button style={{ margin: 20, padding: 5 }} onClick={generatePdf}>
          Generate PDF From Link
        </button>
      </main>
      <style jsx>{`
        main {
          padding: 5rem 0;
          flex: 1;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
        }
        footer {
          width: 100%;
          height: 100px;
          border-top: 1px solid #eaeaea;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        footer img {
          margin-left: 0.5rem;
        }
        footer a {
          display: flex;
          justify-content: center;
          align-items: center;
          text-decoration: none;
          color: inherit;
        }
        code {
          background: #fafafa;
          border-radius: 5px;
          padding: 0.75rem;
          font-size: 1.1rem;
          font-family:
            Menlo,
            Monaco,
            Lucida Console,
            Liberation Mono,
            DejaVu Sans Mono,
            Bitstream Vera Sans Mono,
            Courier New,
            monospace;
        }
      `}</style>
      <style jsx global>{`
        html,
        body {
          padding: 0;
          margin: 0;
          font-family:
            -apple-system,
            BlinkMacSystemFont,
            Segoe UI,
            Roboto,
            Oxygen,
            Ubuntu,
            Cantarell,
            Fira Sans,
            Droid Sans,
            Helvetica Neue,
            sans-serif;
        }
        * {
          box-sizing: border-box;
        }
      `}</style>
    </div>
  );
}
JAVASCRIPT

Explication du code

  1. Entourez la balise HTML qui contient le texte du lien avec le composant Linkify

  2. Lorsque l'utilisateur saisit un texte, si celui-ci est un lien, alors le composant le convertit automatiquement en lien et affiche le lien cliquable.

  3. Lorsque le bouton 'Générer PDF' est cliqué, le lien est envoyé à l'API de génération de PDF en backend, et un document PDF est généré à partir du lien URL.

Page de génération du PDF exporté

linkify-react(Comment ça fonctionne : Un guide pour les développeurs) : Figure 2 - Page générée pour la création de PDF

PDF résultant

linkify-react(Comment ça Marche : Un Guide pour les Développeurs) : Figure 3 - PDF généré à partir du clic sur le bouton 'Générer PDF'

Licence d'IronPDF

LesIronPDF.

Placez la clé de licence ici :

import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your license key here";
JAVASCRIPT

Conclusion

React Linkify simplifie le processus de création de liens cliquables dans le contenu textuel des applications React. En automatisant la détection et la conversion des URL, des adresses e-mail et d'autres liens en hyperliens cliquables, Linkify simplifie le flux de travail de développement et améliore l'expérience utilisateur. Avec son intégration facile, ses options de personnalisation et sa fonctionnalité robuste, React Linkify est un outil précieux pour les développeurs React cherchant à créer des interfaces attrayantes et conviviales.

En plus de cela,IronPDFs'est avérée être une bibliothèque node.js robuste, conçue pour les développeurs souhaitant intégrer des fonctionnalités complètes de génération, manipulation et édition de PDF dans leurs applications. Avec la prise en charge de la conversion de divers formats en PDF, l'édition de documents PDF existants et la gestion de la sécurité des PDF, IronPDF offre une boîte à outils polyvalente pour créer et personnaliser des fichiers PDF de manière programmatique dans l'environnement node.js. Ses fonctionnalités répondent à une large gamme de besoins, allant de la génération de documents simples aux tâches complexes de gestion de documents, ce qui en fait un outil précieux pour les développeurs Node.js travaillant avec des PDF.

Kannaopat Udonpant

Kannapat Udonpant

Ingénieur logiciel

 LinkedIn

Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
SUIVANT >
next-auth NPM (Comment ça fonctionne pour les développeurs)